@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.
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/cli-utilities/backlog-lifecycle.md +18 -0
- package/assets/docs/cli-utilities/bootstrap.md +6 -3
- package/assets/docs/cli-utilities/config-and-local-state.md +26 -12
- package/assets/docs/cli-utilities/configuration.md +36 -13
- package/assets/docs/cli-utilities/tool-packs.md +423 -51
- package/assets/docs/provider-sync/scope-and-surface.md +4 -1
- package/assets/docs/reference/cli-reference.md +5 -3
- package/assets/docs/reference/file-locations.md +28 -4
- package/assets/docs/reference/troubleshooting.md +132 -2
- package/assets/docs/workflows/projects/lifecycle.md +21 -2
- package/assets/public-package-versions.json +4 -4
- package/assets/scripts/generate-oat-state.sh +441 -0
- package/assets/scripts/generate-thin-index.sh +200 -0
- package/assets/skills/oat-agent-instructions-analyze/SKILL.md +10 -5
- package/assets/skills/oat-agent-instructions-apply/SKILL.md +30 -5
- package/assets/skills/oat-brainstorm/SKILL.md +34 -8
- package/assets/skills/oat-brainstorm/references/destinations.md +6 -1
- package/assets/skills/oat-docs-analyze/SKILL.md +9 -4
- package/assets/skills/oat-docs-apply/SKILL.md +6 -3
- package/assets/skills/oat-pjm-add-backlog-item/SKILL.md +14 -1
- package/assets/skills/oat-pjm-decision/SKILL.md +22 -10
- package/assets/skills/oat-pjm-review-backlog/SKILL.md +20 -3
- package/assets/skills/oat-pjm-update-repo-reference/SKILL.md +20 -10
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +1 -1
- package/assets/skills/oat-project-document/SKILL.md +21 -3
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-summary/SKILL.md +23 -11
- package/assets/skills/oat-repo-knowledge-index/SKILL.md +6 -3
- package/dist/commands/backlog/index.d.ts +2 -0
- package/dist/commands/backlog/index.d.ts.map +1 -1
- package/dist/commands/backlog/index.js +67 -23
- package/dist/commands/backlog/new.d.ts +3 -0
- package/dist/commands/backlog/new.d.ts.map +1 -1
- package/dist/commands/backlog/new.js +8 -21
- package/dist/commands/decision/agents-guidance.d.ts.map +1 -1
- package/dist/commands/decision/agents-guidance.js +2 -1
- package/dist/commands/decision/index.d.ts +2 -0
- package/dist/commands/decision/index.d.ts.map +1 -1
- package/dist/commands/decision/index.js +19 -3
- package/dist/commands/decision/new.d.ts +4 -0
- package/dist/commands/decision/new.d.ts.map +1 -1
- package/dist/commands/decision/new.js +11 -30
- package/dist/commands/doctor/index.d.ts +4 -0
- package/dist/commands/doctor/index.d.ts.map +1 -1
- package/dist/commands/doctor/index.js +254 -9
- package/dist/commands/init/tools/brainstorm/index.d.ts.map +1 -1
- package/dist/commands/init/tools/brainstorm/index.js +20 -6
- package/dist/commands/init/tools/docs/index.d.ts.map +1 -1
- package/dist/commands/init/tools/docs/index.js +4 -1
- package/dist/commands/init/tools/ideas/index.d.ts.map +1 -1
- package/dist/commands/init/tools/ideas/index.js +4 -1
- package/dist/commands/init/tools/index.d.ts +11 -2
- package/dist/commands/init/tools/index.d.ts.map +1 -1
- package/dist/commands/init/tools/index.js +459 -351
- package/dist/commands/init/tools/install-state.d.ts +2 -0
- package/dist/commands/init/tools/install-state.d.ts.map +1 -1
- package/dist/commands/init/tools/install-state.js +11 -0
- package/dist/commands/init/tools/project-management/agents-guidance.d.ts.map +1 -1
- package/dist/commands/init/tools/project-management/agents-guidance.js +3 -1
- package/dist/commands/init/tools/project-management/index.d.ts +1 -0
- package/dist/commands/init/tools/project-management/index.d.ts.map +1 -1
- package/dist/commands/init/tools/project-management/index.js +24 -55
- package/dist/commands/init/tools/project-management/install-project-management.d.ts +4 -0
- package/dist/commands/init/tools/project-management/install-project-management.d.ts.map +1 -1
- package/dist/commands/init/tools/project-management/install-project-management.js +4 -1
- package/dist/commands/init/tools/research/index.d.ts.map +1 -1
- package/dist/commands/init/tools/research/index.js +4 -1
- package/dist/commands/init/tools/shared/copy-helpers.d.ts.map +1 -1
- package/dist/commands/init/tools/shared/copy-helpers.js +10 -0
- package/dist/commands/init/tools/shared/skill-manifest.d.ts +15 -15
- package/dist/commands/init/tools/shared/skill-manifest.d.ts.map +1 -1
- package/dist/commands/init/tools/shared/skill-manifest.js +17 -122
- package/dist/commands/init/tools/utility/index.d.ts.map +1 -1
- package/dist/commands/init/tools/utility/index.js +4 -1
- package/dist/commands/init/tools/workflows/index.d.ts.map +1 -1
- package/dist/commands/init/tools/workflows/index.js +4 -1
- package/dist/commands/init/tools/workflows/install-workflows.d.ts.map +1 -1
- package/dist/commands/init/tools/workflows/install-workflows.js +2 -4
- package/dist/commands/pjm/adoption.d.ts +12 -0
- package/dist/commands/pjm/adoption.d.ts.map +1 -0
- package/dist/commands/pjm/adoption.js +47 -0
- package/dist/commands/pjm/doctor.d.ts +3 -2
- package/dist/commands/pjm/doctor.d.ts.map +1 -1
- package/dist/commands/pjm/doctor.js +28 -13
- package/dist/commands/pjm/index.d.ts +2 -0
- package/dist/commands/pjm/index.d.ts.map +1 -1
- package/dist/commands/pjm/index.js +11 -3
- package/dist/commands/pjm/init.d.ts +3 -0
- package/dist/commands/pjm/init.d.ts.map +1 -1
- package/dist/commands/pjm/init.js +37 -32
- package/dist/commands/pjm/migrate.d.ts +1 -0
- package/dist/commands/pjm/migrate.d.ts.map +1 -1
- package/dist/commands/pjm/migrate.js +1 -0
- package/dist/commands/pjm/template-source.d.ts +14 -0
- package/dist/commands/pjm/template-source.d.ts.map +1 -0
- package/dist/commands/pjm/template-source.js +56 -0
- package/dist/commands/remove/skills/remove-skills.d.ts.map +1 -1
- package/dist/commands/remove/skills/remove-skills.js +10 -19
- package/dist/commands/status/index.d.ts +5 -0
- package/dist/commands/status/index.d.ts.map +1 -1
- package/dist/commands/status/index.js +203 -2
- package/dist/commands/sync/index.d.ts.map +1 -1
- package/dist/commands/sync/index.js +40 -7
- package/dist/commands/sync/sync.types.d.ts +4 -0
- package/dist/commands/sync/sync.types.d.ts.map +1 -1
- package/dist/commands/tools/has/has-pack.d.ts +11 -2
- package/dist/commands/tools/has/has-pack.d.ts.map +1 -1
- package/dist/commands/tools/has/has-pack.js +33 -20
- package/dist/commands/tools/index.d.ts.map +1 -1
- package/dist/commands/tools/index.js +3 -1
- package/dist/commands/tools/info/info-tool.d.ts +3 -0
- package/dist/commands/tools/info/info-tool.d.ts.map +1 -1
- package/dist/commands/tools/info/info-tool.js +29 -4
- package/dist/commands/tools/list/list-tools.d.ts +3 -0
- package/dist/commands/tools/list/list-tools.d.ts.map +1 -1
- package/dist/commands/tools/list/list-tools.js +31 -4
- package/dist/commands/tools/migrate/index.d.ts +26 -0
- package/dist/commands/tools/migrate/index.d.ts.map +1 -0
- package/dist/commands/tools/migrate/index.js +312 -0
- package/dist/commands/tools/migrate/migrate-pack.d.ts +81 -0
- package/dist/commands/tools/migrate/migrate-pack.d.ts.map +1 -0
- package/dist/commands/tools/migrate/migrate-pack.js +324 -0
- package/dist/commands/tools/outdated/outdated-tools.d.ts +11 -0
- package/dist/commands/tools/outdated/outdated-tools.d.ts.map +1 -1
- package/dist/commands/tools/outdated/outdated-tools.js +33 -5
- package/dist/commands/tools/remove/index.d.ts.map +1 -1
- package/dist/commands/tools/remove/index.js +73 -20
- package/dist/commands/tools/remove/remove-tools.d.ts +28 -0
- package/dist/commands/tools/remove/remove-tools.d.ts.map +1 -1
- package/dist/commands/tools/remove/remove-tools.js +156 -26
- package/dist/commands/tools/shared/apply-pack-reconcile.d.ts +41 -0
- package/dist/commands/tools/shared/apply-pack-reconcile.d.ts.map +1 -0
- package/dist/commands/tools/shared/apply-pack-reconcile.js +126 -0
- package/dist/commands/tools/shared/auto-sync.d.ts +5 -2
- package/dist/commands/tools/shared/auto-sync.d.ts.map +1 -1
- package/dist/commands/tools/shared/auto-sync.js +1 -0
- package/dist/commands/tools/shared/content-digest.d.ts +3 -0
- package/dist/commands/tools/shared/content-digest.d.ts.map +1 -0
- package/dist/commands/tools/shared/content-digest.js +57 -0
- package/dist/commands/tools/shared/format-pack-inventory.d.ts +3 -0
- package/dist/commands/tools/shared/format-pack-inventory.d.ts.map +1 -0
- package/dist/commands/tools/shared/format-pack-inventory.js +21 -0
- package/dist/commands/tools/shared/install-sync-context.d.ts.map +1 -1
- package/dist/commands/tools/shared/install-sync-context.js +2 -25
- package/dist/commands/tools/shared/pack-inventory.d.ts +46 -0
- package/dist/commands/tools/shared/pack-inventory.d.ts.map +1 -0
- package/dist/commands/tools/shared/pack-inventory.js +207 -0
- package/dist/commands/tools/shared/pack-lifecycle.d.ts +34 -0
- package/dist/commands/tools/shared/pack-lifecycle.d.ts.map +1 -0
- package/dist/commands/tools/shared/pack-lifecycle.js +67 -0
- package/dist/commands/tools/shared/pack-manifest.d.ts +11 -0
- package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -0
- package/dist/commands/tools/shared/pack-manifest.js +384 -0
- package/dist/commands/tools/shared/pack-paths.d.ts +21 -0
- package/dist/commands/tools/shared/pack-paths.d.ts.map +1 -0
- package/dist/commands/tools/shared/pack-paths.js +35 -0
- package/dist/commands/tools/shared/pack-reconcile.d.ts +64 -0
- package/dist/commands/tools/shared/pack-reconcile.d.ts.map +1 -0
- package/dist/commands/tools/shared/pack-reconcile.js +158 -0
- package/dist/commands/tools/shared/project-tools-config.d.ts.map +1 -1
- package/dist/commands/tools/shared/project-tools-config.js +12 -38
- package/dist/commands/tools/shared/scan-tools.js +2 -2
- package/dist/commands/tools/shared/scoped-pack-intent.d.ts +34 -0
- package/dist/commands/tools/shared/scoped-pack-intent.d.ts.map +1 -0
- package/dist/commands/tools/shared/scoped-pack-intent.js +116 -0
- package/dist/commands/tools/shared/types.d.ts +22 -0
- package/dist/commands/tools/shared/types.d.ts.map +1 -1
- package/dist/commands/tools/update/index.d.ts.map +1 -1
- package/dist/commands/tools/update/index.js +30 -5
- package/dist/commands/tools/update/update-tools.d.ts +9 -1
- package/dist/commands/tools/update/update-tools.d.ts.map +1 -1
- package/dist/commands/tools/update/update-tools.js +176 -64
- package/dist/config/oat-config.d.ts +6 -0
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +49 -20
- package/dist/fs/paths.d.ts +12 -0
- package/dist/fs/paths.d.ts.map +1 -1
- package/dist/fs/paths.js +87 -1
- package/package.json +2 -2
|
@@ -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`; `
|
|
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` |
|
|
@@ -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`; `
|
|
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` |
|
|
@@ -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`; `
|
|
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-summary
|
|
3
|
-
version: 1.
|
|
3
|
+
version: 1.5.0
|
|
4
4
|
description: Use when the user requests or confirms summarizing an active OAT project — e.g. "summarize the project", "generate the summary", "run oat-project-summary", or confirms a previously offered summary run. Do NOT auto-invoke when implementation completes. Generates summary.md from project artifacts as institutional memory.
|
|
5
5
|
disable-model-invocation: false
|
|
6
6
|
user-invocable: true
|
|
@@ -360,24 +360,36 @@ append-based `project` → `general` promotion in Step 2.5.
|
|
|
360
360
|
|
|
361
361
|
Run this step **after** `summary.md` (including its `## Key Decisions` section) has been written/refreshed and its frontmatter updated. It promotes the project's Key Decisions out of per-project prose and into the canonical, repo-wide `reference/decisions/` log so they stop being siloed in `summary.md`. This step is **additive and non-interactive** — it never prompts.
|
|
362
362
|
|
|
363
|
-
**7.1 — PJM gate (auto, no prompt).** Check
|
|
363
|
+
**7.1 — PJM capability and adoption gate (auto, no prompt).** Check capability
|
|
364
|
+
availability, then inspect repository adoption read-only:
|
|
364
365
|
|
|
365
366
|
```bash
|
|
366
367
|
PJM_ENABLED=$(oat tools has project-management 2>/dev/null || echo "")
|
|
368
|
+
PJM_ADOPTION_STATE=""
|
|
369
|
+
if [ "$PJM_ENABLED" = "true" ]; then
|
|
370
|
+
PJM_ADOPTION_STATE=$(oat pjm doctor --json 2>/dev/null | jq -r '.adoption.state // ""')
|
|
371
|
+
fi
|
|
367
372
|
```
|
|
368
373
|
|
|
369
|
-
- If `
|
|
370
|
-
|
|
374
|
+
- If `PJM_ADOPTION_STATE` is `declared` or `inferred-legacy` → perform the
|
|
375
|
+
promotion automatically. Do NOT ask the user.
|
|
376
|
+
- If capability is absent → skip this entire step silently.
|
|
377
|
+
- If adoption is `none` or `partial-initialization` → skip every PJM write and
|
|
378
|
+
report that `oat pjm init` is required before decision promotion.
|
|
379
|
+
- If capability is present but `PJM_ADOPTION_STATE` is empty or holds any value
|
|
380
|
+
other than the four documented states (`declared`, `inferred-legacy`, `none`,
|
|
381
|
+
`partial-initialization`) → treat adoption as unverified: skip every PJM
|
|
382
|
+
write, do not fall through to the promotion branch, and report that adoption
|
|
383
|
+
could not be determined (usually `jq` missing from `PATH` or a failing
|
|
384
|
+
`oat pjm doctor`).
|
|
371
385
|
|
|
372
386
|
**7.2 — Skip if nothing to promote.** If `summary.md` has no `## Key Decisions` section, or that section has no decision content, skip the step. There is nothing to promote.
|
|
373
387
|
|
|
374
|
-
**7.3 —
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
`oat decision init` is idempotent; running it when the scaffold already exists is harmless.
|
|
388
|
+
**7.3 — Verify the decisions surface exists.** The canonical decisions root is
|
|
389
|
+
`.oat/repo/reference/decisions` (the `oat decision` default; pass
|
|
390
|
+
`--decisions-root <path>` only for an explicit override). If its managed index
|
|
391
|
+
is missing, stop decision promotion and recommend `oat pjm init`. Never use
|
|
392
|
+
`oat decision init` as an alternate repository-adoption path.
|
|
381
393
|
|
|
382
394
|
**7.4 — Idempotent, date-independent promotion (critical).** For each decision in `## Key Decisions`:
|
|
383
395
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-repo-knowledge-index
|
|
3
|
-
version: 1.
|
|
3
|
+
version: 1.3.0
|
|
4
4
|
description: Use when onboarding OAT to a repository or when knowledge artifacts are stale. Generates or refreshes the codebase knowledge index using parallel mapper agents.
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
user-invocable: true
|
|
@@ -675,11 +675,14 @@ Generated from commit: {MERGE_BASE_SHA}"
|
|
|
675
675
|
Record the knowledge index run in the shared tracking manifest:
|
|
676
676
|
|
|
677
677
|
```bash
|
|
678
|
-
|
|
678
|
+
# Set SKILL_DIR to the absolute directory containing this loaded SKILL.md.
|
|
679
|
+
SCOPE_ROOT="$(cd "$SKILL_DIR/../../.." && pwd)"
|
|
680
|
+
TRACKING_SCRIPT="$SCOPE_ROOT/.oat/scripts/resolve-tracking.sh"
|
|
681
|
+
ROOT_TARGET=$(bash "$TRACKING_SCRIPT" root)
|
|
679
682
|
ROOT_HASH=$(echo "$ROOT_TARGET" | jq -r '.commitHash')
|
|
680
683
|
ROOT_BRANCH=$(echo "$ROOT_TARGET" | jq -r '.baseBranch')
|
|
681
684
|
|
|
682
|
-
bash
|
|
685
|
+
bash "$TRACKING_SCRIPT" \
|
|
683
686
|
write knowledgeIndex "$ROOT_HASH" "$ROOT_BRANCH" full \
|
|
684
687
|
--artifact-path ".oat/repo/knowledge/"
|
|
685
688
|
```
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { buildCommandContext } from '../../app/command-context.js';
|
|
2
|
+
import { resolvePjmAdoption } from '../pjm/adoption.js';
|
|
2
3
|
import { resolveAssetsRoot } from '../../fs/assets.js';
|
|
3
4
|
import { resolveProjectRoot } from '../../fs/paths.js';
|
|
4
5
|
import { Command } from 'commander';
|
|
@@ -10,6 +11,7 @@ interface BacklogCommandDependencies {
|
|
|
10
11
|
buildCommandContext: typeof buildCommandContext;
|
|
11
12
|
resolveProjectRoot: typeof resolveProjectRoot;
|
|
12
13
|
resolveAssetsRoot: typeof resolveAssetsRoot;
|
|
14
|
+
resolvePjmAdoption: typeof resolvePjmAdoption;
|
|
13
15
|
initializeBacklog: typeof initializeBacklog;
|
|
14
16
|
regenerateBacklogIndex: typeof regenerateBacklogIndex;
|
|
15
17
|
createBacklogItem: typeof createBacklogItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/backlog/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/backlog/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAuB,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AA8B5D,UAAU,0BAA0B;IAClC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAChD;AA4ED,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAClD,OAAO,CAyRT"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { access } from 'node:fs/promises';
|
|
2
2
|
import { join, resolve } from 'node:path';
|
|
3
3
|
import { buildCommandContext } from '../../app/command-context.js';
|
|
4
|
+
import { resolvePjmAdoption } from '../pjm/adoption.js';
|
|
4
5
|
import { readGlobalOptions } from '../shared/shared.utils.js';
|
|
6
|
+
import { CliError } from '../../errors/index.js';
|
|
5
7
|
import { resolveAssetsRoot } from '../../fs/assets.js';
|
|
6
8
|
import { resolveProjectRoot } from '../../fs/paths.js';
|
|
7
9
|
import { Command } from 'commander';
|
|
@@ -29,19 +31,42 @@ const DEFAULT_DEPENDENCIES = {
|
|
|
29
31
|
buildCommandContext,
|
|
30
32
|
resolveProjectRoot,
|
|
31
33
|
resolveAssetsRoot,
|
|
34
|
+
resolvePjmAdoption,
|
|
32
35
|
initializeBacklog,
|
|
33
36
|
regenerateBacklogIndex,
|
|
34
37
|
createBacklogItem,
|
|
35
38
|
archiveBacklogItem,
|
|
36
39
|
pathExists: pathExistsDefault,
|
|
37
40
|
};
|
|
38
|
-
async function resolveBacklogRoot(context, configuredRoot, dependencies = DEFAULT_DEPENDENCIES) {
|
|
41
|
+
async function resolveBacklogRoot(context, configuredRoot, dependencies = DEFAULT_DEPENDENCIES, resolvedProjectRoot) {
|
|
39
42
|
if (configuredRoot) {
|
|
40
43
|
return resolve(context.cwd, configuredRoot);
|
|
41
44
|
}
|
|
42
|
-
const projectRoot = await dependencies.resolveProjectRoot(context.cwd);
|
|
45
|
+
const projectRoot = resolvedProjectRoot ?? (await dependencies.resolveProjectRoot(context.cwd));
|
|
43
46
|
return resolve(projectRoot, '.oat', 'repo', 'pjm', 'backlog');
|
|
44
47
|
}
|
|
48
|
+
async function requireRepositoryPjm(context, dependencies) {
|
|
49
|
+
const projectRoot = await dependencies.resolveProjectRoot(context.cwd);
|
|
50
|
+
const repoRoot = resolve(projectRoot, '.oat', 'repo');
|
|
51
|
+
const adoption = await dependencies.resolvePjmAdoption({
|
|
52
|
+
projectRoot,
|
|
53
|
+
repoRoot,
|
|
54
|
+
});
|
|
55
|
+
if (adoption.state !== 'declared' && adoption.state !== 'inferred-legacy') {
|
|
56
|
+
throw new CliError(`PJM is not initialized for repository ${repoRoot}. Run \`oat pjm init\` before writing PJM state.`, 1);
|
|
57
|
+
}
|
|
58
|
+
return projectRoot;
|
|
59
|
+
}
|
|
60
|
+
function reportError(context, error) {
|
|
61
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
62
|
+
if (context.json) {
|
|
63
|
+
context.logger.json({ status: 'error', message });
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
context.logger.error(message);
|
|
67
|
+
}
|
|
68
|
+
process.exitCode = 1;
|
|
69
|
+
}
|
|
45
70
|
export function createBacklogCommand(overrides = {}) {
|
|
46
71
|
const dependencies = {
|
|
47
72
|
...DEFAULT_DEPENDENCIES,
|
|
@@ -54,15 +79,21 @@ export function createBacklogCommand(overrides = {}) {
|
|
|
54
79
|
.option('--backlog-root <path>', 'Backlog root directory (defaults to .oat/repo/pjm/backlog)')
|
|
55
80
|
.action(async (options, command) => {
|
|
56
81
|
const context = dependencies.buildCommandContext(readGlobalOptions(command));
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
82
|
+
try {
|
|
83
|
+
const projectRoot = await requireRepositoryPjm(context, dependencies);
|
|
84
|
+
const backlogRoot = await resolveBacklogRoot(context, options.backlogRoot, dependencies, projectRoot);
|
|
85
|
+
await dependencies.initializeBacklog(backlogRoot);
|
|
86
|
+
if (context.json) {
|
|
87
|
+
context.logger.json({ status: 'ok', backlogRoot });
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
context.logger.info(`Initialized backlog scaffold at ${backlogRoot}`);
|
|
91
|
+
}
|
|
92
|
+
process.exitCode = 0;
|
|
61
93
|
}
|
|
62
|
-
|
|
63
|
-
context
|
|
94
|
+
catch (error) {
|
|
95
|
+
reportError(context, error);
|
|
64
96
|
}
|
|
65
|
-
process.exitCode = 0;
|
|
66
97
|
});
|
|
67
98
|
cmd
|
|
68
99
|
.command('new')
|
|
@@ -77,13 +108,14 @@ export function createBacklogCommand(overrides = {}) {
|
|
|
77
108
|
.action(async (title, options, command) => {
|
|
78
109
|
const context = dependencies.buildCommandContext(readGlobalOptions(command));
|
|
79
110
|
try {
|
|
80
|
-
const projectRoot = await
|
|
81
|
-
const backlogRoot = await resolveBacklogRoot(context, options.backlogRoot, dependencies);
|
|
111
|
+
const projectRoot = await requireRepositoryPjm(context, dependencies);
|
|
112
|
+
const backlogRoot = await resolveBacklogRoot(context, options.backlogRoot, dependencies, projectRoot);
|
|
82
113
|
const assetsRoot = await dependencies.resolveAssetsRoot();
|
|
83
114
|
const result = await dependencies.createBacklogItem({
|
|
84
115
|
backlogRoot,
|
|
85
116
|
assetsRoot,
|
|
86
117
|
templatesRoot: resolve(projectRoot, '.oat', 'templates'),
|
|
118
|
+
home: context.home,
|
|
87
119
|
title,
|
|
88
120
|
priority: options.priority,
|
|
89
121
|
scope: options.scope,
|
|
@@ -121,18 +153,29 @@ export function createBacklogCommand(overrides = {}) {
|
|
|
121
153
|
.option('--backlog-root <path>', 'Backlog root directory (defaults to .oat/repo/pjm/backlog)')
|
|
122
154
|
.action(async (options, command) => {
|
|
123
155
|
const context = dependencies.buildCommandContext(readGlobalOptions(command));
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
156
|
+
try {
|
|
157
|
+
const projectRoot = await requireRepositoryPjm(context, dependencies);
|
|
158
|
+
const backlogRoot = await resolveBacklogRoot(context, options.backlogRoot, dependencies, projectRoot);
|
|
159
|
+
const { itemCount, warnings } = await dependencies.regenerateBacklogIndex(backlogRoot);
|
|
160
|
+
if (context.json) {
|
|
161
|
+
context.logger.json({
|
|
162
|
+
status: 'ok',
|
|
163
|
+
backlogRoot,
|
|
164
|
+
itemCount,
|
|
165
|
+
warnings,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
for (const warning of warnings) {
|
|
170
|
+
context.logger.warn(warning);
|
|
171
|
+
}
|
|
172
|
+
context.logger.info(`Regenerated backlog index at ${backlogRoot}`);
|
|
132
173
|
}
|
|
133
|
-
|
|
174
|
+
process.exitCode = 0;
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
reportError(context, error);
|
|
134
178
|
}
|
|
135
|
-
process.exitCode = 0;
|
|
136
179
|
});
|
|
137
180
|
cmd
|
|
138
181
|
.command('archive')
|
|
@@ -143,8 +186,9 @@ export function createBacklogCommand(overrides = {}) {
|
|
|
143
186
|
.option('--backlog-root <path>', 'Backlog root directory (defaults to .oat/repo/pjm/backlog)')
|
|
144
187
|
.action(async (id, options, command) => {
|
|
145
188
|
const context = dependencies.buildCommandContext(readGlobalOptions(command));
|
|
146
|
-
const backlogRoot = await resolveBacklogRoot(context, options.backlogRoot, dependencies);
|
|
147
189
|
try {
|
|
190
|
+
const projectRoot = await requireRepositoryPjm(context, dependencies);
|
|
191
|
+
const backlogRoot = await resolveBacklogRoot(context, options.backlogRoot, dependencies, projectRoot);
|
|
148
192
|
const result = await dependencies.archiveBacklogItem(backlogRoot, id, {
|
|
149
193
|
wontDo: options.wontDo,
|
|
150
194
|
summary: options.summary,
|
|
@@ -180,7 +224,7 @@ export function createBacklogCommand(overrides = {}) {
|
|
|
180
224
|
process.exitCode = error.exitCode;
|
|
181
225
|
return;
|
|
182
226
|
}
|
|
183
|
-
|
|
227
|
+
reportError(context, error);
|
|
184
228
|
}
|
|
185
229
|
});
|
|
186
230
|
cmd
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { type PjmTemplateTier } from '../pjm/template-source.js';
|
|
1
2
|
import { initializeBacklog } from './init.js';
|
|
2
3
|
import { regenerateBacklogIndex, type RegenerateBacklogIndexResult } from './regenerate-index.js';
|
|
3
4
|
export interface CreateBacklogItemOptions {
|
|
4
5
|
backlogRoot: string;
|
|
5
6
|
assetsRoot: string;
|
|
6
7
|
templatesRoot?: string;
|
|
8
|
+
home?: string;
|
|
7
9
|
title: string;
|
|
8
10
|
priority?: string;
|
|
9
11
|
scope?: string;
|
|
@@ -17,6 +19,7 @@ export interface CreateBacklogItemResult {
|
|
|
17
19
|
backlogRoot: string;
|
|
18
20
|
filePath: string;
|
|
19
21
|
templatePath: string;
|
|
22
|
+
templateTier: PjmTemplateTier;
|
|
20
23
|
index: RegenerateBacklogIndexResult;
|
|
21
24
|
}
|
|
22
25
|
export interface CreateBacklogItemDependencies {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/commands/backlog/new.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/commands/backlog/new.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,EAClC,MAAM,oBAAoB,CAAC;AAS5B,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,eAAe,CAAC;IAC9B,KAAK,EAAE,4BAA4B,CAAC;CACrC;AAED,MAAM,WAAW,6BAA6B;IAC5C,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;CACvD;AA2JD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,EACjC,SAAS,GAAE,OAAO,CAAC,6BAA6B,CAAM,GACrD,OAAO,CAAC,uBAAuB,CAAC,CAwDlC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { access, readFile, rm, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
+
import { resolvePjmTemplate, } from '../pjm/template-source.js';
|
|
3
4
|
import { stripTemplateFrontmatter } from '../shared/strip-template-frontmatter.js';
|
|
4
5
|
import YAML from 'yaml';
|
|
5
6
|
import { initializeBacklog } from './init.js';
|
|
@@ -28,26 +29,6 @@ async function pathExists(path) {
|
|
|
28
29
|
return false;
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
async function resolveBacklogTemplate(assetsRoot, templatesRoot) {
|
|
32
|
-
const candidates = [
|
|
33
|
-
...(templatesRoot ? [join(templatesRoot, 'backlog-item.md')] : []),
|
|
34
|
-
join(assetsRoot, 'templates', 'backlog-item.md'),
|
|
35
|
-
];
|
|
36
|
-
for (const path of candidates) {
|
|
37
|
-
try {
|
|
38
|
-
return { content: await readFile(path, 'utf8'), path };
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
const code = error && typeof error === 'object' && 'code' in error
|
|
42
|
-
? String(error.code)
|
|
43
|
-
: null;
|
|
44
|
-
if (code !== 'ENOENT') {
|
|
45
|
-
throw error;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
throw new Error('Template backlog-item.md was not found in repo-local templates or bundled assets.');
|
|
50
|
-
}
|
|
51
32
|
function normalizeChoice(field, value, fallback, allowed, transform) {
|
|
52
33
|
const normalized = transform(value ?? fallback);
|
|
53
34
|
if (!allowed.includes(normalized)) {
|
|
@@ -123,7 +104,12 @@ export async function createBacklogItem(options, overrides = {}) {
|
|
|
123
104
|
if ((await pathExists(filePath)) || (await pathExists(archivedPath))) {
|
|
124
105
|
throw new Error(`Backlog item ${id} already exists. Use a more specific title to disambiguate.`);
|
|
125
106
|
}
|
|
126
|
-
const template = await
|
|
107
|
+
const template = await resolvePjmTemplate({
|
|
108
|
+
name: 'backlog-item.md',
|
|
109
|
+
assetsRoot: options.assetsRoot,
|
|
110
|
+
templatesRoot: options.templatesRoot,
|
|
111
|
+
home: options.home,
|
|
112
|
+
});
|
|
127
113
|
const content = renderBacklogItem(template.content, { id, ...values });
|
|
128
114
|
await dependencies.initializeBacklog(options.backlogRoot);
|
|
129
115
|
const indexPath = join(options.backlogRoot, 'index.md');
|
|
@@ -153,6 +139,7 @@ export async function createBacklogItem(options, overrides = {}) {
|
|
|
153
139
|
backlogRoot: options.backlogRoot,
|
|
154
140
|
filePath,
|
|
155
141
|
templatePath: template.path,
|
|
142
|
+
templateTier: template.tier,
|
|
156
143
|
index,
|
|
157
144
|
};
|
|
158
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-guidance.d.ts","sourceRoot":"","sources":["../../../src/commands/decision/agents-guidance.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,2BAA2B,cAAc,CAAC;AAwBvD,wBAAgB,8BAA8B,CAC5C,aAAa,SAAyB,GACrC,MAAM,
|
|
1
|
+
{"version":3,"file":"agents-guidance.d.ts","sourceRoot":"","sources":["../../../src/commands/decision/agents-guidance.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,2BAA2B,cAAc,CAAC;AAwBvD,wBAAgB,8BAA8B,CAC5C,aAAa,SAAyB,GACrC,MAAM,CAWR;AAED,wBAAgB,oCAAoC,IAAI,MAAM,CAU7D;AAED,MAAM,WAAW,uCAAuC;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;CACvC;AAED,wBAAsB,sCAAsC,CAC1D,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,uCAAuC,GAC/C,OAAO,CAAC,4BAA4B,CAAC,CAgBvC"}
|
|
@@ -23,7 +23,8 @@ export function buildDecisionAgentsSectionBody(decisionsPath = DEFAULT_DECISIONS
|
|
|
23
23
|
`- Before finalizing a durable repository decision, review \`${decisionsPath}/index.md\` and any relevant records.`,
|
|
24
24
|
'- When the user asks to record a durable decision or confirms a proposed capture, use `oat-pjm-decision` when that skill is installed; otherwise use `oat decision new`.',
|
|
25
25
|
'- Do not hand-edit the generated decision index; run `oat decision regenerate-index` after record changes or to resolve index conflicts.',
|
|
26
|
-
'-
|
|
26
|
+
'- Run `oat pjm doctor --json` and inspect `adoption.state` before any decision write.',
|
|
27
|
+
'- If the decision surface is missing, repository adoption is absent or partial; stop and initialize it with `oat pjm init`.',
|
|
27
28
|
].join('\n');
|
|
28
29
|
}
|
|
29
30
|
export function buildScopedDecisionAgentsSectionBody() {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { buildCommandContext } from '../../app/command-context.js';
|
|
2
|
+
import { resolvePjmAdoption } from '../pjm/adoption.js';
|
|
2
3
|
import { resolveAssetsRoot } from '../../fs/assets.js';
|
|
3
4
|
import { resolveProjectRoot } from '../../fs/paths.js';
|
|
4
5
|
import { Command } from 'commander';
|
|
@@ -11,6 +12,7 @@ interface DecisionCommandDependencies {
|
|
|
11
12
|
buildCommandContext: typeof buildCommandContext;
|
|
12
13
|
resolveProjectRoot: typeof resolveProjectRoot;
|
|
13
14
|
resolveAssetsRoot: typeof resolveAssetsRoot;
|
|
15
|
+
resolvePjmAdoption: typeof resolvePjmAdoption;
|
|
14
16
|
initializeDecisionAgentsGuidance: typeof initializeDecisionAgentsGuidance;
|
|
15
17
|
initializeDecisionRecords: typeof initializeDecisionRecords;
|
|
16
18
|
regenerateDecisionIndex: typeof regenerateDecisionIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/decision/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/decision/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAyB7D,UAAU,2BAA2B;IACnC,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;IAChD,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,gCAAgC,EAAE,OAAO,gCAAgC,CAAC;IAC1E,yBAAyB,EAAE,OAAO,yBAAyB,CAAC;IAC5D,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;CACvD;AAmED,wBAAgB,qBAAqB,CACnC,SAAS,GAAE,OAAO,CAAC,2BAA2B,CAAM,GACnD,OAAO,CAqNT"}
|