@open-agent-toolkit/cli 0.2.36 → 0.2.37
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
|
@@ -9,6 +9,18 @@ The file-backed backlog under `.oat/repo/pjm/backlog/` tracks work as one Markdo
|
|
|
9
9
|
|
|
10
10
|
For the flag-by-flag command reference, see [`oat backlog archive`](config-and-local-state.md#oat-backlog-archive). For the two-layer PJM surface that hosts the backlog, see [Tool Packs](tool-packs.md#install-vs-initialize).
|
|
11
11
|
|
|
12
|
+
## Adoption comes first
|
|
13
|
+
|
|
14
|
+
`oat backlog` mutations require this repository to have adopted PJM. Installing
|
|
15
|
+
the `project-management` pack makes the capability available — including at user
|
|
16
|
+
scope, which is the default — but it does not adopt PJM for a repository, and
|
|
17
|
+
`oat backlog init` is not an alternate adoption path.
|
|
18
|
+
|
|
19
|
+
Run `oat pjm init` once per repository. Until adoption is recorded, backlog
|
|
20
|
+
mutations write nothing and return an error naming the repository path and
|
|
21
|
+
`oat pjm init` as the recovery. Check the current state with
|
|
22
|
+
`oat pjm doctor --json` and read its `adoption.state` field.
|
|
23
|
+
|
|
12
24
|
## Where a backlog item lives
|
|
13
25
|
|
|
14
26
|
- **`items/<id>.md`** - active, file-backed records. Each carries frontmatter with a `status` and an `updated` timestamp.
|
|
@@ -58,4 +70,10 @@ The manual close-out this command replaces is exactly where the two motivating r
|
|
|
58
70
|
- **`pjm:backlog_completed_unarchived`** (warn) - `completed.md` references an item whose file still lives in `items/`.
|
|
59
71
|
- **`pjm:backlog_duplicate_id`** (fail) - the same `<id>.md` exists in both `items/` and `archived/`. `oat backlog archive` refuses to auto-resolve this (it would clobber the archived record), so the duplicate must be reconciled by hand.
|
|
60
72
|
|
|
73
|
+
These backlog checks run once the repository is adopted. `oat doctor` keys the
|
|
74
|
+
`pjm:*` family on repository adoption state rather than on
|
|
75
|
+
`tools.project-management`, so a repository whose PJM capability lives at user
|
|
76
|
+
scope still gets full backlog diagnostics. An unadopted repository reports
|
|
77
|
+
`pjm:adoption` with the `oat pjm init` recovery instead of backlog drift.
|
|
78
|
+
|
|
61
79
|
Doctor reports drift; it never auto-fixes. A human or agent runs `oat backlog archive` (or corrects the status) and re-runs doctor to confirm the backlog is clean again.
|
|
@@ -29,6 +29,7 @@ Key behavior:
|
|
|
29
29
|
- Interactive adoption in TTY mode
|
|
30
30
|
- JSON/non-TTY contract support
|
|
31
31
|
- Establishes the base structure used by `oat status`, `oat sync`, `oat init tools`, and `oat doctor`
|
|
32
|
+
- Pack intent recorded during guided setup is scoped: a project-scope install writes `tools.<pack>: true` to `.oat/config.json`, a user-scope install writes it to `~/.oat/config.json`, and neither writes the other
|
|
32
33
|
- For project scope, creates canonical `.agents/skills/`, `.agents/agents/`, and `.agents/rules/` directories
|
|
33
34
|
|
|
34
35
|
### Guided setup
|
|
@@ -43,9 +44,10 @@ After core initialization completes, `oat init` can enter an interactive guided
|
|
|
43
44
|
**Steps (each independently skippable):**
|
|
44
45
|
|
|
45
46
|
1. **Tool packs** — install OAT tool packs. The core pack (diagnostics, passive docs access) is checked by default and always installs at user scope. Guided setup asks whether to customize per-pack scope:
|
|
46
|
-
- choose **Yes** to run the per-pack scope selector for
|
|
47
|
+
- choose **Yes** to run the per-pack scope selector for every pack that allows both scopes (`ideas`, `docs`, `workflows`, `utility`, `project-management`, `research`, `brainstorm`)
|
|
47
48
|
- choose **No** to apply additive per-pack defaults without extra scope prompts
|
|
48
|
-
-
|
|
49
|
+
- on a fresh install every pack defaults to **user** scope, so capabilities follow you across repositories; an existing install keeps its current placement
|
|
50
|
+
- installing `project-management` installs the capability only. Adopting it for this repository is a separate, explicit `oat pjm init` step — see [Install vs. initialize](tool-packs.md#install-vs-initialize)
|
|
49
51
|
2. **Local paths** — multi-select from default gitignored artifact paths (analysis, PR, reviews, ideas). Pre-existing paths are pre-checked; only new paths are added.
|
|
50
52
|
3. **Documentation** — detect or enter docs metadata for the repo when documentation exists.
|
|
51
53
|
4. **Provider sync** — sync provider project views via `oat sync --scope project`.
|
|
@@ -68,6 +70,7 @@ oat init --scope project
|
|
|
68
70
|
|
|
69
71
|
Related commands:
|
|
70
72
|
|
|
71
|
-
- `oat tools ...` (tool-pack install, update, remove, list, info): `tool-packs.md`
|
|
73
|
+
- `oat tools ...` (tool-pack install, update, remove, migrate, list, info): `tool-packs.md`
|
|
74
|
+
- `oat pjm init` (adopt project management for this repository): `tool-packs.md#install-vs-initialize`
|
|
72
75
|
- `oat local ...`, `oat doctor`, and other utility commands: `config-and-local-state.md`
|
|
73
76
|
- `oat status` / `oat sync` (provider sync): `../provider-sync/index.md`
|
|
@@ -94,7 +94,7 @@ Pass `--context`, `--decision`, and `--consequences` together when creating a re
|
|
|
94
94
|
|
|
95
95
|
The decision index uses managed marker pairs and is deterministic, so an index merge conflict can be resolved by re-running `oat decision regenerate-index` and staging the result. Decision records replace the legacy single `decision-record.md`; repos still on the old layout migrate with `oat decision migrate` (or the broader `oat pjm migrate`).
|
|
96
96
|
|
|
97
|
-
`oat decision init` is the lightweight standalone setup path. It does not require the `project-management` tool pack and does not create current state, roadmap, or backlog artifacts. Its AGENTS guidance uses `oat decision` directly while also recognizing `oat-pjm-decision` when that optional skill is installed later.
|
|
97
|
+
`oat decision init` is the lightweight standalone setup path. It does not require the `project-management` tool pack and does not create current state, roadmap, or backlog artifacts. It is also not an alternate adoption path for the broader PJM surface: repository PJM mutations still require `oat pjm init`, and `oat decision` mutations fail closed with that recovery when the repository has not adopted PJM. Its AGENTS guidance uses `oat decision` directly while also recognizing `oat-pjm-decision` when that optional skill is installed later.
|
|
98
98
|
|
|
99
99
|
## `oat local ...`
|
|
100
100
|
|
|
@@ -165,7 +165,7 @@ Archive lifecycle settings live here as shared repo config:
|
|
|
165
165
|
|
|
166
166
|
`archive.awsProfile` and `archive.awsRegion` are forwarded as `AWS_PROFILE` / `AWS_REGION` env vars into every `aws` spawn that runs during `oat-project-complete` and `oat repo archive sync`, and they override any values already set in the parent shell — the repo's archive-scoped declaration wins so users don't have to remember to unset `AWS_PROFILE` per shell. The per-invocation `oat repo archive sync --profile <profile>` and `--region <region>` flags then override the config for a single run, giving precedence `flag > config > shell env`. When neither flag nor config is set, the parent shell's `AWS_PROFILE` / `AWS_REGION` pass through unchanged. Raw access keys (`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`) remain a shell-environment concern — there is no config plumbing for them.
|
|
167
167
|
|
|
168
|
-
|
|
168
|
+
Project-scope tool-pack intent also lives here as shared repo config:
|
|
169
169
|
|
|
170
170
|
- `tools.core`
|
|
171
171
|
- `tools.brainstorm`
|
|
@@ -176,19 +176,33 @@ Tool-pack installation state also lives here as shared repo config:
|
|
|
176
176
|
- `tools.utility`
|
|
177
177
|
- `tools.workflows`
|
|
178
178
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
179
|
+
These keys record **project-scope intent only**, and only for packs actually
|
|
180
|
+
installed at project scope. Intent is true-or-absent: a lifecycle mutation
|
|
181
|
+
writes `true` for the scope it changed and deletes the key on removal. It never
|
|
182
|
+
writes `false`, never derives one pack's key from another's, and never writes
|
|
183
|
+
the full eight-pack map. A user-scope install records the same shape under
|
|
184
|
+
`~/.oat/config.json` instead. Use `oat config get tools.<pack>` to inspect
|
|
185
|
+
declared project intent.
|
|
186
|
+
|
|
187
|
+
Declared intent is not the same as what is installed. Use `oat tools list`,
|
|
188
|
+
`oat tools info <name>`, `oat status`, or `oat doctor` to see observed
|
|
189
|
+
inventory — placement, completeness, missing managed assets, and drift.
|
|
183
190
|
|
|
184
191
|
For workflow routing or troubleshooting that needs current effective
|
|
185
192
|
availability, run `oat tools has <pack>`. It checks project plus user scope by
|
|
186
|
-
default; use `--scope project` or `--scope user` to isolate one scope.
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
193
|
+
default; use `--scope project` or `--scope user` to isolate one scope. A scope
|
|
194
|
+
counts only when the pack is **complete** there. The global `--json` flag
|
|
195
|
+
returns the matching scopes plus per-scope completeness and the missing assets
|
|
196
|
+
behind a `false`.
|
|
197
|
+
|
|
198
|
+
Repository PJM adoption is tracked separately from pack intent, under
|
|
199
|
+
`pjm.initialized` and `pjm.schemaVersion` in `.oat/config.json`. PJM
|
|
200
|
+
diagnostics key on that adoption state, not on `tools.project-management`, so a
|
|
201
|
+
repository whose PJM capability lives at user scope is still diagnosed
|
|
202
|
+
correctly. A repository that never adopted PJM reports adoption state `none`
|
|
203
|
+
with `oat pjm init` as the recovery instead of treating absent
|
|
204
|
+
`.oat/repo/pjm/` files as drift. See
|
|
205
|
+
[Install vs. initialize](tool-packs.md#install-vs-initialize).
|
|
192
206
|
|
|
193
207
|
Workflow automation preferences are also visible through `oat config` and can be set at local, shared, or user scope. Notable review-loop keys:
|
|
194
208
|
|
|
@@ -87,33 +87,42 @@ Common keys in `.oat/config.json`:
|
|
|
87
87
|
- `archive.wrapUpExportPath` — optional tracked destination for `oat-wrap-up` reports; when unset, the skill falls back to `.oat/repo/reference/wrap-ups`
|
|
88
88
|
- `archive.awsProfile` — optional AWS named profile forwarded as `AWS_PROFILE` to every `aws` invocation in archive flows
|
|
89
89
|
- `archive.awsRegion` — optional AWS region forwarded as `AWS_REGION` to every `aws` invocation in archive flows
|
|
90
|
-
- `tools.<pack>` — project-
|
|
90
|
+
- `tools.<pack>` — project-scope intent for a bundled tool pack (`true` or absent)
|
|
91
|
+
- `pjm.initialized` / `pjm.schemaVersion` — explicit repository PJM adoption written by `oat pjm init`
|
|
91
92
|
- `workflow.gates.skills` / `workflow.gates.execTargets` — per-skill gates and cross-runtime exec targets; manage with `oat gate`
|
|
92
93
|
- `workflow.gateTimeouts.code` / `workflow.gateTimeouts.artifact` — default review budgets in milliseconds
|
|
93
94
|
|
|
94
|
-
Tool-pack
|
|
95
|
+
Tool-pack intent example:
|
|
95
96
|
|
|
96
97
|
```bash
|
|
97
98
|
oat config get tools.project-management
|
|
98
99
|
oat config set tools.project-management true
|
|
99
100
|
```
|
|
100
101
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
preserving unrelated shared keys. User-only assets are ignored.
|
|
102
|
+
`tools.*` records **declared intent per scope**, not effective project-plus-user
|
|
103
|
+
capability. Project intent lives in `.oat/config.json`; user intent lives in the
|
|
104
|
+
same key shape under `~/.oat/config.json`. `oat tools install`, `oat tools
|
|
105
|
+
update`, `oat tools remove`, and `oat tools migrate` write only the scope they
|
|
106
|
+
changed.
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
Intent is true-or-absent. Installing writes `true`; removing deletes the key.
|
|
109
|
+
OAT never writes `false`, never infers one pack's key from another's, and never
|
|
110
|
+
writes a full eight-pack map. A legacy `false` left over from an older release
|
|
111
|
+
is diagnosed as a `legacy-false-conflict` rather than honored as an opt-out.
|
|
112
|
+
|
|
113
|
+
Use `oat config get tools.<pack>` to inspect declared intent.
|
|
109
114
|
`oat config set tools.<pack> ...` remains available as a shared override, but a
|
|
110
|
-
later lifecycle
|
|
111
|
-
|
|
115
|
+
later lifecycle mutation for that scope may replace the manual value.
|
|
116
|
+
|
|
117
|
+
Declared intent is not the same as installed inventory. Use `oat tools list`,
|
|
118
|
+
`oat tools info <name>`, `oat status`, or `oat doctor` to see what is actually
|
|
119
|
+
present, what is missing, and which scoped command repairs it.
|
|
112
120
|
|
|
113
121
|
Use `oat tools has <pack>` for current effective availability. It checks project
|
|
114
122
|
and user scopes by default; add `--scope project` or `--scope user` to isolate a
|
|
115
|
-
scope
|
|
116
|
-
|
|
123
|
+
scope. Availability is complete-only — a partially installed pack reports
|
|
124
|
+
`false`. The global `--json` flag returns `pack`, `available`, `scopes`,
|
|
125
|
+
`unavailableScopes`, per-scope `completeness`, and the `missing` managed assets:
|
|
117
126
|
|
|
118
127
|
```bash
|
|
119
128
|
oat tools has project-management
|
|
@@ -121,6 +130,20 @@ oat tools has project-management --scope user
|
|
|
121
130
|
oat --json tools has project-management
|
|
122
131
|
```
|
|
123
132
|
|
|
133
|
+
Repository PJM adoption example:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
oat config get pjm.initialized
|
|
137
|
+
oat pjm doctor --json
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
`pjm.initialized` is written by `oat pjm init` after the canonical scaffold is
|
|
141
|
+
verified. It is the authoritative repository adoption marker: PJM, backlog, and
|
|
142
|
+
decision mutations fail closed without it, and `oat doctor` keys its `pjm:*`
|
|
143
|
+
checks on adoption state rather than on `tools.project-management`. See
|
|
144
|
+
[Install vs. initialize](tool-packs.md#install-vs-initialize) for the full state
|
|
145
|
+
table and template precedence.
|
|
146
|
+
|
|
124
147
|
### Explainer configuration
|
|
125
148
|
|
|
126
149
|
The `oat-explainer-kit` adapter owns two typed config groups. Build and publish
|