mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-01 06:24:41 +01:00
- Step 15: a commit fixing a user-named issue carries a `Fixes: #<n>` trailer
(offset by tightening Step 15 so the skeleton stays at 80,998 <= 81,000).
- pr-body: an explicit "Issue links" step runs gstack-issue-links before the
body is composed (previously only a placeholder inside the body template);
interactive runs ask once about `(promote: fix #N)` references and add
`--supersedes`/`--credit` only on the owner's confirmation; unattended runs
keep Refs and list unpromoted candidates, Related lines and lookup failures
in the completion message; `ISSUE_LINKS_MISSING` from the receipt write.
- handoff (no-PR lanes): runs gstack-issue-links and passes --issues to the
receipt; the completion message gains an `issues:` line.
- Regenerated ship/SKILL.md and sections; refreshed the four ship goldens.
- Parity: union 309,431 / 187,706 = 1.6485 (> 1.6450 by 655 bytes); maxSizeRatio
raised to the measured 1.6485 with its justification, as previous waves did.
Files: ship/SKILL.md.tmpl, ship/SKILL.md, ship/sections/pr-body.md.tmpl,
ship/sections/pr-body.md, ship/sections/handoff.md.tmpl, ship/sections/handoff.md,
test/fixtures/golden/{claude,codex,factory,agy}-ship-SKILL.md,
test/helpers/carve-guards.ts (ship maxSizeRatio).
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
1.6 KiB
1.6 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.
- Verify-only checks: write Step 16's per-lane pass/fail/skip counts, naming the
lanes that need a remote (
requires-remote), to.gstack/tmp/ship-gate.jsonas the pr-body section does, then (with its Issue links flags; ask nothing):~/.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 - Send the completion message, identifiers first, in this order: the
SHIP_RECEIPT:line and receipt block (pr: none);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_…) in any cross-thread reference, never a short code. Prose may follow the identifiers; nothing may precede them. - Skip Steps 19 and 21. Run Step 20 with
"version":nullwhen NO_VERSION applied.