mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-12 19:44:48 +01:00
Merge remote-tracking branch 'origin/gsta-167-review-packets' into gsta-167-batched-review
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> # Conflicts: # bin/gstack-review-packet # lib/review-packet-collect.ts # lib/review-packet.ts # scripts/resolvers/review-army.ts # ship/sections/review-army.md # ship/sections/test-coverage.md # ship/sections/test-coverage.md.tmpl # test/review-packet.test.ts # test/size-ledger/ship/gsta167-review-packets.json
This commit is contained in:
commit
cc28dd35c5
21 files changed
+512
-75
No files matched your search
@@ -129,7 +129,7 @@ Those files are part of the recorded content too.
|
||||
|
||||
Dispatch via the Agent tool with ${FOREGROUND_IF_AVAILABLE} (background is the default since ${CC_BACKGROUND_DEFAULT_SINCE}); findings must arrive before review concludes. ${BACKGROUND_RECOVERY} Fresh context avoids checklist bias, but this is the same harness, not an independent model unless runtime identity proves otherwise.
|
||||
|
||||
${isShip ? `Build Step 11's packets from Step 9's last full-pass plan: \`~/.claude/skills/gstack/bin/gstack-review-packet build --only adversarial,outside-voice --base <base> --out-dir "$_PKA"\` with \`_PKA=.gstack/tmp/review-packets-adv-p$PASS\`, that plan run's flags and \`--range <RANGE_BASE sha>\` from pass 2 on. The \`adversarial\` packet carries the defensive framing, the prompt below, the diff with fixtures in summary mode and a JSONL contract (\`NO FINDINGS\` is the expected result for a clean range). Its whole brief is "${packetBrief('<file>', '<out>')}"` : `Subagent prompt:
|
||||
${isShip ? `Build Step 11's packets from Step 9's last full-pass plan: \`~/.claude/skills/gstack/bin/gstack-review-packet build --only adversarial,outside-voice --base <base> --out-dir "$_PKA"\` with \`_PKA=.gstack/tmp/review-packets-adv-p$PASS\`, that plan run's flags and \`--range <RANGE_BASE sha>\` from pass 2 on. Leave \`outside-voice\` out of \`--only\` when nothing will run it (\`CODEX_MODE\` neither \`ready\` nor \`unverified\` and no reviewer on another model family): collect counts a built packet with no output as missing coverage. The \`adversarial\` packet carries the defensive framing, the native adversarial prompt (\`ADVERSARIAL_NATIVE\`), the diff with fixtures in summary mode and a JSONL contract (\`NO FINDINGS\` is the expected result for a clean range). Its whole brief is "${packetBrief('<file>', '<out>')}" with that packet's \`read=\` ranges.` : `Subagent prompt:
|
||||
"${DEFENSIVE_REVIEW_FRAMING}
|
||||
|
||||
Read the diff for this branch. First list changed files: \`DIFF_BASE=$(git merge-base origin/<base> HEAD) && git diff --name-status "$DIFF_BASE"\`. ${FIXTURE_SUMMARY_MODE}
|
||||
|
||||
@@ -169,12 +169,15 @@ its \`DIFF_CMD:\` diff at -U8 against the literal diff base with a stat, past le
|
||||
--out-dir "$_PK" --only specialist,red-team\` plus the plan run's flags, \`--range <sha>\` (the literal \`RANGE_BASE\` sha)
|
||||
from pass 2 on and \`--plan-file <plan>\` when a plan is bound. Each \`PACKET:\` line is one
|
||||
reviewer; a diff past 200 KB is split by path into shards (\`batched.1of3\`), each its
|
||||
own reviewer. \`PACKETS:\` carries the plan's fingerprint. Step 9.1 dispatches every
|
||||
own reviewer. Its \`read=\` ranges are what the reviewer reads in parallel, each under one
|
||||
read call's budget. \`PACKETS:\` carries the plan's fingerprint; under a token cap,
|
||||
\`gstack-ship-budget check --next\` takes build's \`BUDGET_NEXT:\` value (one
|
||||
\`budget_role=\` per packet), never packet names. Step 9.1 dispatches every
|
||||
packet; the Red Team's waits for collect (below) and Step 11 builds its own.
|
||||
|
||||
Launch one subagent per packet via the Agent tool (\`subagent_type: "general-purpose"\`,
|
||||
${FOREGROUND_IF_AVAILABLE}; ${BACKGROUND_RECOVERY}) at its \`effort=\` on the same model
|
||||
family. The whole brief is "${packetBrief('<file>', '<out>')}" Never paste a diff,
|
||||
family. The whole brief is "${packetBrief('<file>', '<out>')}" with that packet's \`read=\` ranges. Never paste a diff,
|
||||
checklist or finding into a brief.
|
||||
|
||||
**Fan-out (\`--review-fanout auto|serial|parallel\` in the prompt; default \`auto\`).**
|
||||
|
||||
Reference in new issue
Block a user