Skip to content

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

Open

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: Knowable
    Flags: none

    Understood: the interview skill's round.sh has subcommands that take user text on the command line. That contradicts the rule in surface.md, which says user text goes through an ops.json op run with apply. The change is to make each such subcommand read from a file or be removed, with an equivalent apply op. Docs must stop instructing command-line text, and the surface tests and changelog-fragment check must pass. The done-when list is clear. Which subcommands are affected needs a read of round.sh. I found no likely duplicates among the open issues.

    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.

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

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.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