@open-agent-toolkit/cli 0.1.48 → 0.1.51

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 (53) hide show
  1. package/assets/agents/oat-phase-implementer.md +16 -5
  2. package/assets/docs/cli-utilities/configuration.md +41 -0
  3. package/assets/docs/cli-utilities/workflow-gates.md +18 -1
  4. package/assets/docs/provider-sync/commands.md +29 -1
  5. package/assets/docs/provider-sync/providers.md +18 -5
  6. package/assets/docs/provider-sync/scope-and-surface.md +13 -0
  7. package/assets/docs/workflows/projects/dispatch-ceiling.md +59 -7
  8. package/assets/docs/workflows/projects/implementation-execution.md +63 -3
  9. package/assets/docs/workflows/projects/reviews.md +18 -1
  10. package/assets/public-package-versions.json +4 -4
  11. package/assets/skills/oat-agent-instructions-analyze/references/docs/provider-reference.md +8 -2
  12. package/assets/skills/oat-agent-instructions-apply/references/docs/provider-reference.md +8 -2
  13. package/assets/skills/oat-project-implement/SKILL.md +141 -59
  14. package/assets/skills/oat-project-review-provide/SKILL.md +44 -10
  15. package/assets/skills/oat-project-review-provide-remote/SKILL.md +28 -1
  16. package/dist/commands/config/index.d.ts +3 -0
  17. package/dist/commands/config/index.d.ts.map +1 -1
  18. package/dist/commands/config/index.js +70 -128
  19. package/dist/commands/doctor/index.d.ts +3 -0
  20. package/dist/commands/doctor/index.d.ts.map +1 -1
  21. package/dist/commands/doctor/index.js +205 -195
  22. package/dist/commands/gate/index.d.ts.map +1 -1
  23. package/dist/commands/gate/index.js +72 -1
  24. package/dist/commands/project/dispatch-ceiling/index.d.ts.map +1 -1
  25. package/dist/commands/project/dispatch-ceiling/index.js +224 -112
  26. package/dist/commands/providers/codex/materialize.d.ts.map +1 -1
  27. package/dist/commands/providers/codex/materialize.js +31 -15
  28. package/dist/config/dispatch-matrix.d.ts +59 -0
  29. package/dist/config/dispatch-matrix.d.ts.map +1 -0
  30. package/dist/config/dispatch-matrix.js +264 -0
  31. package/dist/config/oat-config.d.ts +2 -28
  32. package/dist/config/oat-config.d.ts.map +1 -1
  33. package/dist/config/oat-config.js +8 -144
  34. package/dist/config/resolve.d.ts.map +1 -1
  35. package/dist/config/resolve.js +2 -1
  36. package/dist/providers/codex/codec/config-merge.d.ts +8 -2
  37. package/dist/providers/codex/codec/config-merge.d.ts.map +1 -1
  38. package/dist/providers/codex/codec/config-merge.js +17 -2
  39. package/dist/providers/codex/codec/sync-extension.d.ts.map +1 -1
  40. package/dist/providers/codex/codec/sync-extension.js +14 -4
  41. package/dist/providers/identity/availability.d.ts +12 -0
  42. package/dist/providers/identity/availability.d.ts.map +1 -1
  43. package/dist/providers/identity/availability.js +72 -29
  44. package/dist/providers/identity/dispatch-report.d.ts +124 -0
  45. package/dist/providers/identity/dispatch-report.d.ts.map +1 -0
  46. package/dist/providers/identity/dispatch-report.js +285 -0
  47. package/dist/providers/identity/dispatch-validation.d.ts +28 -0
  48. package/dist/providers/identity/dispatch-validation.d.ts.map +1 -0
  49. package/dist/providers/identity/dispatch-validation.js +149 -0
  50. package/dist/providers/identity/stamp.d.ts +2 -0
  51. package/dist/providers/identity/stamp.d.ts.map +1 -1
  52. package/dist/providers/identity/stamp.js +3 -1
  53. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-implement
3
- version: 2.0.33
3
+ version: 2.0.35
4
4
  description: Use when plan.md is ready for execution. Dispatches phase coordinators that select one exact target-pinned worker per task; supports bounded fix loops and plan-declared worktree-isolated parallel phases.
5
5
  oat_gateable: true
6
6
  argument-hint: '[--retry-limit <N>] [--dry-run]'
@@ -107,16 +107,21 @@ PROJECTS_ROOT="${PROJECTS_ROOT%/}"
107
107
  **Mandatory target-first order:** Complete Dispatch Policy Preflight and resolve
108
108
  the concrete managed Codex target before probing generic agent availability or
109
109
  locking Tier 1/Tier 2. A concrete target takes precedence over tier selection:
110
- use the exact registered role, or an explicitly pinned fresh Codex child when
111
- that role is unavailable. If neither route is possible, inline execution is
112
- allowed only with verified equivalent current-host model and effort controls;
113
- otherwise block before work starts. Explicit inherit/default and documented
114
- managed-uncapped reviewer behavior remain the only base-role exceptions.
115
-
116
- When a concrete managed Codex role is unavailable or the host cannot select
117
- it, launch a fresh Codex child pinned to the resolver-returned model and effort
118
- with canonical role instructions. If that fresh child cannot be launched, fail
119
- closed and block; never substitute the coordinator or base role.
110
+ first send the exact registered role through native dispatch. Only a native
111
+ role-selection rejection permits an explicitly pinned fresh Codex child. If
112
+ neither exact route is possible, inline execution is allowed only with verified
113
+ equivalent current-host model and effort controls; otherwise block before work
114
+ starts. Explicit inherit/default and documented managed-uncapped reviewer
115
+ behavior remain the only base-role exceptions.
116
+
117
+ For a concrete managed Codex role, first send the resolver-returned Codex
118
+ variant through the native spawn API as `agent_type`. Spawn acceptance plus the
119
+ constructed launcher payload is configured invocation evidence; independent
120
+ runtime telemetry or agent self-report is not required. Launch a fresh Codex
121
+ child pinned to the resolver-returned model and effort with canonical role
122
+ instructions only after a native role-selection rejection as defined below. If
123
+ that fresh child cannot be launched, fail closed and block; never substitute
124
+ the coordinator or base role.
120
125
 
121
126
  Use base `oat-phase-implementer` only for the allowed exceptions above:
122
127
  explicit inherit/default behavior. It is never a managed task-worker fallback.
@@ -142,9 +147,9 @@ Detection logic:
142
147
  - Declined → Tier 2.
143
148
 
144
149
  - If the host does not resolve either generic agent, first attempt the exact
145
- registered role or explicitly pinned fresh-child route for any concrete
146
- managed target. Select Tier 2 only when inline execution is allowed by the
147
- target-first rule above.
150
+ registered role natively for any concrete managed target. Use the explicitly
151
+ pinned fresh-child route only after a native role-selection rejection. Select
152
+ Tier 2 only when inline execution is allowed by the target-first rule above.
148
153
 
149
154
  **Approval scope rule:** this Tier selection applies to both phase implementation and checkpoint review. Do not infer a mixed mode from conversational emphasis on review checkpoints. If the user has not explicitly approved Tier 1 for the run, stay Tier 2 throughout. Mixed mode is only valid when the user explicitly requests it.
150
155
 
@@ -181,6 +186,20 @@ If approved: Selected: Tier 1 — Subagents
181
186
  Forbidden: Selected: Tier 2 — Inline because the user did not separately mention subagents.
182
187
  ```
183
188
 
189
+ **Native role-selection rejection:** This means the native host explicitly
190
+ reports that the requested `agent_type` is unsupported, unknown, unregistered,
191
+ or rejected before the child or agent starts. Missing runtime telemetry,
192
+ missing agent self-report, a timeout after spawn acceptance, or any terminal
193
+ result from an accepted child — including `BLOCKED` — is not role
194
+ unavailability and is not a native role-selection rejection. Self-report is
195
+ optional diagnostic data and cannot populate or overwrite launcher-owned
196
+ `target`, `model_axis`, or `effort_axis` fields. An accepted child cannot
197
+ trigger the fresh pinned-child or CLI fallback. If an accepted native reviewer
198
+ later times out, retry the same already-selected native `agent_type` route. The
199
+ fresh pinned-child route is eligible only when the original native attempt
200
+ received explicit pre-start role-selection rejection; a timeout after native
201
+ spawn acceptance never changes routes.
202
+
184
203
  **Legacy state migration:** If `state.md` contains `oat_execution_mode: subagent-driven`, silently ignore it. On the next bookkeeping write, remove that key. Do not redirect to `oat-project-subagent-implement` — that skill is deprecated.
185
204
 
186
205
  ### Dispatch Policy Preflight
@@ -193,13 +212,13 @@ Use the CLI resolver as the source of truth. The command name remains
193
212
  policy:
194
213
 
195
214
  ```bash
196
- oat project dispatch-ceiling resolve --provider <active-provider> --preflight --json
215
+ oat project dispatch-ceiling resolve --provider <active-provider> --preflight --report-scope implementation-preflight --report-action implementation --json
197
216
  ```
198
217
 
199
218
  If `oat` is not in PATH, use:
200
219
 
201
220
  ```bash
202
- pnpm run cli -- project dispatch-ceiling resolve --provider <active-provider> --preflight --json
221
+ pnpm run cli -- project dispatch-ceiling resolve --provider <active-provider> --preflight --report-scope implementation-preflight --report-action implementation --json
203
222
  ```
204
223
 
205
224
  Resolution order:
@@ -345,7 +364,7 @@ exists, rerun the resolver with non-interactive behavior and stop before work
345
364
  starts if it blocks:
346
365
 
347
366
  ```bash
348
- oat project dispatch-ceiling resolve --provider <active-provider> --preflight --non-interactive
367
+ oat project dispatch-ceiling resolve --provider <active-provider> --preflight --non-interactive --report-scope implementation-preflight --report-action implementation
349
368
  ```
350
369
 
351
370
  ```text
@@ -390,6 +409,32 @@ an ordered matrix route:
390
409
  entry before retrying, up to the last available route entry and within
391
410
  `oat_orchestration_retry_limit`.
392
411
 
412
+ #### Dispatch Report V1 contract
413
+
414
+ Every implementation, fix, and review resolver invocation MUST pass explicit
415
+ report context:
416
+
417
+ - implementation: `--report-scope <phase-or-task> --report-action implementation`
418
+ - fix: `--report-scope <phase-or-task> --report-action fix`
419
+ - review: `--report-scope <phase-or-review-scope> --report-action review`
420
+
421
+ Require `dispatchReport.schemaVersion: 1` in the completed resolver JSON before
422
+ dispatch. Consume the report as the human/audit source: render the versioned
423
+ block with `formatDispatchReport(dispatchReport)` semantics, and derive the
424
+ formal compatibility line only through
425
+ `formatDispatchStamp(dispatchReport)` / `toDispatchStampRecord(dispatchReport)`.
426
+ Never hand-assemble a second `Dispatch:` schema from policy labels, role names,
427
+ candidate strings, or target names.
428
+
429
+ The exact provider invocation remains authoritative in
430
+ `providers.<provider>.dispatchArgs` and `providers.<provider>.selection.target`;
431
+ the report does not replace or weaken target-pinned dispatch. Add independently
432
+ observed runtime identity to `dispatchReport.runtimeIdentity` only when such an
433
+ observation exists. Requested/configured controls are not runtime observation.
434
+ For gate-originated review, keep `dispatchReport.gateInvocation`, existing
435
+ work-producer `diversity`, and reviewer `runtimeIdentity` as three distinct
436
+ facts; producer stamps or self-report never overwrite configured invocation.
437
+
393
438
  Axis states:
394
439
 
395
440
  - `selected:<value>` - host exposes the axis and the orchestrator chose a value.
@@ -401,14 +446,19 @@ Axis states:
401
446
  Codex rules:
402
447
 
403
448
  **Managed Codex execution invariant:** When the resolver returns a model+effort
404
- target, prefer the exact registered role or variant from
405
- `providers.codex.dispatchArgs.variant`. If the current host cannot select that
406
- exact registered target, launch a fresh Codex child with the resolver target's
407
- explicit model, reasoning effort, and canonical role instructions from
449
+ target, the resolver-returned Codex variant from
450
+ `providers.codex.dispatchArgs.variant` must first be sent through the native
451
+ spawn API as `agent_type`. Spawn acceptance plus the launcher payload is
452
+ configured invocation evidence with launcher-selected/config-declared
453
+ provenance. If and only if the host returns a native role-selection rejection,
454
+ launch a fresh Codex child with the resolver target's explicit model, reasoning
455
+ effort, and canonical role instructions from
408
456
  `.agents/agents/oat-phase-implementer.md` or
409
- `.agents/agents/oat-reviewer.md`. Workflow correctness must not require provider
410
- restart or hot reload. A managed base role is forbidden when a concrete target
411
- was requested; never silently downgrade to it. Base roles remain valid only for
457
+ `.agents/agents/oat-reviewer.md`. Missing runtime telemetry or agent self-report
458
+ is not role unavailability, and an accepted child result such as `BLOCKED`
459
+ cannot trigger fallback. Workflow correctness must not require provider restart
460
+ or hot reload. A managed base role is forbidden when a concrete target was
461
+ requested; never silently downgrade to it. Base roles remain valid only for
412
462
  explicit inherit/default behavior and the documented managed-uncapped reviewer
413
463
  fallback.
414
464
 
@@ -422,12 +472,12 @@ fallback.
422
472
  3. For capped managed implementer/fix work, selected effort is `min(preferred, resolved_cap)`.
423
473
  4. For managed `Uncapped` implementer/fix work, selected effort is the preferred effort with no cap.
424
474
  5. For inherit/default mode, the resolver returns no selected dispatch args. Use the base/unpinned Codex role, log `Selected effort: provider-default`, display provider default effort when known, and do not describe this as managed uncapped behavior.
425
- 6. For managed capped task-worker/fix dispatch, choose an exact configured candidate and call `oat project dispatch-ceiling resolve --provider codex --role implementer --ceiling-tier <project-or-phase-tier> --candidate-model <model> --candidate-effort <effort> --escalation-level <route-level> --json`. Read `providers.codex.dispatchArgs.variant` and `providers.codex.selection.target`; never reuse the coordinator role or a cap-only variant. `--preferred` remains compatibility behavior outside the exact task-worker path.
426
- 7. For review dispatch: call `oat project dispatch-ceiling resolve --provider codex --role reviewer`; read `providers.codex.dispatchArgs.variant` and `providers.codex.selection.target`.
475
+ 6. For managed capped task-worker/fix dispatch, choose an exact configured candidate. For implementation, call `oat project dispatch-ceiling resolve --provider codex --role implementer --ceiling-tier <project-or-phase-tier> --candidate-model <model> --candidate-effort <effort> --escalation-level <route-level> --report-scope <task-id> --report-action implementation --json`. For a bounded fix, use `oat project dispatch-ceiling resolve --provider codex --role implementer --ceiling-tier <project-or-phase-tier> --candidate-model <model> --candidate-effort <effort> --escalation-level <route-level> --report-scope <task-id> --report-action fix --json`. Read `providers.codex.dispatchArgs.variant` and `providers.codex.selection.target`; never reuse the coordinator role or a cap-only variant. `--preferred` remains compatibility behavior outside the exact task-worker path.
476
+ 7. For review dispatch: call `oat project dispatch-ceiling resolve --provider codex --role reviewer --report-scope <phase-or-review-scope> --report-action review --json`; read `providers.codex.dispatchArgs.variant` and `providers.codex.selection.target`.
427
477
  - Capped managed policy: reviewer targets the configured cap for deterministic quality gate behavior.
428
478
  - Managed `Uncapped`: no reviewer target exists; use base/unpinned reviewer fallback and log `selectionMode=no-review-target`, `selectedValue=null`, and `effort_axis=provider-default`.
429
479
  - Inherit/default: no reviewer target exists; use base/unpinned reviewer fallback and log `selectionMode=inherit-default`, `selectedValue=null`, and `effort_axis=provider-default`.
430
- 8. Codex payload-first assertion applies whenever the resolver returns a materialized model+effort target. If `providers.codex.dispatchArgs.variant` is present, the actual `spawn_agent` payload MUST use it as `agent_type`; when that variant came from a Codex model+effort target, log `model_axis=selected:<model>` and `effort_axis=selected:<effort>` from resolver output. If a concrete managed target has no usable variant, use the explicitly pinned fresh-child route or block. Use the base role and log provider-default only for explicit inherit/default behavior or the documented managed-uncapped reviewer exception. Always derive `model_axis` and `effort_axis` from resolver output, not from legacy role-name parsing.
480
+ 8. Codex payload-first assertion applies whenever the resolver returns a materialized model+effort target. If `providers.codex.dispatchArgs.variant` is present, the actual `spawn_agent` payload MUST first use it as native `agent_type`; when that variant came from a Codex model+effort target, log `model_axis=selected:<model>` and `effort_axis=selected:<effort>` from resolver output and the constructed launcher payload. Spawn acceptance is sufficient configured invocation evidence. Missing telemetry or self-report does not make the variant unusable. If native role selection explicitly rejects the variant, use the explicitly pinned fresh-child route or block. Use the base role and log provider-default only for explicit inherit/default behavior or the documented managed-uncapped reviewer exception. Always derive `model_axis` and `effort_axis` from resolver output, not from legacy role-name parsing or agent self-report.
431
481
  9. Do not use top-level per-call `reasoning_effort` as the standard OAT selected-effort path; dogfooding showed that path can be inconsistent.
432
482
 
433
483
  Claude rules:
@@ -440,7 +490,7 @@ Claude rules:
440
490
  - Review dispatch:
441
491
  - Capped managed policy: target the configured policy cap directly.
442
492
  - Managed `Uncapped` or inherit/default: no reviewer target exists; omit `model` and log inherited/default model behavior.
443
- - For managed capped task-worker/fix dispatch, call `oat project dispatch-ceiling resolve --provider claude --role implementer --ceiling-tier <project-or-phase-tier> --candidate-model <model> --orchestrator-tier <current-orchestrator-tier> --escalation-level <route-level> --json`; for review dispatch, call the resolver with `--role reviewer` and no candidate flags. Read `providers.claude.dispatchArgs.model` and pass it exactly on the actual Task invocation.
493
+ - For managed capped task-worker/fix dispatch, call `oat project dispatch-ceiling resolve --provider claude --role implementer --ceiling-tier <project-or-phase-tier> --candidate-model <model> --orchestrator-tier <current-orchestrator-tier> --escalation-level <route-level> --report-scope <task-id> --report-action implementation --json` for implementation. For a bounded fix, call `oat project dispatch-ceiling resolve --provider claude --role implementer --ceiling-tier <project-or-phase-tier> --candidate-model <model> --orchestrator-tier <current-orchestrator-tier> --escalation-level <route-level> --report-scope <task-id> --report-action fix --json`. For review dispatch, call the resolver with `--role reviewer --report-scope <phase-or-review-scope> --report-action review --json` and no candidate flags. Read `providers.claude.dispatchArgs.model` and pass it exactly on the actual Task invocation.
444
494
  - Pass `model: "<value>"` when `model_axis=selected:<value>` on the Task tool call.
445
495
  - Keep `effort_axis=not-applicable`; Claude Code has no separate per-dispatch effort axis.
446
496
 
@@ -448,9 +498,10 @@ Cursor rules:
448
498
 
449
499
  - Treat every configured Cursor candidate string as opaque. Do not normalize it
450
500
  or infer capability from its spelling.
451
- - For managed capped task-worker/fix dispatch, call the resolver with
452
- `--provider cursor --role implementer --ceiling-tier
453
- <project-or-phase-tier> --candidate-model <opaque-model> --json`.
501
+ - For managed capped task-worker/fix dispatch, call
502
+ `oat project dispatch-ceiling resolve --provider cursor --role implementer --ceiling-tier <project-or-phase-tier> --candidate-model <opaque-model> --report-scope <task-id> --report-action implementation --json`
503
+ for implementation. For a bounded fix, call
504
+ `oat project dispatch-ceiling resolve --provider cursor --role implementer --ceiling-tier <project-or-phase-tier> --candidate-model <opaque-model> --report-scope <task-id> --report-action fix --json`.
454
505
  - Require `providers.cursor.dispatchArgs.model` and pass that exact byte-for-byte
455
506
  string as the actual Cursor invocation model. If the host cannot apply it,
456
507
  fail closed.
@@ -459,20 +510,23 @@ Payload-first invariant:
459
510
 
460
511
  - Build the actual host dispatch argument map before logging.
461
512
  - Do not emit `selected:<value>` unless the host invocation contains the corresponding role/model selection.
513
+ - For every coordinator, task-worker, fix, and review launch, record `target`,
514
+ `model_axis`, and `effort_axis` from resolver output and the actual launcher
515
+ payload after payload construction.
516
+ - Those fields are launcher-owned. Agent self-report cannot populate or
517
+ overwrite them; it may only be retained separately as optional diagnostics.
462
518
  - Derive `Dispatch target` and `Effort axis` / `Model axis` from the payload.
463
- - After the payload is built, append a formal dispatch stamp to Dispatch Notes
464
- for every implementation, fix, and review dispatch. Use the p01 grammar
465
- exactly:
519
+ - After the payload is built, append the compatibility stamp returned from
520
+ `formatDispatchStamp(dispatchReport)` to Dispatch Notes for every
521
+ implementation, fix, and review dispatch. The derived line retains the p01
522
+ grammar exactly:
466
523
  `Dispatch: scope=<phase-or-task> action=<implementation|fix|review> role=<implementer|fix|reviewer> producer=<slug|unknown> provenance=<declared|observed|inferred|unknown> model_axis=<axis> effort_axis=<axis> dispatch_policy=<policy|unknown> dispatch_ceiling=<value|none> target=<target|unknown>`.
467
- Derive `producer` and `provenance` from the resolver payload and actual host
468
- arguments. Only concrete model arguments, including same-harness route model
469
- args for model-arg providers, declare producer identity. Codex materialized
470
- model+effort variants declare `model_axis=selected:<model>` and
471
- `effort_axis=selected:<effort>` from resolver output, but keep
472
- `producer=unknown provenance=unknown` unless an observed/inferred model
473
- identity is available. Base/unpinned or deferred cross-harness paths are also
474
- `producer=unknown provenance=unknown` unless an observed/inferred identity is
475
- available. Do not write prose-only or legacy comma-separated stamp forms.
524
+ Populate the report from the completed resolver and actual host arguments.
525
+ Only independently observed or otherwise supported runtime evidence may
526
+ populate runtime producer identity. Codex materialized model+effort variants
527
+ retain selected model/effort controls while keeping runtime identity
528
+ not-reported unless evidence exists. Do not write prose-only, hand-built, or
529
+ legacy comma-separated stamp forms.
476
530
 
477
531
  Human-facing dispatch display rules:
478
532
 
@@ -1043,10 +1097,15 @@ coordinator_target: {resolver-selected coordinator target}
1043
1097
 
1044
1098
  Tier 1 uses the already resolved exact coordinator role/model payload and sends
1045
1099
  the Phase Scope. A concrete Codex coordinator uses
1046
- `providers.codex.dispatchArgs.variant`; when the registered role cannot be
1047
- selected, use the fresh child pinned to the resolver's model and effort with
1048
- canonical coordinator instructions. Claude and Cursor coordinator calls pass
1049
- their exact resolver model argument.
1100
+ `providers.codex.dispatchArgs.variant` first as native `agent_type`. After the
1101
+ host accepts the spawn, record the coordinator `target`, `model_axis`, and
1102
+ `effort_axis` from resolver output and that constructed launcher payload; do not
1103
+ wait for or accept a coordinator self-report as proof. Only an actual native
1104
+ role-selection rejection permits the fresh child pinned to the resolver's model
1105
+ and effort with canonical coordinator instructions. An accepted coordinator
1106
+ that later returns `BLOCKED` has produced a coordinator outcome and cannot
1107
+ trigger fallback. Claude and Cursor coordinator calls pass their exact resolver
1108
+ model argument.
1050
1109
 
1051
1110
  Tier 2 may run the coordinator instructions in the current context only when
1052
1111
  that context can still dispatch every exact task worker. Tier 2 never permits
@@ -1067,6 +1126,8 @@ For each task in dependency order, the coordinator must:
1067
1126
  --role implementer \
1068
1127
  --ceiling-tier <project-or-phase-named-tier> \
1069
1128
  --candidate-model <exact-model> \
1129
+ --report-scope <task-id> \
1130
+ --report-action implementation \
1070
1131
  --project-path "$PROJECT_PATH" \
1071
1132
  --json
1072
1133
  ```
@@ -1077,14 +1138,19 @@ For each task in dependency order, the coordinator must:
1077
1138
  is read-only and must never persist its override.
1078
1139
 
1079
1140
  3. Build the actual provider invocation before logging:
1080
- - Codex uses `providers.codex.dispatchArgs.variant` as `agent_type`, or the
1081
- exact fresh pinned-child model/effort route when native role selection is
1082
- unavailable.
1141
+ - Codex first uses `providers.codex.dispatchArgs.variant` as native
1142
+ `agent_type`. Spawn acceptance establishes the configured invocation; only
1143
+ a native role-selection rejection permits the exact fresh pinned-child
1144
+ model/effort route.
1083
1145
  - Claude passes `providers.claude.dispatchArgs.model` as the actual Task
1084
1146
  `model`.
1085
1147
  - Cursor passes `providers.cursor.dispatchArgs.model` byte-for-byte as the
1086
1148
  actual invocation model. Treat the string as opaque and never normalize or
1087
1149
  infer capability from it.
1150
+ - After construction, record the task-worker `target`, `model_axis`, and
1151
+ `effort_axis` from resolver output and the launcher payload. Missing worker
1152
+ telemetry or self-report is not unavailability, and self-report cannot
1153
+ replace those launcher-owned values.
1088
1154
  4. Send one bounded Task Scope, never the full phase task list:
1089
1155
 
1090
1156
  ```yaml
@@ -1135,8 +1201,8 @@ After the implementer returns DONE (or DONE_WITH_CONCERNS without correctness co
1135
1201
  **Dispatch:**
1136
1202
 
1137
1203
  - Use the same tier that was selected at start.
1138
- - For Codex with a capped managed policy, dispatch the materialized reviewer role returned in `providers.codex.dispatchArgs.variant` for deterministic quality gates.
1139
- - If that exact registered reviewer role is not selectable in the current host session, launch a fresh Codex child with explicit model, reasoning effort, and canonical role instructions from `.agents/agents/oat-reviewer.md`; never substitute the managed base role and never require restart/hot reload.
1204
+ - For Codex with a capped managed policy, first dispatch the materialized reviewer role returned in `providers.codex.dispatchArgs.variant` as native `agent_type` for deterministic quality gates. After spawn acceptance, record the review `target`, `model_axis`, and `effort_axis` from resolver output and the constructed launcher payload; reviewer self-report cannot populate or overwrite them.
1205
+ - Only if the exact registered reviewer role receives a native role-selection rejection may the launcher start a fresh Codex child with explicit model, reasoning effort, and canonical role instructions from `.agents/agents/oat-reviewer.md`; never substitute the managed base role and never require restart/hot reload. Missing reviewer telemetry or self-report is not a rejection, and an accepted reviewer that later returns `BLOCKED` cannot trigger fallback.
1140
1206
  - For Codex with managed `Uncapped` or inherit/default mode, no reviewer target exists; use base `oat-reviewer`, log `effort_axis=provider-default`, and explain that the base role follows the provider default.
1141
1207
  - For Claude Code with a capped managed policy, require `providers.claude.dispatchArgs.model` and pass that exact value as the review `model`; managed `Uncapped` or inherit/default mode omits `model` because no reviewer target exists. Always keep `effort_axis=not-applicable`.
1142
1208
  - For Cursor with a concrete managed reviewer target, require `providers.cursor.dispatchArgs.model` and pass that exact opaque, unnormalized string as the actual review invocation's `model` argument.
@@ -1165,7 +1231,7 @@ After the implementer returns DONE (or DONE_WITH_CONCERNS without correctness co
1165
1231
  - For Codex Tier 1 dispatches, send the Review Scope block as a self-contained packet and keep fresh context (`fork_context: false`). The reviewer is expected to reconstruct context from git state and the OAT artifacts listed above.
1166
1232
  - For Codex Tier 1 review dispatches, use the materialized Codex role name from `providers.codex.dispatchArgs.variant` only when the resolver returns a reviewer variant for a capped managed policy. A Codex materialized reviewer role selected from a model+effort target must carry `model_axis=selected:<model>` and `effort_axis=selected:<effort>` from resolver output. Use base `oat-reviewer` only when the resolver returns no `dispatchArgs.variant` for managed `Uncapped`, inherit/default mode, or provider-default fallback, and log `effort_axis=provider-default`. For Claude Code, pass `model: providers.claude.dispatchArgs.model` for a concrete managed reviewer and never pass a per-review effort override. For Cursor, pass `model: providers.cursor.dispatchArgs.model` byte-for-byte for a concrete managed reviewer.
1167
1233
  - Treat the commit range as authoritative for review scope. `files_changed` is optional orientation metadata only.
1168
- - If a reviewer does not return a terminal result on the first wait, poll once more. If it still has not concluded, send one concise nudge to return immediately with current findings. If the reviewer still does not conclude, treat the target-preserving review dispatch as failed for this phase. Retry the same exact role, pinned fresh-child route, or complete Claude/Cursor invocation payload within the retry bound, preserving the exact model argument; never downgrade a timed-out managed reviewer to unpinned inline execution.
1234
+ - If a reviewer does not return a terminal result on the first wait, poll once more. If it still has not concluded, send one concise nudge to return immediately with current findings. If the reviewer still does not conclude, treat the target-preserving review dispatch as failed for this phase. When the original native reviewer spawn was accepted, retry the same already-selected native `agent_type` route within the retry bound; do not switch that timed-out reviewer to a fresh pinned child. The fresh pinned-child route is eligible only when the original native attempt received explicit pre-start role-selection rejection. Retry an already-selected pinned fresh-child route or complete Claude/Cursor invocation payload without changing routes, preserving the exact model argument; never downgrade a timed-out managed reviewer to unpinned inline execution.
1169
1235
 
1170
1236
  - Tier 2: read `.agents/agents/oat-reviewer.md` and review inline only with verified equivalent current-host model and effort controls, explicit inherit/default behavior, or the documented managed-uncapped reviewer behavior. Otherwise block.
1171
1237
 
@@ -1175,6 +1241,9 @@ Parse the reviewer's confirmation for verdict + finding severities. Map to pass
1175
1241
 
1176
1242
  - **pass:** zero Critical and zero Important findings.
1177
1243
  - **fail:** one or more Critical or Important findings.
1244
+ - **blocked:** An accepted reviewer `BLOCKED` terminal blocks this phase review.
1245
+ It does not invoke fallback and must not be interpreted as a pass due to
1246
+ absent findings. Stop and surface the review target and blocker reason.
1178
1247
 
1179
1248
  Medium / Minor findings do not block the phase but are recorded.
1180
1249
 
@@ -1185,7 +1254,7 @@ On reviewer verdict `fail`, run a bounded fix loop.
1185
1254
  1. Read `oat_orchestration_retry_limit` from `state.md` frontmatter (default: `2`, range 0–5).
1186
1255
  2. For each retry (up to the limit):
1187
1256
  a. Convert Critical/Important findings into bounded fix scopes associated with one planned task/file boundary at a time. Do not hand one worker the full phase finding list.
1188
- b. Reuse the phase coordinator in `fix` mode. It selects an exact candidate under the same project or phase named ceiling with `--ceiling-tier`, then emits one Task Scope per bounded fix. Codex uses `providers.codex.dispatchArgs.variant`; Claude and Cursor pass their exact `providers.<provider>.dispatchArgs.model` value on the actual invocation. Every fix worker writes the formal `Dispatch: scope=<phase-or-task> action=fix role=fix producer=<slug|unknown> provenance=<declared|observed|inferred|unknown> model_axis=<axis> effort_axis=<axis> dispatch_policy=<policy|unknown> dispatch_ceiling=<value|none> target=<target|unknown>` stamp before execution.
1257
+ b. Reuse the phase coordinator in `fix` mode. It selects an exact candidate under the same project or phase named ceiling with `--ceiling-tier`, then emits one Task Scope per bounded fix. Codex first uses `providers.codex.dispatchArgs.variant` as native `agent_type`; only a native role-selection rejection permits the exact fresh-child fallback. Claude and Cursor pass their exact `providers.<provider>.dispatchArgs.model` value on the actual invocation. After constructing the launcher payload, record the fix `target`, `model_axis`, and `effort_axis` from that payload and resolver output. Missing fix-worker telemetry or self-report is not unavailability, and an accepted fix worker — including one that returns `BLOCKED` — cannot trigger fallback. Every fix worker writes the formal `Dispatch: scope=<phase-or-task> action=fix role=fix producer=<slug|unknown> provenance=<declared|observed|inferred|unknown> model_axis=<axis> effort_axis=<axis> dispatch_policy=<policy|unknown> dispatch_ceiling=<value|none> target=<target|unknown>` stamp before execution.
1189
1258
  c. Receive and verify each fix result and commit. The coordinator must not apply fixes itself, and Tier 2 does not authorize inline task edits.
1190
1259
  d. Re-dispatch the reviewer with the updated commit range.
1191
1260
  e. Parse the new verdict.
@@ -1628,6 +1697,10 @@ All must pass before proceeding.
1628
1697
 
1629
1698
  **At the final plan phase boundary, a code review is required before PR.**
1630
1699
 
1700
+ An accepted reviewer `BLOCKED` terminal blocks final review. It does not invoke
1701
+ fallback and must not be interpreted as a pass due to absent findings. Stop and
1702
+ surface the review target and blocker reason.
1703
+
1631
1704
  Before requesting final review, ensure the latest project-artifact bookkeeping is already committed. Review should evaluate the implementation state as it actually stands on the branch, not a half-tracked working tree.
1632
1705
 
1633
1706
  Check if final review already completed (preferred source of truth: plan.md Reviews table):
@@ -1654,13 +1727,22 @@ echo "$FINAL_ROW"
1654
1727
  **Workflow preference check (before prompting):**
1655
1728
 
1656
1729
  First resolve the final reviewer target with the same target-first contract as
1657
- per-phase review. A concrete managed Codex target must use its exact registered
1658
- reviewer or an explicitly pinned fresh child. A concrete managed Claude or
1659
- Cursor target must put `providers.claude.dispatchArgs.model` or
1730
+ per-phase review. A concrete managed Codex target must first send its exact
1731
+ registered reviewer as native `agent_type`; only a native role-selection
1732
+ rejection permits an explicitly pinned fresh child. Spawn acceptance plus the
1733
+ launcher payload supplies configured invocation evidence, so missing telemetry,
1734
+ missing self-report, or a later `BLOCKED` result cannot trigger fallback. Record
1735
+ the final review `target`, `model_axis`, and `effort_axis` from resolver output
1736
+ and the constructed launcher payload, never from reviewer self-report. A
1737
+ concrete managed Claude or Cursor target must put
1738
+ `providers.claude.dispatchArgs.model` or
1660
1739
  `providers.cursor.dispatchArgs.model` respectively into the actual provider
1661
1740
  invocation as the exact `model` argument; Cursor strings remain opaque. On
1662
- timeout or retry, preserve the same exact role or complete invocation payload,
1663
- including the model argument. If the host cannot apply the required role or
1741
+ timeout or retry, preserve the already-selected route as well as its complete
1742
+ invocation payload: an accepted native reviewer retries the same native
1743
+ `agent_type`, while a fresh pinned-child route is eligible only when the
1744
+ original native attempt received explicit pre-start role-selection rejection.
1745
+ Preserve the exact model argument. If the host cannot apply the required role or
1664
1746
  model argument, fail closed or block unless verified equivalent current-host
1665
1747
  controls permit inline execution. The preference below chooses only among
1666
1748
  routes that preserve that target; it cannot authorize generic inline or base
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-review-provide
3
- version: 1.3.12
3
+ version: 1.3.14
4
4
  description: Use when the user explicitly asks to review an OAT project — e.g. "review project", "review the project", "run project review", or confirms a previously offered review. Do NOT auto-invoke on completed work alone. Resolves a project review scope and offers before running.
5
5
  disable-model-invocation: false
6
6
  user-invocable: true
@@ -523,9 +523,25 @@ Before capability-tier selection, resolve the same reviewer contract used by
523
523
  plan artifact review and implementation phase/final review:
524
524
 
525
525
  ```bash
526
- oat project dispatch-ceiling resolve --provider "$ACTIVE_PROVIDER" --role reviewer --preflight --json
526
+ oat project dispatch-ceiling resolve --provider "$ACTIVE_PROVIDER" --role reviewer --preflight --report-scope "$SCOPE_TOKEN" --report-action review --json
527
527
  ```
528
528
 
529
+ Require `dispatchReport.schemaVersion: 1`. Render/consume the resolver's
530
+ versioned report using `formatDispatchReport(dispatchReport)` semantics, and
531
+ derive the formal compatibility line only with
532
+ `formatDispatchStamp(dispatchReport)` / `toDispatchStampRecord(dispatchReport)`.
533
+ Include that derived line in the review dispatch audit metadata; do not
534
+ hand-assemble `Dispatch:` fields from a role name or model string.
535
+
536
+ The exact managed provider target still comes from
537
+ `providers.<provider>.dispatchArgs` plus
538
+ `providers.<provider>.selection.target`, and the actual reviewer invocation
539
+ must retain it byte-for-byte. The report is an audit/rendering surface, not a
540
+ selection fallback. Configured invocation (including gate-owned immutable
541
+ metadata), work-producer diversity, and independently observed reviewer runtime identity are distinct. Do not promote producer stamps, configured defaults, or
542
+ reviewer self-report into `dispatchReport.runtimeIdentity`; leave it
543
+ `not-reported` unless an independent observation exists.
544
+
529
545
  The reviewer resolver selects the final candidate of the configured review
530
546
  ceiling. Do not supply ephemeral implementer candidate requests for artifact,
531
547
  phase, project, or final review. A lower candidate is allowed only when a
@@ -539,13 +555,16 @@ fallbacks.
539
555
  A concrete managed Codex target takes precedence over tier availability.
540
556
  Build the actual provider invocation before reporting the target as enforced:
541
557
 
542
- - Codex uses the exact registered reviewer role or variant from
543
- `providers.codex.dispatchArgs.variant` when selectable. If the current host
544
- cannot select it, launch a fresh Codex child with the resolver target's
545
- explicit model, reasoning effort, canonical role instructions from
546
- `.agents/agents/oat-reviewer.md`, and the same Review Scope payload.
547
- If that fresh child is unavailable, use only a verified-equivalent inline
548
- route or block the review.
558
+ - Codex must send the resolver-returned Codex variant first as the native
559
+ `agent_type`. Spawn acceptance plus the complete launcher payload is
560
+ configured invocation evidence; it does not require reviewer self-report or
561
+ separate runtime telemetry. A native role-selection rejection means an
562
+ explicit host rejection of that exact `agent_type` before any reviewer or
563
+ child starts. Only after that pre-start rejection may the workflow launch a
564
+ fresh Codex child with the resolver target's explicit model, reasoning
565
+ effort, canonical role instructions from `.agents/agents/oat-reviewer.md`,
566
+ and the same Review Scope payload. If neither exact route is available, use
567
+ only a verified-equivalent inline route or block the review.
549
568
  - Claude requires a non-empty `providers.claude.dispatchArgs.model`; the actual
550
569
  provider invocation must include that exact value as its `model` argument.
551
570
  - Cursor requires a non-empty `providers.cursor.dispatchArgs.model`; the actual
@@ -557,6 +576,18 @@ candidate ladder, fail closed before review. Route interactive repair through
557
576
  the planning workflow's `Complete Dispatch Ladder Adoption Contract`; do not
558
577
  invent a reviewer target.
559
578
 
579
+ After constructing the complete provider payload, record the launcher-owned
580
+ `target`, `model_axis`, and `effort_axis` with
581
+ `launcher-selected/config-declared` provenance. These fields are immutable:
582
+ missing telemetry, missing reviewer self-report, or contradictory self-report
583
+ must not populate, replace, or overwrite them and must not trigger fallback.
584
+
585
+ Once the native host accepts a reviewer, every terminal result is an
586
+ authoritative review outcome. An accepted reviewer returning `BLOCKED` is a
587
+ terminal blocking review outcome: it blocks the review and does not invoke or
588
+ trigger the fresh-child fallback. Absent findings from that terminal must not
589
+ be parsed, interpreted, or treated as a passing review.
590
+
560
591
  On timeout or retry, reuse the same exact role or complete invocation payload,
561
592
  including the Claude or Cursor model argument. If the host cannot apply a
562
593
  required role or model argument, fail closed or block unless inline execution
@@ -607,7 +638,7 @@ Then spawn the reviewer:
607
638
  - Use provider-appropriate dispatch:
608
639
  - Claude Code: Task tool with `subagent_type: "oat-reviewer"` (resolves from `.claude/agents/oat-reviewer.md`). For a concrete managed target, the payload must also contain `model: providers.claude.dispatchArgs.model` with the resolver-returned value.
609
640
  - Cursor: explicit invocation `/oat-reviewer` (or natural mention) with agent resolved from `.cursor/agents/oat-reviewer.md` or `.claude/agents/oat-reviewer.md` compatibility path. For a concrete managed target, the invocation must also contain `model: providers.cursor.dispatchArgs.model` with the exact opaque resolver-returned string.
610
- - Codex style: for a concrete managed target, spawn the exact resolver-returned `agent_type`; if it cannot be selected, use the explicitly pinned fresh-child route from Step 6.0. Generic auto-selection is permitted only for the documented base-role exceptions.
641
+ - Codex style: for a concrete managed target, first spawn the exact resolver-returned native `agent_type`; only an explicit pre-start native role-selection rejection permits the explicitly pinned fresh-child route from Step 6.0. Generic auto-selection is permitted only for the documented base-role exceptions.
611
642
  - Pass the Review Scope metadata block from Step 5 as the prompt
612
643
  - Include the pre-computed artifact path for the subagent to write to
613
644
  - **If a worktree was resolved in Step 1.5:** include the worktree path in the prompt so the subagent writes the artifact to the worktree directory, not the current session's working directory
@@ -617,6 +648,9 @@ The `oat-reviewer` agent definition contains the full review process, mode contr
617
648
 
618
649
  After the subagent completes:
619
650
 
651
+ - Treat its terminal status as authoritative. An accepted `BLOCKED` result
652
+ blocks the review; do not invoke fallback and do not infer a pass from a
653
+ missing review artifact or absent findings.
620
654
  - Verify the review artifact was written to the expected path
621
655
  - Continue with Step 9 (plan update) and Step 9.5 (commit)
622
656
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: oat-project-review-provide-remote
3
- version: 1.0.2
3
+ version: 1.0.3
4
4
  description: Use when reviewing a GitHub PR opened on another machine for an active OAT project and posting findings back as a single PR review. Resolves the project from the PR diff, reads project artifacts for mode-aware review, and posts via gh api.
5
5
  disable-model-invocation: true
6
6
  user-invocable: true
@@ -211,6 +211,33 @@ Guard outcomes:
211
211
 
212
212
  Mode-aware review against the project artifacts + the `oat-reviewer` checklist + severity model. Scope to the narrowing range when one was chosen; otherwise the full PR diff. Assign finding IDs per severity bucket (`C1`, `I1`, `M1`, `m1`), stable within the dispatch.
213
213
 
214
+ **Step 5.0: Resolve and report the exact reviewer target.** Before capability
215
+ probing, run:
216
+
217
+ ```bash
218
+ oat project dispatch-ceiling resolve --provider "$ACTIVE_PROVIDER" --role reviewer --preflight --project-path "$PROJECT_PATH" --report-scope "$SCOPE_TOKEN" --report-action review --json
219
+ ```
220
+
221
+ Require `dispatchReport.schemaVersion: 1`. Render/consume its versioned human
222
+ block with `formatDispatchReport(dispatchReport)` semantics and derive the
223
+ formal audit `Dispatch:` line only through
224
+ `formatDispatchStamp(dispatchReport)` / `toDispatchStampRecord(dispatchReport)`.
225
+ Never hand-build a parallel stamp schema.
226
+
227
+ Retain the exact managed provider payload from
228
+ `providers.<provider>.dispatchArgs` and
229
+ `providers.<provider>.selection.target` in the actual Tier 1/2/3 invocation;
230
+ the report does not authorize substitution or lowering. Configured gate
231
+ invocation, work-producer diversity, and independently observed reviewer
232
+ `dispatchReport.runtimeIdentity` remain separate. Do not treat PR markers, implementation
233
+ producer stamps, configured defaults, or reviewer self-report as runtime
234
+ confirmation. Leave report runtime identity not-reported unless independently
235
+ observed.
236
+
237
+ This resolver command is independent of lifecycle gates. Reusable `oat gate
238
+ review` commands must remain provider-neutral and must not contain or add a
239
+ provider/model `--target` argument.
240
+
214
241
  **Step 5a: Probe subagent availability** (mirrors `oat-project-review-provide` Step 6a):
215
242
 
216
243
  ```
@@ -3,6 +3,7 @@ import { type PromptContext } from '../shared/shared.prompts.js';
3
3
  import { type OatConfig, type OatLocalConfig, type UserConfig } from '../../config/oat-config.js';
4
4
  import { type ResolvedConfig } from '../../config/resolve.js';
5
5
  import { type MatrixCellAvailabilityResponse, type ValidateMatrixCellOptions } from '../../providers/identity/availability.js';
6
+ import { createDispatchValidationPassContext, validateDispatchMatrixRefs } from '../../providers/identity/dispatch-validation.js';
6
7
  import { Command } from 'commander';
7
8
  interface ConfigCommandDependencies {
8
9
  buildCommandContext: (options: Parameters<typeof buildCommandContext>[0]) => CommandContext;
@@ -19,6 +20,8 @@ interface ConfigCommandDependencies {
19
20
  readFile: (path: string) => Promise<string>;
20
21
  confirmAction: (message: string, ctx: PromptContext) => Promise<boolean>;
21
22
  validateMatrixCell: (provider: string, value: string, options: ValidateMatrixCellOptions) => Promise<MatrixCellAvailabilityResponse>;
23
+ createDispatchValidationPassContext: typeof createDispatchValidationPassContext;
24
+ validateDispatchMatrixRefs: typeof validateDispatchMatrixRefs;
22
25
  processEnv: NodeJS.ProcessEnv;
23
26
  }
24
27
  export declare function createConfigCommand(overrides?: Partial<ConfigCommandDependencies>): Command;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAML,KAAK,SAAS,EACd,KAAK,cAAc,EAGnB,KAAK,UAAU,EAgBhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAGL,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkFpC,UAAU,yBAAyB;IACjC,mBAAmB,EAAE,CACnB,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAC/C,cAAc,CAAC;IACpB,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,mBAAmB,EAAE,CACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,mBAAmB,EAAE,CACnB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,UAAU,KACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,sBAAsB,EAAE,CACtB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,CAAC,UAAU,KACnB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,kBAAkB,EAAE,CAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;CAC/B;AA45DD,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,OAAO,CAAC,yBAAyB,CAAM,GACjD,OAAO,CAsKT"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAezC,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,cAAc,EAGnB,KAAK,UAAU,EAahB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAGL,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,mCAAmC,EACnC,0BAA0B,EAC3B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkFpC,UAAU,yBAAyB;IACjC,mBAAmB,EAAE,CACnB,OAAO,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAC/C,cAAc,CAAC;IACpB,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAClE,mBAAmB,EAAE,CACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,eAAe,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,mBAAmB,EAAE,CACnB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,UAAU,KACnB,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,sBAAsB,EAAE,CACtB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,CAAC,UAAU,KACnB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,kBAAkB,EAAE,CAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC7C,mCAAmC,EAAE,OAAO,mCAAmC,CAAC;IAChF,0BAA0B,EAAE,OAAO,0BAA0B,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;CAC/B;AAo0DD,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,OAAO,CAAC,yBAAyB,CAAM,GACjD,OAAO,CAsKT"}