@open-agent-toolkit/cli 0.2.36 → 0.2.38

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 (183) hide show
  1. package/assets/bundle-metadata.json +1 -1
  2. package/assets/docs/cli-utilities/backlog-lifecycle.md +18 -0
  3. package/assets/docs/cli-utilities/bootstrap.md +6 -3
  4. package/assets/docs/cli-utilities/config-and-local-state.md +26 -12
  5. package/assets/docs/cli-utilities/configuration.md +36 -13
  6. package/assets/docs/cli-utilities/tool-packs.md +423 -51
  7. package/assets/docs/provider-sync/scope-and-surface.md +4 -1
  8. package/assets/docs/reference/cli-reference.md +5 -3
  9. package/assets/docs/reference/file-locations.md +28 -4
  10. package/assets/docs/reference/troubleshooting.md +132 -2
  11. package/assets/docs/workflows/projects/lifecycle.md +21 -2
  12. package/assets/public-package-versions.json +4 -4
  13. package/assets/scripts/generate-oat-state.sh +441 -0
  14. package/assets/scripts/generate-thin-index.sh +200 -0
  15. package/assets/skills/oat-agent-instructions-analyze/SKILL.md +10 -5
  16. package/assets/skills/oat-agent-instructions-apply/SKILL.md +30 -5
  17. package/assets/skills/oat-brainstorm/SKILL.md +34 -8
  18. package/assets/skills/oat-brainstorm/references/destinations.md +6 -1
  19. package/assets/skills/oat-docs-analyze/SKILL.md +9 -4
  20. package/assets/skills/oat-docs-apply/SKILL.md +6 -3
  21. package/assets/skills/oat-pjm-add-backlog-item/SKILL.md +14 -1
  22. package/assets/skills/oat-pjm-decision/SKILL.md +22 -10
  23. package/assets/skills/oat-pjm-review-backlog/SKILL.md +20 -3
  24. package/assets/skills/oat-pjm-update-repo-reference/SKILL.md +20 -10
  25. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +1 -1
  26. package/assets/skills/oat-project-document/SKILL.md +21 -3
  27. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +1 -1
  28. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +1 -1
  29. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +1 -1
  30. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +1 -1
  31. package/assets/skills/oat-project-summary/SKILL.md +23 -11
  32. package/assets/skills/oat-repo-knowledge-index/SKILL.md +6 -3
  33. package/dist/commands/backlog/index.d.ts +2 -0
  34. package/dist/commands/backlog/index.d.ts.map +1 -1
  35. package/dist/commands/backlog/index.js +67 -23
  36. package/dist/commands/backlog/new.d.ts +3 -0
  37. package/dist/commands/backlog/new.d.ts.map +1 -1
  38. package/dist/commands/backlog/new.js +8 -21
  39. package/dist/commands/decision/agents-guidance.d.ts.map +1 -1
  40. package/dist/commands/decision/agents-guidance.js +2 -1
  41. package/dist/commands/decision/index.d.ts +2 -0
  42. package/dist/commands/decision/index.d.ts.map +1 -1
  43. package/dist/commands/decision/index.js +19 -3
  44. package/dist/commands/decision/new.d.ts +4 -0
  45. package/dist/commands/decision/new.d.ts.map +1 -1
  46. package/dist/commands/decision/new.js +11 -30
  47. package/dist/commands/doctor/index.d.ts +4 -0
  48. package/dist/commands/doctor/index.d.ts.map +1 -1
  49. package/dist/commands/doctor/index.js +254 -9
  50. package/dist/commands/init/tools/brainstorm/index.d.ts.map +1 -1
  51. package/dist/commands/init/tools/brainstorm/index.js +20 -6
  52. package/dist/commands/init/tools/docs/index.d.ts.map +1 -1
  53. package/dist/commands/init/tools/docs/index.js +4 -1
  54. package/dist/commands/init/tools/ideas/index.d.ts.map +1 -1
  55. package/dist/commands/init/tools/ideas/index.js +4 -1
  56. package/dist/commands/init/tools/index.d.ts +11 -2
  57. package/dist/commands/init/tools/index.d.ts.map +1 -1
  58. package/dist/commands/init/tools/index.js +459 -351
  59. package/dist/commands/init/tools/install-state.d.ts +2 -0
  60. package/dist/commands/init/tools/install-state.d.ts.map +1 -1
  61. package/dist/commands/init/tools/install-state.js +11 -0
  62. package/dist/commands/init/tools/project-management/agents-guidance.d.ts.map +1 -1
  63. package/dist/commands/init/tools/project-management/agents-guidance.js +3 -1
  64. package/dist/commands/init/tools/project-management/index.d.ts +1 -0
  65. package/dist/commands/init/tools/project-management/index.d.ts.map +1 -1
  66. package/dist/commands/init/tools/project-management/index.js +24 -55
  67. package/dist/commands/init/tools/project-management/install-project-management.d.ts +4 -0
  68. package/dist/commands/init/tools/project-management/install-project-management.d.ts.map +1 -1
  69. package/dist/commands/init/tools/project-management/install-project-management.js +4 -1
  70. package/dist/commands/init/tools/research/index.d.ts.map +1 -1
  71. package/dist/commands/init/tools/research/index.js +4 -1
  72. package/dist/commands/init/tools/shared/copy-helpers.d.ts.map +1 -1
  73. package/dist/commands/init/tools/shared/copy-helpers.js +10 -0
  74. package/dist/commands/init/tools/shared/skill-manifest.d.ts +15 -15
  75. package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
  76. package/dist/commands/init/tools/shared/skill-manifest.js +17 -122
  77. package/dist/commands/init/tools/utility/index.d.ts.map +1 -1
  78. package/dist/commands/init/tools/utility/index.js +4 -1
  79. package/dist/commands/init/tools/workflows/index.d.ts.map +1 -1
  80. package/dist/commands/init/tools/workflows/index.js +4 -1
  81. package/dist/commands/init/tools/workflows/install-workflows.d.ts.map +1 -1
  82. package/dist/commands/init/tools/workflows/install-workflows.js +2 -4
  83. package/dist/commands/pjm/adoption.d.ts +12 -0
  84. package/dist/commands/pjm/adoption.d.ts.map +1 -0
  85. package/dist/commands/pjm/adoption.js +47 -0
  86. package/dist/commands/pjm/doctor.d.ts +3 -2
  87. package/dist/commands/pjm/doctor.d.ts.map +1 -1
  88. package/dist/commands/pjm/doctor.js +28 -13
  89. package/dist/commands/pjm/index.d.ts +2 -0
  90. package/dist/commands/pjm/index.d.ts.map +1 -1
  91. package/dist/commands/pjm/index.js +11 -3
  92. package/dist/commands/pjm/init.d.ts +3 -0
  93. package/dist/commands/pjm/init.d.ts.map +1 -1
  94. package/dist/commands/pjm/init.js +37 -32
  95. package/dist/commands/pjm/migrate.d.ts +1 -0
  96. package/dist/commands/pjm/migrate.d.ts.map +1 -1
  97. package/dist/commands/pjm/migrate.js +1 -0
  98. package/dist/commands/pjm/template-source.d.ts +14 -0
  99. package/dist/commands/pjm/template-source.d.ts.map +1 -0
  100. package/dist/commands/pjm/template-source.js +56 -0
  101. package/dist/commands/remove/skills/remove-skills.d.ts.map +1 -1
  102. package/dist/commands/remove/skills/remove-skills.js +10 -19
  103. package/dist/commands/status/index.d.ts +5 -0
  104. package/dist/commands/status/index.d.ts.map +1 -1
  105. package/dist/commands/status/index.js +203 -2
  106. package/dist/commands/sync/index.d.ts.map +1 -1
  107. package/dist/commands/sync/index.js +40 -7
  108. package/dist/commands/sync/sync.types.d.ts +4 -0
  109. package/dist/commands/sync/sync.types.d.ts.map +1 -1
  110. package/dist/commands/tools/has/has-pack.d.ts +11 -2
  111. package/dist/commands/tools/has/has-pack.d.ts.map +1 -1
  112. package/dist/commands/tools/has/has-pack.js +33 -20
  113. package/dist/commands/tools/index.d.ts.map +1 -1
  114. package/dist/commands/tools/index.js +3 -1
  115. package/dist/commands/tools/info/info-tool.d.ts +3 -0
  116. package/dist/commands/tools/info/info-tool.d.ts.map +1 -1
  117. package/dist/commands/tools/info/info-tool.js +29 -4
  118. package/dist/commands/tools/list/list-tools.d.ts +3 -0
  119. package/dist/commands/tools/list/list-tools.d.ts.map +1 -1
  120. package/dist/commands/tools/list/list-tools.js +31 -4
  121. package/dist/commands/tools/migrate/index.d.ts +26 -0
  122. package/dist/commands/tools/migrate/index.d.ts.map +1 -0
  123. package/dist/commands/tools/migrate/index.js +312 -0
  124. package/dist/commands/tools/migrate/migrate-pack.d.ts +81 -0
  125. package/dist/commands/tools/migrate/migrate-pack.d.ts.map +1 -0
  126. package/dist/commands/tools/migrate/migrate-pack.js +324 -0
  127. package/dist/commands/tools/outdated/outdated-tools.d.ts +11 -0
  128. package/dist/commands/tools/outdated/outdated-tools.d.ts.map +1 -1
  129. package/dist/commands/tools/outdated/outdated-tools.js +33 -5
  130. package/dist/commands/tools/remove/index.d.ts.map +1 -1
  131. package/dist/commands/tools/remove/index.js +73 -20
  132. package/dist/commands/tools/remove/remove-tools.d.ts +28 -0
  133. package/dist/commands/tools/remove/remove-tools.d.ts.map +1 -1
  134. package/dist/commands/tools/remove/remove-tools.js +156 -26
  135. package/dist/commands/tools/shared/apply-pack-reconcile.d.ts +41 -0
  136. package/dist/commands/tools/shared/apply-pack-reconcile.d.ts.map +1 -0
  137. package/dist/commands/tools/shared/apply-pack-reconcile.js +126 -0
  138. package/dist/commands/tools/shared/auto-sync.d.ts +5 -2
  139. package/dist/commands/tools/shared/auto-sync.d.ts.map +1 -1
  140. package/dist/commands/tools/shared/auto-sync.js +1 -0
  141. package/dist/commands/tools/shared/content-digest.d.ts +3 -0
  142. package/dist/commands/tools/shared/content-digest.d.ts.map +1 -0
  143. package/dist/commands/tools/shared/content-digest.js +57 -0
  144. package/dist/commands/tools/shared/format-pack-inventory.d.ts +3 -0
  145. package/dist/commands/tools/shared/format-pack-inventory.d.ts.map +1 -0
  146. package/dist/commands/tools/shared/format-pack-inventory.js +21 -0
  147. package/dist/commands/tools/shared/install-sync-context.d.ts.map +1 -1
  148. package/dist/commands/tools/shared/install-sync-context.js +2 -25
  149. package/dist/commands/tools/shared/pack-inventory.d.ts +46 -0
  150. package/dist/commands/tools/shared/pack-inventory.d.ts.map +1 -0
  151. package/dist/commands/tools/shared/pack-inventory.js +207 -0
  152. package/dist/commands/tools/shared/pack-lifecycle.d.ts +34 -0
  153. package/dist/commands/tools/shared/pack-lifecycle.d.ts.map +1 -0
  154. package/dist/commands/tools/shared/pack-lifecycle.js +67 -0
  155. package/dist/commands/tools/shared/pack-manifest.d.ts +11 -0
  156. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -0
  157. package/dist/commands/tools/shared/pack-manifest.js +384 -0
  158. package/dist/commands/tools/shared/pack-paths.d.ts +21 -0
  159. package/dist/commands/tools/shared/pack-paths.d.ts.map +1 -0
  160. package/dist/commands/tools/shared/pack-paths.js +35 -0
  161. package/dist/commands/tools/shared/pack-reconcile.d.ts +64 -0
  162. package/dist/commands/tools/shared/pack-reconcile.d.ts.map +1 -0
  163. package/dist/commands/tools/shared/pack-reconcile.js +158 -0
  164. package/dist/commands/tools/shared/project-tools-config.d.ts.map +1 -1
  165. package/dist/commands/tools/shared/project-tools-config.js +12 -38
  166. package/dist/commands/tools/shared/scan-tools.js +2 -2
  167. package/dist/commands/tools/shared/scoped-pack-intent.d.ts +34 -0
  168. package/dist/commands/tools/shared/scoped-pack-intent.d.ts.map +1 -0
  169. package/dist/commands/tools/shared/scoped-pack-intent.js +116 -0
  170. package/dist/commands/tools/shared/types.d.ts +22 -0
  171. package/dist/commands/tools/shared/types.d.ts.map +1 -1
  172. package/dist/commands/tools/update/index.d.ts.map +1 -1
  173. package/dist/commands/tools/update/index.js +30 -5
  174. package/dist/commands/tools/update/update-tools.d.ts +9 -1
  175. package/dist/commands/tools/update/update-tools.d.ts.map +1 -1
  176. package/dist/commands/tools/update/update-tools.js +176 -64
  177. package/dist/config/oat-config.d.ts +6 -0
  178. package/dist/config/oat-config.d.ts.map +1 -1
  179. package/dist/config/oat-config.js +49 -20
  180. package/dist/fs/paths.d.ts +12 -0
  181. package/dist/fs/paths.d.ts.map +1 -1
  182. package/dist/fs/paths.js +87 -1
  183. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-agent-instructions-apply
3
- version: 1.6.2
3
+ version: 1.7.0
4
4
  description: Run when you have an agent instructions analysis artifact and want to generate or update instruction files. Creates a branch, generates files from templates, and optionally opens a PR.
5
5
  disable-model-invocation: true
6
6
  user-invocable: true
@@ -154,9 +154,33 @@ Then stop.
154
154
 
155
155
  ### Step 1: Resolve Providers
156
156
 
157
+ Resolve the analyze sibling from the loaded skill root first, then the canonical
158
+ user root, then the current repository's project root. Stop if none contains
159
+ both the sibling `SKILL.md` and `scripts/resolve-providers.sh`.
160
+
157
161
  ```bash
158
- SCRIPT_DIR=".agents/skills/oat-agent-instructions-analyze/scripts"
159
- TRACKING_SCRIPT=".oat/scripts/resolve-tracking.sh"
162
+ # Set APPLY_SKILL_DIR to the absolute directory containing this loaded SKILL.md.
163
+ REPO_ROOT="$(git rev-parse --show-toplevel)"
164
+ ANALYZE_SKILL_DIR=""
165
+ for CANDIDATE in \
166
+ "$(dirname "$APPLY_SKILL_DIR")/oat-agent-instructions-analyze" \
167
+ "${HOME}/.agents/skills/oat-agent-instructions-analyze" \
168
+ "$REPO_ROOT/.agents/skills/oat-agent-instructions-analyze"
169
+ do
170
+ if [[ -f "$CANDIDATE/SKILL.md" && -f "$CANDIDATE/scripts/resolve-providers.sh" ]]; then
171
+ ANALYZE_SKILL_DIR="$CANDIDATE"
172
+ break
173
+ fi
174
+ done
175
+
176
+ if [[ -z "$ANALYZE_SKILL_DIR" ]]; then
177
+ echo "oat-agent-instructions-analyze is not installed at the loaded, user, or project skill root." >&2
178
+ exit 1
179
+ fi
180
+
181
+ SCRIPT_DIR="$ANALYZE_SKILL_DIR/scripts"
182
+ SCOPE_ROOT="$(cd "$APPLY_SKILL_DIR/../../.." && pwd)"
183
+ TRACKING_SCRIPT="$SCOPE_ROOT/.oat/scripts/resolve-tracking.sh"
160
184
  PROVIDERS=$(bash "$SCRIPT_DIR/resolve-providers.sh" --non-interactive)
161
185
  ```
162
186
 
@@ -462,7 +486,7 @@ PR creation failed. To create manually:
462
486
  **Update tracking:**
463
487
 
464
488
  ```bash
465
- TRACKING_SCRIPT=".oat/scripts/resolve-tracking.sh"
489
+ # Reuse the apply-skill scope paths resolved in Step 1.
466
490
  ROOT_TARGET=$(bash "$TRACKING_SCRIPT" root)
467
491
  ROOT_HASH=$(echo "$ROOT_TARGET" | jq -r '.commitHash')
468
492
  ROOT_BRANCH=$(echo "$ROOT_TARGET" | jq -r '.baseBranch')
@@ -506,4 +530,5 @@ Apply complete.
506
530
  - Templates: `references/instruction-file-templates/`
507
531
  - Canonical rule frontmatter reference: `references/instruction-file-templates/frontmatter/canonical-rule.md`
508
532
  - Apply plan template: `references/apply-plan-template.md`
509
- - Tracking script: `.oat/scripts/resolve-tracking.sh`
533
+ - Tracking script: `$SCOPE_ROOT/.oat/scripts/resolve-tracking.sh`, where
534
+ `SCOPE_ROOT` is derived from the loaded skill directory.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-brainstorm
3
- version: 1.1.2
3
+ version: 1.3.0
4
4
  description: Use when the user explicitly invokes the `brainstorm` verb, including `/oat-brainstorm`, "let's brainstorm", "brainstorm this", "can we brainstorm X", or "help me brainstorm X". For ambiguous exploratory phrasing ("I've been thinking", "what if", "help me think through"), do NOT auto-enter; respond conversationally and offer mode only after ≥2 sustained exploratory turns. Do NOT use for review, debug, PR, status, implementation, or active-workflow questions.
5
5
  disable-model-invocation: false
6
6
  user-invocable: true
@@ -217,7 +217,11 @@ Run pack-detection and active-project resolution **once** per session, before th
217
217
 
218
218
  ```bash
219
219
  IDEAS_INSTALLED=$(oat tools has ideas 2>/dev/null || echo "false")
220
- PJM_INSTALLED=$(oat tools has project-management 2>/dev/null || echo "false")
220
+ PJM_CAPABILITY=$(oat tools has project-management 2>/dev/null || echo "false")
221
+ PJM_ADOPTION_STATE=""
222
+ if [ "$PJM_CAPABILITY" = "true" ]; then
223
+ PJM_ADOPTION_STATE=$(oat pjm doctor --json 2>/dev/null | jq -r '.adoption.state // ""')
224
+ fi
221
225
  WORKFLOWS_INSTALLED=$(oat tools has workflows 2>/dev/null || echo "false")
222
226
  ACTIVE_PROJECT=$(oat config get activeProject 2>/dev/null || echo "")
223
227
 
@@ -290,7 +294,10 @@ If "keep going", return to step 5. If "wrap up", surface the **pack-filtered ter
290
294
  2. Filter by pack:
291
295
  - Always-available: `Inline only`, `Doc-to-path`.
292
296
  - Gated by `IDEAS_INSTALLED == "true"`: `Capture as new idea`, `Extend existing idea`, `Summarize idea directly`.
293
- - Gated by `PJM_INSTALLED == "true"`: `Scoped backlog item`.
297
+ - Gated by `PJM_CAPABILITY == "true"` **and** `PJM_ADOPTION_STATE` equal to
298
+ `declared` or `inferred-legacy`: `Scoped backlog item`. Capability without
299
+ repository adoption never enables this write destination; for `none` or
300
+ `partial-initialization`, explain that `oat pjm init` is required.
294
301
  - Gated by `WORKFLOWS_INSTALLED == "true"` AND `ACTIVE_PROJECT_VALID != "true"`: `Promote to new OAT project`.
295
302
  - Gated by `WORKFLOWS_INSTALLED == "true"` AND `ACTIVE_PROJECT_VALID == "true"`: `Active project: fold-back` and `Active project: brainstorming reference file`. When this branch fires, present the **3-way active-project router first** (see step 9 active-project branches) — its outcome controls whether the rest of the picker is even surfaced.
296
303
  3. Evaluate whether the accumulated brainstorm scope is large enough to offer a split destination. Track the same four split signals used by discovery and evaluate them through the installed CLI:
@@ -387,6 +394,25 @@ After confirmation succeeds, proceed to step 9 (handoff).
387
394
 
388
395
  Branch on the destination. Each branch executes its handoff inline using the confirmed payload. The non-fold-back destinations are listed first; the active-project router and fold-back commit safety contract are detailed at the end of this step.
389
396
 
397
+ **Resolving `${SKILLS_ROOT}` for chained skills.** The `ideas` and
398
+ `project-management` packs default to user scope just as `brainstorm` does, so a
399
+ chained sibling skill normally lives at `~/.agents/skills/<name>/SKILL.md` and
400
+ **not** in the current repository. Never read a bare repo-relative
401
+ `.agents/skills/<name>/SKILL.md`. Resolve the skills root before every chained
402
+ read, in order:
403
+
404
+ 1. Derive it from the loaded skill directory: `${SKILL_DIR}/..` (with
405
+ `${SKILL_DIR}` resolved per the rule in step 3). This is
406
+ `<scope-root>/.agents/skills`.
407
+ 2. Otherwise try the user-scope root first: `${HOME}/.agents/skills` (matches
408
+ the pack default).
409
+ 3. Fall back to the project-scope root: `<repo-root>/.agents/skills` (set when
410
+ the pack is explicitly installed at project scope).
411
+
412
+ Probe each candidate for `<name>/SKILL.md` and treat the first match as
413
+ `${SKILLS_ROOT}`. If no candidate resolves, tell the user the chained skill is
414
+ not installed and stop that branch instead of improvising its process.
415
+
390
416
  #### 9a — Inline only
391
417
 
392
418
  Print a one-paragraph closing summary capturing chosen direction (or "no direction selected"), key decisions, and any open questions. End mode assertion. No artifact is written.
@@ -404,7 +430,7 @@ When validation passes, render `${SKILL_DIR}/templates/brainstorm-doc.md` (resol
404
430
 
405
431
  #### 9c — Capture as new idea
406
432
 
407
- Read `.agents/skills/oat-idea-new/SKILL.md` and execute its **Steps 3 through 7** inline using the confirmed slug as the idea name:
433
+ Read `${SKILLS_ROOT}/oat-idea-new/SKILL.md` (resolve `${SKILLS_ROOT}` per the rule at the top of step 9) and execute its **Steps 3 through 7** inline using the confirmed slug as the idea name:
408
434
 
409
435
  - Step 3: initialize ideas directory (`mkdir -p` for the idea root, copy `ideas-backlog.md` and `ideas-scratchpad.md` from templates if missing).
410
436
  - Step 4: scaffold `discovery.md` from the `idea-discovery.md` template.
@@ -421,14 +447,14 @@ Then **seed the scaffolded `discovery.md`** with the synthesized payload — fil
421
447
 
422
448
  After the seed write, offer the user two options:
423
449
 
424
- - **Chain into ideation** → read `.agents/skills/oat-idea-ideate/SKILL.md` and continue from its Step 4 (Start New Session).
450
+ - **Chain into ideation** → read `${SKILLS_ROOT}/oat-idea-ideate/SKILL.md` and continue from its Step 4 (Start New Session).
425
451
  - **Stop here** → end mode assertion; report the idea path.
426
452
 
427
453
  Do not invoke `oat-idea-ideate` automatically. The handoff is offered, not forced.
428
454
 
429
455
  #### 9d — Extend existing idea
430
456
 
431
- The "which idea" was confirmed at step 8. Read `.agents/skills/oat-idea-ideate/SKILL.md` and **jump directly to its Step 4 (Start New Session)** with the resolved idea path. Append `transcriptSessionNote` from the payload as the new session's body. Include `chosenDirection`, `openQuestions`, and `nextSteps` in the session entry if they surfaced during convergence (they often do when the user wants the new session to record decisions, not just notes).
457
+ The "which idea" was confirmed at step 8. Read `${SKILLS_ROOT}/oat-idea-ideate/SKILL.md` and **jump directly to its Step 4 (Start New Session)** with the resolved idea path. Append `transcriptSessionNote` from the payload as the new session's body. Include `chosenDirection`, `openQuestions`, and `nextSteps` in the session entry if they surfaced during convergence (they often do when the user wants the new session to record decisions, not just notes).
432
458
 
433
459
  End mode assertion when ideation hands control back.
434
460
 
@@ -437,13 +463,13 @@ End mode assertion when ideation hands control back.
437
463
  Two-step inline execution, run silently from the user's point of view:
438
464
 
439
465
  1. **Capture as new idea silently** — execute branch 9c above (Steps 3-7 of `oat-idea-new` plus seed). Do not surface progress detail; this is plumbing for the summary that's coming next.
440
- 2. **Summarize end-to-end** — read `.agents/skills/oat-idea-summarize/SKILL.md` and run its full process. The downstream skill surfaces its own summary for accept/refine review — that is the user's gate.
466
+ 2. **Summarize end-to-end** — read `${SKILLS_ROOT}/oat-idea-summarize/SKILL.md` and run its full process. The downstream skill surfaces its own summary for accept/refine review — that is the user's gate.
441
467
 
442
468
  End mode assertion when `oat-idea-summarize` hands control back.
443
469
 
444
470
  #### 9f — Scoped backlog item
445
471
 
446
- Read `.agents/skills/oat-pjm-add-backlog-item/SKILL.md` and execute its process **from Step 1**. Pre-fill its early-prompt answers from the confirmed payload:
472
+ Read `${SKILLS_ROOT}/oat-pjm-add-backlog-item/SKILL.md` (resolve `${SKILLS_ROOT}` per the rule at the top of step 9) and execute its process **from Step 1**. Pre-fill its early-prompt answers from the confirmed payload:
447
473
 
448
474
  - `Title` → payload field-by-field title (already user-confirmed at step 8).
449
475
  - `Description / context` → user-confirmed description.
@@ -83,7 +83,12 @@ Always honor an explicit user-supplied path over the suggestion. Brainstorm docs
83
83
 
84
84
  ### Destination: Scoped backlog item
85
85
 
86
- **Pack required:** `project-management` (i.e., `oat tools has project-management` returns `true`)
86
+ **Capability required:** `project-management` (`oat tools has project-management`
87
+ returns `true`). This proves only that the workflow is available.
88
+ **Repository adoption required:** the read-only `oat pjm doctor --json` result
89
+ has `adoption.state` equal to `declared` or `inferred-legacy`. For `none` or
90
+ `partial-initialization`, do not offer or perform this write; stop with the
91
+ actionable recovery `oat pjm init`.
87
92
  **Trigger phrases:** "track this as a backlog item", "make a ticket", "log this", "open a backlog entry", "add this to the backlog", "create a backlog item for this".
88
93
  **Required template fields:** `title` (1-line summary), `description` (problem + proposed approach), `acceptance criteria` (bullet list), `scope` (xs / s / m / l / xl), `priority` (p0 / p1 / p2 / p3). Template: `.oat/templates/backlog-item.md` (consumed via `oat-pjm-add-backlog-item`).
89
94
  **Optional template fields:** related items, target release, owner.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-docs-analyze
3
- version: 1.4.0
3
+ version: 1.5.0
4
4
  description: Run when you need to evaluate documentation structure, navigation, and coverage against the OAT docs app contract. Produces a severity-rated analysis artifact for oat-docs-apply.
5
5
  disable-model-invocation: true
6
6
  user-invocable: true
@@ -111,7 +111,9 @@ the app declared in `.oat/config.json` when multiple app candidates exist.
111
111
  Resolve tracking and analysis mode using the shared helper:
112
112
 
113
113
  ```bash
114
- TRACKING_SCRIPT=".oat/scripts/resolve-tracking.sh"
114
+ # Set SKILL_DIR to the absolute directory containing this loaded SKILL.md.
115
+ SCOPE_ROOT="$(cd "$SKILL_DIR/../../.." && pwd)"
116
+ TRACKING_SCRIPT="$SCOPE_ROOT/.oat/scripts/resolve-tracking.sh"
115
117
  TRACKING=$(bash "$TRACKING_SCRIPT" read docs 2>/dev/null || true)
116
118
  ```
117
119
 
@@ -459,7 +461,9 @@ If the loop is disabled, note `Auto artifact review: skipped (workflow.autoArtif
459
461
  Update docs tracking using the shared helper:
460
462
 
461
463
  ```bash
462
- TRACKING_SCRIPT=".oat/scripts/resolve-tracking.sh"
464
+ # Set SKILL_DIR to the absolute directory containing this loaded SKILL.md.
465
+ SCOPE_ROOT="$(cd "$SKILL_DIR/../../.." && pwd)"
466
+ TRACKING_SCRIPT="$SCOPE_ROOT/.oat/scripts/resolve-tracking.sh"
463
467
  ROOT_TARGET=$(bash "$TRACKING_SCRIPT" root)
464
468
  ROOT_HASH=$(echo "$ROOT_TARGET" | jq -r '.commitHash')
465
469
  ROOT_BRANCH=$(echo "$ROOT_TARGET" | jq -r '.baseBranch')
@@ -507,4 +511,5 @@ Next step: Run oat-docs-apply to act on these findings.
507
511
  - Analysis artifact template: `references/analysis-artifact-template.md`
508
512
  - Quality checklist: `references/quality-checklist.md`
509
513
  - Directory criteria: `references/directory-assessment-criteria.md`
510
- - Shared tracking helper: `.oat/scripts/resolve-tracking.sh`
514
+ - Shared tracking helper: `$SCOPE_ROOT/.oat/scripts/resolve-tracking.sh`, where
515
+ `SCOPE_ROOT` is derived from this loaded skill's directory.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-docs-apply
3
- version: 1.2.0
3
+ version: 1.3.0
4
4
  description: Run when you have a docs analysis artifact and want to generate or update documentation structure and content. Creates a branch, applies approved changes, and optionally opens a PR.
5
5
  disable-model-invocation: true
6
6
  user-invocable: true
@@ -301,7 +301,9 @@ PR creation failed. To create manually:
301
301
  Update shared tracking:
302
302
 
303
303
  ```bash
304
- TRACKING_SCRIPT=".oat/scripts/resolve-tracking.sh"
304
+ # Set SKILL_DIR to the absolute directory containing this loaded SKILL.md.
305
+ SCOPE_ROOT="$(cd "$SKILL_DIR/../../.." && pwd)"
306
+ TRACKING_SCRIPT="$SCOPE_ROOT/.oat/scripts/resolve-tracking.sh"
305
307
  ROOT_TARGET=$(bash "$TRACKING_SCRIPT" root)
306
308
  ROOT_HASH=$(echo "$ROOT_TARGET" | jq -r '.commitHash')
307
309
  ROOT_BRANCH=$(echo "$ROOT_TARGET" | jq -r '.baseBranch')
@@ -336,4 +338,5 @@ Next step: Re-run oat-docs-analyze if you want a post-apply verification artifac
336
338
  ## References
337
339
 
338
340
  - Apply plan template: `references/apply-plan-template.md`
339
- - Shared tracking helper: `.oat/scripts/resolve-tracking.sh`
341
+ - Shared tracking helper: `$SCOPE_ROOT/.oat/scripts/resolve-tracking.sh`, where
342
+ `SCOPE_ROOT` is derived from this loaded skill's directory.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-pjm-add-backlog-item
3
- version: 1.3.1
3
+ version: 1.4.0
4
4
  description: Use when the user requests or confirms adding a new repo backlog item — e.g. "add a backlog item for X", "capture that as backlog", "track that follow-up", "file a backlog ticket", or confirms a previously offered backlog capture. Do NOT auto-invoke when a follow-up is mentioned. Creates the item file in the file-per-item backlog structure, regenerates the index, and prompts for curated overview updates.
5
5
  disable-model-invocation: false
6
6
  user-invocable: true
@@ -35,6 +35,19 @@ When executing this skill, provide lightweight progress feedback so the user can
35
35
 
36
36
  ## Process
37
37
 
38
+ ### Step 0: Verify Repository PJM Adoption
39
+
40
+ Run the read-only preflight before any file write:
41
+
42
+ ```bash
43
+ oat pjm doctor --json
44
+ ```
45
+
46
+ Inspect the exact `adoption.state` field. Continue only for `declared` or
47
+ `inferred-legacy`. For `none` or `partial-initialization`, stop before writing
48
+ and tell the user to run `oat pjm init`. Global project-management tool
49
+ availability is capability evidence only; it is never repository adoption.
50
+
38
51
  ### Step 1: Resolve Inputs
39
52
 
40
53
  Collect the item details from the user or surrounding context:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-pjm-decision
3
- version: 1.0.0
3
+ version: 1.1.0
4
4
  description: Use when the user requests or confirms recording a durable repo decision — e.g. "capture that as a decision", "write an ADR for X", "record this architectural choice", or confirms a previously offered decision capture. Creates a file-per-record decision under reference/decisions/ via `oat decision new` and refreshes the generated decision index. Do NOT auto-invoke for routine choices that do not warrant durable history.
5
5
  disable-model-invocation: false
6
6
  user-invocable: true
@@ -35,6 +35,19 @@ When executing this skill, provide lightweight progress feedback so the user can
35
35
 
36
36
  ## Process
37
37
 
38
+ ### Step 0: Verify Repository PJM Adoption
39
+
40
+ Run the read-only preflight before any file write:
41
+
42
+ ```bash
43
+ oat pjm doctor --json
44
+ ```
45
+
46
+ Inspect the exact `adoption.state` field. Continue only for `declared` or
47
+ `inferred-legacy`. For `none` or `partial-initialization`, stop before writing
48
+ and tell the user to run `oat pjm init`. Do not use global pack presence as
49
+ evidence that this repository adopted PJM.
50
+
38
51
  ### Step 1: Resolve Inputs
39
52
 
40
53
  Collect the decision details from the user or surrounding context:
@@ -48,22 +61,21 @@ Collect the decision details from the user or surrounding context:
48
61
  If the title is missing, ask the user.
49
62
  If context is missing, ask for 1-3 sentences describing the situation.
50
63
 
51
- ### Step 2: Ensure Decision Scaffold
52
-
53
- Before creating records, ensure the canonical decision scaffold and exact managed index markers exist:
54
-
55
- ```bash
56
- oat decision init
57
- ```
64
+ ### Step 2: Verify Decision Scaffold
58
65
 
59
- This command is idempotent. The scaffold writes `reference/decisions/index.md` with the exact markers required by the CLI:
66
+ The adoption preflight must succeed before this check. Confirm that
67
+ `.oat/repo/reference/decisions/index.md` contains the exact markers required by
68
+ the CLI:
60
69
 
61
70
  ```md
62
71
  <!-- OAT DECISION-INDEX -->
63
72
  <!-- END OAT DECISION-INDEX -->
64
73
  ```
65
74
 
66
- Do not hand-create or rename the managed marker block. Decisions default to `.oat/repo/reference/decisions/`; pass `--decisions-root <path>` only when an explicit override is required.
75
+ Do not hand-create or rename the managed marker block. If it is absent, stop and
76
+ repair the repository with `oat pjm init`. Decisions default to
77
+ `.oat/repo/reference/decisions/`; pass `--decisions-root <path>` only when an
78
+ explicit override is required.
67
79
 
68
80
  ### Step 3: Create the Decision Record
69
81
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-pjm-review-backlog
3
- version: 1.5.0
3
+ version: 1.6.0
4
4
  description: Use when prioritizing the file-backed repo backlog or evaluating roadmap alignment. Produces value-effort ratings, dependency mapping, execution recommendations, and an optional external-plan handoff.
5
5
  argument-hint: '[backlog-root] [--roadmap=<path>] [--output=<path>]'
6
6
  disable-model-invocation: true
@@ -68,6 +68,23 @@ Parse from `$ARGUMENTS`:
68
68
 
69
69
  ## Process
70
70
 
71
+ ### Step 0: Resolve Skill Resources and Verify Adoption
72
+
73
+ Set `SKILL_DIR` to the absolute directory containing this loaded `SKILL.md`.
74
+ Resolve every bundled template from `$SKILL_DIR/references/`; never assume the
75
+ skill lives under the current repository's `.agents/skills/` tree.
76
+
77
+ Before any review or alignment file write, run the read-only preflight:
78
+
79
+ ```bash
80
+ oat pjm doctor --json
81
+ ```
82
+
83
+ Inspect the exact `adoption.state` field. Continue only for `declared` or
84
+ `inferred-legacy`. For `none` or `partial-initialization`, stop before writing
85
+ and tell the user to run `oat pjm init`. Pack presence is capability evidence,
86
+ not repository adoption.
87
+
71
88
  ### Step 1: Locate Inputs
72
89
 
73
90
  **Backlog root:**
@@ -172,7 +189,7 @@ If a roadmap was provided:
172
189
 
173
190
  ### Step 7: Write the Review Document
174
191
 
175
- Use the template at `.agents/skills/oat-pjm-review-backlog/references/backlog-review-template.md`.
192
+ Use the template at `$SKILL_DIR/references/backlog-review-template.md`.
176
193
 
177
194
  Write the **living** review to the resolved output path (default `.oat/repo/pjm/backlog/reviews/backlog-and-roadmap-review.md`). If `--archive-dated` was passed, also write a dated snapshot alongside it (`backlog-and-roadmap-review-YYYY-MM-DD.md` in the same directory). Never split living and dated outputs across different directories — they must live together under `backlog/reviews/`.
178
195
 
@@ -222,7 +239,7 @@ If the operator declines, skip Steps 9–10 and continue to the Step 11 external
222
239
  - Are there calendar constraints (freezes, releases, time off) that affect ordering?
223
240
  - Does the operator want an optional axis like "planning investment" or "design effort" as a column? (Some repos find this useful; many don't. Default: omit unless operator opts in.)
224
241
  3. **Iterate on phase names, ordering, and the kickoff stack** until the operator is satisfied. Phase names should reflect the repo's actual initiatives, not generic placeholders.
225
- 4. **Write or update** `.oat/repo/pjm/backlog/reviews/priority-alignment.md` using the template at `.agents/skills/oat-pjm-review-backlog/references/priority-alignment-template.md`. Add a new Changelog entry summarizing what shifted in this pass.
242
+ 4. **Write or update** `.oat/repo/pjm/backlog/reviews/priority-alignment.md` using the template at `$SKILL_DIR/references/priority-alignment-template.md`. Add a new Changelog entry summarizing what shifted in this pass.
226
243
  5. **Confirm the result** with the operator: file path, top-of-doc Status line, and the kickoff stack.
227
244
 
228
245
  When referencing backlog items inside the priority-alignment doc, the **Reference Format Convention** still applies — link to the item file and pair the ID with a human-readable title.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-pjm-update-repo-reference
3
- version: 1.3.0
3
+ version: 1.4.0
4
4
  description: Use when repo reference artifacts need updating — roadmap, decision records, backlog status, or completed history. Frequently invoked at project completion, often chained from `oat-project-document`, to ensure active `.oat/repo/pjm/` state and durable `.oat/repo/reference/` records reflect what shipped.
5
5
  disable-model-invocation: false
6
6
  user-invocable: true
@@ -35,6 +35,19 @@ When executing this skill, provide lightweight progress feedback so the user can
35
35
 
36
36
  ## Process
37
37
 
38
+ ### Step 0: Verify Repository PJM Adoption
39
+
40
+ Run the read-only preflight before any file write:
41
+
42
+ ```bash
43
+ oat pjm doctor --json
44
+ ```
45
+
46
+ Inspect the exact `adoption.state` field. Continue only for `declared` or
47
+ `inferred-legacy`. For `none` or `partial-initialization`, stop before writing
48
+ and tell the user to run `oat pjm init`. Installed project-management skills
49
+ show capability availability only, not repository adoption.
50
+
38
51
  ### Step 1: Identify What Changed
39
52
 
40
53
  Write down a 1-3 bullet summary of the implementation change:
@@ -45,22 +58,19 @@ Write down a 1-3 bullet summary of the implementation change:
45
58
  - Repo-reference behavior changes
46
59
  - File moves, renames, or retirements
47
60
 
48
- ### Step 2: Ensure Backlog Scaffold
49
-
50
- Before editing any backlog files or running backlog regeneration, run:
51
-
52
- ```bash
53
- oat backlog init
54
- ```
61
+ ### Step 2: Verify Backlog Scaffold
55
62
 
56
- This command is idempotent and ensures `.oat/repo/pjm/backlog/index.md` exists with the exact managed markers required by the CLI:
63
+ After the adoption preflight succeeds, confirm that
64
+ `.oat/repo/pjm/backlog/index.md` exists with the exact managed markers required
65
+ by the CLI:
57
66
 
58
67
  ```md
59
68
  <!-- OAT BACKLOG-INDEX -->
60
69
  <!-- END OAT BACKLOG-INDEX -->
61
70
  ```
62
71
 
63
- Do not hand-author or rename those managed markers.
72
+ Do not hand-author or rename those managed markers. If they are absent, stop and
73
+ repair the repository with `oat pjm init`.
64
74
 
65
75
  ### Step 3: Mine Project Artifacts for Deferred Work and Decisions
66
76
 
@@ -241,7 +241,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
241
241
  | `oat-project-implement/references/plan-and-resume.md` | `413829d31e32 -> IMPLEMENT-02`; `c7706cd8ad09 -> IMPLEMENT-03`; `a80a948df658 -> IMPLEMENT-03`; `b7ea139780ec -> IMPLEMENT-03+IMPLEMENT-04`; `8d438f2180ba -> IMPLEMENT-03`; `9e72e0518cda -> IMPLEMENT-03`; `3e177a1021e6 -> IMPLEMENT-03+IMPLEMENT-04`; `b59fc9eb9ce3 -> IMPLEMENT-03`; `a2b1d6855283 -> IMPLEMENT-03`; `44351a32e52a -> IMPLEMENT-03`; `b98b022f5523 -> IMPLEMENT-03`; `e9f5b949e214 -> IMPLEMENT-03`; `316fb6d9e980 -> IMPLEMENT-03`; `8b25a2c5c548 -> IMPLEMENT-03`; `1a59b1c0e705 -> IMPLEMENT-03`; `466cd562fc52 -> IMPLEMENT-03`; `083d896978d5 -> IMPLEMENT-03`; `f4ab11c13ae9 -> IMPLEMENT-03`; `7dc17ffcc1c4 -> IMPLEMENT-03`; `f731a90adabd -> IMPLEMENT-04`; `886ac01e7aa9 -> IMPLEMENT-04`; `b715db67df0c -> IMPLEMENT-04`; `2d9f26a539f3 -> IMPLEMENT-10`; `28384dee114f -> IMPLEMENT-05`; `f2591a4978b4 -> NG`; `8290823080b5 -> IMPLEMENT-06`; `f75789bf6c8e -> IMPLEMENT-07` |
242
242
  | `oat-project-document/SKILL.md` | `4fc2d8618208 -> NG`; `3f9b0273ba77 -> NG`; `40f8be47affa -> NG`; `3a3c390528f3 -> DOCUMENT-03`; `2a7ba093b315 -> DOCUMENT-02`; `252aabe44db2 -> DOCUMENT-02`; `3751172de299 -> DOCUMENT-02`; `b987a0697ba9 -> DOCUMENT-01`; `a06ff3ca7926 -> NG`; `0d04714ca9fc -> NG`; `f79af01d94c6 -> DOCUMENT-02`; `71634113c348 -> DOCUMENT-02`; `cdb707f5081e -> NG` |
243
243
  | `oat-project-document/references/docs/autonomy-contract.md` | `* -> NG` |
244
- | `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `8ff515033147 -> NG`; `ac36f854dd6b -> NG`; `f3e49b727752 -> NG`; `5f315ab87cb1 -> NG`; `e73bd88837ea -> NG`; `83257ff6cb68 -> NG`; `c8fced47ef8e -> NG`; `d7ea1e2a4f5f -> NG` |
244
+ | `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `8ff515033147 -> NG`; `f979b2342d28 -> NG`; `f3e49b727752 -> NG`; `5f315ab87cb1 -> NG`; `803bf40ec423 -> NG`; `c8fced47ef8e -> NG`; `d7ea1e2a4f5f -> NG` |
245
245
  | `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `5eb3949f32e1 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
246
246
  | `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
247
247
  | `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `ffcdc9d576c0 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `9497d9f94eed -> COMPLETE-01`; `7b59c728d3fb -> COMPLETE-01`; `48e10a9636fe -> COMPLETE-01`; `c0dad37fc166 -> COMPLETE-01`; `aa9a36243ec1 -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `12f7c30a54c8 -> NG`; `fffe5eea5ebd -> NG` |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-document
3
- version: 1.6.2
3
+ version: 1.8.0
4
4
  description: Use when the user requests or confirms documenting an active OAT project — e.g. "document the project", "update the docs", "run oat-project-document", or confirms a previously offered documentation run. Do NOT auto-invoke when implementation completes. Analyzes project artifacts, presents a documentation delta plan, and applies approved changes.
5
5
  argument-hint: '[project-path] [--auto]'
6
6
  disable-model-invocation: false
@@ -159,21 +159,39 @@ Store resolved values for use in later steps. Do not write auto-detected values
159
159
 
160
160
  ### Step 1: Check for PJM Infrastructure
161
161
 
162
- Check whether the project-management tool pack is effectively available:
162
+ Check capability availability, then separately inspect repository adoption:
163
163
 
164
164
  ```bash
165
165
  PJM_INSTALLED=$(oat tools has project-management 2>/dev/null || echo "false")
166
+ PJM_ADOPTION_STATE=""
167
+ if [ "$PJM_INSTALLED" = "true" ]; then
168
+ PJM_ADOPTION_STATE=$(oat pjm doctor --json 2>/dev/null | jq -r '.adoption.state // ""')
169
+ fi
166
170
  ```
167
171
 
168
- **If `PJM_INSTALLED` is `true`:**
172
+ `PJM_INSTALLED=true` means the capability is available; it does not mean this
173
+ repository adopted PJM.
174
+
175
+ **If `PJM_ADOPTION_STATE` is `declared` or `inferred-legacy`:**
169
176
 
170
177
  - Invoke `oat-pjm-update-repo-reference` automatically before proceeding.
171
178
  - Do not ask whether to run the repo reference update during project-document.
172
179
  - **If invocation succeeds:** Log that repo reference docs were refreshed and continue to Step 2. The reference surfaces will already be current when the documentation scan reads them in Step 4a.4.
173
180
  - **If invocation fails:** Warn the user that the repo reference update failed, but continue with the documentation sync — a PJM failure should not block documentation updates.
174
181
 
182
+ **If `PJM_ADOPTION_STATE` is `none` or `partial-initialization`:** Do not invoke
183
+ any PJM writer. Warn that repository adoption is absent/incomplete, recommend
184
+ `oat pjm init`, and proceed with documentation-only work.
185
+
175
186
  **If `PJM_INSTALLED` is not `true`:** Skip silently and proceed to Step 2.
176
187
 
188
+ **If `PJM_INSTALLED` is `true` but `PJM_ADOPTION_STATE` is empty or holds any
189
+ value other than the four documented states (`declared`, `inferred-legacy`,
190
+ `none`, `partial-initialization`):** Treat adoption as unverified. Do not invoke
191
+ any PJM writer, and do not fall through to the `declared` branch. Report that
192
+ adoption could not be determined — the usual causes are `jq` missing from
193
+ `PATH` or `oat pjm doctor` failing — and proceed with documentation-only work.
194
+
177
195
  ### Step 2: Read Project Artifacts
178
196
 
179
197
  Read all available project artifacts to build an understanding of what was built.
@@ -241,7 +241,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
241
241
  | `oat-project-implement/references/plan-and-resume.md` | `413829d31e32 -> IMPLEMENT-02`; `c7706cd8ad09 -> IMPLEMENT-03`; `a80a948df658 -> IMPLEMENT-03`; `b7ea139780ec -> IMPLEMENT-03+IMPLEMENT-04`; `8d438f2180ba -> IMPLEMENT-03`; `9e72e0518cda -> IMPLEMENT-03`; `3e177a1021e6 -> IMPLEMENT-03+IMPLEMENT-04`; `b59fc9eb9ce3 -> IMPLEMENT-03`; `a2b1d6855283 -> IMPLEMENT-03`; `44351a32e52a -> IMPLEMENT-03`; `b98b022f5523 -> IMPLEMENT-03`; `e9f5b949e214 -> IMPLEMENT-03`; `316fb6d9e980 -> IMPLEMENT-03`; `8b25a2c5c548 -> IMPLEMENT-03`; `1a59b1c0e705 -> IMPLEMENT-03`; `466cd562fc52 -> IMPLEMENT-03`; `083d896978d5 -> IMPLEMENT-03`; `f4ab11c13ae9 -> IMPLEMENT-03`; `7dc17ffcc1c4 -> IMPLEMENT-03`; `f731a90adabd -> IMPLEMENT-04`; `886ac01e7aa9 -> IMPLEMENT-04`; `b715db67df0c -> IMPLEMENT-04`; `2d9f26a539f3 -> IMPLEMENT-10`; `28384dee114f -> IMPLEMENT-05`; `f2591a4978b4 -> NG`; `8290823080b5 -> IMPLEMENT-06`; `f75789bf6c8e -> IMPLEMENT-07` |
242
242
  | `oat-project-document/SKILL.md` | `4fc2d8618208 -> NG`; `3f9b0273ba77 -> NG`; `40f8be47affa -> NG`; `3a3c390528f3 -> DOCUMENT-03`; `2a7ba093b315 -> DOCUMENT-02`; `252aabe44db2 -> DOCUMENT-02`; `3751172de299 -> DOCUMENT-02`; `b987a0697ba9 -> DOCUMENT-01`; `a06ff3ca7926 -> NG`; `0d04714ca9fc -> NG`; `f79af01d94c6 -> DOCUMENT-02`; `71634113c348 -> DOCUMENT-02`; `cdb707f5081e -> NG` |
243
243
  | `oat-project-document/references/docs/autonomy-contract.md` | `* -> NG` |
244
- | `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `8ff515033147 -> NG`; `ac36f854dd6b -> NG`; `f3e49b727752 -> NG`; `5f315ab87cb1 -> NG`; `e73bd88837ea -> NG`; `83257ff6cb68 -> NG`; `c8fced47ef8e -> NG`; `d7ea1e2a4f5f -> NG` |
244
+ | `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `8ff515033147 -> NG`; `f979b2342d28 -> NG`; `f3e49b727752 -> NG`; `5f315ab87cb1 -> NG`; `803bf40ec423 -> NG`; `c8fced47ef8e -> NG`; `d7ea1e2a4f5f -> NG` |
245
245
  | `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `5eb3949f32e1 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
246
246
  | `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
247
247
  | `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `ffcdc9d576c0 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `9497d9f94eed -> COMPLETE-01`; `7b59c728d3fb -> COMPLETE-01`; `48e10a9636fe -> COMPLETE-01`; `c0dad37fc166 -> COMPLETE-01`; `aa9a36243ec1 -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `12f7c30a54c8 -> NG`; `fffe5eea5ebd -> NG` |