@open-agent-toolkit/cli 0.3.16 → 0.3.17

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 (116) 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/reviews/review-flavors.md +8 -0
  18. package/assets/public-package-versions.json +4 -4
  19. package/assets/skills/oat-agent-instructions-apply/SKILL.md +14 -4
  20. package/assets/skills/oat-brainstorm/SKILL.md +17 -13
  21. package/assets/skills/oat-docs-apply/SKILL.md +13 -3
  22. package/assets/skills/oat-doctor/SKILL.md +11 -1
  23. package/assets/skills/oat-explainer-kit/SKILL.md +1 -1
  24. package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +6 -3
  25. package/assets/skills/oat-pjm-review-backlog/SKILL.md +2 -2
  26. package/assets/skills/oat-pjm-update-repo-reference/SKILL.md +28 -3
  27. package/assets/skills/oat-project-autonomous/SKILL.md +60 -5
  28. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +44 -6
  29. package/assets/skills/oat-project-capture/SKILL.md +7 -3
  30. package/assets/skills/oat-project-complete/SKILL.md +39 -34
  31. package/assets/skills/oat-project-complete/scripts/execute-synced-archive-entry.mjs +106 -28
  32. package/assets/skills/oat-project-complete/scripts/parse-synced-archive-resume-fields.mjs +30 -3
  33. package/assets/skills/oat-project-design/SKILL.md +12 -9
  34. package/assets/skills/oat-project-discover/SKILL.md +8 -4
  35. package/assets/skills/oat-project-document/SKILL.md +14 -5
  36. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +44 -6
  37. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  38. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +6 -6
  39. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +44 -6
  40. package/assets/skills/oat-project-implement/references/phase-execution.md +20 -6
  41. package/assets/skills/oat-project-import-plan/SKILL.md +20 -6
  42. package/assets/skills/oat-project-lite/SKILL.md +7 -5
  43. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +44 -6
  44. package/assets/skills/oat-project-new/SKILL.md +6 -2
  45. package/assets/skills/oat-project-plan/SKILL.md +14 -6
  46. package/assets/skills/oat-project-pr-final/SKILL.md +1 -1
  47. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +44 -6
  48. package/assets/skills/oat-project-progress/SKILL.md +13 -1
  49. package/assets/skills/oat-project-promote-spec-driven/SKILL.md +7 -3
  50. package/assets/skills/oat-project-quick-start/SKILL.md +17 -12
  51. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +44 -6
  52. package/assets/skills/oat-project-reconcile/SKILL.md +8 -4
  53. package/assets/skills/oat-project-retro/SKILL.md +1 -1
  54. package/assets/skills/oat-project-retro/references/apply-procedure.md +6 -6
  55. package/assets/skills/oat-project-retro-file/SKILL.md +7 -3
  56. package/assets/skills/oat-project-review-provide/SKILL.md +23 -4
  57. package/assets/skills/oat-project-review-provide-remote/SKILL.md +19 -1
  58. package/assets/skills/oat-project-review-receive/SKILL.md +37 -12
  59. package/assets/skills/oat-project-review-receive-remote/SKILL.md +7 -3
  60. package/assets/skills/oat-project-revise/SKILL.md +13 -5
  61. package/assets/skills/oat-project-spec/SKILL.md +8 -4
  62. package/assets/skills/oat-project-summary/SKILL.md +11 -7
  63. package/assets/skills/oat-repo-knowledge-index/SKILL.md +54 -20
  64. package/assets/skills/oat-repo-knowledge-index/scripts/refresh-owned.mjs +118 -0
  65. package/assets/skills/oat-review-provide/SKILL.md +7 -3
  66. package/assets/skills/oat-review-receive-remote/SKILL.md +14 -4
  67. package/assets/skills/oat-wave-execute/SKILL.md +24 -11
  68. package/assets/skills/oat-wave-execute/assets/wrapper-plan-template.md +16 -2
  69. package/assets/skills/oat-worktree-bootstrap-auto/SKILL.md +45 -17
  70. package/assets/templates/pjm-agents.md +38 -8
  71. package/assets/templates/repo-agents.md +5 -0
  72. package/assets/templates/repo-readme.md +5 -0
  73. package/dist/commands/backlog/archive.d.ts +3 -0
  74. package/dist/commands/backlog/archive.d.ts.map +1 -1
  75. package/dist/commands/backlog/archive.js +63 -26
  76. package/dist/commands/backlog/index.d.ts.map +1 -1
  77. package/dist/commands/backlog/index.js +3 -0
  78. package/dist/commands/backlog/rewrite-references.d.ts +5 -0
  79. package/dist/commands/backlog/rewrite-references.d.ts.map +1 -1
  80. package/dist/commands/backlog/rewrite-references.js +39 -1
  81. package/dist/commands/init/index.d.ts.map +1 -1
  82. package/dist/commands/init/index.js +1 -0
  83. package/dist/commands/internal/commit-paths.d.ts +3 -0
  84. package/dist/commands/internal/commit-paths.d.ts.map +1 -0
  85. package/dist/commands/internal/commit-paths.js +31 -0
  86. package/dist/commands/internal/index.d.ts.map +1 -1
  87. package/dist/commands/internal/index.js +2 -0
  88. package/dist/commands/pjm/init.d.ts.map +1 -1
  89. package/dist/commands/pjm/init.js +37 -8
  90. package/dist/commands/project/archive/archive-utils.d.ts +6 -3
  91. package/dist/commands/project/archive/archive-utils.d.ts.map +1 -1
  92. package/dist/commands/project/archive/archive-utils.js +510 -104
  93. package/dist/commands/project/archive/push-runner.d.ts.map +1 -1
  94. package/dist/commands/project/archive/push-runner.js +1 -0
  95. package/dist/commands/project/log/append.d.ts +2 -3
  96. package/dist/commands/project/log/append.d.ts.map +1 -1
  97. package/dist/commands/project/log/append.js +55 -101
  98. package/dist/commands/project/migrate/index.d.ts +1 -2
  99. package/dist/commands/project/migrate/index.d.ts.map +1 -1
  100. package/dist/commands/project/migrate/index.js +8 -2
  101. package/dist/commands/project/new/scaffold.d.ts.map +1 -1
  102. package/dist/commands/project/new/scaffold.js +4 -4
  103. package/dist/commands/project/promote/promote.d.ts +8 -0
  104. package/dist/commands/project/promote/promote.d.ts.map +1 -1
  105. package/dist/commands/project/promote/promote.js +37 -6
  106. package/dist/commands/project/status.d.ts.map +1 -1
  107. package/dist/commands/project/status.js +3 -0
  108. package/dist/commands/project/sync/ref-sync.d.ts +12 -1
  109. package/dist/commands/project/sync/ref-sync.d.ts.map +1 -1
  110. package/dist/commands/project/sync/ref-sync.js +347 -23
  111. package/dist/commands/shared/exact-path-commit.d.ts +32 -0
  112. package/dist/commands/shared/exact-path-commit.d.ts.map +1 -0
  113. package/dist/commands/shared/exact-path-commit.js +691 -0
  114. package/dist/validation/skills.d.ts.map +1 -1
  115. package/dist/validation/skills.js +138 -11
  116. 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` |
@@ -5,13 +5,17 @@ disable-model-invocation: true
5
5
  user-invocable: true
6
6
  allowed-tools: Read, Write, Bash(git:*), Glob, Grep, AskUserQuestion
7
7
  metadata:
8
- version: 1.0.3
8
+ version: 1.0.4
9
9
  ---
10
10
 
11
11
  # Reconcile Manual Implementation
12
12
 
13
13
  Bridge the gap between human implementation and OAT's artifact-driven workflow. Analyzes commits made outside the structured OAT flow, maps them to planned tasks, and updates tracking artifacts after human confirmation.
14
14
 
15
+ ## Hook-safe exact-path commits
16
+
17
+ 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`.
18
+
15
19
  ## Prerequisites
16
20
 
17
21
  **Required:**
@@ -684,10 +688,10 @@ PROJECT_SCOPE=$(oat project scope "$PROJECT_PATH" --format value) || { echo "oat
684
688
  if [ "$PROJECT_SCOPE" = "synced" ]; then
685
689
  oat project push "$PROJECT_PATH" --message "chore(oat): reconcile manual implementation ({first_task_id}..{last_task_id})" || { echo "oat: project push failed; run oat project pull, resolve the reported state, and retry" >&2; exit 1; }
686
690
  else
687
- git add "$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md"
691
+ OWNED_COMMIT_PATHS=("$PROJECT_PATH/implementation.md" "$PROJECT_PATH/state.md")
688
692
  # Only add plan.md if it was modified
689
- git diff --name-only "$PROJECT_PATH/plan.md" 2>/dev/null | grep -q . && git add "$PROJECT_PATH/plan.md"
690
- git diff --cached --quiet || git commit -m "chore(oat): reconcile manual implementation ({first_task_id}..{last_task_id})"
693
+ git diff --name-only "$PROJECT_PATH/plan.md" 2>/dev/null | grep -q . && OWNED_COMMIT_PATHS+=("$PROJECT_PATH/plan.md")
694
+ oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-reconcile:1" --message "chore(oat): reconcile manual implementation ({first_task_id}..{last_task_id})" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
691
695
  fi
692
696
  ```
693
697
 
@@ -5,7 +5,7 @@ disable-model-invocation: false
5
5
  user-invocable: true
6
6
  allowed-tools: Read, Write, Bash(git:*), Bash(jq:*), Bash(mkdir:*), Bash(pnpm:*), Bash(oat config:*), Bash(oat decision:*), Bash(oat project log:*), Bash(oat project push:*), Bash(oat project scope:*), Bash(oat template:*), Bash(oat tools:*), Glob, Grep, AskUserQuestion
7
7
  metadata:
8
- version: 1.0.8
8
+ version: 1.0.9
9
9
  ---
10
10
 
11
11
  # Project Retrospective
@@ -118,8 +118,8 @@ continues immediately, this can be written back together with the final
118
118
  CORRECTION_PUSH=$(oat project push "$PROJECT_PATH" --message "chore(oat): apply retro correction $RP_ID" --json) || { echo "oat: project push failed; run oat project pull, resolve the reported state, and retry" >&2; exit 1; }
119
119
  CORRECTION_COMMIT=$(parse_synced_push_receipt "$CORRECTION_PUSH") || { printf '%s\n' "$CORRECTION_PUSH" >&2; echo "Recovery: run oat project pull \"$PROJECT_PATH\", resolve conflicts, then retry this push." >&2; exit 1; }
120
120
  else
121
- git add "$PROJECT_PATH/project-log.md"
122
- git commit -m "chore(oat): apply retro correction $RP_ID"
121
+ OWNED_COMMIT_PATHS=("$PROJECT_PATH/project-log.md")
122
+ oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-retro:apply-procedure:1" --message "chore(oat): apply retro correction $RP_ID" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
123
123
  CORRECTION_COMMIT=$(git rev-parse HEAD)
124
124
  fi
125
125
  ```
@@ -260,8 +260,8 @@ Compute `oat_retro_promotions` exactly:
260
260
  if [ "$PROJECT_SCOPE" = "synced" ]; then
261
261
  # RETRO_TARGET_PATHS contains exact ordinary-doc, agent-instruction, rule,
262
262
  # or decision-record paths; include the managed decision index only when changed.
263
- git add -- "${RETRO_TARGET_PATHS[@]}"
264
- git commit --only -m "chore(oat): apply retro target $RP_ID" -- "${RETRO_TARGET_PATHS[@]}"
263
+ OWNED_COMMIT_PATHS=("${RETRO_TARGET_PATHS[@]}")
264
+ oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-retro:apply-procedure:2" --message "chore(oat): apply retro target $RP_ID" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
265
265
  RETRO_TARGET_COMMIT=$(git rev-parse HEAD) || exit 1
266
266
  RETRO_TARGET_COMMIT_PATHS=$(git diff-tree --no-commit-id --name-only -r "$RETRO_TARGET_COMMIT") || exit 1
267
267
  # Require RETRO_TARGET_COMMIT_PATHS to equal the complete normalized
@@ -277,8 +277,8 @@ Compute `oat_retro_promotions` exactly:
277
277
  # shared/local route with only the exact target and retro paths.
278
278
  APPLIED_REF="${RETRO_TARGET_PATHS[*]}"
279
279
  RETRO_COMMIT_PATHS=("${RETRO_TARGET_PATHS[@]}" "$PROJECT_PATH/references/project-retro.md")
280
- git add -- "${RETRO_COMMIT_PATHS[@]}"
281
- git commit --only -m "chore(oat): apply retro item $RP_ID" -- "${RETRO_COMMIT_PATHS[@]}"
280
+ OWNED_COMMIT_PATHS=("${RETRO_COMMIT_PATHS[@]}")
281
+ oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-retro:apply-procedure:3" --message "chore(oat): apply retro item $RP_ID" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
282
282
  RETRO_TARGET_COMMIT=$(git rev-parse HEAD) || exit 1
283
283
  fi
284
284
 
@@ -5,7 +5,7 @@ disable-model-invocation: false
5
5
  user-invocable: true
6
6
  allowed-tools: Read, Write, Bash(git:*), Bash(jq:*), Bash(pnpm:*), Bash(gh:*), Bash(oat backlog:*), Bash(oat config:*), Bash(oat project push:*), Bash(oat project scope:*), Glob, Grep, AskUserQuestion
7
7
  metadata:
8
- version: 1.0.3
8
+ version: 1.0.4
9
9
  ---
10
10
 
11
11
  # File Project Retro Feedback
@@ -17,6 +17,10 @@ idempotent status writeback.
17
17
  This skill never applies `Disposition: apply` repo edits and never mutates
18
18
  `oat_retro_promotions`.
19
19
 
20
+ ## Hook-safe exact-path commits
21
+
22
+ 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`.
23
+
20
24
  ## Progress Indicators (User-Facing)
21
25
 
22
26
  Print one banner and concise step indicators:
@@ -395,8 +399,8 @@ if [ "$PROJECT_SCOPE" = "synced" ]; then
395
399
  RETRO_PUSH=$(oat project push "$PROJECT_PATH" --message "chore(oat): record project retro filing writeback" --json) || { echo "oat: project push failed; run oat project pull, resolve the reported state, and retry" >&2; exit 1; }
396
400
  WRITEBACK_COMMIT=$(parse_synced_push_receipt "$RETRO_PUSH") || { printf '%s\n' "$RETRO_PUSH" >&2; echo "Recovery: run oat project pull \"$PROJECT_PATH\", resolve conflicts, then retry this push." >&2; exit 1; }
397
401
  else
398
- git add "$RETRO_PATH"
399
- git diff --cached --quiet || git commit -m "chore(oat): record project retro filing writeback"
402
+ OWNED_COMMIT_PATHS=("$RETRO_PATH")
403
+ oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-retro-file:1" --message "chore(oat): record project retro filing writeback" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
400
404
  WRITEBACK_COMMIT=$(git rev-parse HEAD)
401
405
  fi
402
406
 
@@ -5,13 +5,17 @@ disable-model-invocation: false
5
5
  user-invocable: true
6
6
  allowed-tools: Read, Glob, Grep, Write, Edit, Bash(git:*), Bash(oat:*), Bash(pnpm:*), Bash(mkdir:*), Bash(date:*), Bash(realpath:*), Bash(awk:*), AskUserQuestion
7
7
  metadata:
8
- version: 1.5.12
8
+ version: 1.5.13
9
9
  ---
10
10
 
11
11
  # Request Review
12
12
 
13
13
  Request and execute a code or artifact review for the current project scope.
14
14
 
15
+ ## Hook-safe exact-path commits
16
+
17
+ 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`.
18
+
15
19
  ## Purpose
16
20
 
17
21
  Produce an independent review artifact that verifies requirements/design alignment (mode-aware) and code quality.
@@ -622,6 +626,21 @@ Build the "Review Scope" metadata for the reviewer:
622
626
  - Deferred Low count: {DEFERRED_LOW_COUNT}
623
627
  {DEFERRED_LEDGER}
624
628
 
629
+ **Changed-Boundary Probe Guidance (code review only):**
630
+
631
+ - Apply the reviewer's proportional changed-boundary probe contract to changed
632
+ trust/input/size/limit boundaries with credible failure modes.
633
+ - Record exact commands, input/artifact provenance, categorical results and
634
+ any concrete execution limitation. Independently inspected implementer
635
+ failing and accepted controls may count when the reviewer cannot execute;
636
+ unsupported assertions cannot count.
637
+ - Missing consequential evidence requires a blocking finding under the existing
638
+ severity model, with
639
+ the unresolved guarantee and smallest missing proof. Docs-only changes with
640
+ no credible changed boundary require no manufactured probes.
641
+ - Preserve containment, independence, dispatch policy, severity and output
642
+ schemas; do not start a broad campaign or create a harness.
643
+
625
644
  **Design Drift Review Guidance:**
626
645
 
627
646
  - If implementation differs from `spec.md`, `design.md`, or `plan.md`, decide whether the code should change or whether the artifact is stale.
@@ -1193,9 +1212,9 @@ PROJECT_SCOPE=$(oat project scope "$PROJECT_PATH" --format value) || { echo "oat
1193
1212
  if [ "$PROJECT_SCOPE" = "synced" ]; then
1194
1213
  oat project push "$PROJECT_PATH" --message "chore(oat): record {scope} review artifact" || { echo "oat: project push failed; run oat project pull, resolve the reported state, and retry" >&2; exit 1; }
1195
1214
  else
1196
- git add "$ACTIVE_REVIEW_PATH"
1197
- [ -f "$PROJECT_PATH/plan.md" ] && git add "$PROJECT_PATH/plan.md"
1198
- git diff --cached --quiet || git commit -m "chore(oat): record {scope} review artifact"
1215
+ OWNED_COMMIT_PATHS=("$ACTIVE_REVIEW_PATH")
1216
+ [ -f "$PROJECT_PATH/plan.md" ] && OWNED_COMMIT_PATHS+=("$PROJECT_PATH/plan.md")
1217
+ oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-review-provide:1" --message "chore(oat): record {scope} review artifact" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
1199
1218
  fi
1200
1219
  ```
1201
1220
 
@@ -5,7 +5,7 @@ disable-model-invocation: true
5
5
  user-invocable: true
6
6
  allowed-tools: Read, Write, Bash, Glob, Grep, Task, AskUserQuestion
7
7
  metadata:
8
- version: 1.1.9
8
+ version: 1.1.10
9
9
  ---
10
10
 
11
11
  # Remote Review Provide (Project-Scoped GitHub PR)
@@ -209,6 +209,24 @@ Resolve the workflow mode and the scope token:
209
209
 
210
210
  NEVER mutate, commit, or push any project artifact. This is a read-only project context on machine B.
211
211
 
212
+ For code reviews, carry the reviewer's proportional changed-boundary probe
213
+ contract in every Tier 1/2/3 brief: inventory changed trust/input/size/limit
214
+ boundaries and credible failures, record exact commands, input/artifact
215
+ provenance, categorical results and any concrete execution limitation.
216
+ Independently inspected implementer failing and accepted controls may count
217
+ when the reviewer cannot execute; unsupported assertions cannot count. Missing
218
+ consequential evidence requires a blocking finding under the existing severity
219
+ model naming the
220
+ unresolved guarantee and smallest missing proof. Docs-only changes with no
221
+ credible changed boundary require no manufactured probes. Preserve containment,
222
+ independence, dispatch policy and the existing severity/output schemas; no new
223
+ harness, broad campaign or model-efficacy claim.
224
+
225
+ Put compact results, inspected-control provenance and execution limitations in
226
+ existing `StructuredFindings.summary`/finding bodies, with exact repeatable
227
+ commands in `verification_commands`. Add no schema fields or project artifacts.
228
+ Diff-only context is an execution limitation, not evidence of correctness.
229
+
212
230
  ### Step 4: Detect Prior Reviews + Narrow Scope
213
231
 
214
232
  Resolve the current invocation lineage before selecting a candidate: