open-multi-agent-kit 0.79.3 → 0.80.0
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 +22 -0
- package/MATURITY.md +2 -2
- package/README.md +86 -39
- package/ROADMAP.md +20 -17
- package/dist/brand/night-city.theme.json +122 -24
- package/dist/brand/rust-forge.theme.json +1 -1
- package/dist/commands/chat/native-root-loop.d.ts +27 -3
- package/dist/commands/chat/native-root-loop.js +375 -49
- package/dist/commands/dag.js +45 -0
- package/dist/commands/init/content.d.ts +1 -1
- package/dist/commands/init/content.js +3 -3
- package/dist/commands/init.js +3 -3
- package/dist/commands/verify.js +59 -1
- package/dist/contracts/dag.d.ts +9 -1
- package/dist/evidence/graph-ontology-relation-gate.d.ts +10 -0
- package/dist/evidence/graph-ontology-relation-gate.js +46 -0
- package/dist/evidence/headroom-replay-verifier.d.ts +19 -0
- package/dist/evidence/headroom-replay-verifier.js +86 -0
- package/dist/memory/local-graph-memory-store.d.ts +75 -0
- package/dist/memory/local-graph-memory-store.js +570 -0
- package/dist/orchestration/dag.d.ts +22 -1
- package/dist/orchestration/evidence-gate.js +12 -0
- package/dist/orchestration/executor.js +108 -15
- package/dist/orchestration/loop-controller-headroom.d.ts +6 -0
- package/dist/orchestration/loop-controller-headroom.js +33 -0
- package/dist/orchestration/scheduler.d.ts +2 -0
- package/dist/orchestration/scheduler.js +3 -0
- package/dist/orchestration/task-graph.d.ts +17 -0
- package/dist/orchestration/task-graph.js +38 -0
- package/dist/providers/codex-cli-runner.js +17 -2
- package/dist/runtime/agent-runtime.d.ts +32 -3
- package/dist/runtime/agent-runtime.js +20 -7
- package/dist/runtime/authority-matrix.d.ts +23 -0
- package/dist/runtime/authority-matrix.js +159 -0
- package/dist/runtime/chat-advisory-runtime.js +3 -0
- package/dist/runtime/codex-cli-runtime.js +2 -0
- package/dist/runtime/codex-runtime.d.ts +4 -1
- package/dist/runtime/codex-runtime.js +34 -12
- package/dist/runtime/context-broker-converter.js +32 -2
- package/dist/runtime/context-broker.js +18 -0
- package/dist/runtime/contracts/evidence.d.ts +52 -0
- package/dist/runtime/contracts/evidence.js +128 -1
- package/dist/runtime/contracts/shared.d.ts +27 -0
- package/dist/runtime/data-retention-gate.d.ts +42 -0
- package/dist/runtime/data-retention-gate.js +123 -0
- package/dist/runtime/deepseek-runtime.d.ts +5 -1
- package/dist/runtime/deepseek-runtime.js +13 -7
- package/dist/runtime/external-cli-adapter.js +20 -7
- package/dist/runtime/freedomd-evidence-envelope.d.ts +57 -0
- package/dist/runtime/freedomd-evidence-envelope.js +110 -0
- package/dist/runtime/freedomd-exception.d.ts +32 -0
- package/dist/runtime/freedomd-exception.js +95 -0
- package/dist/runtime/freedomd-incidents.d.ts +23 -0
- package/dist/runtime/freedomd-incidents.js +103 -0
- package/dist/runtime/freedomd-policy.d.ts +35 -0
- package/dist/runtime/freedomd-policy.js +114 -0
- package/dist/runtime/freedomd-router.d.ts +66 -0
- package/dist/runtime/freedomd-router.js +433 -0
- package/dist/runtime/headroom-aware-loop-decision.d.ts +21 -0
- package/dist/runtime/headroom-aware-loop-decision.js +67 -0
- package/dist/runtime/headroom-loop-risk.d.ts +19 -0
- package/dist/runtime/headroom-loop-risk.js +43 -0
- package/dist/runtime/headroom-policy.d.ts +14 -1
- package/dist/runtime/headroom-policy.js +74 -12
- package/dist/runtime/kimi-api-runtime.d.ts +4 -1
- package/dist/runtime/kimi-api-runtime.js +35 -11
- package/dist/runtime/kimi-print-runtime.js +21 -0
- package/dist/runtime/kimi-wire-protocol-runtime.js +17 -1
- package/dist/runtime/local-llm-runtime.d.ts +5 -1
- package/dist/runtime/local-llm-runtime.js +14 -23
- package/dist/runtime/private-stderr.d.ts +13 -0
- package/dist/runtime/private-stderr.js +69 -0
- package/dist/runtime/prompt-envelope.d.ts +1 -1
- package/dist/runtime/provider-sovereignty.d.ts +81 -0
- package/dist/runtime/provider-sovereignty.js +285 -0
- package/dist/runtime/runtime-backed-task-runner.d.ts +1 -0
- package/dist/runtime/runtime-backed-task-runner.js +282 -10
- package/dist/runtime/runtime-bootstrap.d.ts +12 -0
- package/dist/runtime/runtime-bootstrap.js +56 -3
- package/dist/runtime/runtime-failure-classifier.d.ts +15 -0
- package/dist/runtime/runtime-failure-classifier.js +107 -0
- package/dist/runtime/runtime-health-probes.d.ts +30 -0
- package/dist/runtime/runtime-health-probes.js +102 -0
- package/dist/runtime/runtime-router.d.ts +6 -2
- package/dist/runtime/runtime-router.js +575 -53
- package/dist/runtime/structured-compaction.d.ts +107 -0
- package/dist/runtime/structured-compaction.js +414 -0
- package/dist/runtime/tool-dispatch-contracts.d.ts +7 -5
- package/dist/runtime/tool-dispatch-contracts.js +15 -4
- package/dist/runtime/tool-plane.d.ts +1 -1
- package/dist/runtime/tool-plane.js +49 -1
- package/dist/runtime/worker-manifest.js +1 -1
- package/dist/schema/evidence-bundle.schema.d.ts +8 -8
- package/dist/schema/proof-bundle.schema.d.ts +2 -2
- package/dist/util/hash.d.ts +2 -0
- package/dist/util/hash.js +13 -0
- package/dist/util/session.js +6 -5
- package/docs/2026-06-16/critical-issues.md +19 -0
- package/docs/2026-06-16/improvements.md +15 -0
- package/docs/2026-06-16/init-checklist.md +25 -0
- package/docs/2026-06-16/plan.md +20 -0
- package/docs/ARCHITECTURE_ANALYSIS_CODEGRAPH.md +2 -1
- package/docs/GSTACK_MIGRATION.md +1 -1
- package/docs/algorithm-hardening-playbook.md +219 -0
- package/docs/claims.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/native-root-runtime-hardening.md +42 -32
- package/docs/post-0793-hardening-roadmap.md +123 -0
- package/docs/provider-maturity.md +18 -16
- package/docs/versioning.md +3 -3
- package/docs/what-is-omk.md +1 -1
- package/package.json +8 -4
- package/readmeasset/.npmignore +2 -0
- package/readmeasset/ASSET_INDEX.md +2 -0
- package/readmeasset/ASSET_PROVENANCE.md +40 -20
- package/readmeasset/omk-adaptorch-ouroboros-supermemory.svg +1 -1
- package/readmeasset/omk-control-surfaces.svg +1 -1
- package/readmeasset/omk-core-loop.svg +1 -1
- package/readmeasset/omk-freedomd-control-plane.svg +59 -0
- package/readmeasset/omk-freedomd-control-plane.webp +0 -0
- package/readmeasset/omk-init-control-loop.svg +1 -1
- package/readmeasset/omk-logo-mark.svg +1 -1
- package/readmeasset/omk-parallel-subagents.svg +1 -1
- package/readmeasset/omk-release-assertions.svg +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Reserved for changes after v0.80.0.
|
|
8
|
+
|
|
9
|
+
## v0.80.0 — Freedomd sovereignty, default agent freedom, and release-ready GitHub docs (2026-06-16)
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Added Freedomd provider-sovereignty control plane: policy compiler, sovereignty scoring, retention gate, cutoff-resilient routing, degraded plans, local-first evidence envelopes, incident feeds, and provider exception artifacts.
|
|
14
|
+
- Added default agent freedom behavior with strict guardrails opt-in via `OMK_STRICT_GUARDRAIL=1`; Freedomd routing remains explicitly controlled with `OMK_FREEDOMD_MODE=balanced|strict`.
|
|
15
|
+
- Added Headroom control-plane hardening: loop-risk signals, replay verifier, compaction quality gate, artifact hashing, ontology relation gate, and adapter compaction consumption.
|
|
16
|
+
- Added Freedomd README/release asset provenance and GitHub-facing documentation for provider independence, retention safety, and evidence portability.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Refreshed README, docs, roadmap, maturity notes, init templates, themes, and package metadata to align with `open-multi-agent-kit@0.80.0` and runtime contract family `v1.2`.
|
|
21
|
+
- Wired Freedomd routing into the runtime-backed task runner and propagated sovereignty metadata through DAG/node routing, task context, and worker manifests.
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- Closed remaining post-0.79.3 runtime hardening risks around prompt privacy, evidence gates, private stderr retention, provider health escalation, adapter cutoff handling, and graph ontology consistency.
|
|
26
|
+
|
|
5
27
|
## v0.79.3 — GLM 5.2 max thinking, scroll-safe TTY, and OSS CLI polish (2026-06-15)
|
|
6
28
|
|
|
7
29
|
### Added
|
package/MATURITY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# OMK Command Maturity Matrix
|
|
2
2
|
|
|
3
3
|
Last updated: 2026-05-24
|
|
4
|
-
Current source version: v0.
|
|
4
|
+
Current source version: v0.80.0
|
|
5
5
|
|
|
6
6
|
| Level | Meaning |
|
|
7
7
|
|-------|---------|
|
|
@@ -72,5 +72,5 @@ Current source version: v0.79.3
|
|
|
72
72
|
| 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
73
|
| 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
74
|
| 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, getting-started docs, package audit, and release-gate commands now distinguish the v0.
|
|
75
|
+
| Release docs and site | README, CHANGELOG, MATURITY, ROADMAP, getting-started docs, package audit, and release-gate commands now distinguish the v0.80.0 source target from registry-published claims while documenting alpha/experimental surfaces, parallel subagent orchestration, typed doctor repair plans, startup update prompts, native safety package readiness, current harness templates, packaged workflow skills, 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, GitHub Smoke Test, registry verification, and GitHub CI evidence on the exact commit as the publish/deploy gate before claiming v0.80.0 as released. |
|
|
76
76
|
| Goal planner | Goal lifecycle exists, including continue, generated plan/evidence criteria, and verification. | Expand planner quality scoring and release evidence. |
|
package/README.md
CHANGED
|
@@ -1,25 +1,36 @@
|
|
|
1
|
-
# OMK
|
|
1
|
+
# OMK — Freedomd agent control plane
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Local-first, multi-provider, evidence-based orchestration for coding agents.**
|
|
4
4
|
|
|
5
|
-
OMK turns a coding
|
|
5
|
+
OMK turns a coding goal into a scoped DAG run, routes it across compatible runtimes, limits authority per lane, records local evidence, and keeps the loop moving even when a provider is unavailable, retained, export-restricted, or policy-blocked.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+

|
|
8
8
|
|
|
9
9
|
<p>
|
|
10
|
-
<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=
|
|
10
|
+
<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=F2A900"></a>
|
|
11
11
|
<a href="LICENSE"><img alt="license" src="https://img.shields.io/badge/license-MIT-blue.svg"></a>
|
|
12
|
-
<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-
|
|
12
|
+
<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-2F9B4A"></a>
|
|
13
13
|
<a href="https://github.com/dmae97/open-multi-agent-kit/discussions"><img alt="discussions" src="https://img.shields.io/badge/discussions-open-9D4EDD"></a>
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
|
+
## What changed in v0.80.0
|
|
17
|
+
|
|
18
|
+
OMK now has a **Freedomd** control-plane direction:
|
|
19
|
+
|
|
20
|
+
- **Provider sovereignty scoring** — route by health, authority, capability, retention, jurisdiction, cutoff risk, locality, and portability.
|
|
21
|
+
- **Retention gate** — classify task data and decide `allow`, `redact`, `downgrade`, or `block` before a prompt leaves the local control plane.
|
|
22
|
+
- **Cutoff-resilient routing** — provider incidents and policy blocks degrade to local authority, read-only review, artifact replay, or a clear diagnostic instead of silently stalling.
|
|
23
|
+
- **Local-first evidence envelopes** — persist provider-independent evidence under `.omk/runs/<run-id>/freedomd/` with hashes for replay and audit.
|
|
24
|
+
- **Default agent freedom** — high-autonomy agent behavior is default; strict guardrails are opt-in with `OMK_STRICT_GUARDRAIL=1`.
|
|
25
|
+
- **Explicit Freedomd mode** — sovereignty routing is opt-in with `OMK_FREEDOMD_MODE=balanced` or `OMK_FREEDOMD_MODE=strict`.
|
|
26
|
+
|
|
16
27
|
## 30-second demo
|
|
17
28
|
|
|
18
29
|
```bash
|
|
19
30
|
npx -y -p open-multi-agent-kit omk do "review this repo for release risk" --dry-run --json
|
|
20
31
|
```
|
|
21
32
|
|
|
22
|
-
|
|
33
|
+
A dry run produces bounded planning artifacts before changing files:
|
|
23
34
|
|
|
24
35
|
```txt
|
|
25
36
|
goal
|
|
@@ -28,13 +39,13 @@ goal
|
|
|
28
39
|
flow
|
|
29
40
|
goal -> input envelope -> DAG -> scoped lanes -> evidence -> verify
|
|
30
41
|
|
|
31
|
-
artifacts
|
|
42
|
+
artifacts
|
|
32
43
|
.omk/runs/<run-id>/input-envelope.json
|
|
33
44
|
.omk/runs/<run-id>/dag.json
|
|
34
45
|
.omk/runs/<run-id>/dag-compile-report.json
|
|
35
46
|
```
|
|
36
47
|
|
|
37
|
-
Executing
|
|
48
|
+
Executing a run adds loop state, route decisions, evidence observations, and replayable artifacts under `.omk/runs/<run-id>/`.
|
|
38
49
|
|
|
39
50
|
## Install
|
|
40
51
|
|
|
@@ -45,7 +56,7 @@ omk doctor
|
|
|
45
56
|
omk chat
|
|
46
57
|
```
|
|
47
58
|
|
|
48
|
-
|
|
59
|
+
Local checkout verification:
|
|
49
60
|
|
|
50
61
|
```bash
|
|
51
62
|
npm ci
|
|
@@ -54,58 +65,94 @@ node dist/cli.js do "explain this repo" --dry-run --json
|
|
|
54
65
|
npm run verify:no-kimi
|
|
55
66
|
```
|
|
56
67
|
|
|
57
|
-
##
|
|
68
|
+
## Configure Freedomd
|
|
58
69
|
|
|
59
|
-
|
|
60
|
-
- want agents to produce evidence before saying “done”;
|
|
61
|
-
- need read/write/shell authority separated by task;
|
|
62
|
-
- want replayable `.omk/runs/` artifacts for review;
|
|
63
|
-
- need project-scoped MCP, skills, hooks, and provider lanes instead of ambient global tool access.
|
|
70
|
+
Balanced mode prefers provider diversity and records sovereignty diagnostics:
|
|
64
71
|
|
|
65
|
-
|
|
72
|
+
```bash
|
|
73
|
+
OMK_FREEDOMD_MODE=balanced omk chat
|
|
74
|
+
```
|
|
66
75
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
76
|
+
Strict mode prefers local/self-hosted paths and blocks retained/export-restricted providers more aggressively:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
OMK_FREEDOMD_MODE=strict OMK_MAX_RETENTION_DAYS=0 omk chat
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Provider incident overrides are local and auditable:
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"schemaVersion": "omk.provider-incidents.v1",
|
|
87
|
+
"incidents": [
|
|
88
|
+
{
|
|
89
|
+
"providerId": "anthropic",
|
|
90
|
+
"kind": "export-control",
|
|
91
|
+
"severity": "block",
|
|
92
|
+
"reason": "operator policy override",
|
|
93
|
+
"updatedAt": "2026-06-16T00:00:00.000Z"
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Save that as `.omk/provider-incidents.json`, or set `OMK_PROVIDER_INCIDENTS` to the same JSON. Optional public feeds can be supplied with `OMK_FREEDOMD_FEED_URLS`; feed failures never block routing and local overrides win.
|
|
100
|
+
|
|
101
|
+
## Use OMK if you
|
|
102
|
+
|
|
103
|
+
- use Codex, OpenCode, CommandCode, Kimi, DeepSeek, GLM, Qwen, OpenRouter, MiMo, or local models in the same repo;
|
|
104
|
+
- want provider availability, retention, jurisdiction, and exportability treated as runtime risks;
|
|
105
|
+
- need read/write/shell/merge authority separated by task;
|
|
106
|
+
- want agents to produce replayable evidence before saying “done”;
|
|
107
|
+
- need project-scoped MCP, skills, hooks, and graph memory instead of ambient global tool access;
|
|
108
|
+
- need degraded local/review/replay modes when frontier providers are blocked.
|
|
73
109
|
|
|
74
110
|
## What OMK controls
|
|
75
111
|
|
|
76
112
|
```text
|
|
77
|
-
Goal
|
|
113
|
+
Goal -> DAG -> lane grants -> runtime routing -> evidence envelope -> verify -> replay
|
|
78
114
|
```
|
|
79
115
|
|
|
80
|
-
- **Routing**: choose
|
|
81
|
-
- **Authority**: keep read, write, shell, and merge
|
|
116
|
+
- **Routing**: choose compatible provider/runtime lanes with capability and sovereignty scores.
|
|
117
|
+
- **Authority**: keep read, write, patch, shell, MCP, and merge power explicit.
|
|
82
118
|
- **Evidence**: require command output, diff, artifact, metric, or review proof.
|
|
83
|
-
- **Replay**: save run artifacts under `.omk/runs/<run-id>/` for
|
|
119
|
+
- **Replay**: save run artifacts under `.omk/runs/<run-id>/` for audit.
|
|
120
|
+
- **Fallback**: degrade to local/review/replay modes when policy or provider health blocks execution.
|
|
84
121
|
- **Scope**: keep MCP servers, skills, hooks, and memory bounded per lane.
|
|
85
122
|
|
|
86
|
-
##
|
|
123
|
+
## How OMK differs
|
|
87
124
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
125
|
+
| Surface | Common failure | OMK adds |
|
|
126
|
+
| --- | --- | --- |
|
|
127
|
+
| Single-agent coding CLIs | Strong execution but weak audit | DAG, lane grants, local evidence, replay |
|
|
128
|
+
| Cloud frontier providers | Policy/retention/export cutoff risk | Freedomd sovereignty scoring and degraded fallback |
|
|
129
|
+
| MCP servers | Ambient tool access | Per-lane MCP/tool/shell authority |
|
|
130
|
+
| CI | Post-hoc verification | Agent-time evidence gates before completion |
|
|
131
|
+
| Local LLMs | Lower capability but high sovereignty | Local-first fallback and review/replay modes |
|
|
91
132
|
|
|
92
|
-
##
|
|
133
|
+
## Release and safety claims
|
|
93
134
|
|
|
94
|
-
Current source version: `open-multi-agent-kit@0.
|
|
135
|
+
Current source version: `open-multi-agent-kit@0.80.0`.
|
|
95
136
|
|
|
96
|
-
-
|
|
97
|
-
- Runtime contract family: `v1.2` means contract family, not a stable npm `1.x` release.
|
|
137
|
+
- Runtime contract family: `v1.2`.
|
|
98
138
|
- Release channel: `pre-1.0`.
|
|
99
|
-
- OS-level sandboxing is
|
|
100
|
-
-
|
|
139
|
+
- OS-level sandboxing is **not** claimed; safety relies on authority gates, approval/sandbox policy, scoped capabilities, evidence, and local artifacts.
|
|
140
|
+
- npm `latest` claims are valid only after tagged CI and registry verification both pass.
|
|
141
|
+
- README hero generation used the local Codex OAuth `gpt-image-2` workflow; the official `omk image` OpenAI Images API path still requires an OpenAI Platform project API key supplied only at runtime.
|
|
101
142
|
|
|
102
|
-
See [versioning](docs/versioning.md), [provider maturity](docs/provider-maturity.md), and [SECURITY.md](SECURITY.md).
|
|
143
|
+
See [versioning](docs/versioning.md), [claims](docs/claims.md), [provider maturity](docs/provider-maturity.md), and [SECURITY.md](SECURITY.md).
|
|
144
|
+
|
|
145
|
+
## Examples
|
|
146
|
+
|
|
147
|
+
- [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.
|
|
148
|
+
- [Provider fallback](https://github.com/dmae97/open-multi-agent-kit/tree/main/examples/provider-fallback): `--provider auto` routing with fallback planning.
|
|
149
|
+
- [Proof index](https://github.com/dmae97/open-multi-agent-kit/blob/main/proof/PROOF_INDEX.md): source-controlled proof bundles checked by `npm run proof:check`.
|
|
103
150
|
|
|
104
151
|
## Community
|
|
105
152
|
|
|
106
153
|
- Ask setup and provider questions in [Discussions](https://github.com/dmae97/open-multi-agent-kit/discussions).
|
|
107
154
|
- File reproducible bugs in [Issues](https://github.com/dmae97/open-multi-agent-kit/issues).
|
|
108
|
-
-
|
|
155
|
+
- Star the repo to follow the `0.80.x` pre-1.0 Freedomd release line.
|
|
109
156
|
|
|
110
157
|
## License
|
|
111
158
|
|
package/ROADMAP.md
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
# Roadmap
|
|
2
2
|
|
|
3
|
-
Current source version:
|
|
4
|
-
Last updated: 2026-
|
|
3
|
+
Current source version: `open-multi-agent-kit@0.80.0` (`pre-1.0`; runtime contract family `v1.2`)
|
|
4
|
+
Last updated: 2026-06-15
|
|
5
5
|
|
|
6
|
-
## 2026-
|
|
6
|
+
## 2026-06-15 release truth status
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Current source and npm target is `open-multi-agent-kit@0.80.0` on the `v1.2` runtime contract family and `pre-1.0` release channel.
|
|
9
9
|
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
10
|
+
- Main CI and main Smoke are green on the `0.80.0` release commit.
|
|
11
|
+
- Tag Release and tag Smoke are green for `v0.80.0`.
|
|
12
|
+
- npm `latest` is registry-verified as `open-multi-agent-kit@0.80.0`.
|
|
13
|
+
- OS-level sandboxing is still planned, not claimed; current safety relies on authority gates, approval policy, evidence, replay, and scoped runtime capabilities.
|
|
14
|
+
- The active architecture backlog is tracked in `docs/native-root-runtime-hardening.md`, `docs/native-root-runtime-algorithms.md`, and `.omk/specs/native-orchestrator-phase1/`.
|
|
13
15
|
|
|
14
16
|
## v1.1.9 reality
|
|
15
17
|
|
|
@@ -17,7 +19,7 @@ Provider routing and graph viewing are no longer purely future work:
|
|
|
17
19
|
|
|
18
20
|
- `omk run`, `omk parallel`, and DAG replay expose `--provider auto|kimi`.
|
|
19
21
|
- `omk provider` / `omk deepseek` manage DeepSeek enablement, key setup, availability checks, and default fallback to the most mature adapter.
|
|
20
|
-
- DeepSeek
|
|
22
|
+
- DeepSeek and similar API providers remain read/review/advisory by default; write/shell/merge authority is selected by runtime-mode capability, health, approval policy, and sandbox constraints.
|
|
21
23
|
- `omk graph view` generates an HTML view from `.omk/memory/graph-state.json`.
|
|
22
24
|
- `omk goal` has a persisted lifecycle, continue loop, generated plan/evidence criteria, and verification flow.
|
|
23
25
|
|
|
@@ -67,13 +69,14 @@ Provider routing and graph viewing are no longer purely future work:
|
|
|
67
69
|
### P0: release and contract gates
|
|
68
70
|
|
|
69
71
|
- Done: YAML validation now runs in local `verify` plus CI/smoke workflows.
|
|
70
|
-
- Done: package dry-pack, package audit, tarball smoke,
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
- Done:
|
|
74
|
-
- Done:
|
|
75
|
-
-
|
|
76
|
-
-
|
|
72
|
+
- Done: package dry-pack, package audit, tarball smoke, release matrix gates, GitHub Release, and npm registry verification were re-verified for `0.80.0`.
|
|
73
|
+
- Done: `version:check` now validates current-version Markdown claims in README, docs, ROADMAP, and init templates.
|
|
74
|
+
- Done: native turn risk defaults are safer: explicit read-only constraints override write keywords, ambiguous turns fall back to `ask`, and write/shell/merge turns require evidence gates.
|
|
75
|
+
- Done: tool authority has staged `shadow|warn|enforce` modes, with native turn dispatch blocking in enforce mode.
|
|
76
|
+
- Done: runtime routing is health-aware for async execution paths and records `executeTask` decision traces.
|
|
77
|
+
- Done: headroom compaction can feed the effective runtime context capsule.
|
|
78
|
+
- Required before any future publish/tag: pass `npm run release:check`, tag CI/smoke, tarball install smoke, package audit, and registry verification on the exact intended release diff.
|
|
79
|
+
- Remaining: expand provider health from available/unavailable to binary/auth/model/quota/rate-limit/latency vectors across all adapters.
|
|
77
80
|
- Remaining: define minimum machine-readable CLI envelopes for the rest of the automation-critical commands.
|
|
78
81
|
|
|
79
82
|
### P1: observability and diagnostics
|
|
@@ -95,8 +98,8 @@ Provider routing and graph viewing are no longer purely future work:
|
|
|
95
98
|
|
|
96
99
|
### Provider routing maturity
|
|
97
100
|
|
|
98
|
-
- Keep
|
|
99
|
-
- Use provider hints for explorer, reviewer, QA, planner, and documentation roles only when
|
|
101
|
+
- Keep authority at the runtime-mode level: API runtimes are advisory/read/review unless a runtime-mode contract grants write/shell/merge authority.
|
|
102
|
+
- Use provider hints for explorer, reviewer, QA, planner, and documentation roles only when runtime health is acceptable and task risk is low.
|
|
100
103
|
- Record provider attempts, route confidence, fallback reason, and final authority in run evidence.
|
|
101
104
|
|
|
102
105
|
### Graph and memory maturity
|
|
@@ -17,32 +17,129 @@
|
|
|
17
17
|
"muted": "#9DB3C7",
|
|
18
18
|
"gray": "#758FA8"
|
|
19
19
|
},
|
|
20
|
-
"backgrounds": [
|
|
20
|
+
"backgrounds": [
|
|
21
|
+
"dark",
|
|
22
|
+
"surface"
|
|
23
|
+
],
|
|
21
24
|
"semantics": {
|
|
22
|
-
"route.active": {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
|
|
25
|
+
"route.active": {
|
|
26
|
+
"color": "cyan",
|
|
27
|
+
"glyph": "▸",
|
|
28
|
+
"usage": "text"
|
|
29
|
+
},
|
|
30
|
+
"route.fallback": {
|
|
31
|
+
"color": "amber",
|
|
32
|
+
"glyph": "↻",
|
|
33
|
+
"usage": "text"
|
|
34
|
+
},
|
|
35
|
+
"route.dead": {
|
|
36
|
+
"color": "red",
|
|
37
|
+
"glyph": "✕",
|
|
38
|
+
"usage": "text"
|
|
39
|
+
},
|
|
40
|
+
"evidence.pass": {
|
|
41
|
+
"color": "mint",
|
|
42
|
+
"glyph": "✓",
|
|
43
|
+
"usage": "text"
|
|
44
|
+
},
|
|
45
|
+
"evidence.fail": {
|
|
46
|
+
"color": "red",
|
|
47
|
+
"glyph": "✗",
|
|
48
|
+
"usage": "text"
|
|
49
|
+
},
|
|
50
|
+
"evidence.pending": {
|
|
51
|
+
"color": "amber",
|
|
52
|
+
"glyph": "◐",
|
|
53
|
+
"usage": "text"
|
|
54
|
+
},
|
|
55
|
+
"dag.lane.running": {
|
|
56
|
+
"color": "cyan",
|
|
57
|
+
"glyph": "▶",
|
|
58
|
+
"usage": "text"
|
|
59
|
+
},
|
|
60
|
+
"dag.lane.blocked": {
|
|
61
|
+
"color": "amber",
|
|
62
|
+
"glyph": "⏸",
|
|
63
|
+
"usage": "text"
|
|
64
|
+
},
|
|
65
|
+
"dag.lane.done": {
|
|
66
|
+
"color": "mint",
|
|
67
|
+
"glyph": "●",
|
|
68
|
+
"usage": "text"
|
|
69
|
+
},
|
|
70
|
+
"dag.lane.queued": {
|
|
71
|
+
"color": "muted",
|
|
72
|
+
"glyph": "◌",
|
|
73
|
+
"usage": "text"
|
|
74
|
+
},
|
|
75
|
+
"telemetry.info": {
|
|
76
|
+
"color": "cream",
|
|
77
|
+
"glyph": "·",
|
|
78
|
+
"usage": "text"
|
|
79
|
+
},
|
|
80
|
+
"telemetry.warn": {
|
|
81
|
+
"color": "amber",
|
|
82
|
+
"glyph": "▲",
|
|
83
|
+
"usage": "text"
|
|
84
|
+
},
|
|
85
|
+
"telemetry.error": {
|
|
86
|
+
"color": "red",
|
|
87
|
+
"glyph": "✖",
|
|
88
|
+
"usage": "text"
|
|
89
|
+
},
|
|
90
|
+
"control.accent": {
|
|
91
|
+
"color": "purple",
|
|
92
|
+
"glyph": "◆",
|
|
93
|
+
"kind": "chrome",
|
|
94
|
+
"usage": "indicator"
|
|
95
|
+
},
|
|
96
|
+
"control.dim": {
|
|
97
|
+
"color": "gray",
|
|
98
|
+
"glyph": "┊",
|
|
99
|
+
"kind": "chrome",
|
|
100
|
+
"usage": "text"
|
|
101
|
+
},
|
|
102
|
+
"control.fg": {
|
|
103
|
+
"color": "cream",
|
|
104
|
+
"kind": "chrome",
|
|
105
|
+
"usage": "text"
|
|
106
|
+
},
|
|
107
|
+
"control.bg": {
|
|
108
|
+
"color": "dark",
|
|
109
|
+
"kind": "background",
|
|
110
|
+
"usage": "background"
|
|
111
|
+
}
|
|
39
112
|
},
|
|
40
113
|
"components": {
|
|
41
|
-
"statusCard": {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
114
|
+
"statusCard": {
|
|
115
|
+
"border": "control.accent",
|
|
116
|
+
"title": "control.fg",
|
|
117
|
+
"body": "telemetry.info",
|
|
118
|
+
"meta": "control.dim"
|
|
119
|
+
},
|
|
120
|
+
"routerTable": {
|
|
121
|
+
"active": "route.active",
|
|
122
|
+
"fallback": "route.fallback",
|
|
123
|
+
"dead": "route.dead",
|
|
124
|
+
"header": "control.accent"
|
|
125
|
+
},
|
|
126
|
+
"evidenceGate": {
|
|
127
|
+
"pass": "evidence.pass",
|
|
128
|
+
"fail": "evidence.fail",
|
|
129
|
+
"pending": "evidence.pending"
|
|
130
|
+
},
|
|
131
|
+
"dagLanes": {
|
|
132
|
+
"running": "dag.lane.running",
|
|
133
|
+
"blocked": "dag.lane.blocked",
|
|
134
|
+
"done": "dag.lane.done",
|
|
135
|
+
"queued": "dag.lane.queued"
|
|
136
|
+
},
|
|
137
|
+
"logStream": {
|
|
138
|
+
"info": "telemetry.info",
|
|
139
|
+
"warn": "telemetry.warn",
|
|
140
|
+
"error": "telemetry.error",
|
|
141
|
+
"dim": "control.dim"
|
|
142
|
+
}
|
|
46
143
|
},
|
|
47
144
|
"fallback16": {
|
|
48
145
|
"route.active": "brightCyan",
|
|
@@ -75,6 +172,7 @@
|
|
|
75
172
|
"readmeasset/omk-evidence-ledger.svg",
|
|
76
173
|
"readmeasset/omk-logo-mark.svg",
|
|
77
174
|
"readmeasset/omk-provider-lanes.svg"
|
|
78
|
-
]
|
|
175
|
+
],
|
|
176
|
+
"omkVersion": "0.80.0"
|
|
79
177
|
}
|
|
80
178
|
}
|
|
@@ -210,7 +210,7 @@
|
|
|
210
210
|
"meta": {
|
|
211
211
|
"provenance": "Standalone oxidized rust-forge palette for the OMK orchestration console. Warm coal/iron/anvil backgrounds, rust-orange + molten + copper + ember heat accents, oxide/quench/verdigris patina greens for pass/done, crimson for fail/dead, steel/scale/ash grays, and bone foreground. Forge-specific heat/anvil/quench semantics make OMK control surfaces distinct from provider branding while preserving NO_COLOR glyph safety.",
|
|
212
212
|
"tierAssumptions": "16-color tier gated against stock VGA/xterm ANSI values; terminals with remapped ANSI-16 palettes are outside the contract — glyphs are the safety net. NO_COLOR note: control.dim uses ┊ so logStream info (telemetry.info ·) and dim rows stay distinguishable without color.",
|
|
213
|
-
"omkVersion": "0.
|
|
213
|
+
"omkVersion": "0.80.0",
|
|
214
214
|
"independence": "OMK is the control plane; providers and models are adapter lanes, never the product identity or final authority."
|
|
215
215
|
}
|
|
216
216
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { TaskRunner } from "../../contracts/orchestration.js";
|
|
1
|
+
import type { TaskResult, TaskRunner } from "../../contracts/orchestration.js";
|
|
2
2
|
import type { RuntimeBootstrap } from "../../runtime/runtime-bootstrap.js";
|
|
3
3
|
import type { ChatLayout } from "./utils.js";
|
|
4
4
|
import { type DagNode } from "../../orchestration/dag.js";
|
|
5
5
|
import type { CliRenderer } from "../../cli/ui/renderer.js";
|
|
6
|
+
import type { TaskRunContext } from "../../contracts/worker-context.js";
|
|
6
7
|
import type { OmkBrandThemeName, OmkTuiMotion } from "../../brand/theme.js";
|
|
7
8
|
import type { TuiView } from "../../tui/model.js";
|
|
8
9
|
export interface NativeRootLoopInput {
|
|
@@ -44,8 +45,18 @@ export declare function createNativeRootSessionState(input: {
|
|
|
44
45
|
bootstrap: RuntimeBootstrap;
|
|
45
46
|
executionPrompt?: string;
|
|
46
47
|
}): NativeRootSessionState;
|
|
47
|
-
export type NativeTurnRisk = "read" | "write" | "shell" | "merge";
|
|
48
|
-
export
|
|
48
|
+
export type NativeTurnRisk = "read" | "write" | "shell" | "merge" | "ask";
|
|
49
|
+
export interface NativeTurnRiskTrace {
|
|
50
|
+
readonly risk: NativeTurnRisk;
|
|
51
|
+
readonly confidence: number;
|
|
52
|
+
readonly matchedSignal: string;
|
|
53
|
+
readonly readOnlyOverride: boolean;
|
|
54
|
+
readonly positiveSignals: readonly string[];
|
|
55
|
+
readonly negativeScopes: readonly string[];
|
|
56
|
+
readonly requestedOps: readonly NativeTurnRisk[];
|
|
57
|
+
readonly excludedOps: readonly NativeTurnRisk[];
|
|
58
|
+
}
|
|
59
|
+
export declare function inferNativeTurnRisk(prompt: string): NativeTurnRiskTrace;
|
|
49
60
|
export declare function buildNativeRootLoopTurnNode(input: {
|
|
50
61
|
bootstrap: RuntimeBootstrap;
|
|
51
62
|
prompt: string;
|
|
@@ -54,5 +65,18 @@ export declare function buildNativeRootLoopTurnNode(input: {
|
|
|
54
65
|
skillNames?: readonly string[];
|
|
55
66
|
hookNames?: readonly string[];
|
|
56
67
|
executionPrompt?: string;
|
|
68
|
+
runId?: string;
|
|
57
69
|
}): DagNode;
|
|
70
|
+
export declare function executeNativeRootTurn(input: {
|
|
71
|
+
taskRunner: TaskRunner;
|
|
72
|
+
node: DagNode;
|
|
73
|
+
env: Record<string, string>;
|
|
74
|
+
signal: AbortSignal;
|
|
75
|
+
heartbeatEnabled: boolean;
|
|
76
|
+
renderer?: CliRenderer;
|
|
77
|
+
mcpAllowlist?: readonly string[];
|
|
78
|
+
skillNames?: readonly string[];
|
|
79
|
+
hookNames?: readonly string[];
|
|
80
|
+
runContext?: TaskRunContext;
|
|
81
|
+
}): Promise<TaskResult>;
|
|
58
82
|
export declare function runNativeOmkRootLoop(input: NativeRootLoopInput): Promise<number>;
|