feat: harvest 3 P4 — the github-issues axis, after the draft, decision records, hygiene, what the phases emit (C5–C7, C9, C10) - #57
Merged
Conversation
…ecision records, hygiene, what the phases emit (C5–C7, C9, C10) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…with provenance and holding labels, the PR template with the gate blocks, CODEOWNERS, the CI stub with its traps, dependabot with the floor; the label taxonomy as an axis structure; the kit's dependabot example Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…causes; the ADR lint always runs under a pinned job name; rulesets over gh api with the context read off a real run; the deliverable trap in both directions Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…t emits, framing appends, rough-in and /finish flip (on the PR's own branch, last commit, number predicted); the post-merge checklist in the hand-off Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…onstraints at the site; scaffold's review question names its consequence; the gh shape at every planning-backend commit, gh the default and the MCP one connection among several Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… backward sweep beside the roll-forward; the measurement variant of a spec with the verdict rule committed first Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ons register as a starter in both homes; multi-surface facts stated once with the companion vocabulary; the frozen-corpus ingestion pattern; adr-new defers to the conventions for its sync targets Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ent, toolchain pins by hand, lockfile diffs kept visible; .gitignore anchoring; the issue-less branch with its PR statement; a licensing section scaffold confirms; MCP configuration in tooling Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…the appenders share; blueprint's canonical homes, critic, amendments and lifecycle sections; the framing template's emitted sections; the research phase's verdict-first corpus; LSP first-line in tooling Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…in's research reference (simplify: reuse) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… tool instead of restating its rule (simplify: altitude) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…md; the reference half points (simplify: altitude) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…nly sections (simplify: altitude) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…into § Mutation discipline (simplify: simplification) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ned facts once, at the input and in the prompt (simplify: simplification) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…mplification) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…der, both homes (simplify: simplification) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…simplify: simplification) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… half with a pointer heading (simplify: efficiency) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ence; blueprint and framing state their deltas and point; verify runs once after the last create (simplify: reuse) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ld starter and what it does not (simplify: reuse) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… own failure message; the Amendments check reads the mutation row (simplify: altitude) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ture template does not emit; the rough-in matrix names the README.md index; the deep-path setting flagged as a dated observation (review: comment-analyzer) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ate — the shared issue-and-PR sequence, Code Owner review as a ruleset, dependabot's levers and cooldown semantics, tag-ref mutability, the sub-issue id parameter and the parent-object return (review: platform-claim finder) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…m sentence lives in the README's step 6 and the register's header; the kit's own immutability lint would fail the edit (review: adr-conformance, sweep) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…on's exit stand aside, and asserts the summary comment landed — posting a one-line notice and failing when it did not (designed-unexercised, 2026-09-06) (review: silent-failures, sweep) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…heir gate blocks, the lint with no trigger filter and a pinned job name, the roadmap template and the executor's flip and checklist, both review workflows with their constraints, scaffold's review question, the backward sweep and the verdict rule (review: sweep) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…old's licence, label set and starters; blueprint's roadmap, review workflows or notice, and the critic; framing's phase note (review: sweep, unverified set) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…; consultation's Test 4 covers the frozen corpus; framing's test case no longer says the index is created (review: sweep, unverified set) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ew: sweep, unverified set) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ead of pattern-matching stderr, so a label deleted from the repository is an error, not a benign race (review: silent-failure-hunter) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…e and a non-empty check on the number and the id — per its own partial-failure doctrine (review: silent-failure-hunter) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… instead of asserting an undated absence; gh covers labels and milestones and is the default on this axis (P3 audit flag) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…nly the uninferable ones asked — never one question at a time (P3 audit flag; the operator's questions-give-content-first rule) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… supersede, Extend, Promote, the claim register, the reviewer chain rule) move to the reference half, which loads with docs/adr/**; the contract keeps one pointer paragraph (review: simplify efficiency, surfaced then applied) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…o the reference half under their own heading, the contract keeps the symptom and the one-line fix rule, and every citation follows (review: simplify efficiency, surfaced then applied) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ch showed — the Bash tool's persisted cd does not move the payload cwd; the guard's confirmed trigger is a session launched from a subdirectory (P2's open row, closed 2026-09-07) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Harvest 3, pass 4 — the last of the four PRs the spec
docs/superpowers/specs/2026-09-06-cascade-kit-harvest-3-design.mdplanned. Five clusters, one PR:.github/starters ship as literal bodies (issue forms applying provenance and holding labels,config.yml, the PR template carrying the empty## Review gateand## Triageblocks,CODEOWNERS, a CI stub with its two promotion traps,dependabot.ymlwith the floor, the.gitattributescounter-line); the label taxonomy is an axis structure scaffold creates in full; the required-checks trap is one symptom with three causes; the ADR lint runs with no trigger filter under a pinned job name; rulesets go overgh apiwith the check context read off a real run; the two review workflows are blueprint templates with their seven constraints stated at the site and a comment-landed assertion; scaffold's review question names its consequence; theghshape has one home.docs/cbk/ROADMAP.md, freely mutable) that blueprint emits, framing appends, rough-in and/finishflip — on the PR's own branch, as the last commit, with the number predicted from the shared sequence; the post-merge checklist in the hand-off; the PR body as the audit surface for the PR's whole life (## Triage — round Nvia/pr-respond); the backward sweep beside the roll-forward; the measurement variant of a spec with the verdict rule committed before any number exists.Extends:grain with its disambiguation test and the four relation slots on the template;docs/adr/corrections.mdas an append-only starter in both homes;## Multi-surface factsstated once with the companion vocabulary (three instances);adr-newdefers to the conventions for its sync targets; the frozen-corpus ingestion pattern for consultation with its errata companion,Promotes:, and the enforcement set scaffold registers; handoff notes to later phases in the brief..gitignoreanchoring, the issue-less branch<type>/<short-slug>with its PR-body statement and the gate line written as not run, a Licensing section scaffold confirms, MCP configuration in the tooling template, money and agent-run quota named separately.Closes #17
Closes #18
Closes #19
Closes #20
Closes #21
Closes #22
Closes #23
Closes #24
Closes #26
Closes #27
Closes #28
Closes #29
Closes #31
Closes #32
Closes #35
Closes #36
Closes #37
Closes #38
Closes #39
Closes #46
Closes #47
Closes #50
Closes #51
Closes #52
Basis and declined asks
Decisions D17–D29 from the spec stand; the planning decisions for this pass are D-P4-1 … D-P4-7 in
docs/superpowers/plans/2026-09-06-harvest-3-p4-axis-records-hygiene.md§ Decisions (starters as one reference file plus the kit's own dependabot example; the review workflows as blueprint templates gated by scaffold's answer; the roadmap on the github-issues and in-repo-markdown axes; corrections.md in both homes; the frozen-corpus pattern as prose plus the ADR hook as exemplar; one MCP-configuration section; #47's spike-record method as the measurement variant). Declined or deviated, with the reason:/landcommand — declined per D23; the post-merge checklist in the/finishhand-off is the mechanism.## Review gateblock landed in P2.cascade-depth:roughstays (plan Task 1 said drop it): both issue-template copies and blueprint's commit docs use it consistently for workstream parents, so scaffold creates it instead; the plan'sabsentgrep was not added. A sweep finder raised the mismatch and its verifier refuted it on the same grounds.docs/adr/README.mdstep 6 and the register's header; the starter mirror stays byte-identical.LICENSEand README § License, not in the metadata table; the settled text wins.Review gate
/simplify— ran: 4 cleanup agents (mid tier, medium), 23 findings → 17 after dedup, 13 applied as their own commits, 4 declined (2 Surface, 1 Defer, 1 Reject)pr-review-toolkit:review-pr— ran: 3 agents (code-reviewer, comment-analyzer, silent-failure-hunter; the test and type dimensions had nothing in scope — no test file or type changed), 8 findings → 5 after dedup, triaged 4/0/0/0/1 (A/AwC/S/D/R)review-sweep— ran: 8 finders + 8 verifiers, 6 confirmed / 2 refuted / 11 unverified, dropped coverage: none, bounds 3/8 — plus one direct finder (platform-claim sourcing, mid tier): 7 findings, 7 applied. Planned agents logged before dispatch: 1 roster + 8 finders + up to 8 retries + up to 8 verifiers = at most 25; 17 ran.A defect in this run's own gate, disclosed: the verification-block runner I used through Tasks 1–9 was a stale extraction, so the P4 pins were never exercised until review; three reviewers independently found the live block red at two lines (8d66e61 fixes both), and the runner is now a live extractor. Every commit after that point ran the block as it is in the tree.
Instruction budget
Always-loaded set at HEAD: 130405 bytes (main: 121,073; 134,167 before the two moves below). The growth is in
cbk-conventions.md(+8.5 KB: § Multi-surface facts, the Extends grain, the issue-less branch, the three-cause trap, two mutation rows) andtooling.md(+4 KB: MCP configuration, automated review, LSP first-line — a template the bootstrap disposition pass fills, path-scopes or deletes). § Licensing, the ADR relation grains and the required-checks trap's three causes moved to the reference half (the last two after the operator'scontinue); the contract keeps a pointer paragraph for each.Triage
Apply (one finding per commit):
ghshape has one home in rough-in's commit reference; blueprint and framing state deltas and point; the matrices point; verify runs once after the last create (simplify: reuse, altitude ×2, efficiency)tooling.mdfor the symbol tool (simplify: altitude)pr-review.md(simplify: altitude)ghshape stops at the first failed command (silent-failure-hunter)Apply with care (read these two closely):
claude-review.ymlrecords its start, runs the action withcontinue-on-error, and asserts a summary comment from the review app landed after the job started — posting a one-line notice and failing when it did not. Designed-unexercised as of 2026-09-06; the template says so at the site and asks the first project that lands it to restamp.Surface → applied on
continue(each its own commit; drop one with a single revert):cbk-conventions-reference.md§ ADR relation grains, which loads withdocs/adr/**; the contract keeps one pointer paragraph. (simplify: efficiency — "2,983 bytes, paid by every session regardless of whether it ever touches an ADR".)cbk-conventions-reference.md§ Required-checks trap; the contract keeps the symptom and the one-line fix rule; all seven citations follow. (simplify: efficiency — "troubleshooting detail for a rare symptom … relevant only when authoring/debugging.github/workflows/**".)Defer:
/finishitem 8 ("create the PR first, then write the single roadmap-row commit citing the confirmed number … a real trade-off worth a decision"). Settled by D23 and D-P4-3: the row reads done on the branch beforegh pr create, and a mismatch is one correcting commit. Reopen only if the mismatch proves routine.Reject:
tooling.md's new sections: it is a template the bootstrap disposition pass fills, path-scopes or deletes (cbk-conventions.md§ Rule loading).cascade-depth:roughcontradicts the plan: the recorded deviation above; the verifier refuted it on the same grounds.claude.ymllacks write permission for its own comment calls: the sweep's verifier read the action's source — with nogithub_tokeninput the action authenticates as the review app via OIDC, so the job'spermissions:scope onlyGITHUB_TOKEN; the exercised sibling ran with exactly these permissions.Hand-off
git switch main && git pull --ff-only && git fetch --prune; close nothing by hand (the 24 close markers do it); no roll-forwards were drafted; harvest 3 is complete with this merge.continue): a8e9bfa — scaffold's detection matrix reads the MCP server's tool list instead of asserting an undated absence (P3 audit flag); 4fbf9d7 —adr-newproposes its inputs from context in one exchange instead of one question at a time (P3 audit flag); 053d011 — the launch-root guard's Timing states what a real dispatch showed: the Bash tool's persistedcddoes not move the payloadcwd(an agent dispatched aftercd docswas allowed, 2026-09-07), so the guard's confirmed trigger is a session launched from a subdirectory (P2's open row).