ship: keep Step 9's PASS_HEAD sentence whole; repin review-army under GST-464

The targeted-record line follows the PASS_HEAD/RANGE_BASE sentence instead of
splitting it (test/review-fix-range.test.ts pins that sentence). The brief-body
check still holds: every reviewer brief is byte-identical.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
garrytanandcapy-ai[bot] committed 2026-10-31 16:21:48 +00:00
1 parent ebabb59346
commit edd4bdd2b5
5 files changed
+9 -9

No files matched your search

+3 -3
View File
@@ -4,10 +4,10 @@
Set CYCLES to 0 on first entry only, with PASS set to 1,
`REVIEW_SINCE=$(date -u +%Y-%m-%dT%H:%M:%SZ)` saved and the `ship: review_scope`
policy line (Step 3) kept. Every entry saves `PASS_HEAD=$(git rev-parse HEAD)` and runs
policy line (Step 3) kept. Every entry saves `PASS_HEAD=$(git rev-parse HEAD)`; from pass 2 on,
`RANGE_BASE` is the previous pass's PASS_HEAD. Every entry also runs
`mkdir -p .gstack/tmp && rm -f .gstack/tmp/targeted.json && _EX=$(git rev-parse --git-path info/exclude) && mkdir -p "$(dirname "$_EX")" && { grep -qxF '/.gstack/tmp/' "$_EX" 2>/dev/null || printf '\n/.gstack/tmp/\n' >> "$_EX"; }`
(a pass without the targeted reader leaves no record, and the record never reads as an uncommitted edit); from pass 2 on,
`RANGE_BASE` is the previous pass's PASS_HEAD. Keep existing approvals; changed
(a pass without the targeted reader leaves no record, and the record never reads as an uncommitted edit). Keep existing approvals; changed
finding scope needs a new decision. Order: checklist/design, specialists (9.1),
Red Team (9.2), QA (9.2.1), dedup (9.3), scope, fixes and logging (9.4).
Gated/unsupported specialists skip only their dispatch, never QA or Step 11.
+3 -3
View File
@@ -2,10 +2,10 @@
Set CYCLES to 0 on first entry only, with PASS set to 1,
`REVIEW_SINCE=$(date -u +%Y-%m-%dT%H:%M:%SZ)` saved and the `ship: review_scope`
policy line (Step 3) kept. Every entry saves `PASS_HEAD=$(git rev-parse HEAD)` and runs
policy line (Step 3) kept. Every entry saves `PASS_HEAD=$(git rev-parse HEAD)`; from pass 2 on,
`RANGE_BASE` is the previous pass's PASS_HEAD. Every entry also runs
`mkdir -p .gstack/tmp && rm -f .gstack/tmp/targeted.json && _EX=$(git rev-parse --git-path info/exclude) && mkdir -p "$(dirname "$_EX")" && { grep -qxF '/.gstack/tmp/' "$_EX" 2>/dev/null || printf '\n/.gstack/tmp/\n' >> "$_EX"; }`
(a pass without the targeted reader leaves no record, and the record never reads as an uncommitted edit); from pass 2 on,
`RANGE_BASE` is the previous pass's PASS_HEAD. Keep existing approvals; changed
(a pass without the targeted reader leaves no record, and the record never reads as an uncommitted edit). Keep existing approvals; changed
finding scope needs a new decision. Order: checklist/design, specialists (9.1),
Red Team (9.2), QA (9.2.1), dedup (9.3), scope, fixes and logging (9.4).
Gated/unsupported specialists skip only their dispatch, never QA or Step 11.
+1 -1
View File
@@ -62,7 +62,7 @@ const NO_LOSS_REPLAYS = {
} as const;
type Replay = keyof typeof NO_LOSS_REPLAYS;
const REVIEWER_BRIEFS: Record<string, { sha: string; replay: Replay }> = {
'ship/sections/review-army.md': { sha: 'ebda452b2cf8aeb34020c789d0507893c0f041027890bcbd8342e46d4b29f29a', replay: 'GST-464' },
'ship/sections/review-army.md': { sha: 'c7edb2a8c19fc8b2c9aa31f443f6c49ebe28528390a0efc47ecc6ac3e3a057be', replay: 'GST-464' },
'ship/sections/adversarial.md': { sha: 'b70577b6987869acd76cc3865f16eeeed743558c0ea09e5f9933d0d8aec8b91e', replay: 'GST-464' },
'review/sections/review-army.md': { sha: '78329b64640260cd8831ca81a9189f3f8dcade9c406431631d3f2cd798cd3967', replay: '#3638' },
'review/sections/adversarial.md': { sha: 'e6962fa25b78f362654f2954f79683e524d2ebd452d1494f8a2b099888e8e255', replay: 'G1' },
+1 -1
View File
@@ -334,7 +334,7 @@ describe('the /ship commands carry the targeted record to the receipt (GST-464)'
expect(optional?.slice(1)).toEqual([recordPath!, `--review-targeted @${recordPath}`]);
expect(section('handoff')).toContain(`When Step 11 saved \`${recordPath}\`, add \`--review-targeted @${recordPath}\` to that write.`);
expect(fs.readFileSync(path.join(ROOT, 'ship', 'DRIVER.md'), 'utf8')).toContain(`[--review-targeted @${recordPath}]`);
const entry = /Every entry saves `PASS_HEAD=\$\(git rev-parse HEAD\)` and runs\n`([^`]+)`/.exec(section('review-army'))?.[1];
const entry = /Every entry also runs\n`([^`]+)`/.exec(section('review-army'))?.[1];
expect(entry).toContain(`rm -f ${recordPath}`);
const repo = makeFixtureRepo({ prefix: 'targeted-wire-' });
@@ -1,4 +1,4 @@
{
"bytes": 577,
"bytes": 591,
"why": "GST-464: Step 9 creates .gstack/tmp, excludes it and clears the targeted record on every entry"
}