Commit cbd2163
Rectify: check_review_posted Step Wiring (#4205)
## Summary
Parts A and B of issue #4204 introduced the `check_review_posted` step
and `review-effect-verification-waypoint` rule across all 4 bundled
recipes, but the combined merged tree has 74 failing tests from 5
mechanical defects introduced by an incomplete round-3 remediation
(`fe8931e8f`):
- **RC1**: `optional: true` without `skip_when_false` left on
`check_review_posted` in 3 recipes (implementation,
implementation-groups, remediation) → `optional-without-skip-when` ERROR
cascades to 70+ tests
- **RC2**: No catch-all arm in `check_review_posted.on_result` in all 4
recipes → `unrouted-callable-verdict` ERROR (sentinel output
`no_reviews_posted` is unrouted)
- **RC3**: `check_review_posted.output_dir` in merge-prs uses a static
relative path (`{{AUTOSKILLIT_TEMP}}/review-pr`, no `${{` template) with
no `work_dir` → `run-python-requires-work-dir` ERROR
- **RC4**: `_review_effect_verification_waypoint` step-selection uses
`.startswith("/review-pr")` — never matches `/autoskillit:review-pr`
forms → rule permanently silent → 3 "fires" tests fail
- **RC4a**: `re_push_review_integration.on_success:
derive_batch_ci_event` in merge-prs bypasses `check_review_posted` on
the rebase-then-repush path → will cause the rule to fire on merge-prs
once RC4 is fixed
Part A eliminates all 5 defects. Part B (separate task, explicit
authorization required) adds architectural immunity to prevent
recurrence.
**Note on merged tree state:** After merging both impl branches,
`_analysis_bfs.py` already supports `barrier: str | frozenset[str]`
(updated by Part B), so the `frozenset` barrier call in
`_review_effect_verification_waypoint` is correct and requires no
change. The `check_review_posted` callable, its `skill_contracts.yaml`
entry, `smoke_utils` exports, and `tests/test_smoke_utils.py` are all
present and passing. Only the 5 defects above need repair.
Closes #4204
## Implementation Plan
Plan file:
`/home/talon/projects/autoskillit-runs/remediation-20260707-160731-479581/.autoskillit/temp/rectify/rectify_check-review-posted-wiring_2026-07-07_163000_part_a.md`
🤖 Generated with [Claude Code](https://claude.com/claude-code) via
AutoSkillit
<!-- autoskillit:pipeline-signature
steps=prepare_pr,run_arch_lenses,compose_pr,annotate_pr_diff,review_pr
-->
## Token Usage Summary
| Step | Model | count | uncached | output | cache_read | peak_ctx |
turns | cache_write | time |
|------|-------|-------|----------|--------|------------|----------|-------|-------------|------|
| investigate* | fable | 1 | 17.0k | 59.5k | 2.7M | 181.9k | 71 | 236.8k
| 21m 39s |
| rectify* | sonnet | 1 | 225 | 59.8k | 2.5M | 148.3k | 77 | 130.0k |
30m 29s |
| dry_walkthrough* | sonnet | 2 | 1.2k | 37.6k | 993.9k | 81.8k | 57 |
113.6k | 15m 1s |
| implement* | sonnet | 2 | 472 | 30.7k | 3.6M | 86.7k | 166 | 131.5k |
10m 57s |
| audit_impl* | sonnet | 2 | 188 | 31.7k | 947.3k | 67.4k | 62 | 112.2k
| 11m 59s |
| prepare_pr* | MiniMax-M3 | 1 | 44.2k | 3.9k | 199.8k | 47.3k | 14 | 0
| 52s |
| compose_pr* | MiniMax-M3 | 1 | 40.0k | 3.4k | 192.1k | 41.9k | 13 | 0
| 48s |
| **Total** | | | 103.3k | 226.4k | 11.2M | 181.9k | | 724.2k | 1h 31m |
\* *Step used a non-Anthropic provider; caching behavior may differ.*
## Token Efficiency
| Step | LoC Changed | cache_read/LoC | cache_write/LoC | output/LoC |
|------|-------------|----------------|-----------------|------------|
| investigate | 0 | — | — | — |
| rectify | 0 | — | — | — |
| dry_walkthrough | 0 | — | — | — |
| implement | 1567 | 2325.4 | 83.9 | 19.6 |
| audit_impl | 0 | — | — | — |
| prepare_pr | 0 | — | — | — |
| compose_pr | 0 | — | — | — |
| **Total** | **1567** | 7147.9 | 462.1 | 144.5 |
## Model Usage Breakdown
| Model | steps | uncached | output | cache_read | cache_write | time |
|-------|-------|----------|--------|------------|-------------|------|
| fable | 1 | 17.0k | 59.5k | 2.7M | 236.8k | 21m 39s |
| sonnet | 4 | 2.1k | 159.7k | 8.1M | 487.3k | 1h 8m |
| MiniMax-M3 | 2 | 84.2k | 7.2k | 391.9k | 0 | 1m 40s |
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 270a0f8 commit cbd2163
77 files changed
Lines changed: 1374 additions & 173 deletions
File tree
- src/autoskillit
- core/types
- execution
- backends
- headless
- recipes
- diagrams
- recipe
- rules/graph
- server/tools
- skills_extended
- audit-claims
- audit-review-decisions
- collapse-issues
- compose-pr
- compose-research-pr
- enrich-issues
- file-audit-issues
- issue-splitter
- merge-pr
- open-integration-pr
- pipeline-summary
- prepare-issue
- process-issues
- promote-to-main
- resolve-claims-review
- resolve-research-review
- resolve-review
- review-pr
- review-research-pr
- triage-issues
- skills/sous-chef
- smoke_utils
- tests
- arch
- core
- execution
- backends
- infra
- recipe
- server
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
| 145 | + | |
| 146 | + | |
145 | 147 | | |
146 | 148 | | |
147 | 149 | | |
| |||
262 | 264 | | |
263 | 265 | | |
264 | 266 | | |
| 267 | + | |
265 | 268 | | |
266 | 269 | | |
267 | 270 | | |
| |||
313 | 316 | | |
314 | 317 | | |
315 | 318 | | |
| 319 | + | |
316 | 320 | | |
317 | 321 | | |
318 | 322 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
302 | 302 | | |
303 | 303 | | |
304 | 304 | | |
| 305 | + | |
| 306 | + | |
305 | 307 | | |
306 | 308 | | |
307 | 309 | | |
308 | | - | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
309 | 313 | | |
310 | 314 | | |
311 | 315 | | |
| |||
353 | 357 | | |
354 | 358 | | |
355 | 359 | | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
356 | 370 | | |
357 | 371 | | |
358 | 372 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
76 | 77 | | |
77 | 78 | | |
78 | 79 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
| 166 | + | |
166 | 167 | | |
167 | 168 | | |
168 | 169 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
592 | 592 | | |
593 | 593 | | |
594 | 594 | | |
| 595 | + | |
595 | 596 | | |
596 | 597 | | |
597 | 598 | | |
| |||
692 | 693 | | |
693 | 694 | | |
694 | 695 | | |
| 696 | + | |
695 | 697 | | |
696 | 698 | | |
697 | 699 | | |
| |||
712 | 714 | | |
713 | 715 | | |
714 | 716 | | |
| 717 | + | |
715 | 718 | | |
716 | 719 | | |
717 | 720 | | |
| |||
790 | 793 | | |
791 | 794 | | |
792 | 795 | | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
793 | 799 | | |
794 | 800 | | |
795 | 801 | | |
| 802 | + | |
796 | 803 | | |
797 | 804 | | |
798 | 805 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
| 148 | + | |
148 | 149 | | |
149 | 150 | | |
150 | 151 | | |
| |||
193 | 194 | | |
194 | 195 | | |
195 | 196 | | |
| 197 | + | |
196 | 198 | | |
197 | 199 | | |
198 | 200 | | |
| |||
303 | 305 | | |
304 | 306 | | |
305 | 307 | | |
| 308 | + | |
306 | 309 | | |
307 | 310 | | |
308 | 311 | | |
| |||
344 | 347 | | |
345 | 348 | | |
346 | 349 | | |
| 350 | + | |
347 | 351 | | |
348 | 352 | | |
349 | 353 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | | - | |
| 102 | + | |
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
108 | 112 | | |
109 | 113 | | |
110 | 114 | | |
| |||
113 | 117 | | |
114 | 118 | | |
115 | 119 | | |
| 120 | + | |
116 | 121 | | |
117 | | - | |
| 122 | + | |
118 | 123 | | |
119 | 124 | | |
120 | 125 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
166 | 221 | | |
167 | 222 | | |
168 | 223 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
155 | 156 | | |
156 | 157 | | |
157 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
158 | 169 | | |
159 | 170 | | |
160 | 171 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2574 | 2574 | | |
2575 | 2575 | | |
2576 | 2576 | | |
| 2577 | + | |
| 2578 | + | |
| 2579 | + | |
| 2580 | + | |
| 2581 | + | |
| 2582 | + | |
| 2583 | + | |
| 2584 | + | |
| 2585 | + | |
| 2586 | + | |
| 2587 | + | |
| 2588 | + | |
| 2589 | + | |
| 2590 | + | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
| 2596 | + | |
| 2597 | + | |
| 2598 | + | |
| 2599 | + | |
| 2600 | + | |
| 2601 | + | |
| 2602 | + | |
| 2603 | + | |
| 2604 | + | |
| 2605 | + | |
2577 | 2606 | | |
2578 | 2607 | | |
2579 | 2608 | | |
| |||
0 commit comments