ship-gated: add gated /ship pipeline orchestrator#18
Conversation
The approved /plan artifact for the gated /ship orchestrator. Committed
ahead of /regress so the dirty-tree partition resolves to inside={ship.md}
(= the PLAN's ## Files / declared writes), keeping the /plan artifact out
of `inside` and avoiding a false fix#7 escape (pipeline-integration-probe
CF-1). The /build output (.claude/commands/ship.md) is intentionally left
uncommitted as the feature under test.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds .claude/commands/ship.md — a gated orchestrator that runs the build loop (/plan → [GATE 1] → /grill → /build → /regress → /verify → /review → [GATE 2]), branching to the next stage only on each stage's STRUCTURAL floor verdict (validate exit / regression-report.verdict / verify-report .verdict), presenting /grill+/review free-text as quoted DATA, ending only at a human gate or a RED-verdict STOP. No role: (capability count stays 1); adds NO new floor primitive — every guarantee belongs to a sub-stage. NO --yolo; --loop deferred to the ship-loop increment (OQ1 split). Pipeline trail (all floor verdicts GREEN): /build floor GREEN · /regress no-regressions · /verify PASS · /review GREEN (0 blocking). Advisory review findings (A-1/A-2): the orchestration LOGIC is floor-invisible and unmechanized until a live dogfood — the standing residual. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 26 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
📝 WalkthroughWalkthroughIntroduces ChangesGated /ship orchestrator
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The approved /plan artifact for the ship-loop (--loop mode) increment.
Committed ahead of /regress so the dirty-tree partition resolves to
inside = {ship.md, floor/check-ship.mjs, floor/check-ship.test.mjs}
(= the PLAN's ## Files / declared writes), keeping the /plan artifact out
of `inside` and avoiding a false fix#7 escape (pipeline-integration-probe
CF-1; same discipline as ship-gated). The /build output stays uncommitted
as the feature under test.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds --loop to /ship: iterates fix → regress → verify → review until a
floor-grade stop — /verify PASS ∧ /regress clean — or a max-iteration cap
(default 3, --max-iter). The stop is computed by the new tested floor
helper floor/check-ship.mjs, whose inputs are ONLY the two floor verdicts
+ iter/cap (exit 0 STOP_GREEN / 1 STOP_CAP / 2 INCONCLUSIVE / 3 CONTINUE).
So "/review never gates the loop" is STRUCTURAL — the helper has no /review
input — not agent discipline (the fix#3 disease made impossible). 12
hermetic tests in floor/check-ship.test.mjs. The loop guarantees the STOP,
never that a fix works; GATE 1 (plan approval) hit once, never re-entered;
no --yolo.
Pipeline trail (all floor verdicts GREEN): /regress no-regressions ·
/verify PASS · /review GREEN (0 blocking). Includes the post-review fix of
REVIEW finding A-3: the CONTINUE step now re-sets the writes-scope
(set-writes-scope --from-plan) before applying a fix, since each stage's
Step 0 setter overwrites .pharn/writes-scope.json (fix#7 does not persist
across stages). Standing advisory residuals: A-1 (agent compliance with the
stop is advisory), A-2 (loop orchestration unverified until a live --loop
dogfood), A-4 (check-ship hardcodes the stage verdict enums).
Floor capability count unchanged (1): ship.md is a no-role command;
check-ship.{mjs,test.mjs} live in floor/ (path-ignored by validate).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Summary
.claude/commands/ship.md, a gated orchestrator that runs the existing build loop in order (/plan → [human approves] → /grill → /build → /regress → /verify → /review → [human decides]) without reimplementing any stage.validateexit code,regression-report.json.verdict,verify-report.json.verdict) — never on agent judgment or advisory lens output./build, post-review merge/fix/abandon decision) and adds no new floor primitive;--loopis explicitly deferred to a follow-up increment.PLAN,REGRESSION,VERIFY,REVIEW, greenregression-report.json/verify-report.json).Test plan
node floor/validate.mjs .→ GREEN, 1 capability (unchanged)/regresson ship-gated →regression-report.jsonverdictno-regressions/verifyon ship-gated →verify-report.jsonverdictPASS/reviewdogfood on.claude/commands/ship.md(seefeatures/ship-gated/REVIEW.md)ship.mdguarantee audit (P0) and the two non-negotiable human gates/shipdogfood on a throwaway incrementMade with Cursor
Summary by CodeRabbit
New Features
/shipworkflow for managing staged progress and human approval points.Documentation