open-multi-agent-kit 0.78.0 → 0.78.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +56 -15
- package/MATURITY.md +6 -2
- package/README.md +125 -26
- package/ROADMAP.md +36 -28
- package/dist/cli/register-basic-commands.js +3 -2
- package/dist/cli/register-mcp-dag-cron-screenshot-commands.js +2 -0
- package/dist/cli/register-spec-agent-goal-commands.js +45 -0
- package/dist/cli/register-tool-commands.js +11 -0
- package/dist/cli/register-workflow-commands.js +1 -0
- package/dist/cli/registry/tooling.js +3 -2
- package/dist/cli/release-promotion-gate.d.ts +14 -0
- package/dist/cli/release-promotion-gate.js +71 -0
- package/dist/cli/v2/release-commands.d.ts +29 -0
- package/dist/cli/v2/release-commands.js +95 -0
- package/dist/commands/chat/core.js +5 -0
- package/dist/commands/chat/native-root-loop.js +74 -1
- package/dist/commands/chat/slash/commands/session.js +19 -1
- package/dist/commands/dag-from-spec.d.ts +1 -0
- package/dist/commands/dag-from-spec.js +61 -1
- package/dist/commands/goal-interview.d.ts +18 -0
- package/dist/commands/goal-interview.js +396 -0
- package/dist/commands/graph.d.ts +62 -0
- package/dist/commands/graph.js +182 -0
- package/dist/commands/merge.d.ts +1 -0
- package/dist/commands/merge.js +88 -0
- package/dist/commands/parallel/core.js +3 -3
- package/dist/commands/provider.js +5 -3
- package/dist/commands/star.js +6 -1
- package/dist/commands/summary.d.ts +4 -1
- package/dist/commands/summary.js +103 -1
- package/dist/commands/team.d.ts +1 -0
- package/dist/commands/team.js +38 -0
- package/dist/contracts/interview.d.ts +106 -0
- package/dist/contracts/interview.js +9 -0
- package/dist/contracts/provider-health.d.ts +42 -0
- package/dist/contracts/provider-health.js +9 -0
- package/dist/evidence/index.d.ts +4 -0
- package/dist/evidence/index.js +2 -0
- package/dist/evidence/proof-trust-cli.d.ts +8 -0
- package/dist/evidence/proof-trust-cli.js +27 -0
- package/dist/evidence/proof-trust.d.ts +14 -0
- package/dist/evidence/proof-trust.js +381 -0
- package/dist/evidence/regression-proof-matrix.d.ts +42 -0
- package/dist/evidence/regression-proof-matrix.js +72 -0
- package/dist/goal/intent-frame.d.ts +30 -0
- package/dist/goal/intent-frame.js +39 -9
- package/dist/goal/interview-assimilation.d.ts +13 -0
- package/dist/goal/interview-assimilation.js +383 -0
- package/dist/goal/interview-question-bank.d.ts +11 -0
- package/dist/goal/interview-question-bank.js +225 -0
- package/dist/goal/interview-scoring.d.ts +31 -0
- package/dist/goal/interview-scoring.js +187 -0
- package/dist/goal/interview-session.d.ts +25 -0
- package/dist/goal/interview-session.js +116 -0
- package/dist/input/input-envelope.d.ts +22 -0
- package/dist/input/input-envelope.js +1 -0
- package/dist/memory/local-graph-memory-store.d.ts +15 -0
- package/dist/memory/local-graph-memory-store.js +176 -0
- package/dist/memory/memory-store.d.ts +18 -0
- package/dist/memory/memory-store.js +18 -0
- package/dist/orchestration/adaptorch-topology.d.ts +59 -0
- package/dist/orchestration/adaptorch-topology.js +194 -0
- package/dist/orchestration/capability-routing.d.ts +23 -0
- package/dist/orchestration/capability-routing.js +56 -0
- package/dist/orchestration/dag-compiler-types.d.ts +3 -0
- package/dist/orchestration/dag-compiler.js +14 -1
- package/dist/orchestration/parallel-orchestrator.d.ts +6 -0
- package/dist/orchestration/parallel-orchestrator.js +31 -0
- package/dist/providers/provider-health.d.ts +39 -0
- package/dist/providers/provider-health.js +161 -0
- package/dist/runtime/advanced-control-loop.d.ts +60 -0
- package/dist/runtime/advanced-control-loop.js +136 -0
- package/dist/runtime/agent-runtime.d.ts +10 -0
- package/dist/runtime/blast-radius.d.ts +10 -0
- package/dist/runtime/blast-radius.js +14 -0
- package/dist/runtime/context-broker.d.ts +13 -4
- package/dist/runtime/context-broker.js +14 -1
- package/dist/runtime/contracts/evidence.d.ts +87 -0
- package/dist/runtime/contracts/evidence.js +7 -0
- package/dist/runtime/contracts/router-v2.d.ts +44 -0
- package/dist/runtime/contracts/router-v2.js +4 -0
- package/dist/runtime/contracts/weakness-remediation.d.ts +67 -0
- package/dist/runtime/contracts/weakness-remediation.js +36 -0
- package/dist/runtime/headroom-policy.d.ts +37 -0
- package/dist/runtime/headroom-policy.js +122 -0
- package/dist/runtime/kimi-api-runtime.js +59 -1
- package/dist/runtime/ouroboros-policy.d.ts +57 -0
- package/dist/runtime/ouroboros-policy.js +134 -0
- package/dist/runtime/proof-bundle-trust.d.ts +74 -0
- package/dist/runtime/proof-bundle-trust.js +100 -0
- package/dist/runtime/provider-maturity-gate.d.ts +41 -0
- package/dist/runtime/provider-maturity-gate.js +101 -0
- package/dist/runtime/public-surface.d.ts +93 -0
- package/dist/runtime/public-surface.js +146 -0
- package/dist/runtime/router-v2-scoring.d.ts +11 -0
- package/dist/runtime/router-v2-scoring.js +151 -0
- package/dist/runtime/runtime-backed-task-runner.js +9 -1
- package/dist/runtime/tool-dispatch-contracts.d.ts +57 -1
- package/dist/runtime/tool-dispatch-contracts.js +79 -3
- package/dist/runtime/weakness-remediation-index.d.ts +27 -0
- package/dist/runtime/weakness-remediation-index.js +37 -0
- package/dist/safety/tool-authority-gate.d.ts +62 -0
- package/dist/safety/tool-authority-gate.js +108 -0
- package/dist/schema/proof-bundle.schema.d.ts +26 -26
- package/dist/schema/provider.schema.d.ts +4 -4
- package/dist/util/clipboard-image.d.ts +49 -0
- package/dist/util/clipboard-image.js +263 -0
- package/dist/util/first-run-star.d.ts +9 -0
- package/dist/util/first-run-star.js +42 -1
- package/dist/util/terminal-input.d.ts +20 -0
- package/dist/util/terminal-input.js +32 -0
- package/dist/util/update-check.d.ts +6 -1
- package/dist/util/update-check.js +35 -1
- package/docs/2026-06-08/critical-issues.md +20 -0
- package/docs/2026-06-08/improvements.md +14 -0
- package/docs/2026-06-08/init-checklist.md +25 -0
- package/docs/2026-06-08/plan.md +20 -0
- package/docs/2026-06-09/critical-issues.md +20 -0
- package/docs/2026-06-09/improvements.md +14 -0
- package/docs/2026-06-09/init-checklist.md +25 -0
- package/docs/2026-06-09/plan.md +20 -0
- package/docs/getting-started.md +31 -3
- package/docs/github-organic-promotion.md +127 -0
- package/docs/integrations/ouroboros.md +96 -0
- package/docs/native-root-runtime-algorithms.md +301 -0
- package/docs/provider-maturity.md +1 -1
- package/docs/versioning.md +3 -3
- package/package.json +4 -3
- package/readmeasset/ASSET_INDEX.md +1 -0
- package/templates/skills/agents/omk-agent-reach-websearch/SKILL.md +55 -0
- package/templates/skills/kimi/omk-agent-reach-websearch/SKILL.md +55 -0
- package/dist/native/linux-x64/omk-safety +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,35 +1,76 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Unreleased — Deep Interview + Clipboard Image Paste
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- `omk goal interview [input]` and `omk goal refine <goal-id>` commands under the existing `goal` group, adding an evidence-driven clarification step before planning.
|
|
8
|
+
- Deterministic deep interview that scores goal ambiguity (`0..1`), ranks targeted questions (`informationGain*0.35 + riskReduction*0.25 + dagImpact*0.20 + evidenceImpact*0.15 - userCost*0.05`), and computes a completeness score from assimilated answers.
|
|
9
|
+
- Spec-delta assimilation that folds interview answers into a structured `GoalSpec` with conflict resolution, selectable depth (`light|standard|deep`, auto-selected by ambiguity when omitted), and `--write-spec` persistence.
|
|
10
|
+
- `omk.interview.v1` JSON contract (`schemas/omk.interview.v1.schema.json`) plus the `omk.interview-delta.v1` spec-delta envelope.
|
|
11
|
+
- Per-session interview artifacts (`interview.json`, `spec-delta.json`, `questions.md`, `answers.jsonl`, `interview-report.md`) under `.omk/goals/<goalId>/interviews/<sessionId>/` (or `.omk/interviews/<sessionId>/` before `--write-spec`).
|
|
12
|
+
- GitHub organic growth kit: README first-screen positioning, runnable awesome-list examples, a 1280x640 social preview upload candidate, and reusable Topics/About/awesome-list PR copy in `docs/github-organic-promotion.md`.
|
|
13
|
+
- Clipboard image paste support: `/paste` slash command in chat REPL, `--image` flag on `omk goal interview`, cross-platform clipboard reader (macOS/Linux/Windows), `InputAttachment` type for multimodal image handling.
|
|
14
|
+
|
|
15
|
+
## v0.78.1 — package alignment, JSON contract envelopes, and adaptive runtime algorithms (2026-06-07)
|
|
16
|
+
|
|
17
|
+
### Overview
|
|
18
|
+
|
|
19
|
+
Pre-1.0 source release target for `open-multi-agent-kit`. This entry aligns the public docs with the actual npm package name, makes the `v1.2` runtime label explicit as a contract family, and avoids implying that every provider lane has the same write/merge authority. It also records the runtime, CI, and orchestration work that ships between the prior release commit and this release: machine-readable `omk.contract.v1` JSON envelopes, real-run graph/proof linkage, an opt-in tool-authority gate, opt-in self-update and first-run star, and adaptorch/headroom/ouroboros adaptive runtime algorithms.
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- Fast-gate CI job and a unified release-truthfulness check that ties publish/tag claims to the exact target commit and gate state.
|
|
24
|
+
- Standard `ProviderHealth` shape embedded additively in `omk provider doctor --json`.
|
|
25
|
+
- `omk.contract.v1` JSON envelope for `omk summary --json`.
|
|
26
|
+
- `omk.contract.v1` JSON envelopes for the `omk dag`, `omk team`, and `omk merge` machine-readable surfaces.
|
|
27
|
+
- Real-run linkage into graph memory plus `omk graph audit`, which validates links across run manifest, evidence JSONL, decision JSONL, and provider-route nodes.
|
|
28
|
+
- Pure tool-authority decision-gate primitive that classifies tool calls against per-lane write authority.
|
|
29
|
+
- `OMK_AUTO_UPDATE` opt-in for non-interactive startup self-update.
|
|
30
|
+
- First-run GitHub star with a browser-open fallback when the `gh` CLI is unavailable.
|
|
31
|
+
- Adaptive runtime algorithms in the package: adaptorch-style topology routing on first DAG composition (`OMK_ADAPTORCH_ROUTING`), headroom context-guard compaction before the 90% context window (`OMK_HEADROOM` / `OMK_HEADROOM_THRESHOLD`), and embedded-ouroboros preference for goal/spec intents with native fallback (`OMK_OUROBOROS`).
|
|
32
|
+
- Ouroboros integration documentation covering the MCP server, bridge, and skills surface.
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- README install, badge, package contract, and npm links now use `open-multi-agent-kit` instead of the unavailable `@omk/cli` scope.
|
|
37
|
+
- ROADMAP now separates public `0.78.x` package releases from historical v1.1.x/v1.2 source milestones.
|
|
38
|
+
- Provider-lane wording now points readers to the provider-maturity contract before treating non-Kimi lanes as authority paths.
|
|
39
|
+
- Release wording now treats npm publish/tag claims as gated by the exact target commit, CI/smoke status, package audit, and dist-tag state.
|
|
40
|
+
- The tool-authority gate is wired into dispatch in shadow/opt-in mode; enforcement stays off by default and is enabled only by `OMK_TOOL_AUTHORITY_ENFORCE`.
|
|
41
|
+
- Chat startup now resumes paused stdin before the native loop so first-run chat stays interactive.
|
|
42
|
+
|
|
43
|
+
### Notes
|
|
44
|
+
|
|
45
|
+
- Default MCP configuration excludes the adaptorch MCP server; adaptorch is not auto-injected and is opt-in only.
|
|
46
|
+
- The new runtime behaviors are opt-in through environment flags and default to off, so existing default runs are unchanged.
|
|
47
|
+
|
|
48
|
+
### Verification
|
|
49
|
+
|
|
50
|
+
Release readiness requires `npm run release:check` or the documented CI equivalent, native safety build, package audit, and tarball install smoke before npm publish or git tag.
|
|
51
|
+
|
|
52
|
+
## v0.78.0 — initial public npm release (2026-06-07)
|
|
4
53
|
|
|
5
54
|
### Overview
|
|
6
55
|
|
|
7
|
-
|
|
56
|
+
Initial `0.78.0` npm publication for `open-multi-agent-kit` as a pre-1.0 provider-neutral multi-agent control plane for coding workflows. OMK routes, verifies, measures, and controls agent execution with DAG orchestration, evidence gates, and scoped MCP/skills/hooks injection.
|
|
8
57
|
|
|
9
58
|
### Core
|
|
10
59
|
|
|
11
60
|
- **OMK//CONTROL** brand system with operator TUI, runtime-flow diagrams, and telemetry.
|
|
12
|
-
- **Provider-neutral architecture**
|
|
61
|
+
- **Provider-neutral architecture** with provider-specific maturity limits; Kimi remains the most mature authority path.
|
|
13
62
|
- **DAG orchestration**: Goal → DAG plan → parallel lanes → evidence bundle → verify gate → merge / replay / inspect.
|
|
14
|
-
- **Evidence gates
|
|
15
|
-
- **Scoped capability injection
|
|
16
|
-
- **Worktree isolation
|
|
17
|
-
|
|
18
|
-
### CLI surface
|
|
19
|
-
|
|
20
|
-
`omk init`, `omk doctor`, `omk chat`, `omk plan`, `omk run`, `omk parallel`, `omk review`, `omk verify`, `omk goal`, `omk provider`, `omk mcp`, `omk skill`, `omk agent`, `omk graph`, `omk replay`, `omk inspect`, `omk codex auth`, `omk image`.
|
|
63
|
+
- **Evidence gates**: command output, diff, artifact, metric, and review proof before completion claims.
|
|
64
|
+
- **Scoped capability injection**: project MCP, skills, hooks, and graph memory scoped per-run; global secrets not imported silently.
|
|
65
|
+
- **Worktree isolation**: parallel lanes stay bounded, reviewable, and recoverable.
|
|
21
66
|
|
|
22
67
|
### Package contract
|
|
23
68
|
|
|
24
|
-
- Package:
|
|
69
|
+
- Package: `open-multi-agent-kit`
|
|
25
70
|
- Bins: `omk`, `omk-project-mcp`, `omk-acp`, `omk-mcp-host`
|
|
26
71
|
- Engine: Node.js >=20, npm >=10
|
|
27
72
|
- License: MIT
|
|
28
73
|
|
|
29
|
-
### Verification
|
|
30
|
-
|
|
31
|
-
Release readiness requires `npm run release:check`, native safety build, package audit, and tarball install smoke before npm publish or git tag.
|
|
32
|
-
|
|
33
74
|
## v1.2.0-rc.0 — Version and provider documentation alignment (2026-05-31)
|
|
34
75
|
|
|
35
76
|
### Added
|
package/MATURITY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# OMK Command Maturity Matrix
|
|
2
2
|
|
|
3
3
|
Last updated: 2026-06-07
|
|
4
|
-
Current source version: v0.78.
|
|
4
|
+
Current source version: v0.78.1 (`v1.2` runtime contract family)
|
|
5
5
|
|
|
6
6
|
| Level | Meaning |
|
|
7
7
|
|-------|---------|
|
|
@@ -63,6 +63,10 @@ Current source version: v0.78.0 (`v1.2` runtime contract family)
|
|
|
63
63
|
| `omk research` | Core runtime web research wrapper; depends on Kimi tool availability. |
|
|
64
64
|
| `omk open-design-agent` | Local Open Design CLI bridge. |
|
|
65
65
|
|
|
66
|
+
## Regression Proof Matrix Claim Boundary
|
|
67
|
+
|
|
68
|
+
Regression Proof Matrix is a release-defense gate, not a stable-release claim. Stable promotion still requires full `npm test`, live provider maturity data, and a minimal verified demo pass.
|
|
69
|
+
|
|
66
70
|
## Automation Contract Status
|
|
67
71
|
|
|
68
72
|
| Area | Current state | Next hardening |
|
|
@@ -72,6 +76,6 @@ Current source version: v0.78.0 (`v1.2` runtime contract family)
|
|
|
72
76
|
| Native runtime safety | OMK owns the root-orchestrator direction, but native chat must still lock turn-risk inference, approval/sandbox propagation, authority resolution, provider health probes, and DeepSeek read-only enforcement before stable provider-neutral claims. | Treat `docs/native-root-runtime-hardening.md` and `.omk/specs/native-orchestrator-phase1/` as the active hardening contract. |
|
|
73
77
|
| MCP diagnostics | `mcp list/doctor/test` exist; invalid project/global MCP JSON now fails visibly through diagnostics without exposing config contents. | Add machine-readable MCP JSON and structured failure categories for command resolution, timeout, permission, and server health. |
|
|
74
78
|
| Skills and harness templates | `omk skill` exposes current core/TypeScript/review packs, while init templates document project MCP scope, runtime skills, portable `.agents/skills`, and run-scoped harness manifests. | Keep external-inspired skills compact, source-linked, and non-vendored; verify install/sync through `skill-command` tests and package audit. |
|
|
75
|
-
| Release docs and site | README, CHANGELOG, MATURITY, ROADMAP, versioning docs, provider-maturity docs, package audit, and release-gate commands distinguish the `0.78.
|
|
79
|
+
| Release docs and site | README, CHANGELOG, MATURITY, ROADMAP, versioning docs, provider-maturity docs, package audit, and release-gate commands distinguish the `0.78.x` public package line from the `v1.2` runtime contract family while documenting alpha/experimental surfaces, current harness templates, provider limits, and the public project repository at `https://github.com/dmae97/open-multi-agent-kit`. | Treat `npm run release:check`, native safety packaging, tarball install smoke, and CI evidence on the exact commit as the publish/deploy gate before claiming `0.78.1` published or release-ready. |
|
|
76
80
|
| Public proof bundles | `omk.proof-bundle.v1`, `npm run proof:check`, `npm run proof:index`, and ten scoped RC hardening bundles now cover no-Kimi, provider/doctor, fallback routing, native safety, contract/version, evidence-block, replay/inspect, and graph-audit axes. Proof integrity includes runId/commit/evidence/decision linkage and per-bundle `sha256sums.txt` artifact hashes. | Keep strengthening proof authenticity with sanitized repo-relative artifacts, non-empty known limitations, and broader provider fallback variants. |
|
|
77
81
|
| Goal planner | Goal lifecycle exists, including continue, generated plan/evidence criteria, and verification. | Expand planner quality scoring and release evidence. |
|
package/README.md
CHANGED
|
@@ -13,16 +13,17 @@
|
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<p align="center">
|
|
16
|
-
<a href="https://www.npmjs.com/package
|
|
17
|
-
<a href="https://www.npmjs.com/package
|
|
18
|
-
<a href="docs/versioning.md"><img alt="runtime" src="https://img.shields.io/badge/
|
|
19
|
-
<a href="https://github.com/dmae97/open-multi-agent-kit/blob/main/proof/PROOF_INDEX.md"><img alt="proof
|
|
16
|
+
<a href="https://www.npmjs.com/package/open-multi-agent-kit"><img alt="npm version" src="https://img.shields.io/npm/v/open-multi-agent-kit?color=00D6FF"></a>
|
|
17
|
+
<a href="https://www.npmjs.com/package/open-multi-agent-kit"><img alt="npm package" src="https://img.shields.io/badge/package-open--multi--agent--kit-FF47B2"></a>
|
|
18
|
+
<a href="docs/versioning.md"><img alt="runtime contract" src="https://img.shields.io/badge/contract-v1.2_pre--1.0-9D4EDD"></a>
|
|
19
|
+
<a href="https://github.com/dmae97/open-multi-agent-kit/blob/main/proof/PROOF_INDEX.md"><img alt="proof check" src="https://img.shields.io/badge/proof--check-source-00FFC2"></a>
|
|
20
20
|
<a href="LICENSE"><img alt="license" src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
|
|
21
21
|
</p>
|
|
22
22
|
|
|
23
23
|
<p align="center">
|
|
24
24
|
<a href="#install">Install</a> ·
|
|
25
25
|
<a href="#quick-start">Quick start</a> ·
|
|
26
|
+
<a href="#who-is-this-for">Who is this for?</a> ·
|
|
26
27
|
<a href="#current-runtime-algorithm">Runtime algorithm</a> ·
|
|
27
28
|
<a href="docs/getting-started.md">Docs</a> ·
|
|
28
29
|
<a href="readmeasset/ASSET_INDEX.md">Visual assets</a>
|
|
@@ -30,11 +31,50 @@
|
|
|
30
31
|
|
|
31
32
|
`OMK` (`omk`) turns a coding goal into a bounded, evidence-gated agent run.
|
|
32
33
|
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
Use OMK when one coding agent is not enough: route Codex, OpenCode, Kimi, DeepSeek, Qwen, OpenRouter, and local runtimes through one evidence-gated control loop.
|
|
35
|
+
|
|
36
|
+
## Who is this for?
|
|
37
|
+
|
|
38
|
+
- Developers running multiple coding agents from the terminal.
|
|
39
|
+
- Teams that need MCP-scoped agent execution instead of unrestricted tool access.
|
|
40
|
+
- Agent builders who want routing, fallback, evidence gates, telemetry, and replay.
|
|
41
|
+
|
|
42
|
+
> Current package source target: `open-multi-agent-kit@0.78.1`.
|
|
43
|
+
> Public package name: `open-multi-agent-kit` (`@omk/cli` is not the active npm package).
|
|
44
|
+
> Runtime contract family: `v1.2` (contract family, not a stable npm `1.x` release).
|
|
35
45
|
> Release channel: `pre-1.0`.
|
|
36
46
|
> See [versioning](docs/versioning.md) and [provider maturity](docs/provider-maturity.md).
|
|
37
47
|
|
|
48
|
+
## Quickstart (3 minutes)
|
|
49
|
+
|
|
50
|
+
A beginner reads this, runs four commands, and reaches an initialized OMK chat/doctor flow.
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
npm i -g open-multi-agent-kit
|
|
54
|
+
omk init
|
|
55
|
+
omk doctor
|
|
56
|
+
omk chat
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Examples for agent tooling lists
|
|
60
|
+
|
|
61
|
+
- [Codex MCP evidence run](https://github.com/dmae97/open-multi-agent-kit/tree/main/examples/codex-mcp-evidence-run): project-scoped MCP setup plus evidence-gated DAG dry run.
|
|
62
|
+
- [Provider fallback](https://github.com/dmae97/open-multi-agent-kit/tree/main/examples/provider-fallback): `--provider auto` routing with parallel worker planning.
|
|
63
|
+
|
|
64
|
+
## Current release reality
|
|
65
|
+
|
|
66
|
+
- The public npm line is `open-multi-agent-kit@0.78.x`. Published npm `latest` is `0.78.0`;
|
|
67
|
+
source/target is `0.78.1` and is published only after the release workflow passes on the tagged commit.
|
|
68
|
+
- The `v1.2` label in docs is a runtime contract family for the source tree, not a claim that
|
|
69
|
+
an npm `1.2.x` stable release exists.
|
|
70
|
+
- Provider support is intentionally uneven: Kimi remains the most mature authority path;
|
|
71
|
+
Codex/OpenCode/CommandCode depend on local CLIs; MiMo/DeepSeek/Qwen/OpenRouter/local LLM
|
|
72
|
+
lanes are scoped by the provider-maturity contract.
|
|
73
|
+
- Safety and evidence claims apply to the exact adapter, command, and verification gate that
|
|
74
|
+
produced them.
|
|
75
|
+
- Regression Proof Matrix is a release-defense coverage gate, not a stable-release claim.
|
|
76
|
+
Stable promotion still requires full tests, live provider maturity data, and a minimal verified demo pass.
|
|
77
|
+
|
|
38
78
|
## Why OMK
|
|
39
79
|
|
|
40
80
|
Most coding agents optimize for a single prompt/result loop. OMK wraps agent execution with a control-plane algorithm:
|
|
@@ -68,26 +108,28 @@ The GitHub visual set presents OMK as a Night City Ops Console: route status, DA
|
|
|
68
108
|
|
|
69
109
|
## Install
|
|
70
110
|
|
|
71
|
-
Requires Node.js `>=20` and npm `>=10`.
|
|
111
|
+
Requires Node.js `>=20` and npm `>=10`. The [3-minute route](#quickstart-3-minutes) uses the global install; these are the alternatives:
|
|
112
|
+
|
|
113
|
+
Project/local install:
|
|
72
114
|
|
|
73
115
|
```bash
|
|
74
|
-
npm
|
|
75
|
-
omk --help
|
|
116
|
+
npm i open-multi-agent-kit
|
|
117
|
+
npx omk --help
|
|
76
118
|
```
|
|
77
119
|
|
|
78
|
-
No
|
|
120
|
+
No install:
|
|
79
121
|
|
|
80
122
|
```bash
|
|
81
|
-
npx -p
|
|
123
|
+
npx -p open-multi-agent-kit omk doctor
|
|
82
124
|
```
|
|
83
125
|
|
|
84
126
|
## Quick start
|
|
85
127
|
|
|
128
|
+
The [3-minute route](#quickstart-3-minutes) is the canonical path. Beyond it, add provider auth and orchestration:
|
|
129
|
+
|
|
86
130
|
```bash
|
|
87
|
-
omk
|
|
88
|
-
omk
|
|
89
|
-
omk codex auth --choice plus-pro # prefer official Codex app/CLI OAuth for Codex lanes
|
|
90
|
-
omk chat --provider codex --mode agent
|
|
131
|
+
omk codex auth --choice plus-pro # optional; requires official Codex app/CLI login
|
|
132
|
+
omk chat --provider auto --mode agent
|
|
91
133
|
omk orchestrate "ship feature" --workers 4 --dry-run
|
|
92
134
|
```
|
|
93
135
|
|
|
@@ -133,7 +175,7 @@ DAG node
|
|
|
133
175
|
→ TaskResult with selected runtime + fallback chain
|
|
134
176
|
```
|
|
135
177
|
|
|
136
|
-
OMK converts DAG context into an adapter-neutral task so Codex, MiMo, Kimi API/print lanes, DeepSeek, Qwen, OpenRouter, local adapters, or future runtimes can participate through the same contract.
|
|
178
|
+
OMK converts DAG context into an adapter-neutral task so Codex, MiMo, Kimi API/print lanes, DeepSeek, Qwen, OpenRouter, local adapters, or future runtimes can participate through the same contract when configured. That contract does not imply equal write/merge authority for every adapter.
|
|
137
179
|
|
|
138
180
|
### 4. Intent-aware runtime routing and fallback
|
|
139
181
|
|
|
@@ -166,6 +208,59 @@ Kimi worker prompts use stdin with `--input-format text` where that adapter path
|
|
|
166
208
|
Goal → DAG plan → parallel lanes → evidence bundle → verify gate → merge / replay / inspect
|
|
167
209
|
```
|
|
168
210
|
|
|
211
|
+
## Goal lifecycle
|
|
212
|
+
|
|
213
|
+
`omk goal` turns a raw goal into a planned, evidence-gated run. The **OMK Deep Interview** is an uncertainty reducer that clarifies the goal before planning, so the DAG is compiled from a structured spec instead of a vague prompt.
|
|
214
|
+
|
|
215
|
+
Recommended flow:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
omk goal interview "<raw goal>" --depth deep --write-spec
|
|
219
|
+
omk goal plan <goal-id>
|
|
220
|
+
omk goal run <goal-id> --provider auto --approval-policy interactive
|
|
221
|
+
omk goal verify <goal-id>
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### `omk goal interview [input]`
|
|
225
|
+
|
|
226
|
+
Runs a deterministic deep interview that scores goal ambiguity (`0..1`), ranks targeted questions, assimilates answers into a structured spec delta, computes a completeness score, and (with `--write-spec`) creates or updates a `GoalSpec`. Question ranking is deterministic:
|
|
227
|
+
|
|
228
|
+
```text
|
|
229
|
+
score = informationGain*0.35 + riskReduction*0.25 + dagImpact*0.20 + evidenceImpact*0.15 - userCost*0.05
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
| Option | Purpose |
|
|
233
|
+
| -------------------------- | -------------------------------------------------------------- |
|
|
234
|
+
| `--goal-id <id>` | Target an existing goal. |
|
|
235
|
+
| `--mode <create\|refine>` | Create a new spec or refine an existing one. |
|
|
236
|
+
| `--depth <light\|standard\|deep>` | Interview depth; omit to auto-select by ambiguity. |
|
|
237
|
+
| `--max-questions <n>` | Cap the number of ranked questions. |
|
|
238
|
+
| `--answers <file>` | Supply answers non-interactively. |
|
|
239
|
+
| `--write-spec` | Persist the spec delta into a `GoalSpec`. |
|
|
240
|
+
| `--json` | Emit the `omk.interview.v1` JSON contract. |
|
|
241
|
+
|
|
242
|
+
### `omk goal refine <goal-id>`
|
|
243
|
+
|
|
244
|
+
Applies the latest interview spec delta to a goal and optionally replans.
|
|
245
|
+
|
|
246
|
+
| Option | Purpose |
|
|
247
|
+
| ----------------------- | ------------------------------------------------ |
|
|
248
|
+
| `--from-interview <id>` | Source interview session (default: latest). |
|
|
249
|
+
| `--plan` | Replan the goal after applying the delta. |
|
|
250
|
+
| `--json` | Emit machine-readable output. |
|
|
251
|
+
|
|
252
|
+
Answers file format (`--answers answers.json`):
|
|
253
|
+
|
|
254
|
+
```json
|
|
255
|
+
{
|
|
256
|
+
"answers": [
|
|
257
|
+
{ "questionId": "q-success-criteria", "answer": "..." }
|
|
258
|
+
]
|
|
259
|
+
}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Session artifacts (`interview.json`, `spec-delta.json`, `questions.md`, `answers.jsonl`, `interview-report.md`) are written under `.omk/goals/<goalId>/interviews/<sessionId>/`, or `.omk/interviews/<sessionId>/` before `--write-spec`.
|
|
263
|
+
|
|
169
264
|
## What OMK controls
|
|
170
265
|
|
|
171
266
|
| Surface | What OMK does |
|
|
@@ -180,13 +275,16 @@ Goal → DAG plan → parallel lanes → evidence bundle → verify gate → mer
|
|
|
180
275
|
|
|
181
276
|
## Provider lanes
|
|
182
277
|
|
|
183
|
-
OMK is provider-neutral
|
|
278
|
+
OMK is provider-neutral, but providers are not equally mature or equally authorized:
|
|
279
|
+
|
|
280
|
+
- **Kimi API / print lanes**: most mature authority path and compatibility fallback when configured.
|
|
281
|
+
- **MiMo**: default/read-review-thinking path when configured; direct workspace-write authority is not claimed for the API runtime.
|
|
282
|
+
- **Codex app / CLI OAuth lanes**: compatibility path through the official Codex CLI/app login; local CLI availability and policy decide what can run.
|
|
283
|
+
- **OpenCode / CommandCode CLI lanes**: compatibility paths when the local CLI and auth are present.
|
|
284
|
+
- **DeepSeek, Qwen, OpenRouter, local LLM adapters**: advisory/read/review/QA/research lanes unless a tested contract grants more authority.
|
|
285
|
+
- **GPT Image 2 asset lane**: visual asset workflow only when explicitly selected and separately configured.
|
|
184
286
|
|
|
185
|
-
-
|
|
186
|
-
- **MiMo** as the default provider path when configured;
|
|
187
|
-
- **Kimi API / print lanes** as explicit provider adapters, not the root identity;
|
|
188
|
-
- **DeepSeek, Qwen, OpenRouter, local adapters** for advisory or execution lanes when capability contracts match;
|
|
189
|
-
- **GPT Image 2 asset lane** for visual assets when the image workflow is explicitly selected.
|
|
287
|
+
See [provider maturity](docs/provider-maturity.md) before treating any non-Kimi lane as an authority/write/merge path.
|
|
190
288
|
|
|
191
289
|
## Codex app / OAuth first
|
|
192
290
|
|
|
@@ -206,9 +304,9 @@ The npm package is intentionally package-safe:
|
|
|
206
304
|
|
|
207
305
|
| Contract | Value |
|
|
208
306
|
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
209
|
-
| Package | [
|
|
210
|
-
| Version | `0.78.
|
|
211
|
-
| Runtime family
|
|
307
|
+
| Package | [`open-multi-agent-kit`](https://www.npmjs.com/package/open-multi-agent-kit) |
|
|
308
|
+
| Version | `0.78.1` |
|
|
309
|
+
| Runtime contract family | `v1.2` |
|
|
212
310
|
| Bins | `omk`, `omk-project-mcp`, `omk-acp`, `omk-mcp-host` |
|
|
213
311
|
| Packaged docs | `README.md`, `docs/`, `SECURITY.md`, `ROADMAP.md`, `MATURITY.md`, `DESIGN.md` |
|
|
214
312
|
| Packaged branding | Canonical hero/social/TUI/runtime images plus the curated derivative gallery documented in [`readmeasset/ASSET_INDEX.md`](readmeasset/ASSET_INDEX.md) and [`readmeasset/ASSET_PROVENANCE.md`](readmeasset/ASSET_PROVENANCE.md) |
|
|
@@ -262,6 +360,7 @@ Public copy stays OMK-owned: **OMK//CONTROL**, **NEON GRID ONLINE**, route/evide
|
|
|
262
360
|
- [Provider maturity](docs/provider-maturity.md)
|
|
263
361
|
- [Native root runtime algorithms](docs/native-root-runtime-algorithms.md)
|
|
264
362
|
- [Codex OAuth setup](docs/codex-oauth-setup.md)
|
|
363
|
+
- [Ouroboros integration](docs/integrations/ouroboros.md)
|
|
265
364
|
- [Security policy](SECURITY.md)
|
|
266
365
|
|
|
267
366
|
## Security
|
|
@@ -271,7 +370,7 @@ Safe by default: child env is sanitized, ambient secrets are dropped, and worksp
|
|
|
271
370
|
## Links
|
|
272
371
|
|
|
273
372
|
- GitHub: <https://github.com/dmae97/open-multi-agent-kit>
|
|
274
|
-
- NPM: <https://www.npmjs.com/package
|
|
373
|
+
- NPM: <https://www.npmjs.com/package/open-multi-agent-kit>
|
|
275
374
|
- Releases: <https://github.com/dmae97/open-multi-agent-kit/releases>
|
|
276
375
|
|
|
277
376
|
## License
|
package/ROADMAP.md
CHANGED
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
# Roadmap
|
|
2
2
|
|
|
3
|
-
Current source version: v0.78.
|
|
3
|
+
Current source version: v0.78.1 (`v1.2` runtime contract family)
|
|
4
4
|
Last updated: 2026-06-07
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## 2026-06-07 release reality
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
The public npm package line is `open-multi-agent-kit@0.78.x`. The `v1.2` label below is the source-tree runtime contract family, not a claim that a stable npm `1.2.x` package has shipped.
|
|
9
|
+
|
|
10
|
+
The v1.1.x/v1.2 rows in this file are historical source checkpoints and architecture milestones unless a row explicitly says it was npm-published. Current public-release work should be judged against the exact target commit, CI/smoke status, package audit, and npm dist-tag state.
|
|
11
|
+
|
|
12
|
+
## Historical 2026-05-31 v1.2 contract checkpoint
|
|
13
|
+
|
|
14
|
+
At the 2026-05-31 checkpoint, the source tree was being aligned toward a `v1.2` runtime contract and an internal RC packaging target. That checkpoint is useful architectural history, but it is not the current public npm package line. The architecture direction is OMK-as-root with providers as adapters. Kimi remains the most mature authority path; other providers have narrower or advisory maturity unless tests and contracts say otherwise.
|
|
9
15
|
|
|
10
16
|
- Version contract details: `docs/versioning.md`.
|
|
11
17
|
- Provider status and limitations: `docs/provider-maturity.md`.
|
|
12
18
|
- Public proof index: `proof/PROOF_INDEX.md`.
|
|
13
19
|
- Active native-runtime backlog: `docs/native-root-runtime-hardening.md`, `docs/native-root-runtime-algorithms.md`, and `.omk/specs/native-orchestrator-phase1/`.
|
|
14
|
-
- Do not claim stable `
|
|
20
|
+
- Do not claim stable npm `1.x` status until release gates pass on the exact target commit and the stable package/tag is published.
|
|
15
21
|
|
|
16
|
-
## Historical v1.1.9 reality
|
|
22
|
+
## Historical v1.1.9 source reality
|
|
17
23
|
|
|
18
|
-
Provider routing and graph viewing are no longer purely future work:
|
|
24
|
+
Provider routing and graph viewing are no longer purely future work in the source tree, but these notes are historical and provider-dependent:
|
|
19
25
|
|
|
20
26
|
- `omk run`, `omk parallel`, and DAG replay expose `--provider auto|kimi`.
|
|
21
27
|
- `omk provider` / `omk deepseek` manage DeepSeek enablement, key setup, availability checks, and default fallback to the most mature adapter.
|
|
@@ -23,7 +29,7 @@ Provider routing and graph viewing are no longer purely future work:
|
|
|
23
29
|
- `omk graph view` generates an HTML view from `.omk/memory/graph-state.json`.
|
|
24
30
|
- `omk goal` has a persisted lifecycle, continue loop, generated plan/evidence criteria, and verification flow.
|
|
25
31
|
|
|
26
|
-
## v1.2
|
|
32
|
+
## v1.2 contract hardening — Native Orchestrator Decoupling
|
|
27
33
|
|
|
28
34
|
### Phase 0: Foundation & Spec
|
|
29
35
|
|
|
@@ -64,35 +70,35 @@ Provider routing and graph viewing are no longer purely future work:
|
|
|
64
70
|
- Deprecate Kimi-only subagent language where OMK `ParallelOrchestrator` is the actual spawn surface.
|
|
65
71
|
- Mark v1.2.x stable only after provider fallback, evidence gates, DAG replay, version contracts, and provider-maturity docs are green across supported adapters.
|
|
66
72
|
|
|
67
|
-
##
|
|
73
|
+
## Post-0.78 hardening — current surface
|
|
68
74
|
|
|
69
75
|
### P0: release and contract gates
|
|
70
76
|
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
- Required before
|
|
74
|
-
- Required before
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
77
|
+
- Source implemented: YAML validation runs in local `verify` plus CI/smoke workflows.
|
|
78
|
+
- Source verified in recent gates: package dry-pack, package audit, tarball smoke, native safety build, and release matrix coverage. Public publish/tag claims still depend on the exact target commit.
|
|
79
|
+
- Required before a public npm publish/tag: regenerate the native safety binary if the target platform artifacts changed, pass package audit, pass smoke-pack/tarball install smoke, and pass `npm run release:check` or the documented CI equivalent on the exact intended release diff.
|
|
80
|
+
- Required before a public npm publish/tag: CI and smoke checks must pass on the exact intended commit.
|
|
81
|
+
- Source implemented: provider/deepseek and screenshot JSON command contracts have hermetic regression tests.
|
|
82
|
+
- Source implemented: proof bundle schema/check/index scaffolding exists, with scoped hardening bundles covering no-Kimi smoke, doctor-provider, fallback-route, native-safety, contract-version, evidence-block, replay/inspect, graph-audit, deeper no-Kimi verification, and provider fallback-routing gates.
|
|
83
|
+
- Source implemented: proof integrity enforces artifact linkage plus per-bundle `sha256sums.txt` hash validation.
|
|
84
|
+
- Source implemented: current AGENTS/init templates and packaged workflow skills align with the active skills/MCP/agents/harness surface.
|
|
85
|
+
- Still required: lock runtime safety gates for native turn risk, approval/sandbox propagation, authority-provider resolution, provider health probes, and DeepSeek read-only routing.
|
|
86
|
+
- Still required: lock broader provider fallback metadata with tests for rate limit, timeout, and default fallback variants.
|
|
87
|
+
- Still required: define minimum machine-readable CLI envelopes for the rest of the automation-critical commands.
|
|
88
|
+
- Still required: promote additional proof bundles beyond the current baseline, especially provider fallback variants for rate limit, timeout, and default route behavior.
|
|
83
89
|
|
|
84
90
|
### P1: observability and diagnostics
|
|
85
91
|
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
92
|
+
- Source implemented: provider route/fallback counts are emitted in run summaries/reports and summary terminal output.
|
|
93
|
+
- Source implemented: invalid MCP JSON is reported as a visible diagnostic without leaking secret-like config values.
|
|
94
|
+
- Source implemented: `omk mcp doctor --json` exposes structured server status, command resolution, timeout, permission, and config-source fields.
|
|
89
95
|
- Expand JSON output for DAG, summary, and workflow commands where CI or agents consume results.
|
|
90
96
|
- Link live graph nodes back to runs, goals, providers, and evidence so `omk graph audit` can validate real project graph memory, not only compact proof fixtures.
|
|
91
97
|
|
|
92
98
|
### P2: execution depth and planner quality
|
|
93
99
|
|
|
94
100
|
- Deepen `omk team` runtime reporting: worker state, pane/session health, artifacts, and verification handoff.
|
|
95
|
-
-
|
|
101
|
+
- Source implemented: replace the `omk goal plan` stub with a planner that emits steps, acceptance criteria, risks, and evidence gates.
|
|
96
102
|
- Add provider-quality gates before broader non-Kimi worker pools.
|
|
97
103
|
- Keep Kimi execution as the safe fallback path for every run.
|
|
98
104
|
|
|
@@ -109,10 +115,12 @@ Provider routing and graph viewing are no longer purely future work:
|
|
|
109
115
|
- Materialize provider routes, fallback events, goals, evidence gates, and run artifacts in the local graph/Kuzu ontology.
|
|
110
116
|
- Keep `omk graph view` local-first and safe for private repositories.
|
|
111
117
|
|
|
112
|
-
### Historical milestones
|
|
118
|
+
### Historical source milestones
|
|
119
|
+
|
|
120
|
+
These are source/development checkpoints unless a release note explicitly says the version was npm-published.
|
|
113
121
|
|
|
114
|
-
|
|
|
115
|
-
|
|
122
|
+
| Source checkpoint | Focus |
|
|
123
|
+
| --- | --- |
|
|
116
124
|
| v0.1 | init / doctor / chat, P0 skills, AGENTS.md / DESIGN.md generation, quality gate hooks |
|
|
117
125
|
| v0.2 | wire controller, HUD, run state, worker logs |
|
|
118
126
|
| v0.3 | worktree team, merge queue, reviewer / QA / integrator agents |
|
|
@@ -127,4 +135,4 @@ Provider routing and graph viewing are no longer purely future work:
|
|
|
127
135
|
| v1.1.16 | Deterministic IntentFrame/ActionAtom orchestration, chat schema preflight, MCP duplicate policy, agent capability propagation, and doctor/init/pack smoke fixes |
|
|
128
136
|
| v1.1.17 | Full generated-agent MCP/skills/hooks enablement, parallel subagent orchestration emphasis, and v1.1.17 release docs |
|
|
129
137
|
| v1.1.18 | Historical Kimi-wrapper dominant release-prep line: package source version alignment, native safety package gate, typed doctor repair plans, startup update prompt UX, and parallel subagent orchestration release-doc alignment |
|
|
130
|
-
| v1.2.0-rc.0 |
|
|
138
|
+
| v1.2.0-rc.0 | Internal RC target for the `v1.2` runtime contract family, provider-neutral docs alignment, version contract docs, and provider maturity limits |
|
|
@@ -268,9 +268,10 @@ export function registerBasicCommands(program) {
|
|
|
268
268
|
program
|
|
269
269
|
.command("summary")
|
|
270
270
|
.description(t("cmd.summaryDesc"))
|
|
271
|
-
.
|
|
271
|
+
.option("--json", "Output the latest run summary as a JSON envelope")
|
|
272
|
+
.action(async (options) => {
|
|
272
273
|
const { summaryLatestCommand } = await import("../commands/summary.js");
|
|
273
|
-
await summaryLatestCommand();
|
|
274
|
+
await summaryLatestCommand(options);
|
|
274
275
|
});
|
|
275
276
|
program
|
|
276
277
|
.command("summary-show [run-id]")
|
|
@@ -157,6 +157,7 @@ export function registerMcpDagCronScreenshotCommands(program) {
|
|
|
157
157
|
.option("-o, --output <path>", "Output JSON file path")
|
|
158
158
|
.option("-p, --parallel", "Enable intra-phase parallelism")
|
|
159
159
|
.option("-r, --run <id>", "Use spec from run ID (latest)")
|
|
160
|
+
.option("--json", "Output the DAG artifact as a JSON envelope")
|
|
160
161
|
.action(async (specDir, options) => {
|
|
161
162
|
const { dagFromSpecCommand } = await import("../commands/dag-from-spec.js");
|
|
162
163
|
const root = (await import("../util/fs.js")).getProjectRoot();
|
|
@@ -165,6 +166,7 @@ export function registerMcpDagCronScreenshotCommands(program) {
|
|
|
165
166
|
output: options.output,
|
|
166
167
|
parallel: Boolean(options.parallel),
|
|
167
168
|
run: options.run,
|
|
169
|
+
json: Boolean(options.json),
|
|
168
170
|
});
|
|
169
171
|
});
|
|
170
172
|
dag
|
|
@@ -159,6 +159,51 @@ export function registerSpecAgentGoalCommands(program) {
|
|
|
159
159
|
throw err;
|
|
160
160
|
}
|
|
161
161
|
});
|
|
162
|
+
goal
|
|
163
|
+
.command("interview [input]")
|
|
164
|
+
.description("[Alpha] Run a deep interview to reduce goal uncertainty before planning")
|
|
165
|
+
.option("--goal-id <id>", "Existing goal id to refine")
|
|
166
|
+
.option("--mode <create|refine>", "Interview mode (create | refine)", "create")
|
|
167
|
+
.option("--depth <light|standard|deep>", "Interview depth (omit to auto-select by ambiguity)")
|
|
168
|
+
.option("--max-questions <n>", "Maximum number of questions")
|
|
169
|
+
.option("--answers <file>", "Answers JSON file: { \"answers\": [{ \"questionId\", \"answer\" }] }")
|
|
170
|
+
.option("--image <file>", "Attach an image file (screenshot/diagram) to the interview")
|
|
171
|
+
.option("--write-spec", "Create or update the goal spec from interview answers")
|
|
172
|
+
.option("--json", t("cmd.goalJsonOption"))
|
|
173
|
+
.action(async (input, options) => {
|
|
174
|
+
const { goalInterviewCommand } = await import("../commands/goal-interview.js");
|
|
175
|
+
try {
|
|
176
|
+
await goalInterviewCommand(input, options);
|
|
177
|
+
}
|
|
178
|
+
catch (err) {
|
|
179
|
+
if (err instanceof CliError) {
|
|
180
|
+
if (process.exitCode === undefined)
|
|
181
|
+
process.exitCode = err.exitCode;
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
throw err;
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
goal
|
|
188
|
+
.command("refine <goal-id>")
|
|
189
|
+
.description("[Alpha] Apply the latest interview spec delta to a goal and optionally replan")
|
|
190
|
+
.option("--from-interview <id>", "Interview session id (default: latest)", "latest")
|
|
191
|
+
.option("--plan", "Rebuild the plan after applying the interview delta")
|
|
192
|
+
.option("--json", t("cmd.goalJsonOption"))
|
|
193
|
+
.action(async (goalId, options) => {
|
|
194
|
+
const { goalRefineCommand } = await import("../commands/goal-interview.js");
|
|
195
|
+
try {
|
|
196
|
+
await goalRefineCommand(goalId, options);
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
if (err instanceof CliError) {
|
|
200
|
+
if (process.exitCode === undefined)
|
|
201
|
+
process.exitCode = err.exitCode;
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
throw err;
|
|
205
|
+
}
|
|
206
|
+
});
|
|
162
207
|
goal
|
|
163
208
|
.command("list")
|
|
164
209
|
.description(t("cmd.goalListDesc"))
|
|
@@ -14,6 +14,16 @@ export function registerToolCommands(program) {
|
|
|
14
14
|
const { graphViewCommand } = await import("../commands/graph.js");
|
|
15
15
|
await graphViewCommand(options);
|
|
16
16
|
});
|
|
17
|
+
graph
|
|
18
|
+
.command("audit")
|
|
19
|
+
.description("Audit linked run subgraphs (run -> route/provider/evidence/decision/artifact)")
|
|
20
|
+
.option("--run <id>", "Audit a single run id (default: all runs under .omk/runs)")
|
|
21
|
+
.option("--input <path>", "Graph state JSON path (default: .omk/memory/graph-state.json)")
|
|
22
|
+
.option("--json", "Output machine-readable omk.contract.v1 JSON verdict")
|
|
23
|
+
.action(async (options) => {
|
|
24
|
+
const { graphAuditCommand } = await import("../commands/graph.js");
|
|
25
|
+
await graphAuditCommand({ run: options.run, input: options.input, json: Boolean(options.json) });
|
|
26
|
+
});
|
|
17
27
|
program
|
|
18
28
|
.command("hud")
|
|
19
29
|
.description(t("cmd.hudDesc"))
|
|
@@ -47,6 +57,7 @@ export function registerToolCommands(program) {
|
|
|
47
57
|
.option("--run <id>", "run ID", "latest")
|
|
48
58
|
.option("--strategy <strategy>", "merge strategy (first | best)", "first")
|
|
49
59
|
.option("--dry-run", "preview merge without applying")
|
|
60
|
+
.option("--json", "Output the merge preview as a JSON envelope")
|
|
50
61
|
.action(async (runIdArg, options) => {
|
|
51
62
|
const globalOpts = program.opts();
|
|
52
63
|
const { mergeCommand } = await import("../commands/merge.js");
|
|
@@ -72,6 +72,7 @@ export function registerWorkflowCommands(program) {
|
|
|
72
72
|
.command("team")
|
|
73
73
|
.description(t("cmd.teamDesc"))
|
|
74
74
|
.option("--workers <n>", t("cmd.teamWorkersOption"), "auto")
|
|
75
|
+
.option("--json", "Output the team layout as a JSON envelope")
|
|
75
76
|
.action(async (options) => {
|
|
76
77
|
const globalOpts = program.opts();
|
|
77
78
|
const { teamCommand } = await import("../commands/team.js");
|
|
@@ -89,9 +89,10 @@ export function registerToolingCommands(program) {
|
|
|
89
89
|
program
|
|
90
90
|
.command("summary")
|
|
91
91
|
.description(t("cmd.summaryDesc"))
|
|
92
|
-
.
|
|
92
|
+
.option("--json", "Output the latest run summary as a JSON envelope")
|
|
93
|
+
.action(async (options) => {
|
|
93
94
|
const { summaryLatestCommand } = await import("../../commands/summary.js");
|
|
94
|
-
await summaryLatestCommand();
|
|
95
|
+
await summaryLatestCommand(options);
|
|
95
96
|
});
|
|
96
97
|
program
|
|
97
98
|
.command("summary-show [run-id]")
|