@open-agent-toolkit/cli 0.3.9 → 0.3.11
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/README.md +2 -1
- package/assets/bundle-metadata.json +1 -1
- package/assets/config/dispatch-matrix-recommendation.json +6 -6
- package/assets/docs/cli-utilities/configuration.md +12 -8
- package/assets/docs/cli-utilities/meta.json +13 -0
- package/assets/docs/cli-utilities/tool-packs.md +8 -2
- package/assets/docs/cli-utilities/workflow-gates.md +14 -1
- package/assets/docs/contributing/code.md +8 -2
- package/assets/docs/contributing/documentation.md +7 -1
- package/assets/docs/contributing/meta.json +15 -0
- package/assets/docs/contributing/updating-model-guidance.md +34 -6
- package/assets/docs/contributing/verifying-cursor-pins.md +38 -9
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +14 -5
- package/assets/docs/docs-tooling/commands.md +26 -8
- package/assets/docs/docs-tooling/meta.json +4 -0
- package/assets/docs/docs-tooling/workflows.md +2 -2
- package/assets/docs/guide/meta.json +4 -0
- package/assets/docs/meta.json +14 -0
- package/assets/docs/provider-sync/instruction-sync.md +8 -0
- package/assets/docs/provider-sync/meta.json +11 -0
- package/assets/docs/provider-sync/providers.md +4 -4
- package/assets/docs/provider-sync/scope-and-surface.md +3 -4
- package/assets/docs/reference/cli-reference.md +5 -2
- package/assets/docs/reference/docs-index-contract.md +22 -6
- package/assets/docs/reference/file-locations.md +7 -2
- package/assets/docs/reference/index.md +1 -1
- package/assets/docs/reference/meta.json +10 -0
- package/assets/docs/reference/troubleshooting.md +41 -6
- package/assets/docs/workflows/ideas/meta.json +4 -0
- package/assets/docs/workflows/meta.json +4 -0
- package/assets/docs/workflows/projects/cursor-cloud.md +8 -3
- package/assets/docs/workflows/projects/dispatch-ceiling.md +21 -14
- package/assets/docs/workflows/projects/evidence-layers.md +6 -8
- package/assets/docs/workflows/projects/implementation-execution.md +34 -5
- package/assets/docs/workflows/projects/lifecycle.md +7 -1
- package/assets/docs/workflows/projects/meta.json +25 -0
- package/assets/docs/workflows/projects/orchestration-model.md +5 -6
- package/assets/docs/workflows/skills/meta.json +10 -0
- package/assets/docs/workflows/skills/recon.md +28 -3
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-cursor-cloud-projects/SKILL.md +30 -16
- package/assets/skills/oat-dispatch-subagents/SKILL.md +4 -12
- package/assets/skills/oat-dispatch-subagents/references/managed-claude-example.json +1 -1
- package/assets/skills/oat-dispatch-subagents/references/provider-codex.md +51 -0
- package/assets/skills/oat-dispatch-subagents/references/provider-cursor.md +5 -2
- package/assets/skills/oat-dispatch-subagents/references/record-schema.md +8 -7
- package/assets/skills/oat-docs-analyze/SKILL.md +28 -3
- package/assets/skills/oat-docs-apply/SKILL.md +3 -3
- package/assets/skills/oat-docs-authoring/SKILL.md +1 -1
- package/assets/skills/oat-docs-authoring/references/oat-fumadocs-contract.md +5 -2
- package/assets/skills/oat-docs-bootstrap/SKILL.md +4 -3
- package/assets/skills/oat-docs-bootstrap/assets/AGENTS.md.template +3 -3
- package/assets/skills/oat-pjm-decision/SKILL.md +3 -2
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +4 -4
- package/assets/skills/oat-project-complete/SKILL.md +47 -2
- package/assets/skills/oat-project-design/SKILL.md +10 -6
- package/assets/skills/oat-project-discover/SKILL.md +3 -3
- package/assets/skills/oat-project-dispatch-subagents/SKILL.md +3 -10
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-implement/SKILL.md +1 -1
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +135 -3
- package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +8 -10
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +1 -1
- package/assets/skills/oat-project-import-plan/SKILL.md +3 -3
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-new/SKILL.md +3 -3
- package/assets/skills/oat-project-next/SKILL.md +50 -7
- package/assets/skills/oat-project-plan/SKILL.md +4 -4
- package/assets/skills/oat-project-plan-writing/SKILL.md +4 -4
- package/assets/skills/oat-project-pr-final/SKILL.md +11 -1
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-promote-spec-driven/SKILL.md +2 -2
- package/assets/skills/oat-project-quick-start/SKILL.md +12 -8
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +4 -4
- package/assets/skills/oat-project-retro/SKILL.md +6 -3
- package/assets/skills/oat-project-review-provide/SKILL.md +2 -2
- package/assets/skills/oat-project-review-provide-remote/SKILL.md +2 -2
- package/assets/skills/oat-project-spec/SKILL.md +3 -3
- package/assets/skills/oat-project-summary/SKILL.md +22 -3
- package/assets/skills/oat-repo-improve/SKILL.md +2 -2
- package/assets/skills/recon/SKILL.md +24 -3
- package/assets/skills/recon/references/packet-contract.md +36 -6
- package/assets/skills/recon/references/profiles.md +3 -0
- package/assets/skills/recon/references/worker-contract.md +16 -3
- package/assets/skills/recon/scripts/create-review-brief.mjs +17 -86
- package/assets/skills/recon/scripts/lib/contracts.mjs +158 -41
- package/assets/skills/recon/scripts/lib/review-binding.mjs +123 -0
- package/assets/skills/recon/scripts/lib/routing.mjs +5 -2
- package/assets/skills/recon/scripts/reconcile-ledger.mjs +18 -7
- package/assets/skills/recon/scripts/render-packet.mjs +93 -1
- package/assets/skills/recon/scripts/validate-packet.mjs +119 -88
- package/assets/skills/subagent-orchestration/SKILL.md +1 -1
- package/assets/skills/subagent-orchestration/references/evidence-and-refresh.md +20 -8
- package/assets/skills/subagent-orchestration/references/provider-claude.md +25 -12
- package/assets/skills/subagent-orchestration/references/provider-codex.md +27 -18
- package/assets/skills/subagent-orchestration/references/provider-cursor.md +40 -10
- package/assets/templates/state.md +1 -0
- package/dist/commands/backlog/new.d.ts +2 -2
- package/dist/commands/backlog/new.d.ts.map +1 -1
- package/dist/commands/backlog/new.js +2 -2
- package/dist/commands/decision/new.d.ts +2 -2
- package/dist/commands/decision/new.d.ts.map +1 -1
- package/dist/commands/decision/new.js +2 -2
- package/dist/commands/docs/nav/contents.d.ts +9 -0
- package/dist/commands/docs/nav/contents.d.ts.map +1 -1
- package/dist/commands/docs/nav/contents.js +7 -2
- package/dist/commands/docs/nav/fumadocs.d.ts +51 -0
- package/dist/commands/docs/nav/fumadocs.d.ts.map +1 -0
- package/dist/commands/docs/nav/fumadocs.js +301 -0
- package/dist/commands/docs/nav/sync.d.ts +31 -1
- package/dist/commands/docs/nav/sync.d.ts.map +1 -1
- package/dist/commands/docs/nav/sync.js +163 -6
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -0
- package/dist/commands/instructions/instructions.utils.d.ts +19 -0
- package/dist/commands/instructions/instructions.utils.d.ts.map +1 -1
- package/dist/commands/instructions/instructions.utils.js +89 -17
- package/dist/commands/instructions/sync/sync.d.ts.map +1 -1
- package/dist/commands/instructions/sync/sync.js +49 -2
- package/dist/commands/pjm/init.d.ts.map +1 -1
- package/dist/commands/pjm/init.js +2 -2
- package/dist/commands/project/closeout-check/closeout-invariant.d.ts +97 -0
- package/dist/commands/project/closeout-check/closeout-invariant.d.ts.map +1 -0
- package/dist/commands/project/closeout-check/closeout-invariant.js +301 -0
- package/dist/commands/project/closeout-check/index.d.ts +38 -0
- package/dist/commands/project/closeout-check/index.d.ts.map +1 -0
- package/dist/commands/project/closeout-check/index.js +117 -0
- package/dist/commands/project/complete-state/index.d.ts +4 -0
- package/dist/commands/project/complete-state/index.d.ts.map +1 -1
- package/dist/commands/project/complete-state/index.js +11 -13
- package/dist/commands/project/dispatch/index.d.ts.map +1 -1
- package/dist/commands/project/dispatch/index.js +6 -30
- package/dist/commands/project/dispatch/record.d.ts +9 -18
- package/dist/commands/project/dispatch/record.d.ts.map +1 -1
- package/dist/commands/project/dispatch/record.js +15 -212
- package/dist/commands/project/index.d.ts.map +1 -1
- package/dist/commands/project/index.js +2 -0
- package/dist/commands/project/new/scaffold.d.ts +0 -1
- package/dist/commands/project/new/scaffold.d.ts.map +1 -1
- package/dist/commands/project/new/scaffold.js +19 -20
- package/dist/commands/project/promote/promote.d.ts +2 -2
- package/dist/commands/project/promote/promote.d.ts.map +1 -1
- package/dist/commands/project/promote/promote.js +13 -11
- package/dist/commands/shared/frontmatter.d.ts +21 -0
- package/dist/commands/shared/frontmatter.d.ts.map +1 -1
- package/dist/commands/shared/frontmatter.js +70 -4
- package/dist/commands/shared/template-source.d.ts +29 -0
- package/dist/commands/shared/template-source.d.ts.map +1 -0
- package/dist/commands/{pjm → shared}/template-source.js +24 -7
- package/dist/commands/state/generate.js +2 -2
- package/dist/commands/template/index.d.ts +10 -0
- package/dist/commands/template/index.d.ts.map +1 -0
- package/dist/commands/template/index.js +87 -0
- package/dist/commands/template/resolve.d.ts +31 -0
- package/dist/commands/template/resolve.d.ts.map +1 -0
- package/dist/commands/template/resolve.js +86 -0
- package/dist/fs/io.d.ts +0 -41
- package/dist/fs/io.d.ts.map +1 -1
- package/dist/fs/io.js +2 -414
- package/dist/providers/claude/dispatch-envelope.d.ts.map +1 -1
- package/dist/providers/claude/dispatch-envelope.js +1 -0
- package/dist/providers/claude/targets.d.ts +1 -0
- package/dist/providers/claude/targets.d.ts.map +1 -1
- package/dist/providers/claude/targets.js +3 -1
- package/dist/providers/codex/codec/shared.d.ts +3 -0
- package/dist/providers/codex/codec/shared.d.ts.map +1 -1
- package/dist/providers/codex/codec/shared.js +4 -0
- package/dist/providers/cursor/codec/catalog.d.ts +2 -2
- package/dist/providers/cursor/codec/catalog.d.ts.map +1 -1
- package/dist/providers/cursor/codec/catalog.js +45 -0
- package/dist/providers/cursor/codec/mapping-validation.d.ts +4 -0
- package/dist/providers/cursor/codec/mapping-validation.d.ts.map +1 -0
- package/dist/providers/cursor/codec/mapping-validation.js +25 -0
- package/dist/providers/cursor/codec/materialize.d.ts.map +1 -1
- package/dist/providers/cursor/codec/materialize.js +2 -11
- package/dist/providers/cursor/codec/sync-extension.d.ts.map +1 -1
- package/dist/providers/cursor/codec/sync-extension.js +2 -11
- package/dist/providers/identity/absolute-paths.d.ts +4 -13
- package/dist/providers/identity/absolute-paths.d.ts.map +1 -1
- package/dist/providers/identity/absolute-paths.js +4 -17
- package/dist/providers/identity/generic-dispatch-record.d.ts +1 -1
- package/dist/providers/identity/generic-dispatch-record.js +2 -2
- package/dist/providers/identity/oat-dispatch-record.d.ts +4 -357
- package/dist/providers/identity/oat-dispatch-record.d.ts.map +1 -1
- package/dist/providers/identity/oat-dispatch-record.js +4 -236
- package/dist/release/public-package-contract.d.ts.map +1 -1
- package/dist/release/public-package-contract.js +12 -4
- package/dist/validation/skills.d.ts.map +1 -1
- package/dist/validation/skills.js +32 -6
- package/package.json +2 -2
- package/dist/commands/pjm/template-source.d.ts +0 -14
- package/dist/commands/pjm/template-source.d.ts.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
guidance_version: 2026-
|
|
3
|
-
last_verified: 2026-
|
|
4
|
-
review_after: 2026-12-
|
|
2
|
+
guidance_version: 2026-10-01
|
|
3
|
+
last_verified: 2026-10-01
|
|
4
|
+
review_after: 2026-12-30
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Codex and OpenAI Model Selection
|
|
@@ -13,16 +13,19 @@ model examples below. Launch mechanics for OAT dispatch live in
|
|
|
13
13
|
|
|
14
14
|
## Current Families
|
|
15
15
|
|
|
16
|
-
Use
|
|
16
|
+
Use `gpt-6.1-sol` for new Sol routes and `gpt-6-luna` for bounded Luna work.
|
|
17
|
+
This Sol selector migration preserves the existing task-class effort guidance;
|
|
18
|
+
it does not claim a newly measured workload advantage. GPT-6 Astra
|
|
17
19
|
is a supported Frontier candidate:
|
|
18
20
|
|
|
19
21
|
- `gpt-6-astra`: Frontier candidate for especially demanding work; the bundled
|
|
20
22
|
recommendation uses high and xhigh, while the supported catalogue also
|
|
21
23
|
permits low, medium, and max;
|
|
22
|
-
- `gpt-6-sol`: high-capability implementation and reasoning route;
|
|
24
|
+
- `gpt-6.1-sol`: high-capability implementation and reasoning route;
|
|
23
25
|
- `gpt-6-luna`: cost-sensitive, bounded work.
|
|
24
26
|
|
|
25
|
-
|
|
27
|
+
The earlier public engineering benchmarks show task-dependent Astra gains
|
|
28
|
+
over GPT-6 Sol, with
|
|
26
29
|
cost and runtime tradeoffs; they do not establish a universal replacement. The
|
|
27
30
|
September frontier-release comparison remains review-pending in the separate
|
|
28
31
|
model-selection vault, and no matched OAT workload evaluation has qualified a
|
|
@@ -30,8 +33,8 @@ routine default change. Astra's Frontier inclusion is a user-directed
|
|
|
30
33
|
preference. Keep the Sol task-class defaults below while that evidence is
|
|
31
34
|
reconciled and local task fit is evaluated.
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
and established workloads. Re-evaluate economics and qualitative routing on
|
|
36
|
+
GPT-6 Sol (`gpt-6-sol`) and the GPT-5.6 Sol/Luna/Terra targets remain supported
|
|
37
|
+
for explicit configurations and established workloads. Re-evaluate economics and qualitative routing on
|
|
35
38
|
representative work before carrying over GPT-5.6-specific comparisons.
|
|
36
39
|
|
|
37
40
|
Direct API specialist routes:
|
|
@@ -48,18 +51,24 @@ name includes `codex`.
|
|
|
48
51
|
## Dated Task-Class Matrix
|
|
49
52
|
|
|
50
53
|
These are current task-class starting points, not an evaluated ordering across
|
|
51
|
-
providers or a promise about relative GPT-6 latency and price. All shown
|
|
54
|
+
providers or a promise about relative GPT-6 or GPT-6.1 latency and price. All shown
|
|
52
55
|
model/effort pairs are in the local Codex catalogue.
|
|
53
56
|
|
|
54
|
-
| Task class | Default
|
|
55
|
-
| ------------------------ |
|
|
56
|
-
| `mechanical-recon` | `gpt-6-luna`, high
|
|
57
|
-
| `intelligent-recon` | `gpt-6-sol`, medium | Sol high | Preserve verification for silent-miss-prone reconnaissance. |
|
|
58
|
-
| `default-implementation` | `gpt-6-sol`, medium | Sol high | Luna is for independently bounded, strongly verified work. |
|
|
59
|
-
| `hard-reasoning` | `gpt-6-sol`, high | Sol xhigh | Narrow the problem before raising effort. |
|
|
60
|
-
| `consequential` | `gpt-6-sol`, high, plus independent review | Sol xhigh for a reasoning-depth bottleneck; max only after evaluation | The root retains consequential authorization. |
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
| Task class | Default | Escalation | Floor notes |
|
|
58
|
+
| ------------------------ | -------------------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
|
59
|
+
| `mechanical-recon` | `gpt-6-luna`, high | `gpt-6.1-sol`, medium | Lower effort is suitable only when a miss is cheap and mechanically detected. |
|
|
60
|
+
| `intelligent-recon` | `gpt-6.1-sol`, medium | Sol high | Preserve verification for silent-miss-prone reconnaissance. |
|
|
61
|
+
| `default-implementation` | `gpt-6.1-sol`, medium | Sol high | Luna is for independently bounded, strongly verified work. |
|
|
62
|
+
| `hard-reasoning` | `gpt-6.1-sol`, high | Sol xhigh | Narrow the problem before raising effort. |
|
|
63
|
+
| `consequential` | `gpt-6.1-sol`, high, plus independent review | Sol xhigh for a reasoning-depth bottleneck; max only after evaluation | The root retains consequential authorization. |
|
|
64
|
+
|
|
65
|
+
[OpenAI's GPT-6.1 Sol model reference](https://developers.openai.com/api/docs/models/gpt-6.1-sol)
|
|
66
|
+
identifies `gpt-6.1-sol` and the supported efforts `low`, `medium`, `high`,
|
|
67
|
+
`xhigh`, and `max`. Do not emit `none` or `minimal` for this family. For direct
|
|
68
|
+
API tool calls, use the Responses API. Verify the launching Codex runtime
|
|
69
|
+
independently of API availability.
|
|
70
|
+
|
|
71
|
+
The bundled Frontier ladder ends with Astra xhigh after Sol 6.1 xhigh and Astra
|
|
63
72
|
high. The supported Astra and Sol effort sets both end at max, so Sol max
|
|
64
73
|
remains available for explicit configuration even though it is no longer in
|
|
65
74
|
the bundled Frontier recommendation.
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
guidance_version: 2026-
|
|
3
|
-
last_verified: 2026-
|
|
4
|
-
review_after: 2026-12-
|
|
2
|
+
guidance_version: 2026-10-01
|
|
3
|
+
last_verified: 2026-10-01
|
|
4
|
+
review_after: 2026-12-30
|
|
5
5
|
catalog_basis:
|
|
6
6
|
Cursor desktop 3.21.18 resolved Grok 4.6 and Fable 5.1 effort selectors in
|
|
7
7
|
native subagent hooks, and Grok 4.7 only as bare flat IDs; Cursor desktop
|
|
8
8
|
3.20.14 resolved all five Opus 5.5 effort selectors; GPT-6 Sol/Luna were
|
|
9
|
-
absent from the observed Cursor catalog
|
|
9
|
+
absent from the observed Cursor catalog; the 2026-10-01 CLI catalog lists
|
|
10
|
+
Sonnet 5.5 flat IDs; Cursor desktop 3.22.12 matched five exact-ID Sonnet
|
|
11
|
+
5.5 pins while every bracket-form Sonnet 5.5 probe fell back
|
|
10
12
|
---
|
|
11
13
|
|
|
12
14
|
# Cursor Model Selection
|
|
@@ -51,8 +53,8 @@ Cursor desktop 3.20.14 resolved all five `claude-opus-5-5[effort=...]`
|
|
|
51
53
|
selectors to corresponding flat IDs in native hooks; on 2026-09-25, Cursor
|
|
52
54
|
desktop 3.21.18 did the same for Grok 4.6 and Fable 5.1. See the
|
|
53
55
|
probe records at `packages/cli/src/providers/cursor/codec/__fixtures__/README.md`.
|
|
54
|
-
GPT-6 Sol/Luna were absent from the
|
|
55
|
-
availability does not authorize Cursor routes.
|
|
56
|
+
GPT-6 Sol/Luna and GPT-6.1 Sol were absent from the 2026-10-01 Cursor CLI
|
|
57
|
+
catalogue, so their Codex availability does not authorize Cursor routes.
|
|
56
58
|
|
|
57
59
|
| Task class | Default | Economy | Escalation | Floor notes |
|
|
58
60
|
| ------------------------ | ------------------------------------------------------------------- | -------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
@@ -90,8 +92,34 @@ Grok 4.7 has no approved mapping. Every bracket spelling tried
|
|
|
90
92
|
(`grok-4.7[effort=...]` with and without `fast`, `reasoning=`, and
|
|
91
93
|
`grok-4-7[...]`) fell back to that same account default, which is easy to
|
|
92
94
|
mistake for success because it is itself a Grok 4.7 model. Only bare flat IDs
|
|
93
|
-
such as `grok-4.7-medium` resolved as requested,
|
|
94
|
-
|
|
95
|
+
such as `grok-4.7-medium` resolved as requested, but Grok 4.7 still lacks
|
|
96
|
+
its own approved registry entry and complete per-pin evidence. It stays outside
|
|
97
|
+
the shipped catalogue. This is a family-specific admission gap, not a blanket
|
|
98
|
+
prohibition of exact-ID pins.
|
|
99
|
+
|
|
100
|
+
## Sonnet 5.5 Exact-ID Pin Evidence
|
|
101
|
+
|
|
102
|
+
The 2026-10-01 Cursor CLI catalogue lists
|
|
103
|
+
`claude-sonnet-5-5-low|medium|high|xhigh|max`. In Cursor desktop 3.22.12,
|
|
104
|
+
every `claude-sonnet-5-5[effort=...]` probe fell back to the account default,
|
|
105
|
+
`grok-4.7-high-fast`. Exact-ID pins
|
|
106
|
+
`claude-sonnet-5-5-low|medium|high|xhigh|max` instead matched their requested
|
|
107
|
+
rungs in `subagentStart`, Shell `preToolUse`, and `subagentStop`. The Opus 5.5
|
|
108
|
+
low positive control matched its established mapping; unknown-family and
|
|
109
|
+
Sonnet 5.5 `ultra` exact-ID controls both fell back to `grok-4.7-high-fast`.
|
|
110
|
+
Catalog visibility or a subagent self-report does not establish those results.
|
|
111
|
+
The 16 correlated summary rows and 64 native events from both rounds live in
|
|
112
|
+
`packages/cli/src/providers/cursor/codec/__fixtures__/cursor-pin-probe-2026-10-01.jsonl`
|
|
113
|
+
and `cursor-pin-probe-2026-10-01-events.jsonl`; the adjacent `README.md` records
|
|
114
|
+
provenance and excludes unrelated discovery calls.
|
|
115
|
+
|
|
116
|
+
Sonnet 5.5 mappings write the verified exact ID as frontmatter `model`.
|
|
117
|
+
Existing Sonnet 5, Opus, Fable, GPT, and Grok mappings retain their independently
|
|
118
|
+
verified selectors. Neither selector form is universally valid: every exact-ID
|
|
119
|
+
mapping requires native hook evidence, non-default-rung and invalid-selector
|
|
120
|
+
controls, and an explicit approved registry entry. There is no generic
|
|
121
|
+
pass-through of flat CLI IDs. See the
|
|
122
|
+
[probe runbook](../../../../apps/oat-docs/docs/contributing/verifying-cursor-pins.md).
|
|
95
123
|
|
|
96
124
|
## Historical Opus Cursor Probe Evidence (Retired)
|
|
97
125
|
|
|
@@ -177,8 +205,10 @@ and non-thinking variants.
|
|
|
177
205
|
- `claude-fable-5-1-thinking-high`: eligible specialist for hard reasoning and
|
|
178
206
|
the bundled Frontier terminal target; xhigh only for evaluated long-horizon
|
|
179
207
|
work. Cursor lists Fable as "NO ZDR"; confirm retention eligibility.
|
|
180
|
-
- `claude-sonnet-5-
|
|
181
|
-
|
|
208
|
+
- `claude-sonnet-5-5-high`: exact-ID provider-diversity option for normal
|
|
209
|
+
implementation and agentic work; qualify task performance separately.
|
|
210
|
+
- `claude-sonnet-5-thinking-high`: supported compatibility option for
|
|
211
|
+
established workflows.
|
|
182
212
|
- `gpt-5.4-mini-medium`: economical general tool and coding worker.
|
|
183
213
|
- `gpt-5.4-nano-medium`: strict extraction, classification, ranking, and simple
|
|
184
214
|
read-only tool calls. Not a semantic repository worker.
|
|
@@ -54,6 +54,7 @@ oat_workflow_origin: native # native | imported
|
|
|
54
54
|
# implementation_fingerprint: null # new generations use sha256:effective-delta-v2:<digest>; stored v1 values keep v1 semantics
|
|
55
55
|
# freshness_head: null # rolling accepted tree checkpoint
|
|
56
56
|
# freshness_fingerprint: null # full effective delta at freshness_head
|
|
57
|
+
# waivers: [] # append-only operator waivers {waived_by, reason, from_commit, to_commit, covered_fingerprint, waived_at}; never self-issued, never under OAT_AUTONOMOUS=1
|
|
57
58
|
# launch_state: not_started # not_started | intent_persisted | accepted | result_persisted | not_accepted
|
|
58
59
|
# launch_attempt_id: null
|
|
59
60
|
# launch_started_at: null
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type TemplateTier } from '../shared/template-source.js';
|
|
2
2
|
import { initializeBacklog } from './init.js';
|
|
3
3
|
import { regenerateBacklogIndex, type RegenerateBacklogIndexResult } from './regenerate-index.js';
|
|
4
4
|
export interface CreateBacklogItemOptions {
|
|
@@ -20,7 +20,7 @@ export interface CreateBacklogItemResult {
|
|
|
20
20
|
backlogRoot: string;
|
|
21
21
|
filePath: string;
|
|
22
22
|
templatePath: string;
|
|
23
|
-
templateTier:
|
|
23
|
+
templateTier: TemplateTier;
|
|
24
24
|
index: RegenerateBacklogIndexResult;
|
|
25
25
|
}
|
|
26
26
|
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":"AASA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,kCAAkC,CAAC;AAG1C,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;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;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,YAAY,CAAC;IAC3B,KAAK,EAAE,4BAA4B,CAAC;CACrC;AAED,MAAM,WAAW,6BAA6B;IAC5C,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;CACvD;AAgKD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,wBAAwB,EACjC,SAAS,GAAE,OAAO,CAAC,6BAA6B,CAAM,GACrD,OAAO,CAAC,uBAAuB,CAAC,CAwDlC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { access, readFile, rm, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { parseAssociatedIssues, serializeAssociatedIssues, } from '../pjm/remote/association.js';
|
|
4
|
-
import { resolvePjmTemplate, } from '../pjm/template-source.js';
|
|
5
4
|
import { stripTemplateFrontmatter } from '../shared/strip-template-frontmatter.js';
|
|
5
|
+
import { resolveTemplate, } from '../shared/template-source.js';
|
|
6
6
|
import YAML from 'yaml';
|
|
7
7
|
import { initializeBacklog } from './init.js';
|
|
8
8
|
import { regenerateBacklogIndex, } from './regenerate-index.js';
|
|
@@ -106,7 +106,7 @@ export async function createBacklogItem(options, overrides = {}) {
|
|
|
106
106
|
if ((await pathExists(filePath)) || (await pathExists(archivedPath))) {
|
|
107
107
|
throw new Error(`Backlog item ${id} already exists. Use a more specific title to disambiguate.`);
|
|
108
108
|
}
|
|
109
|
-
const template = await
|
|
109
|
+
const template = await resolveTemplate({
|
|
110
110
|
name: 'backlog-item.md',
|
|
111
111
|
assetsRoot: options.assetsRoot,
|
|
112
112
|
templatesRoot: options.templatesRoot,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type TemplateTier } from '../shared/template-source.js';
|
|
2
2
|
export interface CreateDecisionRecordOptions {
|
|
3
3
|
decisionsRoot: string;
|
|
4
4
|
assetsRoot: string;
|
|
@@ -16,7 +16,7 @@ export interface CreateDecisionRecordResult {
|
|
|
16
16
|
decisionsRoot: string;
|
|
17
17
|
filePath: string;
|
|
18
18
|
templatePath: string;
|
|
19
|
-
templateTier:
|
|
19
|
+
templateTier: TemplateTier;
|
|
20
20
|
}
|
|
21
21
|
export declare function createDecisionRecord(options: CreateDecisionRecordOptions): Promise<CreateDecisionRecordResult>;
|
|
22
22
|
//# sourceMappingURL=new.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/commands/decision/new.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../src/commands/decision/new.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,kCAAkC,CAAC;AAS1C,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAkFD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAoDrC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { access, mkdir, rm, writeFile } from 'node:fs/promises';
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
|
-
import { resolvePjmTemplate, } from '../pjm/template-source.js';
|
|
4
3
|
import { stripTemplateFrontmatter } from '../shared/strip-template-frontmatter.js';
|
|
4
|
+
import { resolveTemplate, } from '../shared/template-source.js';
|
|
5
5
|
import YAML from 'yaml';
|
|
6
6
|
import { assertDecisionIndexScaffold, regenerateDecisionIndex, } from './regenerate-index.js';
|
|
7
7
|
import { generateDecisionId } from './shared/generate-id.js';
|
|
@@ -62,7 +62,7 @@ export async function createDecisionRecord(options) {
|
|
|
62
62
|
if (await pathExists(filePath)) {
|
|
63
63
|
throw new Error(`Decision record ${id} already exists. Use a more specific title to disambiguate.`);
|
|
64
64
|
}
|
|
65
|
-
const template = await
|
|
65
|
+
const template = await resolveTemplate({
|
|
66
66
|
name: 'decision.md',
|
|
67
67
|
assetsRoot: options.assetsRoot,
|
|
68
68
|
templatesRoot: options.templatesRoot,
|
|
@@ -9,6 +9,15 @@ interface BuildDocsNavTreeOptions {
|
|
|
9
9
|
dirRelativePath?: string;
|
|
10
10
|
visitedDirectories?: Set<string>;
|
|
11
11
|
}
|
|
12
|
+
export declare function resolveEntryTarget(docsRoot: string, directoryPath: string, dirRelativePath: string, entry: DocsContentsEntry,
|
|
13
|
+
/**
|
|
14
|
+
* Page extensions a Contents link may target. MkDocs renders only `.md`;
|
|
15
|
+
* Fumadocs also renders `.mdx` pages.
|
|
16
|
+
*/
|
|
17
|
+
pageExtensions?: readonly string[]): Promise<{
|
|
18
|
+
kind: 'page' | 'section';
|
|
19
|
+
path: string;
|
|
20
|
+
}>;
|
|
12
21
|
export declare function buildDocsNavTree(options: BuildDocsNavTreeOptions): Promise<DocsNavTree>;
|
|
13
22
|
export {};
|
|
14
23
|
//# sourceMappingURL=contents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contents.d.ts","sourceRoot":"","sources":["../../../../src/commands/docs/nav/contents.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,SAAa,GACtB,iBAAiB,EAAE,CAqCrB;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAE/E,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;
|
|
1
|
+
{"version":3,"file":"contents.d.ts","sourceRoot":"","sources":["../../../../src/commands/docs/nav/contents.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,SAAa,GACtB,iBAAiB,EAAE,CAqCrB;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAE/E,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AAMD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,iBAAiB;AACxB;;;GAGG;AACH,cAAc,GAAE,SAAS,MAAM,EAAY,GAC1C,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmErD;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,WAAW,CAAC,CA8DtB"}
|
|
@@ -30,7 +30,12 @@ export function parseIndexContents(markdown, sourcePath = 'index.md') {
|
|
|
30
30
|
function toPosixPath(path) {
|
|
31
31
|
return path.replaceAll('\\', '/');
|
|
32
32
|
}
|
|
33
|
-
async function resolveEntryTarget(docsRoot, directoryPath, dirRelativePath, entry
|
|
33
|
+
export async function resolveEntryTarget(docsRoot, directoryPath, dirRelativePath, entry,
|
|
34
|
+
/**
|
|
35
|
+
* Page extensions a Contents link may target. MkDocs renders only `.md`;
|
|
36
|
+
* Fumadocs also renders `.mdx` pages.
|
|
37
|
+
*/
|
|
38
|
+
pageExtensions = ['.md']) {
|
|
34
39
|
const href = entry.href.split('#', 1)[0]?.trim() ?? '';
|
|
35
40
|
if (!href) {
|
|
36
41
|
throw new Error(`Invalid contents link "${entry.href}" in ${join(docsRoot, dirRelativePath, 'index.md')}`);
|
|
@@ -51,7 +56,7 @@ async function resolveEntryTarget(docsRoot, directoryPath, dirRelativePath, entr
|
|
|
51
56
|
if (!(await fileExists(targetPath))) {
|
|
52
57
|
throw new Error(`Contents link "${entry.href}" in ${join(docsRoot, dirRelativePath, 'index.md')} does not resolve to a Markdown file`);
|
|
53
58
|
}
|
|
54
|
-
if (extname(targetPath)
|
|
59
|
+
if (!pageExtensions.includes(extname(targetPath))) {
|
|
55
60
|
throw new Error(`Contents link "${entry.href}" in ${join(docsRoot, dirRelativePath, 'index.md')} must point to a Markdown file or directory index`);
|
|
56
61
|
}
|
|
57
62
|
if (basename(targetPath) === 'index.md') {
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `meta.json` keys nav sync owns. Every other key (`icon`, `defaultOpen`,
|
|
3
|
+
* `description`, ...) is left as the author wrote it.
|
|
4
|
+
*/
|
|
5
|
+
export interface FumadocsMeta {
|
|
6
|
+
title?: string;
|
|
7
|
+
pages: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface FumadocsMetaFile {
|
|
10
|
+
/** Docs-relative POSIX path of the `meta.json` file. */
|
|
11
|
+
path: string;
|
|
12
|
+
meta: FumadocsMeta;
|
|
13
|
+
changed: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface SyncFumadocsNavigationResult {
|
|
16
|
+
metaFiles: FumadocsMetaFile[];
|
|
17
|
+
/** Docs-relative paths of the `meta.json` files this run wrote. */
|
|
18
|
+
written: string[];
|
|
19
|
+
/**
|
|
20
|
+
* Docs-relative paths of the `meta.json` files that were missing or differed
|
|
21
|
+
* by meaning before this run. Equal to `written` unless `check` was set.
|
|
22
|
+
*/
|
|
23
|
+
stale: string[];
|
|
24
|
+
/**
|
|
25
|
+
* Docs-relative paths no Contents map places in the page tree. A folder is
|
|
26
|
+
* reported once as `folder/` instead of once per page inside it.
|
|
27
|
+
*/
|
|
28
|
+
unlisted: string[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Reduce a Markdown heading to the plain text a sidebar shows: images and
|
|
32
|
+
* links keep their text, code spans keep their content, and emphasis and
|
|
33
|
+
* strikethrough markers are dropped.
|
|
34
|
+
*/
|
|
35
|
+
export declare function stripInlineMarkdown(text: string): string;
|
|
36
|
+
/** Folder title: frontmatter `title`, else the first H1 outside code fences. */
|
|
37
|
+
export declare function resolveFolderTitle(markdown: string): string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Write one strict `meta.json` per docs directory that has an index.md,
|
|
40
|
+
* derived from that index's Contents map, and report every page the
|
|
41
|
+
* resulting page tree leaves out.
|
|
42
|
+
*
|
|
43
|
+
* Existing files are compared by meaning (parsed and deep-equal), so a run
|
|
44
|
+
* with no doc changes writes nothing even after a formatter rewrites them.
|
|
45
|
+
*/
|
|
46
|
+
export declare function syncFumadocsNavigation(options: {
|
|
47
|
+
docsRoot: string;
|
|
48
|
+
/** Compute and compare only; never write. */
|
|
49
|
+
check?: boolean;
|
|
50
|
+
}): Promise<SyncFumadocsNavigationResult>;
|
|
51
|
+
//# sourceMappingURL=fumadocs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fumadocs.d.ts","sourceRoot":"","sources":["../../../../src/commands/docs/nav/fumadocs.ts"],"names":[],"mappings":"AAYA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB;;;OAGG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAiDD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoCvE;AAoMD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAkExC"}
|