Skip to content

discipline: paved-path file and principle placement #7589

Closed
10 of 10 issues completed
Closed

Description

@kyle-sexton

Parent

Refs #7555. Source: PLAN Phase 21, topic poteto-review. Thread: discipline and principles.

Depends on

Outcome

/discipline:reuse-or-replace owns the paved-path file that plan, implement and review read; pstack's
principles live as reasoned sentences in the phase-skill steps that apply them, with no principles
plugin.

Decisions

  • /discipline:reuse-or-replace owns the paved-path file; plan, implement and review read it
    automatically (D59, Q21). Origin: ours.
  • lever-check gains a codemod-first migration row; lever_scope default stays deterministic (Q15,
    Q28).
  • pstack's 24 principles: 36 parts placed as reasoned sentences in the phase-skill step that applies
    them, fallback when discipline is off; no standalone principle skills, no principles plugin;
    disciplines plus the standards README are the index (D58, Q174, Q175). Origin: Lauren's
    principles, placed by ours.
  • /discipline:wait-what body shortened only if an eval shows equal or better (Q542).
  • K39 acceptance eval: a non-engineer's one-line ticket yields paved-path code (D59, Q29).
  • Rejected: the architecture lens owning paved-path entries; standalone principle skills; Lauren's
    load-each-principle-and-name-it (needs the parked citation rule, Q178); sharpen as a playbook
    chapter.
  • Research tags: K39 eval and dogfood run (Q29); wait-what cut with and without eval (Q542); pstack
    recheck re-maps pstack: restate four overspecified principles as reasoning, not rules cursor/plugins#633 principles (Q557).

Key interfaces

From the design's module layout: "discipline: /discipline:reuse-or-replace owns the paved-path
file; lever-check gains a codemod-first row; pstack principles placed in phase skills, no principles
plugin. sharpen deferred."

Slices, filed when this phase starts: paved-path-and-lever-check, principle-placement,
k39-and-wait-what-evals.

Done when

  • The principle-parts script's output, attached to the placement slice, reports
    unplaced parts: 0.
  • The K39 and wait-what eval slices each carry a Probe result: comment.
  • Every slice sub-issue is closed by a merged PR.

Out of scope

  • The sharpen skill and the name-the-principle rule (parked items).

Remainder (2026-11-03)

Agent choice, not an owner answer. The principle-parts check on #12155 deferred parts 4c, 4e and 4f of principle-encode-lessons-in-structure to #7573 and /corrections:gather, but #7573's body never names them, and #9161 folded gather into /corrections:codify's note and group actions without placing them. No other issue owns them, so they stay with this issue, whose done-when counts parts, and a deferral to an issue that does not own them is not a placement. Today the count threshold (default 2, plugins/corrections/skills/codify/SKILL.md:52-63) and the group action's hand-off to codify (plugins/corrections/skills/codify/actions/group.md:50-54) do the mechanics, but no step gives the reason in a sentence. Upstream later cut these three parts from the skill (cursor/plugins#571); the quotes below are from the version decision 58 mapped (cursor/plugins at 00b14f1df3), so this issue needs nothing outside the repository.

  • Part 4c ("When you catch yourself writing the same instruction a second time") is a reasoned sentence in plugins/corrections/skills/codify/actions/note.md, Consent section: an agent that writes the same instruction or correction a second time appends a note, because a second occurrence shows a prose rule did not hold.
  • Part 4e ("decide if it's a one-off or a pattern. Route it ... Close the loop: don't just record; apply now or create a concrete todo") is a reasoned sentence in plugins/corrections/skills/codify/SKILL.md, section 3 (Place the lesson by scope): a one-off stays a note row, a recurring mistake gets a check, a mistake that holds for every repository becomes a team standard, and recording a lesson is not the end: it ends in a proposed check, a placed rule or a filed work item, because a lesson that is only recorded is not acted on. Codify still proposes and never builds a rung.
  • Part 4f ("Acknowledging without recording", "Recording without routing") is a reasoned sentence in plugins/corrections/skills/codify/actions/note.md, opening paragraph: a correction the agent only acknowledges is lost when the session ends, and a note that group never routes to /corrections:codify changes nothing.
  • docs/upstream/cursor-pstack.md's principle-parts check lists 4c, 4e and 4f as placed, with their homes, and no longer names corrections: new plugin with /corrections:codify #7573 as their owner.

Activity

  1. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 16, 2026
  2. added theissue type on Oct 16, 2026
  3. github-actions commented on Oct 16, 2026

    @github-actions
    Contributor

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

    Size: Small
    Complexity: Low
    Uncertainty: Known
    Flags: none
    Blocked by: none

    Understood: the remaining work is the 2026-11-03 Remainder. It adds three reasoned sentences, for parts 4c, 4e and 4f, to plugins/corrections/skills/codify/actions/note.md and plugins/corrections/skills/codify/SKILL.md. It also updates the principle-parts check in docs/upstream/cursor-pstack.md to list them as placed. That is a few prose edits in three files, and every sub-issue is already closed. The earlier "split-required" stop appears to have been about the whole parent, so the Remainder looks like one small change. Nothing is missing, and I found no duplicate among the open issues. #7571 and #7588 are not in the open list, so I treated the dependencies as met.

    Automated triage, applied by the lanes App.

  4. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 16, 2026
  5. added
    needs-specNeeds a Brief or plan before anyone can build it.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 16, 2026
  6. removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 24, 2026
  7. 29 remaining items

  8. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 3, 2026
  9. 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.
    on Nov 3, 2026
  10. added
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    on Nov 3, 2026
  11. github-actions commented on Nov 3, 2026

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

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

    @melodic-automation-lanes
    Contributor

    The work-resolve-issue lane stopped on this issue (verified-done): the issue is a finished parent, every sub-issue closed as completed, and the run checked each of its own done-when items against the default branch, citing each check, so the issue closes.
    It closes the issue as completed.

    In the run's words:

    verified-done: all 7 done-when items of #7589 are met (unplaced parts: 0 posted on #12155, Probe result comments on #11125, all 10 sub-issues closed by merged PRs, Remainder parts 4c/4e/4f placed by #12716 via merged #12870).

    The run's report:

    Done when 1, principle-parts output reports unplaced parts: 0 on the placement slice: met. kyle-sexton's comment on #12155 (Nov 2, 2026) ends its script output with unplaced parts: 0 (25 placed, 2 recorded, 9 deferred). docs/upstream/cursor-pstack.md:109-112 on the default branch now reads 28 placed, 2 recorded, 6 deferred, unplaced parts: 0 after #12716.
    Done when 2, the K39 and wait-what eval slices each carry a Probe result: comment: met. Both evals share one slice, #11125, which has two Probe result: comments: K39, eval case 43 of /implementation:implement, 4/4 on both runs; and /discipline:wait-what before/after, 3/3 vs 3/3 on all five cases in both rounds, keeping the cut. #11125 closed by merged PR #11143 (commit eb4beb8).
    Done when 3, every slice sub-issue is closed by a merged PR: met. #8545 by #8832 (merged, 3cf196e); #11125 by #11143 (merged, eb4beb8); #12145 by #12221 (merged, 0948d5a); #12146 by #12200 (merged, 062dbd6); #12147 by #12165 (merged, a602391); #12148 by #12218 (merged, fcaae52); #12149 by #12167 (merged, 57db26c); #12150 by #12168 (merged, 95210a4); #12155 by #12462 (merged, 05e69f1); #12716 by #12870 (merged, 28c720c). Each issue page reads 'closed this as completed in #<PR>', and each PR page reads 'Merged via the queue into main'.
    Remainder 4c: met. plugins/corrections/skills/codify/actions/note.md:49-50, Consent section: 'An agent that writes the same instruction or correction a second time appends a note, because a second occurrence shows a prose rule did not hold.'
    Remainder 4e: met. plugins/corrections/skills/codify/SKILL.md:107-114, section 3 (Place the lesson by scope): one-off stays a note row, a recurring mistake gets the checking rung, a mistake that holds for every repository becomes a team standard, and recording ends in a proposed check, placed rule or filed work item 'because a lesson that is only recorded is not acted on'. Codify still only proposes.
    Remainder 4f: met. plugins/corrections/skills/codify/actions/note.md:7-9, opening paragraph: 'a correction the agent only acknowledges is lost when the session ends ... one that group never routes to /corrections:codify changes nothing.'
    Remainder docs record: met. docs/upstream/cursor-pstack.md:111-116 lists 4c, 4e and 4f as placed by #12716, with those three homes. A grep for 7573 in the file finds nothing.

    What the run says it did not do:

    • The sub-issue list API (api.github.com .../issues /7589/sub_issues) returned 403 to an unauthenticated fetch, so the sub-issue set comes from issue.json's verify_close.sub_issues, not a live read.
    • Merge status was read from the public GitHub HTML pages. The clone is shallow (one commit), so the merge commits could not be checked in local history.
    • Tidy, review and verify were not run: a verify_close run changes and commits no file.

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

  14. removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 3, 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

    priority: mediumReal value, no hard deadline; normal backlog flow.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    Work status

    agent-ready

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions