Skip to content

feat(planning): offer maintained optional planning plugins, install on yes #12660

Description

@kyle-sexton

Parent

Source: PLAN Phase 6, topic planning-chain-consolidation. Epic: #12646.

Depends on

Outcome

When an optional planner would help, the interview offers it only if the marketplace still lists it under that name and its source path's newest commit is within 6 months (date shown past 3); on yes it installs at user scope and points to /reload-plugins; no offer in an unattended run; any lookup failure means no offer; lookups are cached 24 hours.

Demo: With a fixture plugin last committed 120 days ago, the interview offers it with its date; with 200 days, it offers nothing.

The Brief (Problem, Goal, Constraints) is in the epic body.

Decisions

  • Q20-Q21: Offer a plugin only within 6 months of its last commit (date shown past 3), not renamed, install on yes, point to /reload-plugins.
  • Q34: Offered plugins install at user scope; no offer in unattended runs.
  • Q35: html-plan is an optional planner, named when installed, never required.
  • Q40: The offer list is a planning data file; renamed means the marketplace no longer lists the name; the newest commit on the plugin's source path counts; lookups cached 24 hours; any failure means no offer.

Key interfaces

Variation verdicts

Point Verdict Seam or module Reason
Medium, surface, view-kind sets abstract now the three registries required by the Brief (Q24, AC15; Variation intent "second variant = known")
claude.ai Artifact service contain artifact medium entry external; default
Hosted page publisher contain hosted medium entry external; default
Cloudflare tunnel contain shared-session surface entry external; default, as today
Plugin offer lookups (marketplace catalog, GitHub commits) contain offer-source module, cached in plugin data external; GitHub API budget

Done when

  • AC10: tests with commit ages 30, 120 and 200 days give plain, dated and no offer; renamed, unlisted, lookup failure and unattended give no offer; the install command carries user scope.
  • AC13 (planner part): an installed html-plan is named as an alternative and never required.

Out of scope

  • Any hard dependency on html-plan

Activity

  1. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 3, 2026
  2. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor
    No description provided.
  3. self-assigned this
    on Nov 3, 2026
  4. melodic-automation-lanes commented on Nov 3, 2026

    @melodic-automation-lanes
    Contributor

    This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41575909316, the work-resolve-issue run that agent-ready started, before it did any work; that run ended at 2026-11-03T04:45:30Z. work-unblock has now removed and added agent-ready back to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last added agent-ready or a run last reported, work-unblock waits longer before each one, up to 24 hours.

  5. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 3, 2026
  6. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor
    No description provided.
  7. melodic-automation-lanes commented on Nov 3, 2026

    @melodic-automation-lanes
    Contributor

    This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41582086715, the work-resolve-issue run that agent-ready started, before it did any work; that run ended at 2026-11-03T05:40:13Z. work-unblock has now removed and added agent-ready back to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last added agent-ready or a run last reported, work-unblock waits longer before each one, up to 24 hours.

  8. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 3, 2026
  9. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor
    No description provided.
  10. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor
    No description provided.
  11. melodic-automation-lanes commented on Nov 3, 2026

    @melodic-automation-lanes
    Contributor

    The work-resolve-issue lane stopped on this issue (blocked-by-pr): the work waits on an open pull request the run names, so the lane runs it again once that pull request merges or closes.
    It keeps agent-ready, and work-unblock starts it again once #12712 merges or closes (wait 1 of 2).

    In the run's words:

    blocked-by-pr: #12712. This issue depends on #12658 (the interview surface registry and its one-line default-and-alternatives offer), which PR #12712 implements. That PR is still open and carries pr-verify-failed. Its registry (plugins/planning/surfaces/registry.mjs and the entries under plugins/planning/surfaces/entries/) is not on the default branch, and the optional-planner offer this issue adds has to plug into that registry and its offer line.

    What the run says it did not do:

    • AC10 (offer by commit age 30/120/200 days; no offer when renamed, unlisted, on lookup failure or unattended; install at user scope) is not built, because it waits on #12712
    • AC13 planner part (an installed html-plan is named as an alternative and never required) is not built, because it waits on #12712's offer line
    • Tidy, review, verify and checks pipeline steps skipped: there was no diff to work on

    Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/41586579681

  12. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 3, 2026
  13. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor
    No description provided.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.

Fields

No fields configured for Feature.

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions