@open-agent-toolkit/cli 0.2.19 → 0.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/assets/config/dispatch-matrix-recommendation.json +15 -5
  2. package/assets/docs/cli-utilities/configuration.md +10 -5
  3. package/assets/docs/contributing/index.md +1 -0
  4. package/assets/docs/contributing/verifying-cursor-pins.md +282 -0
  5. package/assets/docs/workflows/projects/artifacts.md +1 -1
  6. package/assets/docs/workflows/projects/dispatch-ceiling.md +50 -4
  7. package/assets/docs/workflows/skills/explainer-kit.md +188 -23
  8. package/assets/docs/workflows/skills/index.md +1 -1
  9. package/assets/public-package-versions.json +4 -4
  10. package/assets/skills/explainer-kit/SKILL.md +87 -25
  11. package/assets/skills/explainer-kit/briefs/deep-dive.md +35 -0
  12. package/assets/skills/explainer-kit/briefs/engineer-tour.md +45 -0
  13. package/assets/skills/explainer-kit/briefs/program-recap.md +41 -0
  14. package/assets/skills/explainer-kit/briefs/project-explainer.md +38 -0
  15. package/assets/skills/explainer-kit/briefs/project-page.md +38 -0
  16. package/assets/skills/explainer-kit/briefs/project-recap.md +47 -0
  17. package/assets/skills/explainer-kit/briefs/supporting-diagram.md +28 -0
  18. package/assets/skills/explainer-kit/briefs/walkthrough-deck.md +35 -0
  19. package/assets/skills/explainer-kit/examples/project-recap/content.md +57 -14
  20. package/assets/skills/explainer-kit/examples/project-recap/fact-base.json +104 -0
  21. package/assets/skills/explainer-kit/examples/project-recap/fact-base.md +26 -4
  22. package/assets/skills/explainer-kit/recipes/engineer-tour.json +27 -10
  23. package/assets/skills/explainer-kit/recipes/program-recap.json +35 -11
  24. package/assets/skills/explainer-kit/recipes/project-explainer.json +27 -10
  25. package/assets/skills/explainer-kit/recipes/project-recap.json +43 -11
  26. package/assets/skills/explainer-kit/references/contracts.md +45 -19
  27. package/assets/skills/explainer-kit/schemas/author-request.v2.schema.json +41 -0
  28. package/assets/skills/explainer-kit/schemas/author-result.v2.schema.json +52 -0
  29. package/assets/skills/explainer-kit/scripts/lib/browser-runtime.mjs +442 -0
  30. package/assets/skills/explainer-kit/scripts/lib/content-approval.mjs +223 -10
  31. package/assets/skills/explainer-kit/scripts/lib/contracts.mjs +28 -43
  32. package/assets/skills/explainer-kit/scripts/lib/diagram.mjs +237 -0
  33. package/assets/skills/explainer-kit/scripts/lib/html-safety.mjs +680 -0
  34. package/assets/skills/explainer-kit/scripts/lib/markdown.mjs +414 -0
  35. package/assets/skills/explainer-kit/scripts/lib/qa.mjs +309 -10
  36. package/assets/skills/explainer-kit/scripts/lib/recipes.mjs +313 -41
  37. package/assets/skills/explainer-kit/scripts/lib/records.mjs +61 -0
  38. package/assets/skills/explainer-kit/scripts/lib/render.mjs +166 -12
  39. package/assets/skills/explainer-kit/scripts/render-qa.mjs +147 -2
  40. package/assets/skills/explainer-kit/scripts/run.mjs +796 -272
  41. package/assets/skills/explainer-kit/templates/deck-shell.html +25 -5
  42. package/assets/skills/explainer-kit/templates/diagram-shell.html +29 -7
  43. package/assets/skills/explainer-kit/templates/engineer-tour.html +133 -9
  44. package/assets/skills/explainer-kit/templates/house-style.html +82 -0
  45. package/assets/skills/oat-explainer-kit/SKILL.md +16 -9
  46. package/assets/skills/oat-explainer-kit/references/author-callback.md +51 -0
  47. package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +10 -8
  48. package/assets/skills/oat-explainer-kit/scripts/resolve-intent.mjs +14 -0
  49. package/assets/skills/oat-explainer-kit/scripts/run.mjs +7 -11
  50. package/assets/skills/oat-project-complete/SKILL.md +18 -2
  51. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  52. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +7 -1
  53. package/assets/skills/oat-wave-execute/SKILL.md +12 -19
  54. package/assets/skills/oat-wave-program/SKILL.md +12 -13
  55. package/assets/skills/subagent-orchestration/SKILL.md +1 -1
  56. package/assets/skills/subagent-orchestration/references/evidence-and-refresh.md +153 -15
  57. package/assets/skills/subagent-orchestration/references/model-selection-principles.md +75 -3
  58. package/assets/skills/subagent-orchestration/references/provider-claude.md +95 -35
  59. package/assets/skills/subagent-orchestration/references/provider-codex.md +36 -10
  60. package/assets/skills/subagent-orchestration/references/provider-cursor.md +91 -15
  61. package/dist/providers/cursor/codec/catalog.d.ts +19 -1
  62. package/dist/providers/cursor/codec/catalog.d.ts.map +1 -1
  63. package/dist/providers/cursor/codec/catalog.js +54 -0
  64. package/package.json +2 -2
  65. package/assets/skills/explainer-kit/schemas/author-request.schema.json +0 -85
  66. package/assets/skills/explainer-kit/schemas/author-result.schema.json +0 -65
@@ -1,7 +1,7 @@
1
1
  ---
2
- guidance_version: 2026-07-22
3
- last_verified: 2026-07-22
4
- review_after: 2026-09-04
2
+ guidance_version: 2026-07-25
3
+ last_verified: 2026-07-25
4
+ review_after: 2026-09-08
5
5
  ---
6
6
 
7
7
  # Codex and OpenAI Model Selection
@@ -33,24 +33,50 @@ name includes `codex`.
33
33
 
34
34
  ## Dated Task-Class Matrix
35
35
 
36
- | Task class | Default | Economy | Escalation | Floor notes |
37
- | ------------------------ | ----------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | -------------------------------------------------------------- |
38
- | `mechanical-recon` | `gpt-5.6-luna`, `high` | Direct API only: `gpt-5.4-mini` medium; `gpt-5.4-nano` medium for strict extraction/classification | `gpt-5.6-terra`, medium or high | Do not use Luna none/low for broad repository work. |
39
- | `intelligent-recon` | `gpt-5.6-terra`, `high` | Terra `medium` with tight scope and verification | Sol `medium`, then `high` | A silent miss disqualifies Terra none/low. |
40
- | `default-implementation` | `gpt-5.6-sol`, `medium` | Terra `high` for independently bounded, strongly tested work | Sol `high` | Luna is not the normal implementation lead. |
41
- | `hard-reasoning` | `gpt-5.6-sol`, `high` | Sol `medium` only after narrowing the problem | Sol `xhigh` | Do not automatically escalate Terra to xhigh/max; move to Sol. |
42
- | `consequential` | `gpt-5.6-sol`, `xhigh` | No routine economy route | Sol `max`, or a separately evaluated Sol `pro` route | Require independent review and root-owned authorization. |
36
+ | Task class | Default | Economy | Escalation | Floor notes |
37
+ | ------------------------ | ---------------------------------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
38
+ | `mechanical-recon` | `gpt-5.6-luna`, `high` | Direct API only: `gpt-5.4-mini` medium; `gpt-5.4-nano` medium for strict extraction/classification | `gpt-5.6-terra`, medium or high | Do not use Luna none/low for broad repository work. |
39
+ | `intelligent-recon` | `gpt-5.6-terra`, `high` | Terra `medium` with tight scope and verification | Sol `medium`, then `high` | A silent miss disqualifies Terra none/low. |
40
+ | `default-implementation` | `gpt-5.6-sol`, `medium` | Terra `high` for independently bounded, strongly tested work | Sol `high` | Luna is not the normal implementation lead. |
41
+ | `hard-reasoning` | `gpt-5.6-sol`, `high` | Sol `medium` only after narrowing the problem | Sol `xhigh` | Do not automatically escalate Terra to xhigh/max; move to Sol. |
42
+ | `consequential` | `gpt-5.6-sol`, `high`, plus independent review | No routine economy route | Sol `xhigh` when deeper reasoning is required; `max` or a separately evaluated `pro` route only after evaluation | Consequence adds review and root authorization; it does not automatically require xhigh or max. |
43
43
 
44
44
  `reasoning.mode: "pro"` is a separate quality/latency/cost control on GPT-5.6,
45
45
  not a model slug and not an effort label. Record it independently. Evaluate it
46
46
  against max or xhigh on representative consequential work before adopting it.
47
47
 
48
+ The task-class ladder is work-shape based. Sol is the code-first,
49
+ trajectory-efficient route for implementation and hard reasoning; this does
50
+ not establish a provider-independent ranking against interpretation-heavy
51
+ models in other harnesses. Consequential work requires independent review and
52
+ root-owned authorization. It does not automatically force Sol xhigh or max:
53
+ choose effort from reasoning depth, then add the consequence controls.
54
+
48
55
  ## Long-Context Floor
49
56
 
50
57
  For very large context, prefer Sol or Terra. Published GPT-5.6 results show a
51
58
  large Luna retention drop in the 256K-to-1M range. Large context does not change
52
59
  the task class, but it may disqualify Luna, mini, or nano.
53
60
 
61
+ For Sol requests above 272K input tokens, the current direct-API price step is
62
+ 2× input and 1.5× output. Apply the threshold to the whole request and verify
63
+ the live pricing contract before cost-sensitive dispatch. Crossing this
64
+ threshold can change the economical route even when Sol remains the capability
65
+ choice.
66
+
67
+ ## Trajectory Economics
68
+
69
+ Token list price and total trajectory cost are separate. A model with a higher
70
+ output-token price can still cost less per completed task when it uses fewer
71
+ output tokens, steps, tool calls, retries, or recoveries. Conversely, a cheap
72
+ attempt is not economical when completion rate is low or operator intervention
73
+ is high.
74
+
75
+ Evaluate input, cached-input, and output tokens together with the multi-measure
76
+ speed contract from `model-selection-principles.md`. Do not use token price
77
+ alone as a proxy for wall-clock efficiency, and do not infer latency from
78
+ trajectory length without a measured runtime.
79
+
54
80
  ## Tool-Heavy Work
55
81
 
56
82
  Use Programmatic Tool Calling only for bounded processing such as filtering,
@@ -1,8 +1,11 @@
1
1
  ---
2
- guidance_version: 2026-07-22
3
- last_verified: 2026-07-22
2
+ guidance_version: 2026-07-25
3
+ last_verified: 2026-07-25
4
4
  review_after: 2026-09-04
5
- catalog_basis: user-supplied Cursor snapshot plus current Cursor documentation
5
+ catalog_basis:
6
+ live `cursor-agent models` catalog and CursorBench 3.2, with Opus 5
7
+ and Opus 4.8 pin selectors probe-verified against Cursor 3.12.30 via
8
+ subagentStart lifecycle hooks
6
9
  ---
7
10
 
8
11
  # Cursor Model Selection
@@ -23,29 +26,102 @@ conflict.
23
26
  The Cursor SDK exposes the Cursor runtime, harness, and models. It is not a
24
27
  transparent raw OpenAI or Anthropic API call.
25
28
 
29
+ Every exact route below is dated and provisional. Verify the live root or
30
+ nested catalog, resolved identity, reasoning controls, and fallback behavior
31
+ before launch.
32
+
26
33
  ## Service-Tier Rule
27
34
 
28
35
  Treat every alias ending in `-fast` as a service-tier selection, not a higher
29
36
  capability class, unless current Cursor documentation explicitly says
30
37
  otherwise. Composer 2.5 fast is documented as the same intelligence at a higher
31
38
  price. Use standard aliases for background work and fast aliases only when
32
- measured wall-clock latency justifies the premium.
39
+ multi-measure latency evidence justifies the premium.
33
40
 
34
41
  Record the model and the service tier separately even when Cursor encodes both
35
- in one opaque alias.
42
+ in one opaque alias, and apply the multi-measure speed contract from
43
+ `model-selection-principles.md`. A lower active runtime or higher output rate
44
+ does not by itself prove lower user-observed elapsed time.
36
45
 
37
46
  ## Dated Task-Class Matrix
38
47
 
39
- Use exact aliases from the live catalog. The examples below were present in the
40
- user's 2026-07-21 snapshot.
48
+ Use exact aliases from the live catalog. The examples below come from two
49
+ observations, not one. Most were present in a 2026-07-21 catalog snapshot. The
50
+ `claude-opus-5` and `claude-opus-4-8` routes postdate it — Opus 5 released
51
+ 2026-07-24 — and were confirmed against the live catalog and probe-verified on
52
+ 2026-07-25, as recorded under Verified Opus 5 Cursor Routes below. The
53
+ remainder of the catalog has not been re-snapshotted since 2026-07-21, so treat
54
+ non-Opus entries as the older and weaker observation.
55
+
56
+ | Task class | Default | Economy | Escalation | Floor notes |
57
+ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
58
+ | `mechanical-recon` | `composer-2.5` | `composer-2.5` | `gpt-5.6-luna-high` | Use `composer-2.5-fast` or Luna fast only for latency, not capability. |
59
+ | `intelligent-recon` | `cursor-grok-4.5-medium` or `gpt-5.6-sol-medium` | `gpt-5.6-terra-high` | `gpt-5.6-sol-high` | Grok medium is a primary route; Sol medium is the conservative silent-miss alternative; Terra high is the cost-saving route. |
60
+ | `default-implementation` | `gpt-5.6-sol-medium` | `composer-2.5` for bounded, testable changes | `claude-opus-5-thinking-medium` | Sol is the code-first incumbent; Opus 5 medium is the substantive route for interpretation-heavy work; `cursor-grok-4.5-medium` remains a primary alternative. |
61
+ | `hard-reasoning` | `claude-opus-5-thinking-high` | `cursor-grok-4.5-high` for architecture, ambiguous debugging, and incident diagnosis | `claude-opus-5-thinking-xhigh`, then `gpt-5.6-sol-xhigh` for code-first work | Opus 5 high is the starting point. Escalate to xhigh only for a reasoning-depth bottleneck. Do not infer cross-provider effort equivalence. |
62
+ | `consequential` | The task's own reasoning-depth route, plus independent cross-family review: typically `gpt-5.6-sol-high` authoring with `claude-opus-5-thinking-high` review | No routine economy route | Raise the pair to xhigh for a reasoning-depth bottleneck; Sol max plus Opus 5 max only after a workload-specific sweep | Consequence adds independent cross-family review and root authorization, not automatic top effort. Select effort from reasoning depth exactly as the non-consequential row would, then add independence on top. For cyber-sensitive review, do not rely on Fable or Grok alone. |
63
+
64
+ ## Verified Opus 5 Cursor Routes
65
+
66
+ Opus 5 is a qualified Cursor route. Five effort rungs plus an Opus 4.8 rung were
67
+ probe-verified on 2026-07-25 against Cursor 3.12.30, using `subagentStart`
68
+ lifecycle hooks to read the resolved model that Cursor itself reports:
69
+
70
+ | Selector | Resolves to |
71
+ | ------------------------------- | -------------------------------- |
72
+ | `claude-opus-5[effort=low]` | `claude-opus-5-thinking-low` |
73
+ | `claude-opus-5[effort=medium]` | `claude-opus-5-thinking-medium` |
74
+ | `claude-opus-5[effort=high]` | `claude-opus-5-thinking-high` |
75
+ | `claude-opus-5[effort=xhigh]` | `claude-opus-5-thinking-xhigh` |
76
+ | `claude-opus-5[effort=max]` | `claude-opus-5-thinking-max` |
77
+ | `claude-opus-4-8[effort=xhigh]` | `claude-opus-4-8-thinking-xhigh` |
78
+
79
+ Every rung resolves to the thinking variant. This is a verified fact, not an
80
+ inference: the catalog carries distinct non-thinking IDs at low, medium, and
81
+ high, and none were selected.
82
+
83
+ Routing follows the accepted conclusions rather than the effort ladder alone.
84
+ Opus 5 medium is the normal substantive route, high is the hard-reasoning
85
+ starting point, xhigh is selective for a reasoning-depth bottleneck or an
86
+ evaluated long-horizon benefit, and max requires a workload-specific sweep or an
87
+ explicit exception. Sol remains the code-first, trajectory-efficient engineering
88
+ route; Opus is generally stronger for interpretation-heavy work. Exact
89
+ cross-provider substitutions remain provisional.
90
+
91
+ Opus 4.8 xhigh is catalogued so the cyber-sensitive route is dispatchable, but it
92
+ is deliberately excluded from the bundled recommendation. Select it explicitly
93
+ when the cyber-sensitive refusal profile is required.
94
+
95
+ ### Unresolvable selectors fall back to a default, silently
96
+
97
+ Probing showed that Cursor does not reject a malformed pin. It substitutes a
98
+ default for whichever component it cannot resolve, with no error or warning:
99
+
100
+ - An unknown family falls back to the default model. `claude-opus-9[effort=high]`
101
+ resolved to `cursor-grok-4.5-high-fast`.
102
+ - An unknown effort falls back to the family's default rung.
103
+ `claude-opus-5[effort=ultra]` resolved to `claude-opus-5-thinking-high`.
104
+
105
+ The default rung is family-specific, not a fixed value. In the live catalog
106
+ exactly one rung per family carries an unqualified display label, and that marks
107
+ the default: `claude-opus-5-high` shows as `Opus 5 1M` while
108
+ `claude-opus-5-medium` shows as `Opus 5 1M Medium`. The default is not always
109
+ high — `claude-opus-4-7-xhigh` shows as `Opus 4.7 1M` while
110
+ `claude-opus-4-7-high` is explicitly labeled `Opus 4.7 1M High`.
111
+
112
+ This makes a typo in a pinned selector more dangerous than a plain downgrade.
113
+ The pin silently tracks whatever Cursor currently designates as that family's
114
+ default, so a vendor-side change to the default rung alters capability with no
115
+ corresponding change in the repository.
116
+
117
+ Two consequences for pinning. A selector must be probe-verified per mapping
118
+ before it ships. And a probe whose requested rung happens to equal the family
119
+ default cannot, on its own, distinguish an honored effort parameter from an
120
+ ignored one; verify at least one non-default rung in the same family.
41
121
 
42
- | Task class | Default | Economy | Escalation | Floor notes |
43
- | ------------------------ | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
44
- | `mechanical-recon` | `composer-2.5` | `composer-2.5` | `gpt-5.6-luna-high` | Use `composer-2.5-fast` or Luna fast only for latency, not capability. |
45
- | `intelligent-recon` | `cursor-grok-4.5-medium` or `gpt-5.6-sol-medium` | `gpt-5.6-terra-high` | `gpt-5.6-sol-high` | Grok medium is a primary route; Sol medium is the conservative silent-miss alternative; Terra high is the cost-saving route. |
46
- | `default-implementation` | `gpt-5.6-sol-medium` | `composer-2.5` for bounded, testable changes | `gpt-5.6-sol-high` or `claude-fable-5-thinking-high` | Sol is the conservative incumbent; `cursor-grok-4.5-medium` is a primary alternative for general implementation. Choose Fable for open-ended coherence; Sol for code-first execution. |
47
- | `hard-reasoning` | `gpt-5.6-sol-high` | `cursor-grok-4.5-high` for architecture, ambiguous debugging, and incident diagnosis | `gpt-5.6-sol-xhigh` or `claude-fable-5-thinking-xhigh` | Narrow the task before downgrading. Do not infer equivalence between the two escalation efforts. |
48
- | `consequential` | Cross-family author/reviewer pair, normally Sol xhigh plus Fable thinking xhigh | No routine economy route | Sol max plus Fable thinking max | For cyber-sensitive review, use `claude-opus-4-8-thinking-xhigh` or max instead of relying on Fable alone. Grok may contribute analysis but is never the sole reviewer. |
122
+ Neither an agent self-report nor a subagent card label is admissible evidence.
123
+ The card label drops the thinking qualifier and cannot distinguish the thinking
124
+ and non-thinking variants.
49
125
 
50
126
  ## Broader Cursor Routes
51
127
 
@@ -60,7 +136,7 @@ user's 2026-07-21 snapshot.
60
136
  - Grok is never the sole final authority for a consequential factual, security,
61
137
  incident, or architectural conclusion. Require tool evidence, citations,
62
138
  logs, query results, or file references for load-bearing Grok claims, or
63
- pair it with an independent Sol, Fable, or Opus reviewer.
139
+ pair it with an eligible independent cross-family reviewer.
64
140
  - CursorBench caveat: Cursor disclosed that Cursor repository data entered
65
141
  Grok 4.5's training mixture. Treat its ranking as evidence of
66
142
  competitiveness, not proof of superiority over nearby frontier models.
@@ -1,8 +1,26 @@
1
1
  export type CursorPinSyntaxFamily = 'gpt-reasoning' | 'claude-effort' | 'composer-fast' | 'grok-effort-fast';
2
+ /**
3
+ * What a probe submitted and what the harness resolved it to, transcribed from
4
+ * the probe evidence.
5
+ *
6
+ * `submittedSelector` and `resolvedModel` restate the mapping's
7
+ * `frontmatterModel` and `ladderModelId`. That duplication is the mechanism and
8
+ * must not be refactored away: these fields are an independent transcription of
9
+ * an observation, so a mapping edited without re-probing disagrees with its own
10
+ * record and fails the consistency test. Deriving them from the mapping would
11
+ * make that test pass by construction and verify nothing.
12
+ */
13
+ export interface CursorPinProbeRecord {
14
+ submittedSelector: string;
15
+ resolvedModel: string;
16
+ verifiedAt: string;
17
+ evidencePath: string;
18
+ }
2
19
  export interface CursorPinGateEvidence {
3
20
  gate: 'g01';
4
21
  probeName: string;
5
22
  disposition: 'approved';
23
+ probeRecord?: CursorPinProbeRecord;
6
24
  }
7
25
  export interface CursorModelPinMapping {
8
26
  ladderModelId: string;
@@ -11,7 +29,7 @@ export interface CursorModelPinMapping {
11
29
  gateEvidence: CursorPinGateEvidence;
12
30
  catalogue: boolean;
13
31
  }
14
- export declare const CURSOR_MODEL_PIN_MAPPINGS: readonly [CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping];
32
+ export declare const CURSOR_MODEL_PIN_MAPPINGS: readonly [CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping, CursorModelPinMapping];
15
33
  export declare const SUPPORTED_CURSOR_ROLE_TARGETS: CursorModelPinMapping[];
16
34
  export declare const SUPPORTED_CURSOR_BASE_ROLES: readonly ['oat-phase-implementer', 'oat-reviewer'];
17
35
  export declare function findCursorModelPinMapping(ladderModelId: string): CursorModelPinMapping | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../../src/providers/cursor/codec/catalog.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,eAAe,GACf,eAAe,GACf,kBAAkB,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,qBAAqB,CAAC;IACpC,YAAY,EAAE,qBAAqB,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC;CACpB;AA0BD,eAAO,MAAM,yBAAyB,oWA2Ee,CAAC;AAEtD,eAAO,MAAM,6BAA6B,yBAEzC,CAAC;AAEF,eAAO,MAAM,2BAA2B,YACtC,uBAAuB,EACvB,cAAc,CACN,CAAC;AAEX,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,GACpB,qBAAqB,GAAG,SAAS,CAInC"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../../src/providers/cursor/codec/catalog.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,eAAe,GACf,eAAe,GACf,kBAAkB,CAAC;AAEvB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,qBAAqB,CAAC;IACpC,YAAY,EAAE,qBAAqB,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC;CACpB;AAqCD,eAAO,MAAM,yBAAyB,8eAyJe,CAAC;AAEtD,eAAO,MAAM,6BAA6B,yBAEzC,CAAC;AAEF,eAAO,MAAM,2BAA2B,YACtC,uBAAuB,EACvB,cAAc,CACN,CAAC;AAEX,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,GACpB,qBAAqB,GAAG,SAAS,CAInC"}
@@ -1,4 +1,5 @@
1
1
  function approvedMapping(ladderModelId, frontmatterModel, syntaxFamily, options = {}) {
2
+ const { probeRecord } = options;
2
3
  return {
3
4
  ladderModelId,
4
5
  frontmatterModel,
@@ -8,10 +9,15 @@ function approvedMapping(ladderModelId, frontmatterModel, syntaxFamily, options
8
9
  probeName: options.probeName ??
9
10
  `oat-pin-probe-${ladderModelId.replaceAll('.', '-')}`,
10
11
  disposition: 'approved',
12
+ ...(probeRecord ? { probeRecord } : {}),
11
13
  },
12
14
  catalogue: options.catalogue ?? true,
13
15
  };
14
16
  }
17
+ const G01_PROBE_2026_07_25 = {
18
+ verifiedAt: '2026-07-25',
19
+ evidencePath: '.oat/projects/shared/opus-5-model-guidance/references/g01-probe-results.md',
20
+ };
15
21
  export const CURSOR_MODEL_PIN_MAPPINGS = [
16
22
  approvedMapping('composer-2.5', 'composer-2.5[fast=true]', 'composer-fast'),
17
23
  approvedMapping('composer-2.5-fast', 'composer-2.5[fast=true]', 'composer-fast', { catalogue: false }),
@@ -26,6 +32,54 @@ export const CURSOR_MODEL_PIN_MAPPINGS = [
26
32
  approvedMapping('claude-fable-5-thinking-high', 'claude-fable-5[effort=high]', 'claude-effort'),
27
33
  approvedMapping('claude-fable-5-thinking-xhigh', 'claude-fable-5[effort=xhigh]', 'claude-effort'),
28
34
  approvedMapping('claude-fable-5-xhigh', 'claude-fable-5[effort=xhigh]', 'claude-effort', { catalogue: false }),
35
+ approvedMapping('claude-opus-5-thinking-low', 'claude-opus-5[effort=low]', 'claude-effort', {
36
+ probeName: 'zz-pin-probe-opus5-low',
37
+ probeRecord: {
38
+ submittedSelector: 'claude-opus-5[effort=low]',
39
+ resolvedModel: 'claude-opus-5-thinking-low',
40
+ ...G01_PROBE_2026_07_25,
41
+ },
42
+ }),
43
+ approvedMapping('claude-opus-5-thinking-medium', 'claude-opus-5[effort=medium]', 'claude-effort', {
44
+ probeName: 'zz-pin-probe-opus5-medium',
45
+ probeRecord: {
46
+ submittedSelector: 'claude-opus-5[effort=medium]',
47
+ resolvedModel: 'claude-opus-5-thinking-medium',
48
+ ...G01_PROBE_2026_07_25,
49
+ },
50
+ }),
51
+ approvedMapping('claude-opus-5-thinking-high', 'claude-opus-5[effort=high]', 'claude-effort', {
52
+ probeName: 'zz-pin-probe-opus5-high',
53
+ probeRecord: {
54
+ submittedSelector: 'claude-opus-5[effort=high]',
55
+ resolvedModel: 'claude-opus-5-thinking-high',
56
+ ...G01_PROBE_2026_07_25,
57
+ },
58
+ }),
59
+ approvedMapping('claude-opus-5-thinking-xhigh', 'claude-opus-5[effort=xhigh]', 'claude-effort', {
60
+ probeName: 'zz-pin-probe-opus5-xhigh',
61
+ probeRecord: {
62
+ submittedSelector: 'claude-opus-5[effort=xhigh]',
63
+ resolvedModel: 'claude-opus-5-thinking-xhigh',
64
+ ...G01_PROBE_2026_07_25,
65
+ },
66
+ }),
67
+ approvedMapping('claude-opus-5-thinking-max', 'claude-opus-5[effort=max]', 'claude-effort', {
68
+ probeName: 'zz-pin-probe-opus5-max',
69
+ probeRecord: {
70
+ submittedSelector: 'claude-opus-5[effort=max]',
71
+ resolvedModel: 'claude-opus-5-thinking-max',
72
+ ...G01_PROBE_2026_07_25,
73
+ },
74
+ }),
75
+ approvedMapping('claude-opus-4-8-thinking-xhigh', 'claude-opus-4-8[effort=xhigh]', 'claude-effort', {
76
+ probeName: 'zz-pin-probe-opus48-xhigh',
77
+ probeRecord: {
78
+ submittedSelector: 'claude-opus-4-8[effort=xhigh]',
79
+ resolvedModel: 'claude-opus-4-8-thinking-xhigh',
80
+ ...G01_PROBE_2026_07_25,
81
+ },
82
+ }),
29
83
  approvedMapping('gpt-5.6-sol-xhigh', 'gpt-5.6-sol[reasoning=xhigh]', 'gpt-reasoning'),
30
84
  approvedMapping('gpt-5.6-sol-max', 'gpt-5.6-sol[reasoning=max]', 'gpt-reasoning'),
31
85
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-agent-toolkit/cli",
3
- "version": "0.2.19",
3
+ "version": "0.2.21",
4
4
  "private": false,
5
5
  "description": "Open Agent Toolkit CLI",
6
6
  "homepage": "https://github.com/voxmedia/open-agent-toolkit/tree/main/packages/cli",
@@ -34,7 +34,7 @@
34
34
  "ora": "^9.0.0",
35
35
  "yaml": "2.8.2",
36
36
  "zod": "^3.25.76",
37
- "@open-agent-toolkit/control-plane": "0.2.19"
37
+ "@open-agent-toolkit/control-plane": "0.2.21"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^22.10.0",
@@ -1,85 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "explainer-kit.author-request/v1",
4
- "title": "AuthorRequestV1",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "run",
10
- "recipe",
11
- "artifact",
12
- "narrativeOutline",
13
- "factBase",
14
- "discovery"
15
- ],
16
- "properties": {
17
- "schemaVersion": { "const": "explainer-kit.author-request/v1" },
18
- "run": {
19
- "type": "object",
20
- "additionalProperties": false,
21
- "required": ["runId", "slug"],
22
- "properties": {
23
- "runId": { "type": "string", "minLength": 1 },
24
- "slug": {
25
- "type": "string",
26
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
27
- }
28
- }
29
- },
30
- "recipe": {
31
- "type": "object",
32
- "additionalProperties": false,
33
- "required": ["id", "version", "requiredNarrative"],
34
- "properties": {
35
- "id": { "type": "string", "minLength": 1 },
36
- "version": { "type": "string", "minLength": 1 },
37
- "requiredNarrative": {
38
- "type": "array",
39
- "items": { "type": "string", "minLength": 1 },
40
- "minItems": 1,
41
- "uniqueItems": true
42
- }
43
- }
44
- },
45
- "artifact": {
46
- "type": "object",
47
- "additionalProperties": false,
48
- "required": ["id", "type"],
49
- "properties": {
50
- "id": { "type": "string", "minLength": 1 },
51
- "type": { "enum": ["hub", "diagram", "explainer", "deck", "catalog"] }
52
- }
53
- },
54
- "narrativeOutline": {
55
- "type": "array",
56
- "items": {
57
- "type": "object",
58
- "additionalProperties": false,
59
- "required": ["id", "title"],
60
- "properties": {
61
- "id": { "type": "string", "minLength": 1 },
62
- "title": { "type": "string", "minLength": 1 }
63
- }
64
- },
65
- "minItems": 1,
66
- "uniqueItems": true
67
- },
68
- "factBase": { "$ref": "explainer-kit.fact-base/v1" },
69
- "discovery": {
70
- "type": "object",
71
- "additionalProperties": false,
72
- "required": ["rounds", "findings", "reason"],
73
- "properties": {
74
- "rounds": { "type": "integer", "minimum": 0 },
75
- "findings": {
76
- "type": "array",
77
- "items": { "type": "string", "minLength": 1 }
78
- },
79
- "reason": {
80
- "enum": ["not-requested", "two-empty-rounds", "hard-maximum"]
81
- }
82
- }
83
- }
84
- }
85
- }
@@ -1,65 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "explainer-kit.author-result/v1",
4
- "title": "AuthorResultV1",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": ["schemaVersion", "artifactId", "content", "provenance"],
8
- "properties": {
9
- "schemaVersion": { "const": "explainer-kit.author-result/v1" },
10
- "artifactId": { "type": "string", "minLength": 1 },
11
- "content": {
12
- "type": "object",
13
- "additionalProperties": false,
14
- "required": ["title", "description", "sections"],
15
- "properties": {
16
- "title": { "type": "string", "minLength": 1 },
17
- "description": { "type": "string", "minLength": 1 },
18
- "eyebrow": { "type": "string", "minLength": 1 },
19
- "footer": { "type": "string", "minLength": 1 },
20
- "sections": {
21
- "type": "array",
22
- "items": {
23
- "type": "object",
24
- "additionalProperties": false,
25
- "required": ["id", "title", "prose"],
26
- "properties": {
27
- "id": { "type": "string", "minLength": 1 },
28
- "title": { "type": "string", "minLength": 1 },
29
- "prose": { "type": "string", "minLength": 1 }
30
- }
31
- },
32
- "minItems": 1,
33
- "uniqueItems": true
34
- },
35
- "artifactLinks": {
36
- "type": "array",
37
- "items": {
38
- "type": "object",
39
- "additionalProperties": false,
40
- "required": ["id", "type", "label"],
41
- "properties": {
42
- "id": { "type": "string", "minLength": 1 },
43
- "type": {
44
- "enum": ["hub", "diagram", "explainer", "deck", "catalog"]
45
- },
46
- "label": { "type": "string", "minLength": 1 }
47
- }
48
- },
49
- "uniqueItems": true
50
- }
51
- }
52
- },
53
- "provenance": {
54
- "type": "object",
55
- "additionalProperties": false,
56
- "required": ["authorId", "generatedAt"],
57
- "properties": {
58
- "authorId": { "type": "string", "minLength": 1 },
59
- "generatedAt": { "type": "string", "format": "date-time" },
60
- "method": { "type": "string", "minLength": 1 },
61
- "model": { "type": "string", "minLength": 1 }
62
- }
63
- }
64
- }
65
- }