mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-03 23:37:53 +01:00
* fix(review-depth): gate-class Step 11 voices run before any cap stop; --grant runs the owner's fix-check (GST-967) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * test(review-depth): GST-967 dispatch-superset no-loss check; repin review-depth and the two ship sections to it Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * test(review-depth): GST-967 invariant over every transitions-table state Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix: pre-landing review fixes (GST-967 Step 11: grant row names review_loop_exception, a fix-check never earns another, voices route queued blockers to the plan) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix: pre-landing review fix (GST-967 round 2, granted a-a09a908e77c2): a grant names review_loop_grant and its stop head, bound by --range-base Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> * fix(ship): keep the repeat decision's NEXT map sentence intact (GST-967) test/ship-control-flow.test.ts pins the sentence ending `done` 4.; the voices route now follows it as its own sentence. Repins review-army.md under GST-967 and moves the size ledger entry to +476. 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>
35 lines
2.0 KiB
Cheetah
35 lines
2.0 KiB
Cheetah
**Step 9's last full-pass plan governs this step:** run the native pass only on
|
|
`DISPATCH: adversarial-native` and the outside voice only on
|
|
`DISPATCH: outside-voice`. Without the native line (light depth at runtime 0;
|
|
above 0 the plan lists it beside the batched specialist), print `ADVERSARIAL: skipped (review plan)`;
|
|
with neither line, take decision 3 of Finish the adversarial phase. On `DISPATCH: targeted`, also run the targeted reader
|
|
(`gstack-review-dispatch render --role targeted --classes <TARGETED classes> --base <base> --diff-base <merge base>`, the merge base on every pass, never RANGE_BASE) like the voices; `verify --targeted-out` feeds the receipt's `--review-targeted`. Under a token cap,
|
|
reserve the planned voices as one batch (`gstack-ship-budget check --next dispatch:<roles>`)
|
|
and add `--reservation <id>` to the `--start adversarial-review` call below.
|
|
After `NEXT: voices` (gate class: Step 11 before any stop), Finish the adversarial phase takes neither
|
|
decision 2 nor 3: rerun Step 9's repeat decision with `--adversarial-ran` (a queued blocking finding as
|
|
`--blocking-open`); its `NEXT:` (the stop, or the owner's granted fix-check) stands.
|
|
|
|
{{ADVERSARIAL_STEP}}
|
|
|
|
{{LEARNINGS_LOG}}
|
|
|
|
{{GBRAIN_SAVE_RESULTS}}
|
|
|
|
### Refresh learnings for the headline feature on this branch
|
|
|
|
Step 8 used broad release terms. Before VERSION/CHANGELOG, search for versioning
|
|
or changelog pitfalls tied to this branch's headline feature.
|
|
|
|
Use ONE noun naming the skill, module, feature or changed binary. The keyword must
|
|
be alphanumeric or hyphen only; simplify other characters. For example, use
|
|
`token-or-search`, not `feat: token-or search`.
|
|
|
|
```bash
|
|
{ _LE=$(~/.claude/skills/gstack/bin/gstack-learnings-search --query "<your-keyword>" --limit 5 2>&1 >&3 3>&-); _LR=$?; } 3>&1
|
|
[ "$_LR" = 0 ] || { _LE=${_LE%%$'\n'*}; echo "LEARNINGS: unavailable (${_LE:-exit $_LR})"; }
|
|
```
|
|
|
|
Name an applicable learning and its effect on the version bump or CHANGELOG in
|
|
one sentence. If none applies, continue without a reference.
|