mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-03 15:27:56 +01:00
* test: GST-986 failing-first cases for the targeted record, receipt write/carry and fix-check counters
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(ship): GST-986 targeted record binds to the read commit; write/carry run the targeted verdict; fix-check ledgers count
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(ship): GST-986 write/carry report fail-closed targeted classes; docs, changelog, adversarial repin (brief bodies unchanged)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* test: GST-986 review round 1 failing-first: a docs/TODOS commit after the targeted read binds; verify clears a stale --targeted-out
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(ship): GST-986 review round 1: a record binds across class-free commits after the read; verify removes a stale targeted record
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* test: GST-986 fix-check failing-first: test skip after the read, re-raised blocker, verify early-return cleanup, carry wording
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix(ship): GST-986 scoped fix-check batch: record binds only when nothing after the read carries a class (gate scan run), a re-raised blocker is not fixed, verify always clears the stale record, carry names #3859
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* test: GST-986 carry case runs receiptDepthAtHead under the fixture's private HOME (pregate real-HOME tripwire)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* test: GST-986 classify .gstack/tmp/targeted.json as a /ship producer (gstack-clean, from the main merge)
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
* fix: GST-986 bind a targeted record only to the product patch the reader read
The targeted gate reader at 0715327 found that the classifier-only binding
rule kept a stale record bound when a post-read edit removed an enforcing
line with no money token. Restore main's equal-product-patch check and keep
the gate-scan refusal on top of it. Docs-only binding moves to GST-1031.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
1.8 KiB
1.8 KiB
Step 18-H: Handoff without a PR (automation lanes)
Replaces the pr-body section when the run must not open a PR (--no-pr, an
automation lane, an unattended parent said so). Nothing here publishes. What an
unattended run may do is docs/unattended.md#what-an-unattended-session-may-do.
- Verify-only checks: write Step 16's per-lane pass/fail/skip counts, naming
requires-remotelanes, to.gstack/tmp/ship-gate.jsonas the pr-body section does, then (with its Issue links flags; ask nothing):When Step 11 saved~/.claude/skills/gstack/bin/gstack-issue-links --base <base> --out .gstack/tmp/issues.json ~/.claude/skills/gstack/bin/gstack-ship-receipt write --base <base> --gate @.gstack/tmp/ship-gate.json --issues @.gstack/tmp/issues.json --out .gstack/tmp/ship-receipt.md.gstack/tmp/targeted.json, add--review-targeted @.gstack/tmp/targeted.jsonto that write. - Send the completion message, identifiers first, in this order: the
SHIP_RECEIPT:line and receipt block;branch:andsha:(git rev-parse HEAD), pushed ornot pushed;inputs:the plan or issue, the base SHA and the spend cap;before/after:one row per claimed metric, measured on base and on this SHA with the command used;escalation:the one condition that stops the merge (arequires-remotelane, an open gate finding, an unverified claim) ornone.issues:its lines, unpromoted candidates and lookup failures. Full thread ids (jam_…) cross-thread. - Skip Steps 19 and 21. Run Step 20 with
"version":nullwhen NO_VERSION applied, then Step 22 with--body .gstack/tmp/ship-receipt.md.
Multi-lane runs
Lanes push a WIP commit after each step and gate a pushed SHA.