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>
29 lines
1.7 KiB
Cheetah
29 lines
1.7 KiB
Cheetah
## 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.
|
|
|
|
1. Verify-only checks: write Step 16's per-lane pass/fail/skip counts, naming
|
|
`requires-remote` lanes, to `.gstack/tmp/ship-gate.json` as the pr-body
|
|
section does, then (with its Issue links flags; ask nothing):
|
|
```bash
|
|
~/.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
|
|
```
|
|
When Step 11 saved `.gstack/tmp/targeted.json`, add `--review-targeted @.gstack/tmp/targeted.json` to that write.
|
|
2. Send the completion message, identifiers first, in this order: the `SHIP_RECEIPT:`
|
|
line and receipt block; `branch:` and `sha:` (`git rev-parse HEAD`),
|
|
pushed or `not 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
|
|
(a `requires-remote` lane, an open gate finding, an unverified claim) or `none`.
|
|
`issues:` its lines, unpromoted candidates and lookup failures.
|
|
Full thread ids (`jam_…`) cross-thread.
|
|
3. Skip Steps 19 and 21. Run Step 20 with `"version":null` when 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.
|