@open-agent-toolkit/cli 0.1.65 → 0.1.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/assets/agents/oat-reviewer.md +2 -2
  2. package/assets/docs/cli-utilities/workflow-gates.md +24 -5
  3. package/assets/docs/reference/cli-reference.md +1 -1
  4. package/assets/docs/workflows/projects/dispatch-ceiling.md +11 -3
  5. package/assets/docs/workflows/projects/pr-flow.md +12 -1
  6. package/assets/docs/workflows/projects/reviews.md +21 -1
  7. package/assets/public-package-versions.json +4 -4
  8. package/assets/skills/oat-agent-instructions-analyze/SKILL.md +3 -2
  9. package/assets/skills/oat-project-autonomous/SKILL.md +1 -1
  10. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +6 -6
  11. package/assets/skills/oat-project-complete/SKILL.md +20 -2
  12. package/assets/skills/oat-project-design/SKILL.md +88 -75
  13. package/assets/skills/oat-project-discover/SKILL.md +83 -64
  14. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +6 -6
  15. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  16. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +12 -1
  17. package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +24 -9
  18. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +6 -6
  19. package/assets/skills/oat-project-implement/references/phase-execution.md +5 -2
  20. package/assets/skills/oat-project-next/SKILL.md +21 -6
  21. package/assets/skills/oat-project-plan/SKILL.md +69 -56
  22. package/assets/skills/oat-project-plan-writing/SKILL.md +19 -2
  23. package/assets/skills/oat-project-pr-final/SKILL.md +20 -5
  24. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +6 -6
  25. package/assets/skills/oat-project-pr-progress/SKILL.md +18 -3
  26. package/assets/skills/oat-project-progress/SKILL.md +4 -1
  27. package/assets/skills/oat-project-quick-start/SKILL.md +68 -55
  28. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +6 -6
  29. package/assets/skills/oat-project-review-provide/SKILL.md +7 -2
  30. package/assets/skills/oat-project-review-receive/SKILL.md +46 -18
  31. package/assets/skills/oat-project-review-receive-remote/SKILL.md +41 -8
  32. package/dist/commands/cleanup/project/project.utils.d.ts.map +1 -1
  33. package/dist/commands/cleanup/project/project.utils.js +19 -1
  34. package/dist/commands/gate/index.d.ts +2 -0
  35. package/dist/commands/gate/index.d.ts.map +1 -1
  36. package/dist/commands/gate/index.js +29 -1
  37. package/dist/commands/review/latest.d.ts +1 -0
  38. package/dist/commands/review/latest.d.ts.map +1 -1
  39. package/dist/commands/review/latest.js +96 -22
  40. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-design
3
- version: 2.2.0
3
+ version: 2.3.0
4
4
  description: Use when discovery is complete and implementation-ready decisions are needed. Runs a collaborative, selective collaborative, or draft-and-review design flow, confirms requirements and produces both `spec.md` and `design.md`, and commits artifacts before the user-review gate.
5
5
  disable-model-invocation: true
6
6
  user-invocable: true
@@ -619,79 +619,10 @@ Wait for user response:
619
619
  stop and report: "Design draft committed; awaiting HiLL approval."
620
620
  ```
621
621
 
622
- ### Step 7: Approval — Mark Design Complete and Update HiLL State
622
+ ### Step 7: Gate Execution
623
623
 
624
- On approval (either explicit user approval when HiLL gate fired, or automatic when no HiLL gate is configured):
625
-
626
- **Step 7a: Mark design.md complete**
627
-
628
- Update `design.md` frontmatter:
629
-
630
- ```yaml
631
- ---
632
- oat_status: complete
633
- oat_ready_for: oat-project-plan
634
- oat_blockers: []
635
- oat_last_updated: { today }
636
- ---
637
- ```
638
-
639
- **Step 7b: Update project state.md**
640
-
641
- Update `"$PROJECT_PATH/state.md"`:
642
-
643
- **Frontmatter updates:**
644
-
645
- - `oat_current_task: null`
646
- - `oat_last_commit: {commit_sha_from_step_6a_or_revision}`
647
- - `oat_blockers: []`
648
- - `oat_phase: design`
649
- - `oat_phase_status: complete`
650
- - `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
651
- - **If** `"design"` is in `oat_hill_checkpoints`: append `"design"` to `oat_hill_completed` array.
652
- - **If** `"spec"` is in `oat_hill_checkpoints` and not previously completed via the standalone spec skill: append `"spec"` too (folded HiLL — a single approval covers both).
653
-
654
- **Note:** Only append to `oat_hill_completed` when the phase is configured as a HiLL gate.
655
-
656
- Update content:
657
-
658
- ```markdown
659
- ## Current Phase
660
-
661
- Design - Ready for implementation planning
662
-
663
- ## Progress
664
-
665
- - ✓ Discovery complete
666
- - ✓ Specification complete (folded into design)
667
- - ✓ Design complete
668
- - ⧗ Awaiting implementation plan
669
- ```
670
-
671
- **Step 7c: Commit the approval-side metadata**
672
-
673
- ```bash
674
- git add "$PROJECT_PATH/design.md" "$PROJECT_PATH/state.md"
675
- git diff --cached --quiet || git commit -m "chore(oat): mark design complete for {project-name}"
676
- ```
677
-
678
- ### Step 8: Output Summary
679
-
680
- ```
681
- Design phase complete for {project-name}.
682
-
683
- Architecture:
684
- - {N} components defined
685
- - {N} data models specified
686
- - {N} API endpoints designed
687
-
688
- Next: Create implementation plan with the oat-project-plan skill
689
- ```
690
-
691
- ### Gate Execution
692
-
693
- Before reporting this skill as complete, run the configured gate as the final
694
- step:
624
+ After artifact finalization and any configured HiLL approval, run the configured
625
+ gate as the last check before the completion boundary:
695
626
 
696
627
  1. Resolve the gate for this skill:
697
628
 
@@ -699,8 +630,8 @@ step:
699
630
  oat gate resolve <this-skill> --json
700
631
  ```
701
632
 
702
- If the command returns JSON `null`, no gate is configured; the skill is
703
- complete.
633
+ If the command returns JSON `null`, no gate is configured; proceed directly
634
+ to the completion steps in Step 8 below.
704
635
 
705
636
  2. Export the resolved project path into the command shell:
706
637
 
@@ -766,6 +697,88 @@ setting; record the blocker and leave the project resumable. Important findings
766
697
  follow the configured gate policy. When autonomy is inactive, the interactive
767
698
  behavior above is unchanged.
768
699
 
700
+ A gate that ends in `block` after attempts are exhausted, or at an unresolved
701
+ `prompt` boundary, means the completion steps below MUST NOT run; the phase
702
+ stays `in_progress` and resumable.
703
+
704
+ ### Step 8: Approval — Mark Design Complete and Update HiLL State
705
+
706
+ Reach this completion boundary only after the configured gate passes or resolves
707
+ according to its `onFailure` policy.
708
+
709
+ On approval (either explicit user approval when HiLL gate fired, or automatic when no HiLL gate is configured):
710
+
711
+ **Step 8a: Mark design.md complete**
712
+
713
+ Update `design.md` frontmatter:
714
+
715
+ ```yaml
716
+ ---
717
+ oat_status: complete
718
+ oat_ready_for: oat-project-plan
719
+ oat_blockers: []
720
+ oat_last_updated: { today }
721
+ ---
722
+ ```
723
+
724
+ **Step 8b: Update project state.md**
725
+
726
+ Update `"$PROJECT_PATH/state.md"`:
727
+
728
+ **Frontmatter updates:**
729
+
730
+ - `oat_current_task: null`
731
+ - `oat_last_commit: {commit_sha_from_step_6a_or_revision}`
732
+ - `oat_blockers: []`
733
+ - `oat_phase: design`
734
+ - `oat_phase_status: complete`
735
+ - `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
736
+ - **If** `"design"` is in `oat_hill_checkpoints`: append `"design"` to `oat_hill_completed` array.
737
+ - **If** `"spec"` is in `oat_hill_checkpoints` and not previously completed via the standalone spec skill: append `"spec"` too (folded HiLL — a single approval covers both).
738
+
739
+ **Note:** Only append to `oat_hill_completed` when the phase is configured as a HiLL gate.
740
+
741
+ Update content:
742
+
743
+ ```markdown
744
+ ## Current Phase
745
+
746
+ Design - Ready for implementation planning
747
+
748
+ ## Progress
749
+
750
+ - ✓ Discovery complete
751
+ - ✓ Specification complete (folded into design)
752
+ - ✓ Design complete
753
+ - ⧗ Awaiting implementation plan
754
+ ```
755
+
756
+ **Step 8c: Commit the approval-side metadata**
757
+
758
+ Reach this commit step only after the configured gate passes or resolves
759
+ according to its `onFailure` policy.
760
+
761
+ ```bash
762
+ git add "$PROJECT_PATH/design.md" "$PROJECT_PATH/state.md"
763
+ git diff --cached --quiet || git commit -m "chore(oat): mark design complete for {project-name}"
764
+ ```
765
+
766
+ ### Step 9: Output Summary
767
+
768
+ Report completion only after the configured gate passes or resolves according to
769
+ its `onFailure` policy.
770
+
771
+ ```
772
+ Design phase complete for {project-name}.
773
+
774
+ Architecture:
775
+ - {N} components defined
776
+ - {N} data models specified
777
+ - {N} API endpoints designed
778
+
779
+ Next: Create implementation plan with the oat-project-plan skill
780
+ ```
781
+
769
782
  ## Success Criteria
770
783
 
771
784
  - Architecture aligns with existing patterns (from architecture.md)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-discover
3
- version: 2.1.0
3
+ version: 2.2.0
4
4
  description: Use when the user explicitly asks to continue discovery for an active spec-driven OAT project — e.g. "continue discovery", "run discovery", or confirms a previously offered discovery step. Do NOT auto-invoke for new ideas or quick-mode projects. Gathers requirements and context before spec/design.
5
5
  disable-model-invocation: false
6
6
  user-invocable: true
@@ -424,66 +424,10 @@ If `"discovery"` is in `oat_hill_checkpoints`, require explicit user approval be
424
424
 
425
425
  If discovery is not configured as a HiLL checkpoint, or user explicitly approves, continue to Step 12.
426
426
 
427
- ### Step 12: Mark Discovery Complete
427
+ ### Step 12: Gate Execution
428
428
 
429
- Use the CLI completion boundary so split-created child discoveries cannot
430
- complete until inherited context has been revalidated:
431
-
432
- ```bash
433
- oat project complete-discovery "$PROJECT_PATH" --ready-for oat-project-design
434
- ```
435
-
436
- ### Step 13: Update Project State
437
-
438
- Update `"$PROJECT_PATH/state.md"`:
439
-
440
- **Frontmatter updates:**
441
-
442
- - `oat_phase: discovery`
443
- - `oat_phase_status: complete`
444
- - `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
445
- - **If** `"discovery"` is in `oat_hill_checkpoints`: append `"discovery"` to `oat_hill_completed` array
446
-
447
- **Note:** Only append to `oat_hill_completed` when the phase is configured as a HiLL gate. This keeps `oat_hill_completed` meaning "HiLL gates passed" rather than "phases completed" (which is tracked by `oat_phase` and `oat_phase_status`).
448
-
449
- **Content updates:**
450
-
451
- - Set **Last Updated:** to today
452
- - Update **Artifacts** section: Discovery status to "complete"
453
- - Update **Progress** section
454
-
455
- ### Step 14: Commit Discovery
456
-
457
- **Note:** This shows what users will do when USING oat-project-discover.
458
- During implementation of OAT itself, use standard commit format.
459
-
460
- ```bash
461
- git add "$PROJECT_PATH/"
462
- git commit -m "docs: complete discovery for {project-name}
463
-
464
- Key decisions:
465
- - {Decision 1}
466
- - {Decision 2}
467
-
468
- Ready for design phase"
469
- ```
470
-
471
- ### Step 15: Output Summary
472
-
473
- ```
474
- Discovery phase complete for {project-name}.
475
-
476
- Next: Create design with the oat-project-design skill (which will confirm
477
- requirements automatically and produce both spec.md and design.md).
478
-
479
- If you'd rather formalize requirements without designing yet, run
480
- `oat-project-spec` as a standalone step.
481
- ```
482
-
483
- ### Gate Execution
484
-
485
- Before reporting this skill as complete, run the configured gate as the final
486
- step:
429
+ After artifact finalization and any configured HiLL approval, run the configured
430
+ gate as the last check before the completion boundary:
487
431
 
488
432
  1. Resolve the gate for this skill:
489
433
 
@@ -491,8 +435,8 @@ step:
491
435
  oat gate resolve <this-skill> --json
492
436
  ```
493
437
 
494
- If the command returns JSON `null`, no gate is configured; the skill is
495
- complete.
438
+ If the command returns JSON `null`, no gate is configured; proceed directly
439
+ to the completion steps in Step 13 below.
496
440
 
497
441
  2. Export the resolved project path into the command shell:
498
442
 
@@ -552,5 +496,80 @@ step:
552
496
  When `OAT_AUTONOMOUS=1`, perform eligible review receive immediately and apply
553
497
  the autonomy contract's `onFailure` semantics without prompting: `warn`
554
498
  continues with provenance, `block` stops after bounded attempts, and `prompt`
555
- is a reported boundary. When autonomy is inactive, the interactive behavior
556
- above is unchanged.
499
+ is a reported boundary. Unresolved Critical review findings always stop
500
+ autonomous discovery progression, regardless of a less restrictive gate
501
+ failure setting; record the blocker and leave the project resumable. Important
502
+ findings follow the configured gate policy. When autonomy is inactive, the
503
+ interactive behavior above is unchanged.
504
+
505
+ A gate that ends in `block` after attempts are exhausted, or at an unresolved
506
+ `prompt` boundary, means the completion steps below MUST NOT run; the phase
507
+ stays `in_progress` and resumable.
508
+
509
+ ### Step 13: Mark Discovery Complete
510
+
511
+ Reach this completion boundary only after the configured gate passes or resolves
512
+ according to its `onFailure` policy.
513
+
514
+ Use the CLI completion boundary so split-created child discoveries cannot
515
+ complete until inherited context has been revalidated:
516
+
517
+ ```bash
518
+ oat project complete-discovery "$PROJECT_PATH" --ready-for oat-project-design
519
+ ```
520
+
521
+ ### Step 14: Update Project State
522
+
523
+ Reach this state transition only after the configured gate passes or resolves
524
+ according to its `onFailure` policy.
525
+
526
+ Update `"$PROJECT_PATH/state.md"`:
527
+
528
+ **Frontmatter updates:**
529
+
530
+ - `oat_phase: discovery`
531
+ - `oat_phase_status: complete`
532
+ - `oat_project_state_updated: "{ISO 8601 UTC timestamp}"`
533
+ - **If** `"discovery"` is in `oat_hill_checkpoints`: append `"discovery"` to `oat_hill_completed` array
534
+
535
+ **Note:** Only append to `oat_hill_completed` when the phase is configured as a HiLL gate. This keeps `oat_hill_completed` meaning "HiLL gates passed" rather than "phases completed" (which is tracked by `oat_phase` and `oat_phase_status`).
536
+
537
+ **Content updates:**
538
+
539
+ - Set **Last Updated:** to today
540
+ - Update **Artifacts** section: Discovery status to "complete"
541
+ - Update **Progress** section
542
+
543
+ ### Step 15: Commit Discovery
544
+
545
+ Reach this commit step only after the configured gate passes or resolves
546
+ according to its `onFailure` policy.
547
+
548
+ **Note:** This shows what users will do when USING oat-project-discover.
549
+ During implementation of OAT itself, use standard commit format.
550
+
551
+ ```bash
552
+ git add "$PROJECT_PATH/"
553
+ git commit -m "docs: complete discovery for {project-name}
554
+
555
+ Key decisions:
556
+ - {Decision 1}
557
+ - {Decision 2}
558
+
559
+ Ready for design phase"
560
+ ```
561
+
562
+ ### Step 16: Output Summary
563
+
564
+ Report completion only after the configured gate passes or resolves according to
565
+ its `onFailure` policy.
566
+
567
+ ```
568
+ Discovery phase complete for {project-name}.
569
+
570
+ Next: Create design with the oat-project-design skill (which will confirm
571
+ requirements automatically and produce both spec.md and design.md).
572
+
573
+ If you'd rather formalize requirements without designing yet, run
574
+ `oat-project-spec` as a standalone step.
575
+ ```
@@ -218,16 +218,16 @@ remains immutable baseline evidence for the original p01-t01 verification.
218
218
  | Skill root / file | Stable prompt-site mappings |
219
219
  | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
220
220
  | `oat-project-new/SKILL.md` | `f7ca8635452f -> NG`; `b137f73db20c -> NEW-01`; `45b699c1c0b5 -> NEW-01`; `ba6d120791c1 -> NEW-01`; `33ce6a6c30aa -> NEW-02`; `0f5a90f34f63 -> NG`; `d0ea3a91261d -> NG` |
221
- | `oat-project-quick-start/SKILL.md` | `f7ca8635452f -> NG`; `c493a38b89f2 -> QS-04`; `655d61df0a8f -> NG`; `b137f73db20c -> QS-01`; `45b699c1c0b5 -> QS-01`; `ba6d120791c1 -> QS-01`; `1a5ee85164ff -> QS-02`; `af8e2bea90d7 -> QS-04`; `a823cf5aeaec -> QS-04`; `7753dc323083 -> QS-04`; `1f557da5e03c -> QS-04`; `0960c3eb1564 -> NG`; `c24787334ade -> QS-05`; `021ba03c82c5 -> QS-05`; `5d1a9d1b661d -> QS-05`; `318f304ee3b3 -> QS-05`; `cc700d4d2cab -> QS-05`; `7ef6aa642400 -> QS-05`; `4d389b234556 -> QS-05`; `84c506dac106 -> QS-05`; `caf7622a2e02 -> QS-05`; `8917190b2e98 -> QS-06`; `5a028d846aa5 -> QS-06`; `b1d92192b8ca -> QS-06`; `bdbb18955cc4 -> QS-06`; `6d159a2e8f8e -> QS-06`; `61a9849f4dfc -> QS-06`; `31cb92052ea6 -> QS-06`; `39e3fe23dd85 -> QS-07`; `2cb069a2590b -> NG`; `fd0aff270853 -> NG`; `a114b27f8b4b -> NG`; `77dc8e1b728a -> QS-08`; `d3e3fba65b96 -> QS-09`; `71c2a0ba99bf -> QS-09`; `f47f9f9c0d03 -> QS-09`; `224a4b43fb29 -> QS-10`; `744f130d4116 -> QS-12`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> QS-12`; `857e91aa3095 -> NG` |
221
+ | `oat-project-quick-start/SKILL.md` | `f7ca8635452f -> NG`; `c493a38b89f2 -> QS-04`; `655d61df0a8f -> NG`; `b137f73db20c -> QS-01`; `45b699c1c0b5 -> QS-01`; `ba6d120791c1 -> QS-01`; `1a5ee85164ff -> QS-02`; `af8e2bea90d7 -> QS-04`; `a823cf5aeaec -> QS-04`; `7753dc323083 -> QS-04`; `1f557da5e03c -> QS-04`; `0960c3eb1564 -> NG`; `c24787334ade -> QS-05`; `021ba03c82c5 -> QS-05`; `5d1a9d1b661d -> QS-05`; `318f304ee3b3 -> QS-05`; `cc700d4d2cab -> QS-05`; `7ef6aa642400 -> QS-05`; `4d389b234556 -> QS-05`; `84c506dac106 -> QS-05`; `caf7622a2e02 -> QS-05`; `8917190b2e98 -> QS-06`; `5a028d846aa5 -> QS-06`; `b1d92192b8ca -> QS-06`; `bdbb18955cc4 -> QS-06`; `6d159a2e8f8e -> QS-06`; `61a9849f4dfc -> QS-06`; `31cb92052ea6 -> QS-06`; `39e3fe23dd85 -> QS-07`; `2cb069a2590b -> NG`; `fd0aff270853 -> NG`; `a114b27f8b4b -> NG`; `77dc8e1b728a -> QS-08`; `d3e3fba65b96 -> QS-09`; `71c2a0ba99bf -> QS-09`; `f47f9f9c0d03 -> QS-09`; `224a4b43fb29 -> QS-10`; `744f130d4116 -> QS-12`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> QS-12`; `857e91aa3095 -> NG`; `b4af2220eb91 -> QS-12` |
222
222
  | `oat-project-quick-start/references/docs/autonomy-contract.md` | `* -> NG` |
223
- | `oat-project-discover/SKILL.md` | `8fe35bbfbcd6 -> NG`; `6acc57686847 -> NG`; `4df56b83b98e -> NG`; `660fcdb9dd0d -> NG`; `655d61df0a8f -> NG`; `302f5a4e2f7e -> DISC-03`; `8ee1861bb37c -> DISC-03`; `5c8d5f04f6e2 -> DISC-05`; `73964bb042ab -> DISC-05`; `82cc79370b80 -> DISC-05`; `ff09e8f7774f -> DISC-06`; `323e71dca05d -> DISC-06`; `012bab5b478e -> DISC-06`; `523764981692 -> DISC-06`; `7eaa40e078b9 -> DISC-07`; `b57408be1e7b -> DISC-07`; `4683ea4a7d2f -> DISC-07`; `1195a16a0bc5 -> NG`; `d20eb00f1887 -> DISC-08`; `3f0b53056edd -> DISC-08`; `b92484ef7ca4 -> DISC-08`; `3cf10a406501 -> DISC-08` |
224
- | `oat-project-design/SKILL.md` | `d942bb5a75dc -> NG`; `5eb3949f32e1 -> NG`; `8bdedbff2084 -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> DES-01`; `2fd9e4306093 -> NG`; `30aaa490f54f -> NG`; `5d39260a7350 -> DES-03`; `925238b3a9b8 -> DES-03`; `f44832c14f8f -> DES-03`; `7f6ed9174a80 -> DES-03`; `ea8a45cff484 -> DES-03`; `ae06e7f3590d -> DES-03`; `ad9715bfa9b5 -> DES-03`; `235f4eba81d9 -> DES-03`; `86d15c022ff2 -> DES-03`; `c08ee2c84186 -> DES-03`; `bd3ee332d171 -> DES-03`; `ec88b585a24d -> DES-03`; `a9595a6486f1 -> DES-04`; `accb06cd6f3c -> DES-04`; `806001c2c365 -> DES-04`; `696587b33f1e -> DES-04`; `8678cdb975d0 -> NG`; `8ad2a4dc63d2 -> DES-05`; `33cc7540d89e -> DES-05`; `51a2b698ba14 -> DES-05`; `81085592cc91 -> DES-05`; `74b952cc1121 -> DES-05`; `da7551391a41 -> DES-05`; `02c93ec05a4a -> DES-06`; `6864967fd8a4 -> DES-06`; `84e9be719156 -> DES-06`; `7ed89c44264b -> DES-06`; `dc7ba56c1cd4 -> DES-06`; `57ccefb935bf -> DES-06`; `9d27238332b2 -> NG`; `a0c758ab26aa -> NG`; `0e17c1a2de0b -> DES-07`; `e9ea8625567c -> DES-07`; `908e710e7304 -> DES-07`; `38a0adf2dcd6 -> DES-07`; `16c2036990df -> DES-07`; `b23bbe0c4282 -> DES-07`; `71972778f6b8 -> DES-07`; `7f88caab1f38 -> DES-07`; `7eb6f3a2d666 -> DES-07`; `e7a364820674 -> DES-07`; `241de26a0b0b -> DES-07`; `9d7a898331a3 -> DES-07`; `686152516d78 -> DES-07`; `8ca3cff907f3 -> DES-07`; `13e6349960fb -> DES-07`; `fd3d71fade25 -> DES-07`; `8daa828dfad0 -> NG`; `d20eb00f1887 -> DES-08`; `3f0b53056edd -> DES-08`; `b92484ef7ca4 -> DES-08`; `3cf10a406501 -> DES-08`; `033fb711de49 -> NG` |
223
+ | `oat-project-discover/SKILL.md` | `8fe35bbfbcd6 -> NG`; `6acc57686847 -> NG`; `4df56b83b98e -> NG`; `660fcdb9dd0d -> NG`; `655d61df0a8f -> NG`; `302f5a4e2f7e -> DISC-03`; `8ee1861bb37c -> DISC-03`; `5c8d5f04f6e2 -> DISC-05`; `73964bb042ab -> DISC-05`; `82cc79370b80 -> DISC-05`; `ff09e8f7774f -> DISC-06`; `323e71dca05d -> DISC-06`; `012bab5b478e -> DISC-06`; `523764981692 -> DISC-06`; `7eaa40e078b9 -> DISC-07`; `b57408be1e7b -> DISC-07`; `4683ea4a7d2f -> DISC-07`; `04454a79d998 -> DISC-08`; `54444ee79fc8 -> DISC-08`; `dd3b5d3d6424 -> DISC-08`; `f64efa435cb2 -> DISC-08`; `1f802b9bc5ad -> DISC-08`; `3fad0405b2bc -> NG`; `2eeba46b7d76 -> DISC-08` |
224
+ | `oat-project-design/SKILL.md` | `d942bb5a75dc -> NG`; `5eb3949f32e1 -> NG`; `8bdedbff2084 -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> DES-01`; `2fd9e4306093 -> NG`; `30aaa490f54f -> NG`; `5d39260a7350 -> DES-03`; `925238b3a9b8 -> DES-03`; `f44832c14f8f -> DES-03`; `7f6ed9174a80 -> DES-03`; `ea8a45cff484 -> DES-03`; `ae06e7f3590d -> DES-03`; `ad9715bfa9b5 -> DES-03`; `235f4eba81d9 -> DES-03`; `86d15c022ff2 -> DES-03`; `c08ee2c84186 -> DES-03`; `bd3ee332d171 -> DES-03`; `ec88b585a24d -> DES-03`; `a9595a6486f1 -> DES-04`; `accb06cd6f3c -> DES-04`; `806001c2c365 -> DES-04`; `696587b33f1e -> DES-04`; `8678cdb975d0 -> NG`; `8ad2a4dc63d2 -> DES-05`; `33cc7540d89e -> DES-05`; `51a2b698ba14 -> DES-05`; `81085592cc91 -> DES-05`; `74b952cc1121 -> DES-05`; `da7551391a41 -> DES-05`; `02c93ec05a4a -> DES-06`; `6864967fd8a4 -> DES-06`; `84e9be719156 -> DES-06`; `7ed89c44264b -> DES-06`; `dc7ba56c1cd4 -> DES-06`; `57ccefb935bf -> DES-06`; `9d27238332b2 -> NG`; `a0c758ab26aa -> NG`; `0e17c1a2de0b -> DES-07`; `e9ea8625567c -> DES-07`; `908e710e7304 -> DES-07`; `38a0adf2dcd6 -> DES-07`; `16c2036990df -> DES-07`; `b23bbe0c4282 -> DES-07`; `71972778f6b8 -> DES-07`; `7f88caab1f38 -> DES-07`; `7eb6f3a2d666 -> DES-07`; `e7a364820674 -> DES-07`; `241de26a0b0b -> DES-07`; `9d7a898331a3 -> DES-07`; `686152516d78 -> DES-07`; `bd3ad56d6265 -> DES-08`; `a19d9c6d7b42 -> DES-08`; `3af5412588ba -> DES-08`; `a0f1c66507d0 -> DES-08`; `a97364c2ca8b -> DES-08`; `4725e333dea4 -> DES-07`; `595d3a64c0f4 -> DES-07`; `57923a130802 -> DES-07`; `7d8fdfb4ca6f -> NG`; `033fb711de49 -> NG`; `d30bb6464138 -> DES-08` |
225
225
  | `oat-project-design/references/selective-review-pass.md` | `d4956192b82e -> DES-06`; `7d6e1f926ecb -> DES-06`; `04f918a5fcac -> DES-07` |
226
- | `oat-project-plan/SKILL.md` | `5eb3949f32e1 -> NG`; `64a08153bb9e -> NG`; `655d61df0a8f -> NG`; `56b37486f09d -> PLAN-01`; `cf317c17c586 -> PLAN-02`; `781643b0f2c3 -> NG`; `01fd7cca8253 -> PLAN-04`; `7bc7fa3f2cbb -> NG`; `da28ce0a5f2e -> NG`; `e334f94c4d35 -> NG`; `1fa55762c038 -> NG`; `c0935b5484a2 -> NG`; `6008163054f8 -> PLAN-05`; `571271f4d71b -> PLAN-06`; `746b760289e4 -> PLAN-06`; `de195590ff83 -> NG`; `49640510829a -> PLAN-07`; `4bef7afa7a71 -> PLAN-08`; `e5886632533e -> PLAN-08`; `4cfe1df14372 -> NG`; `71d18f57db67 -> PLAN-10`; `9b6ef603b0b9 -> PLAN-10`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> PLAN-11`; `1734b2c85c5d -> NG` |
226
+ | `oat-project-plan/SKILL.md` | `5eb3949f32e1 -> NG`; `64a08153bb9e -> NG`; `655d61df0a8f -> NG`; `56b37486f09d -> PLAN-01`; `cf317c17c586 -> PLAN-02`; `781643b0f2c3 -> NG`; `01fd7cca8253 -> PLAN-04`; `7bc7fa3f2cbb -> NG`; `da28ce0a5f2e -> NG`; `e334f94c4d35 -> NG`; `1fa55762c038 -> NG`; `c0935b5484a2 -> NG`; `6008163054f8 -> PLAN-05`; `571271f4d71b -> PLAN-06`; `746b760289e4 -> PLAN-06`; `de195590ff83 -> NG`; `49640510829a -> PLAN-07`; `4bef7afa7a71 -> PLAN-08`; `e5886632533e -> PLAN-08`; `4cfe1df14372 -> NG`; `d116c97a500c -> PLAN-10`; `aa62facff547 -> PLAN-10`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> PLAN-11`; `1734b2c85c5d -> NG`; `b4af2220eb91 -> PLAN-11` |
227
227
  | `oat-project-import-plan/SKILL.md` | `f7ca8635452f -> NG`; `c2e5fa410069 -> NG`; `655d61df0a8f -> NG`; `b137f73db20c -> IMPORT-01`; `45b699c1c0b5 -> IMPORT-01`; `ba6d120791c1 -> IMPORT-01`; `070ebc5259af -> IMPORT-03`; `c11552696e2e -> IMPORT-03`; `cfe661966baf -> IMPORT-04`; `baa91c0a0bf8 -> NG`; `e364e84b2702 -> NG`; `39031985a945 -> IMPORT-06`; `f106aa29a217 -> IMPORT-07`; `65038450aee3 -> IMPORT-07`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> IMPORT-09` |
228
228
  | `oat-project-implement/SKILL.md` | `c6732295bc8c -> NG`; `ffb3af0ba8ef -> NG`; `e0355c7a05e9 -> IMPLEMENT-11+IMPLEMENT-13+IMPLEMENT-16`; `6296f41ae11c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> IMPLEMENT-01`; `8ce8a09feca4 -> NG` |
229
229
  | `oat-project-implement/references/completion-and-closeout.md` | `105600fbd045 -> IMPLEMENT-11`; `3e6055aede6c -> IMPLEMENT-11`; `0705f7533039 -> IMPLEMENT-11`; `0c39746f3cb5 -> IMPLEMENT-11`; `14d89fe39c8c -> IMPLEMENT-11`; `378a75543a72 -> IMPLEMENT-11`; `c7b25627e674 -> IMPLEMENT-11`; `51ef9a453323 -> IMPLEMENT-11`; `c67145e3fb00 -> IMPLEMENT-11`; `64fbeac64811 -> IMPLEMENT-11`; `19b13c17bddb -> NG`; `f7dab9c1f96c -> IMPLEMENT-12`; `c69c17a069a8 -> IMPLEMENT-14`; `a97fa5634a68 -> IMPLEMENT-14`; `3af58881811c -> IMPLEMENT-14`; `4203e1f49d0f -> IMPLEMENT-14`; `c3bd2458a3d3 -> IMPLEMENT-13`; `95b5eafc070d -> IMPLEMENT-13`; `25ecbe9c998b -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f6f24fd71da4 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f18283bc1cf9 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `2c1ffc4a82dd -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `3454a07aa843 -> IMPLEMENT-16`; `0d86e2098cfb -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `d5fe597d266f -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `55a152e944c1 -> IMPLEMENT-16`; `effac7cbd573 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `9d2a34d8b148 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `d27462aaed26 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `9d52ecb17268 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `5b91aabe3757 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `fd0ad919f702 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `63bf28df1474 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `a4ed471dbc78 -> IMPLEMENT-16`; `6b7a64cec6e5 -> IMPLEMENT-16`; `0a4fdba0ebc0 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `a5033c2aada5 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `e77609eddba0 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `351156e8dde4 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `51d45bd2bbd1 -> IMPLEMENT-16`; `f7796ffcc804 -> IMPLEMENT-16`; `990d730cb494 -> IMPLEMENT-16`; `6ed28bb7d384 -> IMPLEMENT-16`; `8b7d4b5bcf1b -> IMPLEMENT-16`; `88aad500e6e9 -> IMPLEMENT-16`; `877e3e3f9eda -> IMPLEMENT-16`; `fc03c97f834e -> IMPLEMENT-16`; `12939a3da5e0 -> IMPLEMENT-16`; `bdb418335a88 -> IMPLEMENT-16`; `fba97e596ebd -> IMPLEMENT-16`; `3d0b5e2f14f0 -> IMPLEMENT-17`; `f56a9ce88461 -> IMPLEMENT-17`; `9ba67b50d0ba -> IMPLEMENT-17`; `39ff911760af -> IMPLEMENT-17`; `5b560b5bd6e3 -> IMPLEMENT-17`; `fa21df5e5e01 -> IMPLEMENT-17`; `0fed77bec55e -> IMPLEMENT-17`; `6d81cfb0483f -> IMPLEMENT-17`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> IMPLEMENT-18` |
230
- | `oat-project-implement/references/dispatch-and-dry-run.md` | `21b85f5e4daa -> IMPLEMENT-08`; `74c92b32bb2a -> IMPLEMENT-08`; `8efd2d0517ab -> IMPLEMENT-09`; `461ed9b3e495 -> IMPLEMENT-09`; `b5ad64fd744d -> NG`; `14ce436cfffa -> NG`; `043ca36da3e2 -> NG`; `a23e45c1dc8d -> NG`; `498143bb41a7 -> NG`; `4fe3eb179023 -> NG`; `7f75485e5a33 -> NG`; `8ec3a96df029 -> NG`; `16c3f96e758d -> NG`; `5915c41fe058 -> NG`; `f51e43eeac56 -> NG`; `fd41c25623cb -> NG`; `58a932ed6453 -> NG`; `4718bd3ce12d -> NG`; `58c444a2126b -> NG` |
230
+ | `oat-project-implement/references/dispatch-and-dry-run.md` | `21b85f5e4daa -> IMPLEMENT-08`; `74c92b32bb2a -> IMPLEMENT-08`; `8efd2d0517ab -> IMPLEMENT-09`; `461ed9b3e495 -> IMPLEMENT-09`; `b5ad64fd744d -> NG`; `14ce436cfffa -> NG`; `043ca36da3e2 -> NG`; `a23e45c1dc8d -> NG`; `498143bb41a7 -> NG`; `4fe3eb179023 -> NG`; `7f75485e5a33 -> NG`; `8ec3a96df029 -> NG`; `16c3f96e758d -> NG`; `5915c41fe058 -> NG`; `f51e43eeac56 -> NG`; `fd41c25623cb -> NG`; `58a932ed6453 -> NG`; `4718bd3ce12d -> NG`; `58c444a2126b -> NG`; `2df3adae4120 -> NG`; `e75df892b55c -> NG` |
231
231
  | `oat-project-implement/references/docs/autonomy-contract.md` | `* -> NG` |
232
232
  | `oat-project-implement/references/phase-execution.md` | `27737e814790 -> NG`; `6dda2b8e62e2 -> IMPLEMENT-10`; `b3197086bb1e -> IMPLEMENT-10` |
233
233
  | `oat-project-implement/references/plan-and-resume.md` | `413829d31e32 -> IMPLEMENT-02`; `c7706cd8ad09 -> IMPLEMENT-03`; `a80a948df658 -> IMPLEMENT-03`; `b7ea139780ec -> IMPLEMENT-03+IMPLEMENT-04`; `8d438f2180ba -> IMPLEMENT-03`; `9e72e0518cda -> IMPLEMENT-03`; `3e177a1021e6 -> IMPLEMENT-03+IMPLEMENT-04`; `b59fc9eb9ce3 -> IMPLEMENT-03`; `a2b1d6855283 -> IMPLEMENT-03`; `44351a32e52a -> IMPLEMENT-03`; `b98b022f5523 -> IMPLEMENT-03`; `e9f5b949e214 -> IMPLEMENT-03`; `316fb6d9e980 -> IMPLEMENT-03`; `8b25a2c5c548 -> IMPLEMENT-03`; `1a59b1c0e705 -> IMPLEMENT-03`; `466cd562fc52 -> IMPLEMENT-03`; `083d896978d5 -> IMPLEMENT-03`; `f4ab11c13ae9 -> IMPLEMENT-03`; `7dc17ffcc1c4 -> IMPLEMENT-03`; `f731a90adabd -> IMPLEMENT-04`; `886ac01e7aa9 -> IMPLEMENT-04`; `b715db67df0c -> IMPLEMENT-04`; `2d9f26a539f3 -> IMPLEMENT-10`; `28384dee114f -> IMPLEMENT-05`; `f2591a4978b4 -> NG`; `8290823080b5 -> IMPLEMENT-06`; `f75789bf6c8e -> IMPLEMENT-07` |
@@ -238,7 +238,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
238
238
  | `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
239
239
  | `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `ffcdc9d576c0 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `9497d9f94eed -> COMPLETE-01`; `7b59c728d3fb -> COMPLETE-01`; `48e10a9636fe -> COMPLETE-01`; `c0dad37fc166 -> COMPLETE-01`; `aa9a36243ec1 -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `12f7c30a54c8 -> NG`; `fffe5eea5ebd -> NG` |
240
240
  | `oat-project-review-provide/SKILL.md` | `1f4b981cac8b -> NG`; `adaeca152bb2 -> NG`; `2f7c201c3c06 -> NG`; `88f79700afdc -> NG`; `655d61df0a8f -> NG`; `efafde9ef5a0 -> NG`; `d2a3861d6323 -> REVIEWPROVIDE-02`; `65f5b9cf49cd -> REVIEWPROVIDE-04`; `962cb38d246a -> REVIEWPROVIDE-04`; `1a568483ba0b -> REVIEWPROVIDE-04`; `610e27edfe85 -> REVIEWPROVIDE-04`; `fab62c510bd0 -> REVIEWPROVIDE-05`; `a9f30853c867 -> REVIEWPROVIDE-05`; `0929c916fc20 -> REVIEWPROVIDE-05`; `f9a37c63afab -> REVIEWPROVIDE-05`; `687bb9368f92 -> REVIEWPROVIDE-05`; `bb0096e95c47 -> REVIEWPROVIDE-06`; `55f6357a987d -> REVIEWPROVIDE-06`; `1bee61f8531c -> REVIEWPROVIDE-07`; `3d35091607a1 -> REVIEWPROVIDE-08`; `fb40c4341c4c -> NG`; `b22d16885150 -> NG`; `d2b25906242e -> REVIEWPROVIDE-08`; `fd8ebf72b3c4 -> NG`; `fcb9de611ff3 -> NG`; `d2a838dfb18d -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG` |
241
- | `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `df49c8c6f192 -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `c8ab5dd90075 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `3ad3aadb8c60 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `3f758313fedb -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `aba178a21441 -> REVIEWRECEIVE-04`; `a37e601cd731 -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `90001dadf75f -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG` |
241
+ | `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `df49c8c6f192 -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `c8ab5dd90075 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `3ad3aadb8c60 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `3f758313fedb -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `aba178a21441 -> REVIEWRECEIVE-04`; `a37e601cd731 -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `90001dadf75f -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
242
242
  | `oat-dispatch-subagents/SKILL.md` | `cb4f86157fd6 -> DISPATCH-01`; `f165b1626192 -> DISPATCH-01`; `7ed5e2b1eb71 -> PDISPATCH-01`; `11c72bcdebad -> DISPATCH-02`; `0834ee701e12 -> DISPATCH-02`; `7fda54e1d519 -> PDISPATCH-01` |
243
243
  | `oat-dispatch-subagents/references/provider-claude.md` | `fbe3a21e9533 -> NG` |
244
244
  | `oat-dispatch-subagents/references/provider-codex.md` | `95b0f82018c7 -> NG` |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-implement
3
- version: 2.1.0
3
+ version: 2.1.2
4
4
  description: Use when plan.md is ready for execution. Dispatches one phase implementer per phase, owns independent phase review and bounded fix routing, and supports plan-declared worktree-isolated parallel phases.
5
5
  oat_gateable: true
6
6
  argument-hint: '[--retry-limit <N>] [--dry-run]'
@@ -142,10 +142,21 @@ Before requesting final review, ensure the latest project-artifact bookkeeping i
142
142
  Check if final review already completed (preferred source of truth: plan.md Reviews table):
143
143
 
144
144
  ```bash
145
- FINAL_ROW=$(grep -E "^\\|\\s*final\\s*\\|" "$PROJECT_PATH/plan.md" 2>/dev/null | head -1)
145
+ REVIEWS_SECTION=$(awk '
146
+ /^## Reviews[[:space:]]*$/ { in_reviews = 1; next }
147
+ in_reviews && /^##[[:space:]]/ { exit }
148
+ in_reviews { print }
149
+ ' "$PROJECT_PATH/plan.md" 2>/dev/null)
150
+ FINAL_ROW=$(printf '%s\n' "$REVIEWS_SECTION" | grep -E "^\\|\\s*final\\s*\\|\\s*code\\s*\\|" | tail -1)
146
151
  echo "$FINAL_ROW"
147
152
  ```
148
153
 
154
+ `REVIEWS_SECTION` is strictly the `## Reviews` section through the next
155
+ level-two heading. `FINAL_ROW` is the latest appended event in that ledger
156
+ matching Scope `final` and Type `code`. Earlier events remain history and must
157
+ not override the latest event. When fixes advance this event, match its artifact
158
+ filename and never move its status backward.
159
+
149
160
  **If final review row exists and status is `passed`:**
150
161
 
151
162
  - Example row:
@@ -168,10 +168,19 @@ pass through (Codex: `variant` name; Claude: `model` string; Cursor: opaque
168
168
  `model` string). `selection` carries `role`, `selectedValue`, `capped`,
169
169
  `selectionMode`, and policy fields; `selection.target` and an optional
170
170
  `providers.<provider>.target` carry route data. For implementer/fix dispatch,
171
- pass `--preferred <preferred-effort>` and use `selection.selectedValue` as the
172
- selected axis value when it is present. Never re-derive these from the policy
173
- label or a ceiling-only variant the resolver is the single compilation/join
174
- point.
171
+ use exactly one of two mutually exclusive selection paths:
172
+
173
+ 1. **Preferred-selection branch:** pass `--preferred <preferred-value>` when
174
+ asking the resolver to choose from a preference under an uncapped or other
175
+ preference-driven policy. Do not include `--candidate-model` or
176
+ `--candidate-effort`.
177
+ 2. **Exact-candidate branch:** pass `--candidate-model` and, when applicable,
178
+ `--candidate-effort` after selecting a concrete configured candidate for a
179
+ managed-capped route. This branch must not include `--preferred`.
180
+
181
+ Use `selection.selectedValue` as the selected axis value when it is present.
182
+ Never re-derive these controls from the policy label or a ceiling-only variant
183
+ — the resolver is the single compilation/join point.
175
184
 
176
185
  Print before phase work:
177
186
 
@@ -338,7 +347,8 @@ requested; never silently downgrade to it.
338
347
  4. For managed `Uncapped` implementer/fix work, selected effort is the preferred effort with no cap.
339
348
  5. For inherit/default mode, the resolver returns no selected dispatch args. Use the base/unpinned Codex role, log `Selected effort: provider-default`, display provider default effort when known, and do not describe this as managed uncapped behavior.
340
349
  6. For managed capped phase-implementer/fix dispatch, choose an exact
341
- configured candidate. For implementation, call
350
+ configured candidate and use the exact-candidate branch, not the
351
+ preferred-selection branch. For implementation, call
342
352
  `oat project dispatch-ceiling resolve --provider codex --role implementer --ceiling-tier <project-or-phase-tier> --candidate-model <model> --candidate-effort <effort> --escalation-level <route-level> --report-scope <phase-id> --report-action implementation --json`.
343
353
  For a bounded fix, use the same phase target with
344
354
  `--report-scope <phase-or-fix-scope> --report-action fix`. Read
@@ -363,10 +373,15 @@ requested; never silently downgrade to it.
363
373
  Claude rules:
364
374
 
365
375
  - Claude policy selection is model-based: `haiku < sonnet < opus < fable`.
366
- - Implementer/fix dispatch: classify the preferred model (`haiku`, `sonnet`, `opus`, or `fable`) and pass it to the resolver as `--preferred <preferred-model>`.
367
- - Capped managed policy: the resolver selects `min(preferred, resolved_cap)`.
368
- - Managed `Uncapped`: the resolver selects the preferred model with no cap.
369
- - Inherit/default: the resolver returns no selected model; omit `model` so Claude Code inherits host/default behavior.
376
+ - Implementer/fix dispatch chooses one selection branch:
377
+ - Managed `Uncapped`: use the preferred-selection branch with
378
+ `--preferred <preferred-model>` so the resolver selects the classified
379
+ model with no cap.
380
+ - Capped managed policy: use the exact-candidate branch below. The
381
+ `--candidate-model` call replaces the preferred-selection call and must not
382
+ include `--preferred`.
383
+ - Inherit/default: use neither selection branch; the resolver returns no
384
+ selected model, so omit `model` and inherit host/default behavior.
370
385
  - Review dispatch:
371
386
  - Capped managed policy: target the configured policy cap directly.
372
387
  - Managed `Uncapped` or inherit/default: no reviewer target exists; omit `model` and log inherited/default model behavior.