@open-agent-toolkit/cli 0.3.16 → 0.3.18

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 (124) hide show
  1. package/assets/agents/oat-phase-implementer.md +26 -6
  2. package/assets/agents/oat-reviewer.md +51 -1
  3. package/assets/bundle-metadata.json +1 -1
  4. package/assets/docs/contributing/documentation.md +4 -0
  5. package/assets/docs/contributing/skills.md +3 -1
  6. package/assets/docs/getting-started/bootstrap.md +1 -1
  7. package/assets/docs/getting-started/index.md +0 -4
  8. package/assets/docs/getting-started/tool-packs.md +0 -7
  9. package/assets/docs/reference/cli-reference.md +42 -1
  10. package/assets/docs/reference/config-and-local-state.md +11 -2
  11. package/assets/docs/reference/project-artifacts.md +43 -8
  12. package/assets/docs/skills/repo-improve.md +9 -7
  13. package/assets/docs/workflows/advanced/autonomy.md +40 -0
  14. package/assets/docs/workflows/backlog-and-planning/backlog-lifecycle.md +25 -24
  15. package/assets/docs/workflows/backlog-and-planning/remote-project-management.md +0 -7
  16. package/assets/docs/workflows/ideas/lifecycle.md +2 -7
  17. package/assets/docs/workflows/projects/execution/project-log.md +22 -0
  18. package/assets/docs/workflows/projects/reviews/review-flavors.md +8 -0
  19. package/assets/public-package-versions.json +4 -4
  20. package/assets/skills/oat-agent-instructions-apply/SKILL.md +14 -4
  21. package/assets/skills/oat-brainstorm/SKILL.md +17 -13
  22. package/assets/skills/oat-docs-apply/SKILL.md +13 -3
  23. package/assets/skills/oat-doctor/SKILL.md +11 -1
  24. package/assets/skills/oat-explainer-kit/SKILL.md +1 -1
  25. package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +6 -3
  26. package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
  27. package/assets/skills/oat-pjm-update-repo-reference/SKILL.md +28 -3
  28. package/assets/skills/oat-project-autonomous/SKILL.md +60 -5
  29. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +44 -6
  30. package/assets/skills/oat-project-capture/SKILL.md +7 -3
  31. package/assets/skills/oat-project-complete/SKILL.md +39 -34
  32. package/assets/skills/oat-project-complete/scripts/execute-synced-archive-entry.mjs +106 -28
  33. package/assets/skills/oat-project-complete/scripts/parse-synced-archive-resume-fields.mjs +30 -3
  34. package/assets/skills/oat-project-design/SKILL.md +12 -9
  35. package/assets/skills/oat-project-discover/SKILL.md +8 -4
  36. package/assets/skills/oat-project-document/SKILL.md +14 -5
  37. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +44 -6
  38. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  39. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +6 -6
  40. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +44 -6
  41. package/assets/skills/oat-project-implement/references/phase-execution.md +20 -6
  42. package/assets/skills/oat-project-import-plan/SKILL.md +20 -6
  43. package/assets/skills/oat-project-lite/SKILL.md +7 -5
  44. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +44 -6
  45. package/assets/skills/oat-project-new/SKILL.md +6 -2
  46. package/assets/skills/oat-project-plan/SKILL.md +14 -6
  47. package/assets/skills/oat-project-pr-final/SKILL.md +1 -1
  48. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +44 -6
  49. package/assets/skills/oat-project-progress/SKILL.md +13 -1
  50. package/assets/skills/oat-project-promote-spec-driven/SKILL.md +7 -3
  51. package/assets/skills/oat-project-quick-start/SKILL.md +17 -12
  52. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +44 -6
  53. package/assets/skills/oat-project-reconcile/SKILL.md +8 -4
  54. package/assets/skills/oat-project-retro/SKILL.md +1 -1
  55. package/assets/skills/oat-project-retro/references/apply-procedure.md +6 -6
  56. package/assets/skills/oat-project-retro-file/SKILL.md +7 -3
  57. package/assets/skills/oat-project-review-provide/SKILL.md +23 -4
  58. package/assets/skills/oat-project-review-provide-remote/SKILL.md +19 -1
  59. package/assets/skills/oat-project-review-receive/SKILL.md +37 -12
  60. package/assets/skills/oat-project-review-receive-remote/SKILL.md +7 -3
  61. package/assets/skills/oat-project-revise/SKILL.md +13 -5
  62. package/assets/skills/oat-project-spec/SKILL.md +8 -4
  63. package/assets/skills/oat-project-summary/SKILL.md +11 -7
  64. package/assets/skills/oat-repo-knowledge-index/SKILL.md +54 -20
  65. package/assets/skills/oat-repo-knowledge-index/scripts/refresh-owned.mjs +118 -0
  66. package/assets/skills/oat-review-provide/SKILL.md +7 -3
  67. package/assets/skills/oat-review-receive-remote/SKILL.md +14 -4
  68. package/assets/skills/oat-wave-execute/SKILL.md +24 -11
  69. package/assets/skills/oat-wave-execute/assets/wrapper-plan-template.md +16 -2
  70. package/assets/skills/oat-worktree-bootstrap-auto/SKILL.md +45 -17
  71. package/assets/templates/pjm-agents.md +38 -8
  72. package/assets/templates/repo-agents.md +5 -0
  73. package/assets/templates/repo-readme.md +5 -0
  74. package/dist/commands/backlog/archive.d.ts +3 -0
  75. package/dist/commands/backlog/archive.d.ts.map +1 -1
  76. package/dist/commands/backlog/archive.js +63 -26
  77. package/dist/commands/backlog/index.d.ts.map +1 -1
  78. package/dist/commands/backlog/index.js +3 -0
  79. package/dist/commands/backlog/rewrite-references.d.ts +5 -0
  80. package/dist/commands/backlog/rewrite-references.d.ts.map +1 -1
  81. package/dist/commands/backlog/rewrite-references.js +39 -1
  82. package/dist/commands/init/index.d.ts.map +1 -1
  83. package/dist/commands/init/index.js +1 -0
  84. package/dist/commands/init/tools/shared/skill-script-references.d.ts.map +1 -1
  85. package/dist/commands/init/tools/shared/skill-script-references.js +8 -1
  86. package/dist/commands/internal/commit-paths.d.ts +3 -0
  87. package/dist/commands/internal/commit-paths.d.ts.map +1 -0
  88. package/dist/commands/internal/commit-paths.js +31 -0
  89. package/dist/commands/internal/index.d.ts.map +1 -1
  90. package/dist/commands/internal/index.js +2 -0
  91. package/dist/commands/pjm/init.d.ts.map +1 -1
  92. package/dist/commands/pjm/init.js +37 -8
  93. package/dist/commands/project/archive/archive-utils.d.ts +6 -3
  94. package/dist/commands/project/archive/archive-utils.d.ts.map +1 -1
  95. package/dist/commands/project/archive/archive-utils.js +510 -104
  96. package/dist/commands/project/archive/push-runner.d.ts.map +1 -1
  97. package/dist/commands/project/archive/push-runner.js +1 -0
  98. package/dist/commands/project/log/append.d.ts +2 -3
  99. package/dist/commands/project/log/append.d.ts.map +1 -1
  100. package/dist/commands/project/log/append.js +125 -111
  101. package/dist/commands/project/migrate/index.d.ts +1 -2
  102. package/dist/commands/project/migrate/index.d.ts.map +1 -1
  103. package/dist/commands/project/migrate/index.js +8 -2
  104. package/dist/commands/project/new/scaffold.d.ts.map +1 -1
  105. package/dist/commands/project/new/scaffold.js +4 -4
  106. package/dist/commands/project/promote/promote.d.ts +8 -0
  107. package/dist/commands/project/promote/promote.d.ts.map +1 -1
  108. package/dist/commands/project/promote/promote.js +37 -6
  109. package/dist/commands/project/status.d.ts.map +1 -1
  110. package/dist/commands/project/status.js +3 -0
  111. package/dist/commands/project/sync/ref-sync.d.ts +12 -1
  112. package/dist/commands/project/sync/ref-sync.d.ts.map +1 -1
  113. package/dist/commands/project/sync/ref-sync.js +347 -23
  114. package/dist/commands/shared/agents-md-lock.d.ts +3 -0
  115. package/dist/commands/shared/agents-md-lock.d.ts.map +1 -0
  116. package/dist/commands/shared/agents-md-lock.js +130 -0
  117. package/dist/commands/shared/agents-md.d.ts.map +1 -1
  118. package/dist/commands/shared/agents-md.js +26 -8
  119. package/dist/commands/shared/exact-path-commit.d.ts +32 -0
  120. package/dist/commands/shared/exact-path-commit.d.ts.map +1 -0
  121. package/dist/commands/shared/exact-path-commit.js +691 -0
  122. package/dist/validation/skills.d.ts.map +1 -1
  123. package/dist/validation/skills.js +138 -11
  124. package/package.json +3 -2
@@ -11,6 +11,25 @@ mid-run user input. It defines the activation signal, boundary behavior,
11
11
  provenance requirements, and the inventory of interactive gates that an
12
12
  autonomous caller must resolve.
13
13
 
14
+ ## Exact-path commit ownership
15
+
16
+ Autonomous parent-branch bookkeeping and task commits use the shared
17
+ `oat internal commit-paths` primitive with an exact producer-owned file list,
18
+ message and stable unique operation/task identity. Capture the list when files
19
+ are created, changed, removed or renamed; retain it and the identity through
20
+ hook formatting and resumable retries. Include both rename sides and tracked
21
+ removals; omit ignored local outputs. Never infer ownership from unrelated
22
+ staging or pass directories for the helper to expand.
23
+
24
+ Verify `oat internal commit-paths --help` before the first commit. A missing
25
+ command stops execution with CLI-update guidance; blocked/failed outcomes stop
26
+ with their receipt and diagnostic. There is no staged-index or pathspec-only
27
+ fallback. Ordinary hooks remain enabled; a validated smoke child retains its
28
+ launcher-owned hook policy on the same primitive. Synced project artifacts
29
+ continue through scope-resolved `oat project push`, with scope/push failures
30
+ stopping bookkeeping. This ownership contract applies to the lifecycle sites
31
+ in the vendored inventory below.
32
+
14
33
  ## Activation and lifetime
15
34
 
16
35
  Autonomy is active only when the current process environment contains the exact
@@ -65,6 +84,25 @@ Operational, validation, correlation, malformed or contradictory envelope,
65
84
  launch, and receive failures are boundary stops regardless of `onFailure`.
66
85
  None can continue under `warn` or produce an allowed disposition.
67
86
 
87
+ ## Kickoff disclosure
88
+
89
+ The autonomous caller must read the owning recovery, gate and dispatch
90
+ contracts before execution and disclose effective project/phase limits, their
91
+ source/override, prior durable usage, remaining capacity and reconciled pending
92
+ attempts. `oat-project-autonomous` owns the kickoff report; phase dispatch and
93
+ resume refresh it from `state.md` using the phase-execution contract.
94
+
95
+ Capacity is not permission. A failed recovery attempt is terminal even when
96
+ allowance remains; continuing after failure requires a separate future policy.
97
+ Report all applicable owning stops: eligibility/proof failure, new-attempt
98
+ budget exhaustion, malformed ledger or unresolved pending attempt, exact-target
99
+ or accepted-launch failure, configured blocking reviews, missing credentials,
100
+ repository authority, product judgment, destructive risk and inventory gaps.
101
+ Route retries, recovery events/attempts, warnings and review/gate budgets have
102
+ separate meanings. Neither a counter nor a warning overrides a stop or grants
103
+ recovery permission. Existing failure dispositions and gate policies remain
104
+ authoritative.
105
+
68
106
  ## Boundary classes
69
107
 
70
108
  | Class | Required behavior |
@@ -241,16 +279,16 @@ remains immutable baseline evidence for the original p01-t01 verification.
241
279
 
242
280
  | Skill root / file | Stable prompt-site mappings |
243
281
  | -------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
244
- | `oat-project-new/SKILL.md` | `f7ca8635452f -> NG`; `dceff5cc04b5 -> NG`; `1af4957a1af2 -> NEW-01`; `45b699c1c0b5 -> NEW-01`; `ba6d120791c1 -> NEW-01`; `33ce6a6c30aa -> NEW-02`; `0f5a90f34f63 -> NG`; `d0ea3a91261d -> NG` |
245
- | `oat-project-quick-start/SKILL.md` | `3d101cb200b3 -> NG`; `c493a38b89f2 -> QS-04`; `655d61df0a8f -> NG`; `dceff5cc04b5 -> NG`; `1af4957a1af2 -> QS-01`; `141d0a20099b -> QS-01`; `45b699c1c0b5 -> QS-01`; `ba6d120791c1 -> QS-01`; `1a5ee85164ff -> QS-02`; `af8e2bea90d7 -> QS-04`; `a823cf5aeaec -> QS-04`; `7753dc323083 -> QS-04`; `1f557da5e03c -> QS-04`; `1564ca151111 -> 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`; `ed1ed94c6d32 -> QS-07`; `1b4d962822b2 -> QS-07`; `1c37d3834054 -> 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` |
282
+ | `oat-project-new/SKILL.md` | `f7ca8635452f -> NG`; `93afef50c96b -> NG`; `1af4957a1af2 -> NEW-01`; `45b699c1c0b5 -> NEW-01`; `ba6d120791c1 -> NEW-01`; `33ce6a6c30aa -> NEW-02`; `0f5a90f34f63 -> NG`; `d0ea3a91261d -> NG` |
283
+ | `oat-project-quick-start/SKILL.md` | `3d101cb200b3 -> NG`; `c493a38b89f2 -> QS-04`; `655d61df0a8f -> NG`; `81fde4589fa0 -> NG`; `1af4957a1af2 -> QS-01`; `141d0a20099b -> QS-01`; `45b699c1c0b5 -> QS-01`; `ba6d120791c1 -> QS-01`; `1a5ee85164ff -> QS-02`; `af8e2bea90d7 -> QS-04`; `a823cf5aeaec -> QS-04`; `7753dc323083 -> QS-04`; `1f557da5e03c -> QS-04`; `1564ca151111 -> 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`; `ed1ed94c6d32 -> QS-07`; `1b4d962822b2 -> QS-07`; `1c37d3834054 -> 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` |
246
284
  | `oat-project-lite/SKILL.md` | `f7ca8635452f -> NG`; `ccb52f3fe44f -> NG`; `d09c1d63de1e -> NG`; `74b3049abec0 -> NG`; `973d0ae8a3dc -> NG`; `2d41ff5e5312 -> NG`; `5d4905b0be0c -> NG`; `f83829edf0a9 -> LITE-03`; `1515a1f4cded -> LITE-03`; `d0ff7aed2105 -> NG`; `22a862d34014 -> NG`; `3f5d2168fae3 -> LITE-05`; `c42b996db4f1 -> LITE-05`; `b2f7560edf76 -> LITE-05`; `92d354802e4c -> LITE-05`; `ccd2225b1a37 -> LITE-05`; `89266e7d2643 -> NG`; `b018d0fc3536 -> LITE-09`; `e2d7d177f04e -> LITE-09`; `60db88220f98 -> NG`; `43ae7872602f -> NG` |
247
285
  | `oat-project-lite/SKILL.md` | `b8a40746b272 -> NG`; `090e205f5959 -> LITE-10` |
248
286
  | `oat-project-quick-start/references/docs/autonomy-contract.md` | `* -> NG` |
249
287
  | `oat-project-discover/SKILL.md` | `6acc57686847 -> NG`; `4df56b83b98e -> NG`; `660fcdb9dd0d -> NG`; `655d61df0a8f -> NG`; `302f5a4e2f7e -> DISC-03`; `8ee1861bb37c -> DISC-03`; `50a1cdc5156b -> DISC-05`; `73964bb042ab -> DISC-05`; `82cc79370b80 -> DISC-05`; `ff09e8f7774f -> DISC-06`; `323e71dca05d -> DISC-06`; `012bab5b478e -> DISC-06`; `59b36042ba08 -> 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`; `459873105e7a -> NG` |
250
- | `oat-project-design/SKILL.md` | `d942bb5a75dc -> NG`; `f9e319c9b223 -> 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`; `9c3320eee2f8 -> NG`; `8b653210ce17 -> 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`; `b3df7f6b838c -> DES-07`; `f2cb6d4a915e -> DES-07`; `2f4a7f0c9fe5 -> DES-07`; `feccfddbb990 -> DES-07`; `62556fd0060a -> DES-07`; `5382604ed237 -> DES-07`; `3b8724979206 -> DES-07`; `f86a1f05edb9 -> DES-07`; `65f2c8b5c7fd -> DES-07`; `96e24cf8a888 -> 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` |
288
+ | `oat-project-design/SKILL.md` | `d942bb5a75dc -> NG`; `f9e319c9b223 -> 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`; `9c3320eee2f8 -> NG`; `4f53e61a9df5 -> 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`; `b3df7f6b838c -> DES-07`; `f2cb6d4a915e -> DES-07`; `2f4a7f0c9fe5 -> DES-07`; `feccfddbb990 -> DES-07`; `62556fd0060a -> DES-07`; `5382604ed237 -> DES-07`; `3b8724979206 -> DES-07`; `f86a1f05edb9 -> DES-07`; `65f2c8b5c7fd -> DES-07`; `96e24cf8a888 -> 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` |
251
289
  | `oat-project-design/references/selective-review-pass.md` | `d4956192b82e -> DES-06`; `7d6e1f926ecb -> DES-06`; `04f918a5fcac -> DES-07` |
252
290
  | `oat-project-plan/SKILL.md` | `f9e319c9b223 -> NG`; `2f0ae331febf -> 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` |
253
- | `oat-project-import-plan/SKILL.md` | `f7ca8635452f -> NG`; `c2e5fa410069 -> NG`; `655d61df0a8f -> NG`; `dceff5cc04b5 -> NG`; `1af4957a1af2 -> 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`; `30aa74677c8d -> IMPORT-03`; `430c2bc030a6 -> IMPORT-03`; `93522f67da52 -> NG` |
291
+ | `oat-project-import-plan/SKILL.md` | `f7ca8635452f -> NG`; `c2e5fa410069 -> NG`; `655d61df0a8f -> NG`; `4c47bc965ad9 -> NG`; `1af4957a1af2 -> IMPORT-01`; `45b699c1c0b5 -> IMPORT-01`; `ba6d120791c1 -> IMPORT-01`; `070ebc5259af -> IMPORT-03`; `c11552696e2e -> IMPORT-03`; `9727e7ffb5cb -> IMPORT-04`; `959ec0019ee5 -> IMPORT-04`; `9b8eab171295 -> IMPORT-04`; `baa91c0a0bf8 -> NG`; `e364e84b2702 -> NG`; `39031985a945 -> IMPORT-06`; `f106aa29a217 -> IMPORT-07`; `65038450aee3 -> IMPORT-07`; `bee4c4aa34c6 -> NG`; `3f0b53056edd -> IMPORT-09`; `30aa74677c8d -> IMPORT-03`; `430c2bc030a6 -> IMPORT-03`; `93522f67da52 -> NG` |
254
292
  | `oat-project-implement/SKILL.md` | `18980f6bc1a6 -> NG`; `e0355c7a05e9 -> IMPLEMENT-11+IMPLEMENT-13+IMPLEMENT-16`; `6296f41ae11c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> IMPLEMENT-01`; `8ce8a09feca4 -> NG`; `bd0cb4988188 -> NG`; `28af4ee0055d -> NG` |
255
293
  | `oat-project-implement/references/completion-and-closeout.md` | `87f1424a8692 -> NG`; `6b1ec05182f0 -> IMPLEMENT-11`; `e6d696a27c91 -> NG`; `c77f8ccb52ad -> NG`; `48de2614c0ba -> IMPLEMENT-11`; `32d53f5212e5 -> IMPLEMENT-11`; `7cdb4a9c57b7 -> IMPLEMENT-11`; `16ffc0aa099b -> IMPLEMENT-11`; `d6868ea10b3f -> IMPLEMENT-11`; `4f05ff5567be -> IMPLEMENT-11`; `c70b47ae7a6d -> IMPLEMENT-11`; `5fafd093b58e -> NG`; `21ceaf7e658a -> NG`; `249427a9f475 -> NG`; `8a7ec13a9b7c -> NG`; `9aeb7fce2012 -> IMPLEMENT-18`; `f11a7cdda220 -> IMPLEMENT-18`; `4523ac029152 -> NG`; `6e87b08c4046 -> NG`; `baa6052c7f0a -> IMPLEMENT-18`; `27d3fad116b1 -> IMPLEMENT-18`; `2cfbeb4388a5 -> IMPLEMENT-18`; `c56ea56a56db -> NG`; `43e2e3c1380d -> IMPLEMENT-17`; `b49690277fb5 -> NG`; `df12304d6a36 -> NG`; `52eacac11fef -> IMPLEMENT-17`; `60092df6b17b -> IMPLEMENT-17`; `361872c6b00e -> IMPLEMENT-17`; `d2bc711a75fb -> IMPLEMENT-17`; `9889538f6212 -> NG`; `58add7778cef -> NG`; `3984cd158ca8 -> NG`; `64a638393159 -> NG`; `ecdaaf6c76fa -> NG`; `96e01b7c0713 -> NG`; `79806948373a -> NG`; `82701dfaf962 -> NG`; `b1c7b8299bf7 -> IMPLEMENT-13+IMPLEMENT-15`; `352caf79e5cb -> IMPLEMENT-13+IMPLEMENT-15`; `6792dd0068a7 -> IMPLEMENT-13+IMPLEMENT-15`; `91f4ebf1704c -> IMPLEMENT-13+IMPLEMENT-15`; `1119540c90cd -> IMPLEMENT-13+IMPLEMENT-15`; `13e6d608682c -> IMPLEMENT-15`; `9fc3aa86e096 -> IMPLEMENT-13+IMPLEMENT-15`; `b44bd8f4fe7e -> NG`; `d62f3ae68677 -> NG`; `4133bca9bd9f -> IMPLEMENT-12`; `f6f87d97896b -> IMPLEMENT-14`; `9d066a59d00a -> IMPLEMENT-14`; `abd7a8d8fc89 -> IMPLEMENT-14`; `a2199f9dafee -> IMPLEMENT-14`; `fcef83b91326 -> NG`; `e2df750966f5 -> IMPLEMENT-13+IMPLEMENT-15`; `2b714060ccae -> IMPLEMENT-13+IMPLEMENT-15`; `708e8e6d33ac -> IMPLEMENT-15`; `f81e67549c28 -> IMPLEMENT-13+IMPLEMENT-15`; `8980233e250d -> NG`; `713729395d08 -> IMPLEMENT-13`; `671f3622cd05 -> IMPLEMENT-13`; `19c38f351f3e -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `b552eeb1fa37 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `24de52a2e140 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `18071a1287a9 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `318989f76cd7 -> IMPLEMENT-16`; `50c9170a3fc8 -> NG`; `8af4d1f8c32c -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `f47aefb3a3cc -> IMPLEMENT-16`; `7c7bcd0381cb -> NG`; `4808cd2e14d6 -> NG`; `906d7d8628af -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `c7221ba40303 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `05eaa2d6f58f -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `acf05140d8f3 -> IMPLEMENT-19`; `6d68053180a0 -> NG`; `1128ae7838f5 -> IMPLEMENT-19`; `2b3e427b5fc0 -> IMPLEMENT-19`; `9fdeb38897a2 -> IMPLEMENT-13+IMPLEMENT-15`; `4f1c82e4bef8 -> IMPLEMENT-13+IMPLEMENT-15`; `d74b5b3c4ad3 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `85b8fae4aa24 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `912923a29ecf -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `c9707e20ad4a -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `8108196d68a5 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `ad9d8e0114a6 -> IMPLEMENT-16`; `e6ef8cdc8986 -> IMPLEMENT-16`; `d3891824ecfa -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `045d486db046 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `7f3891ba6f9d -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `2db46931ac00 -> IMPLEMENT-13+IMPLEMENT-14+IMPLEMENT-15+IMPLEMENT-16`; `aaaf9a6d018a -> IMPLEMENT-16`; `5198341f296c -> IMPLEMENT-16`; `4443b0d16d43 -> IMPLEMENT-16`; `76511502e95b -> IMPLEMENT-16`; `585a1f4575a1 -> IMPLEMENT-16`; `7dc4e4afca1e -> IMPLEMENT-16`; `0d3f1d6038fd -> IMPLEMENT-16`; `e3dfc24fbed6 -> IMPLEMENT-16`; `f19c8013230c -> IMPLEMENT-16`; `ba83e7ce6aed -> IMPLEMENT-16`; `4e4c5485b755 -> IMPLEMENT-16`; `cc8e7e01f30c -> IMPLEMENT-17`; `a13b8adde5da -> IMPLEMENT-17` |
256
294
  | `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`; `e75df892b55c -> NG`; `8ba5dbd2a0d8 -> NG`; `4d6c519131e5 -> NG` |
@@ -264,7 +302,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
264
302
  | `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
265
303
  | `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `fffe5eea5ebd -> NG`; `e7dc6fdc4eb3 -> COMPLETE-01`; `e5460e437299 -> NG`; `882b61c9096c -> NG`; `9ffa1c752505 -> NG`; `8c5e599f6bac -> NG` |
266
304
  | `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`; `bb0096e95c47 -> REVIEWPROVIDE-06`; `55f6357a987d -> REVIEWPROVIDE-06`; `1bee61f8531c -> REVIEWPROVIDE-07`; `3d35091607a1 -> REVIEWPROVIDE-08`; `fb40c4341c4c -> NG`; `b22d16885150 -> NG`; `d2b25906242e -> REVIEWPROVIDE-08`; `fd8ebf72b3c4 -> NG`; `79c8103e8656 -> NG`; `4fbd78337e33 -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG` |
267
- | `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `49ed2780983b -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `1d710fb4cc66 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `92578f7df686 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `594bbf70346c -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `e4c0625439f8 -> REVIEWRECEIVE-04`; `505ad8389c0a -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `90001dadf75f -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
305
+ | `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `49ed2780983b -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `1d710fb4cc66 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `92578f7df686 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `594bbf70346c -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `e4c0625439f8 -> REVIEWRECEIVE-04`; `505ad8389c0a -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `e30e06f39281 -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
268
306
  | `oat-project-review-provide/SKILL.md` | `2e794bf4fc4a -> REVIEWPROVIDE-08`; `5441ab977b46 -> REVIEWPROVIDE-08` |
269
307
  | `oat-project-review-provide/SKILL.md` | `f4238ebb1887 -> NG`; `0360fa2db9a5 -> NG` |
270
308
  | `oat-project-implement/references/phase-execution.md` | `b31a9a4e6f75 -> NG` |
@@ -277,7 +315,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
277
315
  | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG`; `66bc2f0d4fda -> NG` |
278
316
  | `oat-project-dispatch-subagents/SKILL.md` | `eca03ad1ca12 -> PDISPATCH-01`; `59fbcdc79cea -> PDISPATCH-01` |
279
317
  | `oat-project-plan/SKILL.md` | `f99e44b39932 -> PLAN-12`; `7e6a9854504b -> NG` |
280
- | `oat-project-complete/SKILL.md` | `0177956707aa -> NG`; `8305b5bb65ef -> NG`; `3c0b26f0ff1c -> NG`; `8cc1fa5aab1e -> COMPLETE-01`; `4c209fbb4716 -> COMPLETE-01`; `02e4175e1171 -> COMPLETE-01`; `d698d4f98e76 -> COMPLETE-01`; `9f86a7218d93 -> COMPLETE-01`; `024713698d9a -> COMPLETE-01`; `c327995053fa -> COMPLETE-01`; `61f81d4ec7c1 -> COMPLETE-01`; `14fb2e56809f -> COMPLETE-01`; `7d4ff668744d -> COMPLETE-01`; `502a6c141784 -> COMPLETE-01`; `fb7e2db356af -> COMPLETE-01`; `f73f8476360a -> NG`; `1e15f420039f -> NG`; `cc234032ddd7 -> NG`; `1dd54687229b -> NG`; `fc05c8303cd2 -> NG`; `24be721d635e -> NG` |
318
+ | `oat-project-complete/SKILL.md` | `0177956707aa -> NG`; `1234c29d1999 -> NG`; `3c0b26f0ff1c -> NG`; `8cc1fa5aab1e -> COMPLETE-01`; `4c209fbb4716 -> COMPLETE-01`; `02e4175e1171 -> COMPLETE-01`; `d698d4f98e76 -> COMPLETE-01`; `9f86a7218d93 -> COMPLETE-01`; `024713698d9a -> COMPLETE-01`; `c327995053fa -> COMPLETE-01`; `61f81d4ec7c1 -> COMPLETE-01`; `14fb2e56809f -> COMPLETE-01`; `7d4ff668744d -> COMPLETE-01`; `502a6c141784 -> COMPLETE-01`; `fb7e2db356af -> COMPLETE-01`; `f73f8476360a -> NG`; `1e15f420039f -> NG`; `cc234032ddd7 -> NG`; `1dd54687229b -> NG`; `fc05c8303cd2 -> NG`; `24be721d635e -> NG` |
281
319
  | `oat-project-lite/references/docs/autonomy-contract.md` | `* -> NG` |
282
320
  | `oat-project-implement/references/completion-and-closeout.md` | `87f1424a8692 -> NG`; `6b1ec05182f0 -> IMPLEMENT-11`; `e6d696a27c91 -> NG`; `c77f8ccb52ad -> NG`; `48de2614c0ba -> IMPLEMENT-11`; `32d53f5212e5 -> IMPLEMENT-11`; `7cdb4a9c57b7 -> IMPLEMENT-11`; `16ffc0aa099b -> IMPLEMENT-11`; `d6868ea10b3f -> IMPLEMENT-11`; `4f05ff5567be -> IMPLEMENT-11`; `c70b47ae7a6d -> IMPLEMENT-11`; `5fafd093b58e -> NG`; `21ceaf7e658a -> NG`; `249427a9f475 -> NG`; `8a7ec13a9b7c -> NG`; `9aeb7fce2012 -> IMPLEMENT-18`; `f11a7cdda220 -> IMPLEMENT-18`; `4523ac029152 -> NG`; `6e87b08c4046 -> NG`; `baa6052c7f0a -> IMPLEMENT-18`; `27d3fad116b1 -> IMPLEMENT-18`; `2cfbeb4388a5 -> IMPLEMENT-18`; `c56ea56a56db -> NG`; `43e2e3c1380d -> IMPLEMENT-17`; `b49690277fb5 -> NG`; `df12304d6a36 -> NG`; `52eacac11fef -> IMPLEMENT-17`; `60092df6b17b -> IMPLEMENT-17`; `361872c6b00e -> IMPLEMENT-17`; `d2bc711a75fb -> IMPLEMENT-17` |
283
321
  | `oat-project-quick-start/SKILL.md` | `aa560418765a -> QS-13`; `40ddcac880ef -> NG` |
@@ -127,6 +127,20 @@ Optional third-tier readiness is not a preflight blocker. Codex depth two may be
127
127
  provisioned as capability, but default phase execution requires only the root →
128
128
  phase-agent depth.
129
129
 
130
+ #### Disclose Resolved Phase Capacity
131
+
132
+ Before dispatch and on resume, report the effective project default and phase
133
+ limit, source/override, prior durable `used_attempts`, remaining capacity
134
+ `max(0, phase_recovery_limit - used_attempts)`, and reconciled `pending_attempt`.
135
+ Use the owning policy resolution above; do not introduce another default.
136
+ Refresh the autonomous kickoff disclosure with these values and every
137
+ applicable recovery, dispatch, review and repository stop.
138
+
139
+ Capacity is not permission: a failed-attempt remains terminal even when
140
+ allowance remains. Separate route retries, recovery events, consumed attempts,
141
+ review-fix rounds and gate attempts; the warning at three recovery events
142
+ changes none of their limits or eligibility rules.
143
+
130
144
  #### Dedicated Phase Recovery Contract
131
145
 
132
146
  This contract covers only a post-commit defect discovered by declared task,
@@ -965,9 +979,9 @@ PROJECT_SCOPE=$(oat project scope "{PROJECT_PATH}" --format value) || { echo "oa
965
979
  if [ "$PROJECT_SCOPE" = "synced" ]; then
966
980
  oat project push "{PROJECT_PATH}" --message "chore(oat): record {pNN} task ledger before review" || { echo "oat: project push failed; run oat project pull, resolve the reported state, and retry" >&2; exit 1; }
967
981
  else
968
- git add {PROJECT_PATH}/implementation.md {PROJECT_PATH}/state.md {PROJECT_PATH}/plan.md
969
- [ -f {PROJECT_PATH}/project-log.md ] && git add {PROJECT_PATH}/project-log.md
970
- git commit -m "chore(oat): record {pNN} task ledger before review"
982
+ OWNED_COMMIT_PATHS=({PROJECT_PATH}/implementation.md {PROJECT_PATH}/state.md {PROJECT_PATH}/plan.md)
983
+ [ -f {PROJECT_PATH}/project-log.md ] && OWNED_COMMIT_PATHS+=({PROJECT_PATH}/project-log.md)
984
+ oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-implement:phase-execution:1" --message "chore(oat): record {pNN} task ledger before review" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
971
985
  fi
972
986
  ```
973
987
 
@@ -1023,9 +1037,9 @@ PROJECT_SCOPE=$(oat project scope "{PROJECT_PATH}" --format value) || { echo "oa
1023
1037
  if [ "$PROJECT_SCOPE" = "synced" ]; then
1024
1038
  oat project push "{PROJECT_PATH}" --message "chore(oat): bookkeeping after {pNN} {pass|fail}" || { echo "oat: project push failed; run oat project pull, resolve the reported state, and retry" >&2; exit 1; }
1025
1039
  else
1026
- git add {PROJECT_PATH}/implementation.md {PROJECT_PATH}/state.md {PROJECT_PATH}/plan.md
1027
- [ -f {PROJECT_PATH}/project-log.md ] && git add {PROJECT_PATH}/project-log.md
1028
- git commit -m "chore(oat): bookkeeping after {pNN} {pass|fail}"
1040
+ OWNED_COMMIT_PATHS=({PROJECT_PATH}/implementation.md {PROJECT_PATH}/state.md {PROJECT_PATH}/plan.md)
1041
+ [ -f {PROJECT_PATH}/project-log.md ] && OWNED_COMMIT_PATHS+=({PROJECT_PATH}/project-log.md)
1042
+ oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-implement:phase-execution:2" --message "chore(oat): bookkeeping after {pNN} {pass|fail}" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
1029
1043
  fi
1030
1044
  ```
1031
1045
 
@@ -7,7 +7,7 @@ disable-model-invocation: true
7
7
  user-invocable: true
8
8
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
9
9
  metadata:
10
- version: 1.4.19
10
+ version: 1.4.20
11
11
  ---
12
12
 
13
13
  # Import External Plan
@@ -21,6 +21,10 @@ adoption, the project named ceiling, the `Shared Phase Gate Review Setup Contrac
21
21
  and the rule that readiness and completion follow only after a durable review
22
22
  disposition. It does not add a separate provider-plan prompt.
23
23
 
24
+ ## Hook-safe exact-path commits
25
+
26
+ Before a parent-branch commit, verify `oat internal commit-paths --help` succeeds. If unavailable, stop and update the OAT CLI; never fall back to a staged-index or pathspec-only commit. Set `COMMIT_IDENTITY` to a unique operation/artifact identity before the first attempt and retain it for every retry; use a new identity for a new operation. Pass only the exact produced file list, including tracked removals and both names of a rename. A blocked/failed result stops the workflow; retain its receipt and follow its diagnostics. Hooks remain enabled. Synced project artifacts continue through `oat project push`.
27
+
24
28
  ## Prerequisites
25
29
 
26
30
  - External plan exists as a local markdown file.
@@ -82,7 +86,7 @@ When executing this skill, provide lightweight progress feedback so the user can
82
86
  Before scaffolding, surface the working tree state so unrelated changes don't get carried into the project workflow's bookkeeping commits.
83
87
 
84
88
  1. Run `git status --porcelain`. If empty, continue silently to the next step.
85
- 2. If `.oat/sync/manifest.json` is the only entry **and** its two-character status code is either `??` or made up solely of the letter `M` and blanks — a plain modification, staged, unstaged, or both — commit it without asking: `git add -- .oat/sync/manifest.json` then `git commit -m "chore: run sync"`. Report the commit in one line and continue to the next step. That file is `oat sync` output and carries no user content, so the prompt below was always answered "commit now" for it. Every other code falls through to the prompt below, including any code that pairs `M` with something else: `MD` (deleted in the worktree), `MT` (type change), `AM`, `RM`, `CM`, and every unmerged state. Auto-staging one of those would commit a deletion, a retyped file, or a half-resolved merge. Any other dirty path, in any combination, also falls through.
89
+ 2. If `.oat/sync/manifest.json` is the only entry **and** its two-character status code is either `??` or made up solely of the letter `M` and blanks — a plain modification, staged, unstaged, or both — commit it without asking: `oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-import-plan:1" --message "chore: run sync" -- .oat/sync/manifest.json`. Report the commit in one line and continue to the next step. That file is `oat sync` output and carries no user content, so the prompt below was always answered "commit now" for it. Every other code falls through to the prompt below, including any code that pairs `M` with something else: `MD` (deleted in the worktree), `MT` (type change), `AM`, `RM`, `CM`, and every unmerged state. Auto-staging one of those would commit a deletion, a retyped file, or a half-resolved merge. Any other dirty path, in any combination, also falls through.
86
90
  3. Otherwise, present the dirty list to the user.
87
91
  4. If `.oat/sync/manifest.json` or paths under `.claude/`, `.cursor/`, `.codex/` appear in the list, note: "These are generated by `oat sync` (often by `pnpm run worktree:init` or `oat-worktree-bootstrap-auto`) and are typically safe to commit as `chore: run sync`."
88
92
  5. Offer three choices via `AskUserQuestion`:
@@ -157,7 +161,12 @@ Create references directory if missing:
157
161
 
158
162
  ```bash
159
163
  mkdir -p "$PROJECT_PATH/references"
160
- cp "{source-path}" "$PROJECT_PATH/references/imported-plan.md"
164
+ IMPORTED_REFERENCE_FILES=()
165
+ IMPORTED_REFERENCE_PATH="$PROJECT_PATH/references/imported-plan.md"
166
+ # When the default snapshot exists, choose the timestamped destination below
167
+ # before copying; never overwrite it without user confirmation.
168
+ cp "{source-path}" "$IMPORTED_REFERENCE_PATH" || exit 1
169
+ IMPORTED_REFERENCE_FILES+=("$IMPORTED_REFERENCE_PATH")
161
170
  ```
162
171
 
163
172
  Never overwrite an existing source snapshot without user confirmation.
@@ -165,6 +174,11 @@ If already present, write timestamped copy:
165
174
 
166
175
  - `references/imported-plan-YYYY-MM-DD-HHMM.md`
167
176
 
177
+ Set `IMPORTED_REFERENCE_PATH` to that exact destination before the copy and
178
+ append only the successfully created snapshot to `IMPORTED_REFERENCE_FILES`.
179
+ Retain this producer list through Step 6.5 and any retry; never substitute the
180
+ references directory or discover ownership from the staged index.
181
+
168
182
  ### Step 2.5: Snapshot Explicit Phase-Review Setting Before Plan Normalization
169
183
 
170
184
  Before any template-based create, update, replacement, or normalization of
@@ -504,14 +518,14 @@ PROJECT_SCOPE=$(oat project scope "$PROJECT_PATH" --format value) || { echo "oat
504
518
  if [ "$PROJECT_SCOPE" = "synced" ]; then
505
519
  oat project push "$PROJECT_PATH" --message "chore(oat): update imported plan artifacts for {project-name}" || { echo "oat: project push failed; run oat project pull, resolve the reported state, and retry" >&2; exit 1; }
506
520
  else
507
- git add "$PROJECT_PATH/references/"
521
+ OWNED_COMMIT_PATHS=("${IMPORTED_REFERENCE_FILES[@]}")
508
522
  for path in \
509
523
  "$PROJECT_PATH/plan.md" \
510
524
  "$PROJECT_PATH/implementation.md" \
511
525
  "$PROJECT_PATH/state.md"; do
512
- [ -e "$path" ] && git add "$path"
526
+ [ -e "$path" ] && OWNED_COMMIT_PATHS+=("$path")
513
527
  done
514
- git diff --cached --quiet || git commit -m "chore(oat): update imported plan artifacts for {project-name}"
528
+ oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-import-plan:2" --message "chore(oat): update imported plan artifacts for {project-name}" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
515
529
  fi
516
530
  ```
517
531
 
@@ -7,7 +7,7 @@ disable-model-invocation: true
7
7
  user-invocable: true
8
8
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
9
9
  metadata:
10
- version: 1.1.7
10
+ version: 1.1.8
11
11
  ---
12
12
 
13
13
  # Lite Project
@@ -15,6 +15,10 @@ metadata:
15
15
  Create or resume a project in **lite mode** and produce one approved,
16
16
  single-phase `plan.md` for `oat-project-implement`.
17
17
 
18
+ ## Hook-safe exact-path commits
19
+
20
+ Before a parent-branch commit, verify `oat internal commit-paths --help` succeeds. If unavailable, stop and update the OAT CLI; never fall back to a staged-index or pathspec-only commit. Set `COMMIT_IDENTITY` to a unique operation/artifact identity before the first attempt and retain it for every retry; use a new identity for a new operation. Pass only the exact produced file list, including tracked removals and both names of a rename. A blocked/failed result stops the workflow; retain its receipt and follow its diagnostics. Hooks remain enabled. Synced project artifacts continue through `oat project push`.
21
+
18
22
  ## Prerequisites
19
23
 
20
24
  - A repository initialized for OAT (`.oat/` and `.agents/` exist).
@@ -100,9 +104,7 @@ Use these compact progress lines:
100
104
  the gate passes or resolves.
101
105
  - Before each scoped commit, resolve the project scope. Scope resolution fails
102
106
  closed. A synced project uses `oat project push` with the same message;
103
- another scope uses only `git add -- "$PROJECT_PATH/plan.md"
104
- "$PROJECT_PATH/state.md" "$PROJECT_PATH/implementation.md"` followed by a
105
- commit when the index is non-empty. Never stage unrelated paths.
107
+ another scope uses `oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-lite:1" --message "$BOOKKEEPING_MESSAGE" -- "$PROJECT_PATH/plan.md" "$PROJECT_PATH/state.md" "$PROJECT_PATH/implementation.md"` and stops on a nonzero exit. Set the same bookkeeping message and a distinct operation identity for each lifecycle write; retain both for retries. Never include unrelated paths.
106
108
 
107
109
  ## Artifact Hygiene
108
110
 
@@ -122,7 +124,7 @@ get carried into the project workflow's bookkeeping commits.
122
124
  2. If `.oat/sync/manifest.json` is the only entry **and** its two-character
123
125
  status code is either `??` or made up solely of the letter `M` and blanks —
124
126
  a plain modification, staged, unstaged, or both — commit it without asking:
125
- `git add -- .oat/sync/manifest.json` then `git commit -m "chore: run sync"`.
127
+ `oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-lite:2" --message "chore: run sync" -- .oat/sync/manifest.json`.
126
128
  Report the commit and continue. Every other code falls through, including
127
129
  `MD`, `MT`, `AM`, `RM`, `CM`, and every unmerged state.
128
130
  3. Otherwise, present the dirty list to the user and offer commit now, proceed