@open-agent-toolkit/cli 0.3.14 → 0.3.16

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 (110) hide show
  1. package/assets/NOTICES.md +48 -0
  2. package/assets/bundle-metadata.json +1 -1
  3. package/assets/docs/contributing/markdown-features.md +38 -0
  4. package/assets/docs/contributing/smoke-testing.md +20 -13
  5. package/assets/docs/docs-tooling/workflows.md +26 -19
  6. package/assets/docs/getting-started/concepts.md +35 -21
  7. package/assets/docs/provider-sync/commands.md +21 -0
  8. package/assets/docs/provider-sync/manifest-and-drift.md +24 -17
  9. package/assets/docs/reference/cli-reference.md +2 -1
  10. package/assets/docs/reference/configuration.md +10 -2
  11. package/assets/docs/reference/project-state-machine.md +27 -20
  12. package/assets/docs/skills/index.md +1 -0
  13. package/assets/docs/skills/recon.md +8 -5
  14. package/assets/docs/workflows/advanced/autonomy.md +10 -0
  15. package/assets/docs/workflows/advanced/evidence-layers.md +19 -12
  16. package/assets/docs/workflows/advanced/orchestration-model.md +48 -34
  17. package/assets/docs/workflows/advanced/workflow-gates.md +109 -10
  18. package/assets/docs/workflows/approvals-and-automation.md +3 -1
  19. package/assets/docs/workflows/ideas/lifecycle.md +32 -25
  20. package/assets/docs/workflows/projects/closeout/closeout-skills.md +62 -1
  21. package/assets/docs/workflows/projects/execution/implementation-execution.md +67 -33
  22. package/assets/docs/workflows/projects/execution/project-log.md +6 -0
  23. package/assets/docs/workflows/projects/lifecycle.md +119 -63
  24. package/assets/docs/workflows/projects/reviews/index.md +63 -1
  25. package/assets/docs/workflows/projects/reviews/review-flavors.md +30 -23
  26. package/assets/docs/workflows/waves/wave-workflows.md +11 -3
  27. package/assets/public-package-versions.json +4 -4
  28. package/assets/skills/oat-project-autonomous/SKILL.md +1 -1
  29. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +172 -165
  30. package/assets/skills/oat-project-complete-auto/SKILL.md +388 -0
  31. package/assets/skills/oat-project-document/SKILL.md +1 -1
  32. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +172 -165
  33. package/assets/skills/oat-project-implement/SKILL.md +6 -1
  34. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +28 -1
  35. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +172 -165
  36. package/assets/skills/oat-project-implement/references/docs/complexity-review-fallback.md +262 -0
  37. package/assets/skills/oat-project-implement/references/docs/gate-approval-record.md +80 -0
  38. package/assets/skills/oat-project-implement/references/phase-execution.md +18 -0
  39. package/assets/skills/oat-project-lite/SKILL.md +1 -1
  40. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +172 -165
  41. package/assets/skills/oat-project-next/SKILL.md +19 -2
  42. package/assets/skills/oat-project-next/references/docs/gate-approval-record.md +80 -0
  43. package/assets/skills/oat-project-pr-final/SKILL.md +4 -3
  44. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +172 -165
  45. package/assets/skills/oat-project-progress/SKILL.md +15 -1
  46. package/assets/skills/oat-project-progress/references/docs/gate-approval-record.md +80 -0
  47. package/assets/skills/oat-project-quick-start/SKILL.md +31 -3
  48. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +172 -165
  49. package/assets/skills/oat-project-quick-start/references/docs/complexity-review-fallback.md +262 -0
  50. package/assets/skills/oat-project-quick-start/references/docs/gate-approval-record.md +80 -0
  51. package/assets/skills/oat-project-review-receive/SKILL.md +21 -3
  52. package/assets/skills/oat-project-review-receive/references/docs/complexity-review-fallback.md +262 -0
  53. package/assets/skills/oat-wave-execute/SKILL.md +49 -28
  54. package/assets/skills/oat-wave-program/SKILL.md +15 -6
  55. package/assets/skills/oat-wrap-up/SKILL.md +9 -3
  56. package/assets/skills/oat-wrap-up/references/report-template.md +1 -1
  57. package/assets/skills/recon/SKILL.md +1 -1
  58. package/assets/skills/recon/references/packet-contract.md +18 -3
  59. package/assets/skills/recon/scripts/lib/contracts.mjs +16 -2
  60. package/assets/skills/recon/scripts/reconcile-ledger.mjs +20 -10
  61. package/assets/skills/recon/scripts/render-packet.mjs +31 -3
  62. package/assets/skills/recon/scripts/validate-packet.mjs +5 -5
  63. package/assets/templates/docs-app-fuma/app/[[...slug]]/page.tsx +14 -2
  64. package/assets/templates/docs-app-fuma/app/globals.css +1 -0
  65. package/assets/templates/state.md +7 -0
  66. package/dist/commands/config/index.d.ts.map +1 -1
  67. package/dist/commands/config/index.js +13 -0
  68. package/dist/commands/gate/index.d.ts +5 -0
  69. package/dist/commands/gate/index.d.ts.map +1 -1
  70. package/dist/commands/gate/index.js +270 -9
  71. package/dist/commands/shared/frontmatter.d.ts +1 -1
  72. package/dist/commands/shared/frontmatter.d.ts.map +1 -1
  73. package/dist/commands/shared/frontmatter.js +1 -0
  74. package/dist/commands/state/generate.d.ts +1 -1
  75. package/dist/commands/state/generate.d.ts.map +1 -1
  76. package/dist/commands/state/generate.js +87 -8
  77. package/dist/commands/sync/apply.d.ts.map +1 -1
  78. package/dist/commands/sync/apply.js +31 -5
  79. package/dist/commands/sync/dry-run.d.ts.map +1 -1
  80. package/dist/commands/sync/dry-run.js +28 -11
  81. package/dist/commands/sync/sync.utils.d.ts +13 -0
  82. package/dist/commands/sync/sync.utils.d.ts.map +1 -1
  83. package/dist/commands/sync/sync.utils.js +21 -1
  84. package/dist/commands/tools/shared/pack-manifest.d.ts.map +1 -1
  85. package/dist/commands/tools/shared/pack-manifest.js +1 -0
  86. package/dist/config/oat-config.d.ts +1 -0
  87. package/dist/config/oat-config.d.ts.map +1 -1
  88. package/dist/config/oat-config.js +3 -0
  89. package/dist/config/resolve.d.ts.map +1 -1
  90. package/dist/config/resolve.js +1 -0
  91. package/dist/drift/detector.js +6 -6
  92. package/dist/engine/compute-plan.d.ts.map +1 -1
  93. package/dist/engine/compute-plan.js +87 -2
  94. package/dist/engine/engine.types.d.ts +10 -1
  95. package/dist/engine/engine.types.d.ts.map +1 -1
  96. package/dist/engine/engine.types.js +4 -0
  97. package/dist/engine/execute-plan.d.ts.map +1 -1
  98. package/dist/engine/execute-plan.js +42 -5
  99. package/dist/engine/managed-copy-hash.d.ts +4 -3
  100. package/dist/engine/managed-copy-hash.d.ts.map +1 -1
  101. package/dist/engine/managed-copy-hash.js +4 -3
  102. package/dist/fs/assets.d.ts.map +1 -1
  103. package/dist/fs/assets.js +7 -1
  104. package/dist/manifest/hash.d.ts +8 -10
  105. package/dist/manifest/hash.d.ts.map +1 -1
  106. package/dist/release/public-package-contract.js +1 -1
  107. package/dist/ui/output.js +1 -1
  108. package/dist/validation/skills.d.ts.map +1 -1
  109. package/dist/validation/skills.js +13 -0
  110. package/package.json +2 -2
@@ -6,7 +6,7 @@ disable-model-invocation: false
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Task
8
8
  metadata:
9
- version: 1.9.5
9
+ version: 1.9.6
10
10
  ---
11
11
 
12
12
  # Execute a Wave of External Plans
@@ -417,35 +417,56 @@ archive anything first.
417
417
  HiLL. File follow-up-ledger backlog items at closeout (on main post-merge, or
418
418
  pre-gate if the operator prefers them in the PR).
419
419
  8. **The full `oat-project-complete` PROCESS, with an explicit autonomous
420
- deferral branch.** Interactive runs retain the standing per-wave order
421
- review → complete → merge (an open PR is expected, not a blocker — the
422
- archive-aware PR body sync handles it). The requirement remains the whole
423
- completion process, named explicitly: `oat project complete-state` →
424
- `oat project archive` (the CLI owns the local archive move, the summary
425
- export, and the S3 sync when `s3SyncOnComplete` is configured) →
426
- active-project pointer clear → the completion bookkeeping commit. Running
427
- `oat project complete-state` ALONE does NOT satisfy this step: in the Orc
428
- first run all four wrapper projects were left lifecycle-complete but
429
- unarchived until an operator audit asked (S10).
430
-
431
- Under autonomous execution, each wave MUST still run
432
- `oat project complete-state` and its then-current project bookkeeping. The
433
- archive tail — `oat project archive` (including configured S3 sync) →
434
- active-project pointer clear → completion bookkeeping commit — MAY be
435
- deferred to the program boundary so the wave can merge and execution can
436
- continue. Record every such choice in the wave ledger exactly as
437
- `completion tail: deferred to program close`; deferral is an outstanding
438
- disposition, never satisfaction of the full-tail requirement. Interactive
439
- per-wave full-tail completion remains valid.
420
+ companion and deferral branch.** Interactive runs retain the standing
421
+ per-wave order review → complete → merge (an open PR is expected, not a
422
+ blocker — the archive-aware PR body sync handles it). The requirement
423
+ remains the whole completion process, named explicitly:
424
+ `oat project complete-state` → `oat project archive` (the CLI owns the local
425
+ archive move, the summary export, and the S3 sync when `s3SyncOnComplete` is
426
+ configured) → active-project pointer clear → the completion bookkeeping
427
+ commit. Running `oat project complete-state` ALONE does NOT satisfy this
428
+ step: in the Orc first run all four wrapper projects were left
429
+ lifecycle-complete but unarchived until an operator audit asked (S10).
440
430
 
441
431
  The interactive completion skill is model-invisible
442
- (`disable-model-invocation: true`), so an autonomous orchestrator executes
443
- its `SKILL.md` as a document, resolving its gates from config
444
- (`workflow.archiveOnComplete`, `workflow.createPrOnComplete`), until an
445
- `oat-project-complete-auto` companion ships
446
- (BL-260720-add-oat-project-complete-auto). If the archive tail is deferred,
447
- that execution occurs after the one human-gated program-end checkpoint in
448
- `oat-wave-program`, across every deferred wave wrapper.
432
+ (`disable-model-invocation: true`). Under autonomous execution, invoke
433
+ `oat-project-complete-auto` for the wave wrapper project with this step's
434
+ completion-before-merge provenance:
435
+ `--requested-by oat-wave-execute:closeout-step-8 --completion-before-merge --reason "wave <wave-id> completes before its merge handoff" <wrapper-project-path>`.
436
+ The companion runs only with `workflow.autonomousComplete: true`, preflights
437
+ the wrapper, records the completion-before-merge exception for the open,
438
+ tracked wave PR in the wrapper's `implementation.md`, and then runs the full
439
+ completion process. Record its run-report outcome in the wave ledger.
440
+
441
+ Fall back to the deferral below only when the run report's `refused_check`
442
+ is `opt-in` (`interactive completion required`), `preflight:4` (the PR
443
+ precondition), or `preflight:7` (a completion question with no recorded
444
+ answer). Any other refusal — an objective preflight failure, namely
445
+ `preflight:1` (post-implement sequence incomplete), `preflight:2`
446
+ (incomplete tasks), `preflight:3` (final review not passed), `preflight:5`
447
+ (unresolved blockers), or `preflight:6` (project-log gate unsatisfied), or
448
+ an `activation` refusal — stops wave closeout at a boundary: report the
449
+ failing check and run neither `oat project complete-state` nor the merge
450
+ handoff. `oat project complete-state` checks only the closeout snapshot, so
451
+ running it after an objective refusal would mark an unhealthy wrapper
452
+ complete. A `preflight:1` refusal whose reason is
453
+ `project directory absent (archived?); resume with oat-project-complete`
454
+ means an earlier run archived the wrapper and a later completion step
455
+ failed: the boundary report names `oat-project-complete` as the next owner,
456
+ whose archive-resume branches finish the tail, and never another companion
457
+ run.
458
+
459
+ On a deferrable stop, the wave MUST still run `oat project complete-state`
460
+ and its then-current project bookkeeping, and the archive tail —
461
+ `oat project archive` (including configured S3 sync) → active-project
462
+ pointer clear → completion bookkeeping commit — MAY be deferred to the
463
+ program boundary so the wave can merge and execution can continue. Record
464
+ every such choice in the wave ledger exactly as
465
+ `completion tail: deferred to program close`, with the companion's stated
466
+ reason; deferral is an outstanding disposition, never satisfaction of the
467
+ full-tail requirement. Interactive per-wave full-tail completion remains
468
+ valid. A deferred tail runs after the one human-gated program-end
469
+ checkpoint in `oat-wave-program`, across every deferred wave wrapper.
449
470
 
450
471
  9. **After the operator merges:** reconcile (squash-merge means content-diff the
451
472
  branch vs main; cherry-pick stragglers), reset the working branch, clean stale
@@ -6,7 +6,7 @@ disable-model-invocation: false
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Task
8
8
  metadata:
9
- version: 1.5.3
9
+ version: 1.5.4
10
10
  ---
11
11
 
12
12
  # Program a Corpus of External Plans into Waves
@@ -124,11 +124,20 @@ target (same disclaimer as the plan indexes).
124
124
  including in autonomous runs:
125
125
  "All waves are merged and the program is complete. Run the completion tail
126
126
  (oat-project-complete: archive + S3 + pointer clear) across all N wave wrapper
127
- projects now?" On yes, run the full deferred tail for each wrapper via
128
- `oat-project-complete-auto` when it ships, or execute the interactive skill's
129
- `SKILL.md` as a document until then, and flip every
130
- `completion tail: deferred to program close` ledger disposition to `done`. On
131
- no or defer, record the standing deferral and its owner in the program ledger.
127
+ projects now?" On yes, record the answer in the program ledger and invoke
128
+ `oat-project-complete-auto` once in batch mode with
129
+ `--requested-by oat-wave-program:program-completion-checkpoint --batch --program-checkpoint <ledger-ref>`
130
+ and every deferred wrapper project path. Flip each wrapper the run report
131
+ lists as `completed` from `completion tail: deferred to program close` to
132
+ `done`; a refused or failed wrapper keeps its deferral with the reported
133
+ reason. When the companion stops with `interactive completion required`, the
134
+ operator completes the wrappers with `oat-project-complete`. List every
135
+ wrapper refused for a deferrable reason (`preflight:4` or `preflight:7`)
136
+ with its next step: the operator completes it with `oat-project-complete`,
137
+ or sets the missing config and answers the checkpoint again. A wrapper
138
+ refused for an objective reason keeps its deferral and reports the failing
139
+ check. On no or defer,
140
+ record the standing deferral and its owner in the program ledger.
132
141
  This is the program completion gate; never answer it autonomously or repeat
133
142
  it once per wave.
134
143
 
@@ -6,7 +6,7 @@ disable-model-invocation: false
6
6
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
7
7
  user-invocable: true
8
8
  metadata:
9
- version: 1.0.3
9
+ version: 1.0.4
10
10
  ---
11
11
 
12
12
  # Wrap-Up
@@ -365,7 +365,13 @@ so I can review before committing it.
365
365
  - Automation patterns (Claude Code `CronCreate`, Codex host scheduling, plain cron): `references/automation-recipes.md`
366
366
  - Prerequisite command: `oat repo archive sync` at `packages/cli/src/commands/repo/archive/index.ts`
367
367
  - Merged-PR query pattern: `packages/cli/src/commands/repo/pr-comments/collect/collect-comments.ts:198-205`
368
- - Summary frontmatter schema: `.oat/templates/summary.md`
368
+ - Summary frontmatter schema: the `summary` template, resolved through the repository, user, then bundled tier. Run `oat template resolve summary --json` and read the reported `path`. A user-scope-only install has no repository `.oat/templates/`, and the bundle tier reports `"path": null`; in that case copy it to a scratch file and read the copy:
369
+
370
+ ```bash
371
+ SUMMARY_TEMPLATE_DIR="$(mktemp -d)"
372
+ oat template resolve summary --output "$SUMMARY_TEMPLATE_DIR/summary.md"
373
+ ```
374
+
369
375
  - Config key: `archive.wrapUpExportPath` (managed via `oat config set archive.wrapUpExportPath <path>`)
370
376
 
371
377
  ## Troubleshooting
@@ -394,7 +400,7 @@ so I can review before committing it.
394
400
 
395
401
  **"Shipped via OAT projects" is empty or "Other merged PRs" contains PRs that clearly correspond to included summaries (false negative):**
396
402
 
397
- - Step 7's cross-reference logic is strict: it only claims a PR for a summary when the summary body literally contains the PR number (`#<n>`, `github.com/.../pull/<n>`, or a bare PR number adjacent to keywords like "PR", "merged", "ships in"), or when a sibling `pr/` directory inside the project references the PR. OAT summaries as authored today (see `.oat/templates/summary.md`) do not inline PR numbers, so in repos that have not adopted the convention of citing PRs in summaries, the cross-reference will often find zero matches and all merged PRs will land in "Other merged PRs".
403
+ - Step 7's cross-reference logic is strict: it only claims a PR for a summary when the summary body literally contains the PR number (`#<n>`, `github.com/.../pull/<n>`, or a bare PR number adjacent to keywords like "PR", "merged", "ships in"), or when a sibling `pr/` directory inside the project references the PR. OAT summaries as authored today (see the `summary` template, resolved as in Reference) do not inline PR numbers, so in repos that have not adopted the convention of citing PRs in summaries, the cross-reference will often find zero matches and all merged PRs will land in "Other merged PRs".
398
404
  - **Workaround options (author-time)**: add a short "Associated PRs" section to project summaries and list PR numbers inline, OR populate `pr/` under each project directory with PR metadata so the sibling scan has data to match against.
399
405
  - **Workaround options (report-time)**: manually re-read the generated report; move PRs from "Other merged PRs" into "Shipped via OAT projects" by hand if the correspondence is obvious (matching keywords in the PR title and the summary's What Was Implemented section). The skill is designed to produce an editable draft, not a final release note.
400
406
  - This is a v1 limitation. Future versions may add a looser heuristic (e.g., title-keyword matching, commit-to-project mapping via `git log`) to close the gap.
@@ -63,7 +63,7 @@ generated_at: YYYY-MM-DDTHH:MM:SSZ
63
63
 
64
64
  ## Section omission rule
65
65
 
66
- Apply the same rule as `.oat/templates/summary.md`: **omit any section with no content**. Do not leave empty sections or "None" placeholders. The minimum viable wrap-up is `# Wrap-up` + `## TL;DR` + one of (`Features introduced` | `Bug fixes` | `Shipped via OAT projects` | `Other merged PRs`) + `Included summaries (provenance)`.
66
+ Apply the same rule as the `summary` template (resolve it with `oat template resolve summary`, as in the skill's Reference section): **omit any section with no content**. Do not leave empty sections or "None" placeholders. The minimum viable wrap-up is `# Wrap-up` + `## TL;DR` + one of (`Features introduced` | `Bug fixes` | `Shipped via OAT projects` | `Other merged PRs`) + `Included summaries (provenance)`.
67
67
 
68
68
  If the window is completely empty (no summaries, no merged PRs), still write the file (or stdout) with:
69
69
 
@@ -6,7 +6,7 @@ disable-model-invocation: true
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Write, Glob, Grep, Bash, AskUserQuestion, Agent, mcp__*
8
8
  metadata:
9
- version: 1.1.7
9
+ version: 1.1.8
10
10
  ---
11
11
 
12
12
  # Recon
@@ -393,9 +393,24 @@ canonical JSON. Any edited, injected, duplicated, or unprojected field differs
393
393
  (`REVIEW_BRIEF_MISMATCH`), so a brief cannot carry an injected claim, note, or
394
394
  source. Each review's dispositions must be unique and name claims its brief
395
395
  lists. The brief `id` is a lowercase slug of at most 64 characters and
396
- `createdAt` a UTC ISO-8601 instant. A reviewer may leave a briefed claim without
397
- a disposition; like an `uncertain` one, the claim stays `unresolved`, and
398
- `packet.md` lists it under Review Downgrades as not reviewed.
396
+ `createdAt` a UTC ISO-8601 instant. A `verified` claim needs the affirming
397
+ disposition of every review kind the achieved profile requires, and
398
+ reconciliation and publication read the one rule
399
+ (`requiredReviewKindsForProfile` in `scripts/lib/contracts.mjs`):
400
+
401
+ - `semantic` (`affirmed`), `adversarial` (`unchallenged`), and `coverage`
402
+ (`covered`) are required at `standard` and `thorough`.
403
+ - `redundant-verification` (`affirmed`) is also required at `thorough`. The
404
+ reconciler requires it whenever a complete same-run result is incorporated,
405
+ because only a complete redundant-verification pass achieves `thorough`.
406
+ - `contradiction-resolution` is conditional and never required; a `rejected`
407
+ disposition still makes a claim `unsupported`.
408
+
409
+ A claim any required review leaves without a disposition stays `unresolved`,
410
+ like an `uncertain` one, so the packet publishes as an honest `complete` or
411
+ `partial` instead of failing with `MISSING_INDEPENDENT_REVIEW`. `packet.md`
412
+ lists it under Review Downgrades: as not reviewed when the review's brief
413
+ listed the claim, and as outside its brief when it did not.
399
414
  All reject dossier paths, compiler reasoning, synthesis prose, provenance
400
415
  references, and prior review IDs.
401
416
 
@@ -2281,8 +2281,9 @@ function validateReviewBriefArtifact(value, errors) {
2281
2281
  }
2282
2282
 
2283
2283
  // The affirming disposition each review kind gives a claim it supports. The
2284
- // first three are the required reviews for `verified`. The reconciler, the
2285
- // validator, and the renderer all read this one table.
2284
+ // first three are required for `verified` at every reviewed profile
2285
+ // (`requiredReviewKindsForProfile` adds the thorough kind). The reconciler,
2286
+ // the validator, and the renderer all read this one table.
2286
2287
  export const affirmingDispositionByReviewKind = Object.freeze({
2287
2288
  semantic: 'affirmed',
2288
2289
  adversarial: 'unchallenged',
@@ -2297,6 +2298,19 @@ export const requiredReviewKinds = Object.freeze([
2297
2298
  'coverage',
2298
2299
  ]);
2299
2300
 
2301
+ // The review kinds whose affirming disposition a `verified` claim needs at the
2302
+ // given achieved profile: the core reviews, plus redundant verification at
2303
+ // `thorough`. Contradiction resolution is conditional and never required.
2304
+ // Reconciliation, publication, and the renderer all read this one rule, so a
2305
+ // claim any required kind leaves without a disposition stays below `verified`
2306
+ // everywhere.
2307
+ export function requiredReviewKindsForProfile(profile) {
2308
+ return Object.freeze([
2309
+ ...requiredReviewKinds,
2310
+ ...(profile === 'thorough' ? ['redundant-verification'] : []),
2311
+ ]);
2312
+ }
2313
+
2300
2314
  // `unresolvedIssues` entries are a closed union:
2301
2315
  // - a string (legacy), read as a global issue;
2302
2316
  // - `{ text, claimIds }`, scoped to a non-empty list of unique claims the
@@ -15,6 +15,7 @@ import { isDirectExecution } from './lib/cli-entry.mjs';
15
15
  import {
16
16
  affirmingDispositionByReviewKind,
17
17
  requiredReviewKinds,
18
+ requiredReviewKindsForProfile,
18
19
  unresolvedIssuesBlockClaim,
19
20
  validateArtifactShape,
20
21
  } from './lib/contracts.mjs';
@@ -25,13 +26,6 @@ import {
25
26
  assertUnchangedRoot,
26
27
  } from './lib/safe-path.mjs';
27
28
 
28
- const requiredDispositions = new Map(
29
- requiredReviewKinds.map((kind) => [
30
- kind,
31
- affirmingDispositionByReviewKind[kind],
32
- ]),
33
- );
34
-
35
29
  const permittedDispositions = new Map([
36
30
  ['semantic', new Set(['affirmed', 'rejected', 'uncertain'])],
37
31
  ['adversarial', new Set(['unchallenged', 'challenged'])],
@@ -99,7 +93,7 @@ export function reconcileLedger({
99
93
  const reviews = new Map(
100
94
  reviewResults.map((review) => [review.reviewKind, review]),
101
95
  );
102
- for (const [kind] of requiredDispositions) {
96
+ for (const kind of requiredReviewKinds) {
103
97
  const review = reviews.get(kind);
104
98
  if (!review || review.runId !== runId || review.status !== 'complete') {
105
99
  throw new Error(`Reconciliation requires a complete ${kind} result`);
@@ -109,6 +103,22 @@ export function reconcileLedger({
109
103
  throw new Error(`Reconciliation received an invalid ${kind} disposition`);
110
104
  }
111
105
  }
106
+ // A claim needs a disposition from every review kind publication requires
107
+ // for the achieved profile. The thorough profile is achieved only with a
108
+ // complete redundant-verification pass, so an incorporated complete result
109
+ // of that kind makes it required here too. Missing it keeps the claim
110
+ // `unresolved`, exactly like an `uncertain` disposition.
111
+ const achievesThorough = reviewResults.some(
112
+ (review) =>
113
+ review.reviewKind === 'redundant-verification' &&
114
+ review.runId === runId &&
115
+ review.status === 'complete',
116
+ );
117
+ const verifyingDispositions = new Map(
118
+ requiredReviewKindsForProfile(
119
+ achievesThorough ? 'thorough' : 'standard',
120
+ ).map((kind) => [kind, affirmingDispositionByReviewKind[kind]]),
121
+ );
112
122
  const ledger = exactClone(priorLedger);
113
123
  ledger.revision = priorLedger.revision + 1;
114
124
  ledger.inputArtifacts = [
@@ -244,7 +254,7 @@ export function reconcileLedger({
244
254
  const issueBlocked = supporting.some((review) =>
245
255
  unresolvedIssuesBlockClaim(review, claim.id),
246
256
  );
247
- const incomplete = [...requiredDispositions.keys()].some(
257
+ const incomplete = [...verifyingDispositions.keys()].some(
248
258
  (kind) =>
249
259
  !reviewResults.some(
250
260
  (review) =>
@@ -267,7 +277,7 @@ export function reconcileLedger({
267
277
  finding.material === true && finding.claimIds.includes(claim.id),
268
278
  ),
269
279
  );
270
- const coreComplete = [...requiredDispositions].every(
280
+ const coreComplete = [...verifyingDispositions].every(
271
281
  ([kind, disposition]) =>
272
282
  supporting.some(
273
283
  (review) =>
@@ -9,6 +9,7 @@ import { isDirectExecution } from './lib/cli-entry.mjs';
9
9
  import {
10
10
  affirmingDispositionByReviewKind,
11
11
  classifyUnresolvedIssue,
12
+ requiredReviewKindsForProfile,
12
13
  unresolvedIssuesBlockClaim,
13
14
  } from './lib/contracts.mjs';
14
15
  import { reviewBriefEntries } from './lib/review-binding.mjs';
@@ -151,17 +152,35 @@ function omittedReviews(claimId, reviews) {
151
152
  .map(({ value }) => value);
152
153
  }
153
154
 
155
+ // Every incorporated review of a kind the achieved profile requires whose
156
+ // brief did not list `claimId`, so it gave the claim no disposition. Such a
157
+ // claim cannot be verified, and the reason is the missing review, not an
158
+ // omission by the reviewer.
159
+ function unbriefedRequiredReviews(claimId, reviews, requiredKinds) {
160
+ return reviews
161
+ .filter(
162
+ ({ value, briefed }) =>
163
+ requiredKinds.includes(value.reviewKind) &&
164
+ !briefed.has(claimId) &&
165
+ !(value.dispositions ?? []).some((item) => item.claimId === claimId),
166
+ )
167
+ .map(({ value }) => value);
168
+ }
169
+
154
170
  function issueText(entry) {
155
171
  return typeof entry === 'string' ? entry : (entry?.text ?? '');
156
172
  }
157
173
 
158
174
  // Every claim an incorporated review kept below `verified` (an unresolved
159
175
  // issue that applies to it, a coverage finding that names it, a
160
- // non-affirming disposition, or an assurance review that left a briefed claim
161
- // without a disposition), with the review's own words. Key-claim status
176
+ // non-affirming disposition, an assurance review that left a briefed claim
177
+ // without a disposition, or a review the achieved profile requires whose
178
+ // brief left the claim out), with the review's own words. Key-claim status
162
179
  // alone would let a `complete` packet hide a downgraded non-key claim.
163
180
  function reviewDowngradeLines(validatedRun) {
164
- const { ledger, artifacts, assuranceReviewIds } = validatedRun;
181
+ const { ledger, artifacts, assuranceReviewIds, achievedProfile } =
182
+ validatedRun;
183
+ const requiredKinds = requiredReviewKindsForProfile(achievedProfile);
165
184
  const assurance = new Set(assuranceReviewIds);
166
185
  const reviews = artifacts
167
186
  .map(({ value }) => value)
@@ -214,6 +233,15 @@ function reviewDowngradeLines(validatedRun) {
214
233
  `${review.reviewKind} review: not reviewed (no disposition)`,
215
234
  );
216
235
  }
236
+ for (const review of unbriefedRequiredReviews(
237
+ claim.id,
238
+ briefedReviews,
239
+ requiredKinds,
240
+ )) {
241
+ reasons.push(
242
+ `${review.reviewKind} review: outside its brief (no disposition)`,
243
+ );
244
+ }
217
245
  for (const review of reviews) {
218
246
  for (const finding of review.coverageFindings ?? []) {
219
247
  if (!finding.claimIds.includes(claim.id)) continue;
@@ -12,7 +12,7 @@ import {
12
12
  isObject,
13
13
  issue,
14
14
  profiles,
15
- requiredReviewKinds,
15
+ requiredReviewKindsForProfile,
16
16
  unresolvedIssuesBlockClaim,
17
17
  validateArtifactShape,
18
18
  } from './lib/contracts.mjs';
@@ -2082,10 +2082,10 @@ function validateAssurance(validatedRun, errors, checkBrief) {
2082
2082
  );
2083
2083
  }
2084
2084
  const required = new Map(
2085
- [
2086
- ...requiredReviewKinds,
2087
- ...(achievedProfile === 'thorough' ? ['redundant-verification'] : []),
2088
- ].map((kind) => [kind, affirmingDispositionByReviewKind[kind]]),
2085
+ requiredReviewKindsForProfile(achievedProfile).map((kind) => [
2086
+ kind,
2087
+ affirmingDispositionByReviewKind[kind],
2088
+ ]),
2089
2089
  );
2090
2090
  const satisfied = new Set();
2091
2091
  const reviewerLanes = new Set();
@@ -1,11 +1,23 @@
1
- import { DocsPage, Mermaid, Tab, Tabs } from '@open-agent-toolkit/docs-theme';
1
+ import {
2
+ DocsPage,
3
+ Mermaid,
4
+ Tab,
5
+ Tabs,
6
+ ZoomImage,
7
+ } from '@open-agent-toolkit/docs-theme';
2
8
  import defaultComponents from 'fumadocs-ui/mdx';
3
9
  import type { Metadata } from 'next';
4
10
  import { notFound } from 'next/navigation';
5
11
 
6
12
  import { source } from '@/lib/source';
7
13
 
8
- const mdxComponents = { ...defaultComponents, Mermaid, Tab, Tabs };
14
+ const mdxComponents = {
15
+ ...defaultComponents,
16
+ Mermaid,
17
+ Tab,
18
+ Tabs,
19
+ img: ZoomImage,
20
+ };
9
21
 
10
22
  type PageProps = {
11
23
  params: Promise<{ slug?: string[] }>;
@@ -3,6 +3,7 @@
3
3
  @import 'fumadocs-ui/css/preset.css';
4
4
 
5
5
  @source '../node_modules/fumadocs-ui/dist/**/*.js';
6
+ @source '../node_modules/@open-agent-toolkit/docs-theme/dist/**/*.js';
6
7
 
7
8
  /* remark-github-blockquote-alert callout styling (fd-* design tokens) */
8
9
  @layer base {
@@ -75,6 +75,13 @@ oat_workflow_origin: native # native | imported
75
75
  # receive_completed: false
76
76
  # failure: null
77
77
  # updated_at: '2026-07-18T00:00:00Z'
78
+ # decided_at: null # ISO 8601 UTC; set with every allowed or blocked outcome (core record: gate-approval-record.md)
79
+ # oat_quick_start_gate: # optional; persisted quick-start plan gate outcome, absent when no gate is configured (core record: gate-approval-record.md)
80
+ # status: allowed # allowed | blocked
81
+ # disposition: passed # passed | warned | prompt_approved | project_disabled; null when blocked
82
+ # config_fingerprint: '<stable hash of resolved gate declaration>'
83
+ # reviewed_head: null # full SHA of the commit the gate reviewed; provenance only
84
+ # decided_at: null # ISO 8601 UTC
78
85
  oat_docs_updated: null # null | skipped | complete — documentation sync status
79
86
  oat_pr_status: null # null | ready | open | closed | merged — actual PR state for the current project
80
87
  oat_pr_url: null # null | string — tracked PR URL when a PR exists
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,7 @@ const KEY_ORDER = [
94
94
  'workflow.hillCheckpointDefault',
95
95
  'workflow.archiveOnComplete',
96
96
  'workflow.createPrOnComplete',
97
+ 'workflow.autonomousComplete',
97
98
  'workflow.postImplementSequence',
98
99
  'workflow.retro.filing.repo',
99
100
  'workflow.retro.filing.upstream',
@@ -600,6 +601,17 @@ const CONFIG_CATALOG = [
600
601
  owningCommand: 'oat config set workflow.createPrOnComplete <true|false>',
601
602
  description: 'Skip the "Open a PR?" prompt in oat-project-complete. When true, completion auto-triggers PR creation. Resolution: local > shared > user > default.',
602
603
  },
604
+ {
605
+ key: 'workflow.autonomousComplete',
606
+ group: 'Workflow Preferences (3-layer: local > shared > user)',
607
+ file: '.oat/config.local.json | .oat/config.json | ~/.oat/config.json',
608
+ scope: 'workflow',
609
+ type: 'boolean',
610
+ defaultValue: 'false',
611
+ mutability: 'read/write',
612
+ owningCommand: 'oat config set workflow.autonomousComplete <true|false>',
613
+ description: 'Standing opt-in for oat-project-complete-auto, the non-interactive completion companion that runs only when a workflow names it as a step (today oat-wave-execute closeout step 8 and the oat-wave-program completion checkpoint); its OAT_AUTONOMOUS lifecycle route refuses until a lifecycle skill names the companion, and none does today. When false (the default), that skill stops with "interactive completion required". The interactive oat-project-complete is unaffected. Resolution: local > shared > user > default.',
614
+ },
603
615
  {
604
616
  key: 'workflow.postImplementSequence',
605
617
  group: 'Workflow Preferences (3-layer: local > shared > user)',
@@ -1089,6 +1101,7 @@ function closedDispatchProviderValues(provider) {
1089
1101
  const WORKFLOW_BOOLEAN_KEYS = new Set([
1090
1102
  'workflow.archiveOnComplete',
1091
1103
  'workflow.createPrOnComplete',
1104
+ 'workflow.autonomousComplete',
1092
1105
  'workflow.autoReviewAtHillCheckpoints',
1093
1106
  'workflow.autoNarrowReReviewScope',
1094
1107
  'workflow.autoArtifactReview.plan',
@@ -30,6 +30,7 @@ interface GateCommandDependencies {
30
30
  processEnv: NodeJS.ProcessEnv;
31
31
  writeGateRunMarker: (path: string, marker: GateRunMarker, warn: (message: string) => void) => Promise<boolean>;
32
32
  removeGateRunMarker: (path: string, warn: (message: string) => void) => Promise<void>;
33
+ isProcessAlive: (pid: number) => boolean;
33
34
  writeGateProjectLogReceipt: (path: string, receipt: GateProjectLogReceipt, warn: (message: string) => void) => Promise<boolean>;
34
35
  sleep: (ms: number) => Promise<void>;
35
36
  writeDiagnostic: (message: string) => void;
@@ -42,6 +43,10 @@ interface GateRunMarker {
42
43
  reviewType: string | null;
43
44
  reviewScope: string | null;
44
45
  project: string;
46
+ /** Absolute, symlink-resolved project directory. */
47
+ projectRoot: string;
48
+ /** The gate process that owns the marker. */
49
+ pid: number;
45
50
  startedAt: string;
46
51
  budgetMs: number;
47
52
  budgetSource: GateTimeoutSource;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/gate/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/gate/index.ts"],"names":[],"mappings":"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"}