Commit a8148eb
authored
fix(execute-phase): trigger-based review checkpoint cadence (#92)
## Summary
Replaces `execute-phase`'s fixed every-2-phases review-checkpoint rule
with three mechanical, independently-checkable triggers, closing the
workflow-cost regression #64's phase-atomicity lint (merged, PR #75)
introduces.
- **Layer boundary** — the next phase declares a different `Layer:` than
the one just committed.
- **Accumulation** — `git diff --stat <baseline>..HEAD` exceeds 400
changed lines or 8 changed files since the last-reviewed marker.
- **Sensitivity** — the just-closed phase touches auth, payments,
destructive migrations, secrets, or CI config → immediate
single-reviewer checkpoint.
- Specifies the `Last reviewed: <sha>` marker's home (`progress.md`
header), sole writer (`execute-phase`), and its `git merge-base`
fallback when absent.
Checkpoints stay single-reviewer and skippable; the mandatory terminal
`review-change` and its adversarial hook (`#76`'s cadence — once per
unit) are untouched by contract, verified via `git diff` showing no
change inside that block.
## Changes
- `skills/execute-phase/SKILL.md` (2.5.2 → 2.6.0, minor) — new "Review
checkpoint triggers" section, rewritten cadence paragraph, rewritten
checkpoint hand-off block, plus two residual hyphenated "every-2-phases"
references (L517, L629) a broad sweep caught during hardening that the
P1 space-form grep missed.
- `skills/review-change/SKILL.md` (2.4.0 → 2.4.1, patch) — two
cross-reference restatements only; adversarial section byte-unchanged.
- Bilingual cadence-doc parity (EN + ES together, same commit):
`docs/workflow/SKILLS.md`, `docs/workflow/FEATURE_WORKFLOW.md`,
`docs/workflow/PORTABLE_PROMPT.md`, `docs/workflow/MIGRATION.md`,
`README.md`.
- `CHANGELOG.md` + `CHANGELOG.es.md` — version rows + release-log
entries.
- `docs/workflow/GOLDEN_FIXTURE.md` + `.es.md` — dated smoke-test
run-log row.
## Test plan
- [x] `npx skills add . --list` → exit 0, every skill discovered
including the bumped `execute-phase`/`review-change`.
- [x] `grep -rniE
"every.?2.?phases|every.?two.?phases|per-2-phase|2-phase.checkpoint"`
across every touched skill/doc → `0` current-behavior hits (CHANGELOG
hits are frozen history + this fix's own "what changed" rows).
- [x] `git diff main -- skills/review-change/SKILL.md` shows only the
two targeted cross-reference lines changed; the adversarial "Cadence —
once per unit" block is byte-identical.
- [x] GOLDEN_FIXTURE smoke: two live Claude Haiku 4.5 runs
(layer-boundary-fires scenario, no-trigger-fires scenario) both
reproduced the fixed "Checkpoint hand-off" block exactly, correct
trigger naming/reasoning, correct omission logic, zero invented steps —
logged in `docs/workflow/GOLDEN_FIXTURE.md` + `.es.md`.
- [x] `bump-skill` lint (all 5 authoring rules) clean on both changed
skills.
Closes #7718 files changed
Lines changed: 582 additions & 44 deletions
File tree
- docs
- fix
- 77-review-checkpoint-cadence-triggers
- workflow
- skills
- execute-phase
- review-change
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
| 145 | + | |
145 | 146 | | |
146 | 147 | | |
147 | 148 | | |
| |||
226 | 227 | | |
227 | 228 | | |
228 | 229 | | |
| 230 | + | |
229 | 231 | | |
230 | 232 | | |
231 | 233 | | |
| |||
427 | 429 | | |
428 | 430 | | |
429 | 431 | | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
430 | 442 | | |
431 | 443 | | |
432 | 444 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
| 144 | + | |
144 | 145 | | |
145 | 146 | | |
146 | 147 | | |
| |||
225 | 226 | | |
226 | 227 | | |
227 | 228 | | |
| 229 | + | |
228 | 230 | | |
229 | 231 | | |
230 | 232 | | |
| |||
426 | 428 | | |
427 | 429 | | |
428 | 430 | | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
429 | 441 | | |
430 | 442 | | |
431 | 443 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
119 | | - | |
| 119 | + | |
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
| |||
481 | 481 | | |
482 | 482 | | |
483 | 483 | | |
484 | | - | |
| 484 | + | |
485 | 485 | | |
486 | 486 | | |
487 | 487 | | |
| |||
0 commit comments