Skip to content

refactor(planning): make apply ops the one write path for interview page text #9797

Description

@kyle-sexton

Parent: #7303 (DX-7). plugins/planning/skills/interview/context/surface.md:20 already decides it: "User and dictated text never goes on a command line: it goes into an ops.json op written with the Write tool and run through apply." The round.sh CLI subcommands that take user text are a second path that rule forbids.

Done when

  • Each round.sh subcommand that takes user text on its command line either reads it from a file or is removed, with its operation available as an apply op; the PR lists each subcommand and what happened to it.
  • git grep -n over plugins/planning/skills/interview/ finds no instruction to pass user text on a round.sh command line.
  • The surface test suite under plugins/planning/surface/ passes.
  • scripts/check-changelog-fragments.sh passes.

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 24, 2026
  2. github-actions commented on Oct 24, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Medium
    Complexity: Medium
    Uncertainty: Known
    Flags: none
    Blocked by: none

    Understood: make apply ops the only path for user text in the interview round.sh. Each subcommand that takes user text on its command line should read from a file or be removed, and the skill docs should stop telling people to pass user text that way. The surface tests and changelog fragment check must pass. An earlier lane run stopped after finishing the skill-doc part, because the remaining work touches about 200 test call sites and needed a run that can execute the test suite. Nothing is missing from the issue. No duplicates found.

    Automated triage, applied by the lanes App.

  3. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 24, 2026
  4. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Oct 24, 2026
  5. melodic-automation-lanes commented on Oct 24, 2026

    @melodic-automation-lanes
    Contributor

    The work-resolve-issue lane stopped partway through this issue and needs a person.

    Why, in the run's own words:

    Only the skill-doc part of the issue is done. Removing or file-ifying the text-taking round.sh subcommands (add, group, reply, revise, note-reply, record-terminal, archive, plus supersede --proposes and resolve --note) needs about 200 call sites in plugins/planning/surface/test_round.py and the surface shell tests rewritten, and this run cannot execute the surface test suite (Bash is limited to the named wrappers), so I did not make that change blind.

    What the run says it did not do:

    • Surface test suite under plugins/planning/surface/ was not run: this run's Bash allows only the named wrappers, so no python or shell test could be executed
    • The new-changelog-fragment wrapper refused (HEAD is not on a branch), so the fragment was written by hand in the wrapper's format and check-changelog-fragments accepts it
    • No separate code review was run; the diff is one prose file and one fragment

    Partial work is on the branch work-resolve-issue/issue-9797-40113312256-1. A retry continues from it while it is not behind the default branch, and otherwise starts fresh from the default branch; delete the branch first to always start fresh.

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

    To retry, remove needs-human and add agent-ready again.

  6. added
    host-runNeeds an agent run or builder session on a host; not a person or the issue lane.
    status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.
    and removed
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.
    host-runNeeds an agent run or builder session on a host; not a person or the issue lane.
    on Oct 27, 2026
  7. github-actions commented on Oct 28, 2026

    @github-actions
    Contributor

    The triage sweep dispatched intake triage for this issue (attempt 1 of 2).

  8. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Oct 28, 2026
  9. melodic-automation-lanes commented on Oct 28, 2026

    @melodic-automation-lanes
    Contributor

    The work-resolve-issue run that agent-ready started failed or was cancelled before it reported, or it stopped or the token broker refused it because its workflow files differ from main's. work-unblock removed and added agent-ready back to start a fresh run on main's workflow files. If this run ends the same way, it re-fires the issue again, waiting longer each time.

  10. 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 Oct 28, 2026
  11. 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 Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions