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.
Files changed (132) hide show
  1. package/CHANGELOG.md +56 -15
  2. package/MATURITY.md +6 -2
  3. package/README.md +125 -26
  4. package/ROADMAP.md +36 -28
  5. package/dist/cli/register-basic-commands.js +3 -2
  6. package/dist/cli/register-mcp-dag-cron-screenshot-commands.js +2 -0
  7. package/dist/cli/register-spec-agent-goal-commands.js +45 -0
  8. package/dist/cli/register-tool-commands.js +11 -0
  9. package/dist/cli/register-workflow-commands.js +1 -0
  10. package/dist/cli/registry/tooling.js +3 -2
  11. package/dist/cli/release-promotion-gate.d.ts +14 -0
  12. package/dist/cli/release-promotion-gate.js +71 -0
  13. package/dist/cli/v2/release-commands.d.ts +29 -0
  14. package/dist/cli/v2/release-commands.js +95 -0
  15. package/dist/commands/chat/core.js +5 -0
  16. package/dist/commands/chat/native-root-loop.js +74 -1
  17. package/dist/commands/chat/slash/commands/session.js +19 -1
  18. package/dist/commands/dag-from-spec.d.ts +1 -0
  19. package/dist/commands/dag-from-spec.js +61 -1
  20. package/dist/commands/goal-interview.d.ts +18 -0
  21. package/dist/commands/goal-interview.js +396 -0
  22. package/dist/commands/graph.d.ts +62 -0
  23. package/dist/commands/graph.js +182 -0
  24. package/dist/commands/merge.d.ts +1 -0
  25. package/dist/commands/merge.js +88 -0
  26. package/dist/commands/parallel/core.js +3 -3
  27. package/dist/commands/provider.js +5 -3
  28. package/dist/commands/star.js +6 -1
  29. package/dist/commands/summary.d.ts +4 -1
  30. package/dist/commands/summary.js +103 -1
  31. package/dist/commands/team.d.ts +1 -0
  32. package/dist/commands/team.js +38 -0
  33. package/dist/contracts/interview.d.ts +106 -0
  34. package/dist/contracts/interview.js +9 -0
  35. package/dist/contracts/provider-health.d.ts +42 -0
  36. package/dist/contracts/provider-health.js +9 -0
  37. package/dist/evidence/index.d.ts +4 -0
  38. package/dist/evidence/index.js +2 -0
  39. package/dist/evidence/proof-trust-cli.d.ts +8 -0
  40. package/dist/evidence/proof-trust-cli.js +27 -0
  41. package/dist/evidence/proof-trust.d.ts +14 -0
  42. package/dist/evidence/proof-trust.js +381 -0
  43. package/dist/evidence/regression-proof-matrix.d.ts +42 -0
  44. package/dist/evidence/regression-proof-matrix.js +72 -0
  45. package/dist/goal/intent-frame.d.ts +30 -0
  46. package/dist/goal/intent-frame.js +39 -9
  47. package/dist/goal/interview-assimilation.d.ts +13 -0
  48. package/dist/goal/interview-assimilation.js +383 -0
  49. package/dist/goal/interview-question-bank.d.ts +11 -0
  50. package/dist/goal/interview-question-bank.js +225 -0
  51. package/dist/goal/interview-scoring.d.ts +31 -0
  52. package/dist/goal/interview-scoring.js +187 -0
  53. package/dist/goal/interview-session.d.ts +25 -0
  54. package/dist/goal/interview-session.js +116 -0
  55. package/dist/input/input-envelope.d.ts +22 -0
  56. package/dist/input/input-envelope.js +1 -0
  57. package/dist/memory/local-graph-memory-store.d.ts +15 -0
  58. package/dist/memory/local-graph-memory-store.js +176 -0
  59. package/dist/memory/memory-store.d.ts +18 -0
  60. package/dist/memory/memory-store.js +18 -0
  61. package/dist/orchestration/adaptorch-topology.d.ts +59 -0
  62. package/dist/orchestration/adaptorch-topology.js +194 -0
  63. package/dist/orchestration/capability-routing.d.ts +23 -0
  64. package/dist/orchestration/capability-routing.js +56 -0
  65. package/dist/orchestration/dag-compiler-types.d.ts +3 -0
  66. package/dist/orchestration/dag-compiler.js +14 -1
  67. package/dist/orchestration/parallel-orchestrator.d.ts +6 -0
  68. package/dist/orchestration/parallel-orchestrator.js +31 -0
  69. package/dist/providers/provider-health.d.ts +39 -0
  70. package/dist/providers/provider-health.js +161 -0
  71. package/dist/runtime/advanced-control-loop.d.ts +60 -0
  72. package/dist/runtime/advanced-control-loop.js +136 -0
  73. package/dist/runtime/agent-runtime.d.ts +10 -0
  74. package/dist/runtime/blast-radius.d.ts +10 -0
  75. package/dist/runtime/blast-radius.js +14 -0
  76. package/dist/runtime/context-broker.d.ts +13 -4
  77. package/dist/runtime/context-broker.js +14 -1
  78. package/dist/runtime/contracts/evidence.d.ts +87 -0
  79. package/dist/runtime/contracts/evidence.js +7 -0
  80. package/dist/runtime/contracts/router-v2.d.ts +44 -0
  81. package/dist/runtime/contracts/router-v2.js +4 -0
  82. package/dist/runtime/contracts/weakness-remediation.d.ts +67 -0
  83. package/dist/runtime/contracts/weakness-remediation.js +36 -0
  84. package/dist/runtime/headroom-policy.d.ts +37 -0
  85. package/dist/runtime/headroom-policy.js +122 -0
  86. package/dist/runtime/kimi-api-runtime.js +59 -1
  87. package/dist/runtime/ouroboros-policy.d.ts +57 -0
  88. package/dist/runtime/ouroboros-policy.js +134 -0
  89. package/dist/runtime/proof-bundle-trust.d.ts +74 -0
  90. package/dist/runtime/proof-bundle-trust.js +100 -0
  91. package/dist/runtime/provider-maturity-gate.d.ts +41 -0
  92. package/dist/runtime/provider-maturity-gate.js +101 -0
  93. package/dist/runtime/public-surface.d.ts +93 -0
  94. package/dist/runtime/public-surface.js +146 -0
  95. package/dist/runtime/router-v2-scoring.d.ts +11 -0
  96. package/dist/runtime/router-v2-scoring.js +151 -0
  97. package/dist/runtime/runtime-backed-task-runner.js +9 -1
  98. package/dist/runtime/tool-dispatch-contracts.d.ts +57 -1
  99. package/dist/runtime/tool-dispatch-contracts.js +79 -3
  100. package/dist/runtime/weakness-remediation-index.d.ts +27 -0
  101. package/dist/runtime/weakness-remediation-index.js +37 -0
  102. package/dist/safety/tool-authority-gate.d.ts +62 -0
  103. package/dist/safety/tool-authority-gate.js +108 -0
  104. package/dist/schema/proof-bundle.schema.d.ts +26 -26
  105. package/dist/schema/provider.schema.d.ts +4 -4
  106. package/dist/util/clipboard-image.d.ts +49 -0
  107. package/dist/util/clipboard-image.js +263 -0
  108. package/dist/util/first-run-star.d.ts +9 -0
  109. package/dist/util/first-run-star.js +42 -1
  110. package/dist/util/terminal-input.d.ts +20 -0
  111. package/dist/util/terminal-input.js +32 -0
  112. package/dist/util/update-check.d.ts +6 -1
  113. package/dist/util/update-check.js +35 -1
  114. package/docs/2026-06-08/critical-issues.md +20 -0
  115. package/docs/2026-06-08/improvements.md +14 -0
  116. package/docs/2026-06-08/init-checklist.md +25 -0
  117. package/docs/2026-06-08/plan.md +20 -0
  118. package/docs/2026-06-09/critical-issues.md +20 -0
  119. package/docs/2026-06-09/improvements.md +14 -0
  120. package/docs/2026-06-09/init-checklist.md +25 -0
  121. package/docs/2026-06-09/plan.md +20 -0
  122. package/docs/getting-started.md +31 -3
  123. package/docs/github-organic-promotion.md +127 -0
  124. package/docs/integrations/ouroboros.md +96 -0
  125. package/docs/native-root-runtime-algorithms.md +301 -0
  126. package/docs/provider-maturity.md +1 -1
  127. package/docs/versioning.md +3 -3
  128. package/package.json +4 -3
  129. package/readmeasset/ASSET_INDEX.md +1 -0
  130. package/templates/skills/agents/omk-agent-reach-websearch/SKILL.md +55 -0
  131. package/templates/skills/kimi/omk-agent-reach-websearch/SKILL.md +55 -0
  132. package/dist/native/linux-x64/omk-safety +0 -0
@@ -1,17 +1,17 @@
1
1
  # Getting Started
2
2
 
3
- Source release target: `@omk/cli@0.78.0`.
3
+ Source release target: `open-multi-agent-kit@0.78.1` (`pre-1.0`).
4
4
 
5
5
  ## Prerequisites
6
6
 
7
7
  - Node.js 20+
8
8
  - Git
9
- - At least one supported provider or local runtime adapter (Codex CLI, Gemini CLI, Claude Code, OpenRouter, DeepSeek, Kimi, etc.)
9
+ - At least one configured provider or local runtime adapter. Kimi is the most mature authority path; other lanes depend on local CLI/API availability and the provider-maturity contract.
10
10
 
11
11
  ## Install
12
12
 
13
13
  ```bash
14
- npm install -g @omk/cli
14
+ npm install -g open-multi-agent-kit
15
15
  ```
16
16
 
17
17
  ## Initialize a project
@@ -35,3 +35,31 @@ omk chat
35
35
  omk plan "refactor auth module"
36
36
  omk run feature-dev "add user dashboard"
37
37
  ```
38
+
39
+ ## Updates
40
+
41
+ On startup OMK checks npm for a newer release and, when one exists, shows an
42
+ interactive prompt (Update now / Skip this version / Remind me later). Choosing
43
+ "Update now" runs `npm i -g open-multi-agent-kit`.
44
+
45
+ - **Automatic (non-interactive) updates:** set `OMK_AUTO_UPDATE=1` (also accepts
46
+ `true|yes|on|always`). When OMK is outdated it self-updates on startup without
47
+ prompting. CI is always skipped, and `OMK_UPDATE_PROMPT=off` disables update
48
+ checks entirely.
49
+ - Manual check: `omk update check` (add `--refresh` to bypass the cache).
50
+
51
+ ## Adaptive runtime algorithms
52
+
53
+ OMK embeds three adaptive control behaviors (all additive, safe defaults, non-fatal fallback):
54
+
55
+ - **Topology-routed first run** — on the first DAG composition OMK derives structural features (width, critical depth, coupling, parallel ratio) and selects an execution topology (parallel / pipeline / map-reduce / hierarchical / hybrid / dag) with layered waves. Toggle with `OMK_ADAPTORCH_ROUTING=off`.
56
+ - **Context guard before 90%** — before the context window crosses a threshold (default `0.90`) OMK compacts via [headroom](https://github.com/chopratejas/headroom) when available, otherwise its built-in budget optimizer. Tune with `OMK_HEADROOM_THRESHOLD` (0.50–0.99), `OMK_CONTEXT_WINDOW`, or disable with `OMK_HEADROOM=off`.
57
+ - **Spec-first via Ouroboros** — goal/spec/orchestration intents prefer the embedded Ouroboros flow by default; when Ouroboros is not installed OMK degrades to the native path with no error. Modes: `OMK_OUROBOROS=always` (default) `| auto | off`. See [Ouroboros integration](integrations/ouroboros.md).
58
+
59
+ ## Support the project (GitHub star)
60
+
61
+ First-time users get a one-time prompt to star the repository. If the GitHub CLI
62
+ (`gh`) is authenticated the star is applied directly; otherwise OMK prints the
63
+ repo URL and, on a desktop session, opens it in your browser so you can star in
64
+ one click. You can star anytime with `omk star`, check status with
65
+ `omk star --status`, and disable the prompt with `OMK_STAR_PROMPT=off`.
@@ -0,0 +1,127 @@
1
+ # GitHub organic promotion checklist
2
+
3
+ OMK's strongest GitHub search position is:
4
+
5
+ > Provider-neutral multi-agent control plane for coding agents: route runtimes, scope MCP tools, run DAG workers, verify evidence, and replay agent runs.
6
+
7
+ ## Repository About
8
+
9
+ Recommended GitHub About description:
10
+
11
+ ```txt
12
+ Provider-neutral multi-agent control plane for coding agents. Route runtimes, scope MCP tools, run DAG workers, verify evidence, and replay agent runs from the omk CLI.
13
+ ```
14
+
15
+ Apply after maintainer confirmation:
16
+
17
+ ```bash
18
+ gh repo edit dmae97/open-multi-agent-kit \
19
+ --description "Provider-neutral multi-agent control plane for coding agents. Route runtimes, scope MCP tools, run DAG workers, verify evidence, and replay agent runs from the omk CLI."
20
+ ```
21
+
22
+ ## GitHub Topics
23
+
24
+ Use all 20 topics:
25
+
26
+ ```txt
27
+ ai-agent
28
+ ai-agents
29
+ llm
30
+ coding-agent
31
+ ai-coding
32
+ agentic-coding
33
+ multi-agent
34
+ multi-agent-orchestration
35
+ agent-orchestration
36
+ agent-runtime
37
+ agent-control-plane
38
+ developer-tools
39
+ ai-devtools
40
+ cli
41
+ typescript
42
+ nodejs
43
+ mcp
44
+ model-context-protocol
45
+ workflow-automation
46
+ provider-neutral
47
+ ```
48
+
49
+ Apply after maintainer confirmation:
50
+
51
+ ```bash
52
+ gh repo edit dmae97/open-multi-agent-kit \
53
+ --add-topic ai-agent \
54
+ --add-topic ai-agents \
55
+ --add-topic llm \
56
+ --add-topic coding-agent \
57
+ --add-topic ai-coding \
58
+ --add-topic agentic-coding \
59
+ --add-topic multi-agent \
60
+ --add-topic multi-agent-orchestration \
61
+ --add-topic agent-orchestration \
62
+ --add-topic agent-runtime \
63
+ --add-topic agent-control-plane \
64
+ --add-topic developer-tools \
65
+ --add-topic ai-devtools \
66
+ --add-topic cli \
67
+ --add-topic typescript \
68
+ --add-topic nodejs \
69
+ --add-topic mcp \
70
+ --add-topic model-context-protocol \
71
+ --add-topic workflow-automation \
72
+ --add-topic provider-neutral
73
+ ```
74
+
75
+ ## Social preview
76
+
77
+ Upload this generated image in GitHub repository settings:
78
+
79
+ ```txt
80
+ readmeasset/social-preview.png
81
+ ```
82
+
83
+ It uses the message:
84
+
85
+ ```txt
86
+ OMK
87
+ Provider-Neutral Multi-Agent Control Plane
88
+ Route. Verify. Replay.
89
+ ```
90
+
91
+ ## Awesome-list PR entries
92
+
93
+ ### bradAGI/awesome-cli-coding-agents
94
+
95
+ Preferred section: `Harnesses & orchestration`.
96
+
97
+ ```md
98
+ - **[OMK](https://github.com/dmae97/open-multi-agent-kit)** `⭐ <current>` — Provider-neutral CLI control plane for coding agents: routes runtimes, scopes MCP, runs DAG workers, and verifies evidence before completion. MIT.
99
+ ```
100
+
101
+ ### e2b-dev/awesome-ai-sdks
102
+
103
+ ```md
104
+ ## [OMK](https://github.com/dmae97/open-multi-agent-kit)
105
+
106
+ OMK is a provider-neutral multi-agent control plane for coding workflows. It routes agent runtimes, scopes MCP tools, runs DAG-based workers, verifies evidence, and preserves replayable run artifacts.
107
+
108
+ ### Links
109
+
110
+ - [GitHub](https://github.com/dmae97/open-multi-agent-kit)
111
+ - [npm](https://www.npmjs.com/package/open-multi-agent-kit)
112
+ ```
113
+
114
+ ### punkpeye/awesome-mcp-devtools
115
+
116
+ Preferred section: `Frameworks` or `Development Tools`.
117
+
118
+ ```md
119
+ - [OMK](https://github.com/dmae97/open-multi-agent-kit) - TypeScript CLI control plane for coding agents with scoped MCP injection, provider routing, evidence gates, and replayable run telemetry.
120
+ ```
121
+
122
+ ## Measurement plan
123
+
124
+ - Topics applied + 7 days: inspect GitHub topic/search traffic.
125
+ - First awesome PR merged + 7 days: check `Referring sites` for that awesome repo.
126
+ - 2 weeks: compare visitors, clones, npm downloads, and popular README content.
127
+ - 4 weeks: review visitor-to-star conversion; 1-3% is acceptable for early OSS.
@@ -0,0 +1,96 @@
1
+ # Ouroboros integration (embedded in OMK)
2
+
3
+ [Ouroboros](https://github.com/Q00/ouroboros) is a spec-first "Agent OS"
4
+ (PyPI `ouroboros-ai`). OMK embeds it through the documented runtime-adapter
5
+ surface that Ouroboros already supports for the `pi`-family CLI that OMK builds
6
+ on:
7
+
8
+ - an **MCP server** (`ouroboros mcp serve`, ~29 `ouroboros_*` tools) registered in OMK's MCP config,
9
+ - the official **`ooo` bridge extension** installed into OMK's agent extensions dir, so `ooo ...` works inside interactive OMK sessions, and
10
+ - the 20 Ouroboros **skills** (SKILL.md) installed namespaced as `ouroboros-*`.
11
+
12
+ Ouroboros owns its own workflow engine; the OMK runtime CLI is selected as its
13
+ `runtime_backend` (a `--mode json` subprocess). This follows the runtime guide
14
+ in the Ouroboros repository.
15
+
16
+ ## Prerequisites
17
+
18
+ - Python `>=3.12`, `uv` (or `pipx`), and the OMK runtime CLI on `PATH`.
19
+ - OMK global agent dir at `~/.omk/agent` (extensions, skills, `mcp.json`).
20
+
21
+ ## Install (reproducible)
22
+
23
+ ```bash
24
+ # 0. Back up the global MCP config (mode 600, contains secrets) before merging.
25
+ ts=$(date +%Y%m%d-%H%M%S)
26
+ cp -a ~/.omk/agent/mcp.json ~/.omk/agent/mcp.json.bak-$ts
27
+
28
+ # 1. Install the package with MCP support.
29
+ uv tool install 'ouroboros-ai[mcp,claude]' # or: pipx install 'ouroboros-ai[mcp,claude]'
30
+
31
+ # 2. Non-interactive runtime setup: writes ~/.ouroboros/config.yaml
32
+ # (runtime_backend) and generates the ooo bridge extension.
33
+ ouroboros setup --runtime pi --non-interactive
34
+
35
+ # 3. Mirror the generated ooo bridge into OMK's extension dir.
36
+ # (locate the file Ouroboros generated, regardless of upstream dir)
37
+ BRIDGE_SRC=$(find "$HOME" -maxdepth 4 -name ouroboros-ooo-bridge.ts -not -path '*/.omk/*' 2>/dev/null | head -1)
38
+ cp "$BRIDGE_SRC" ~/.omk/agent/extensions/ouroboros-ooo-bridge.ts
39
+
40
+ # 4. Register the MCP server in OMK (additive jq merge; keep mode 600).
41
+ OURO_BIN="$(command -v ouroboros)"
42
+ jq --arg bin "$OURO_BIN" '.mcpServers.ouroboros = {command:$bin, args:["mcp","serve"], env:{}}' \
43
+ ~/.omk/agent/mcp.json > /tmp/omk-mcp.new \
44
+ && python3 -m json.tool < /tmp/omk-mcp.new >/dev/null \
45
+ && install -m600 /tmp/omk-mcp.new ~/.omk/agent/mcp.json && rm -f /tmp/omk-mcp.new
46
+
47
+ # 5. Install the 20 Ouroboros skills (namespaced).
48
+ git clone --depth 1 https://github.com/Q00/ouroboros.git /tmp/ouroboros-src
49
+ for d in /tmp/ouroboros-src/skills/*/; do b=$(basename "$d");
50
+ mkdir -p ~/.omk/agent/skills/ouroboros-$b;
51
+ cp "$d/SKILL.md" ~/.omk/agent/skills/ouroboros-$b/SKILL.md; done
52
+ ```
53
+
54
+ > The MCP entry uses the absolute `ouroboros` binary path because OMK sanitizes
55
+ > the child environment; a bare `ouroboros`/`uvx` command may not resolve under
56
+ > the sanitized `PATH`.
57
+
58
+ ## Verify
59
+
60
+ ```bash
61
+ ouroboros --version
62
+ ouroboros mcp serve --help # MCP entrypoint
63
+ ouroboros dispatch --help # ooo bridge dispatch entrypoint
64
+ test -f ~/.omk/agent/extensions/ouroboros-ooo-bridge.ts && echo "omk bridge OK"
65
+ grep -q ouroboros ~/.omk/agent/mcp.json && echo "mcp registered"
66
+ ls -d ~/.omk/agent/skills/ouroboros-* | wc -l # expect 20
67
+ grep runtime_backend ~/.ouroboros/config.yaml # expect: pi
68
+ ```
69
+
70
+ A successful MCP handshake reports `serverInfo: ouroboros-mcp` and ~29
71
+ `ouroboros_*` tools. In an interactive OMK session, after restart or `/reload`:
72
+
73
+ ```text
74
+ ooo status
75
+ ooo auto build a small CLI
76
+ ```
77
+
78
+ ## Scope and safety notes
79
+
80
+ - The `ouroboros` MCP server is registered in the **global** `~/.omk/agent/mcp.json`,
81
+ so it is available under all-scope MCP sessions. Default project-scope sessions
82
+ (`omk-project` only) are unaffected, so OMK startup is not slowed by Ouroboros.
83
+ - `ouroboros setup` mutates `~/.ouroboros/config.yaml` and the upstream runtime's
84
+ global extensions dir; it does not touch the OMK repo.
85
+ - First MCP cold start resolves the uv tool venv and can be slow; `omk mcp doctor
86
+ ouroboros` may need a longer timeout on first run.
87
+
88
+ ## Rollback
89
+
90
+ ```bash
91
+ ts=<backup timestamp>
92
+ rm -f ~/.omk/agent/extensions/ouroboros-ooo-bridge.ts
93
+ [ -f ~/.omk/agent/mcp.json.bak-$ts ] && install -m600 ~/.omk/agent/mcp.json.bak-$ts ~/.omk/agent/mcp.json
94
+ rm -rf ~/.omk/agent/skills/ouroboros-*
95
+ uv tool uninstall ouroboros-ai # or: pipx uninstall ouroboros-ai
96
+ ```
@@ -400,3 +400,304 @@ Recent OMK revisions harden worker execution by removing prompt payloads from pr
400
400
  - Provider stderr diagnostics still require continued redaction/debug-gating work; safety claims depend on the exact adapter path and tests.
401
401
  - Provider health probes are improving, but binary/API presence, auth state, model support, and quota state are not yet uniformly separated across every adapter; Algorithm 5 routes by available registry/capability/evidence metadata, not by universal quota-aware health.
402
402
  - ActionAtom, Novelty Guard, and provider-lane fanout language in prompt/harness surfaces remains contract-level unless backed by a concrete runtime implementation and tests.
403
+
404
+ # Appendix: OMK Next-Step Runtime Hardening Algorithms
405
+
406
+ This appendix defines the hardening gate algorithms used to advance the OMK native root runtime from internal → pre-release → stable. Each algorithm returns a score or verdict; the thresholds and weights below must be preserved exactly.
407
+
408
+ ## Algorithm 1: Next Implementation Stage Controller
409
+
410
+ **Inputs**
411
+
412
+ - Current stage $s \in \{\text{internal}, \text{pre-release}, \text{stable}\}$
413
+ - Proof trust score $T_b$
414
+ - Evidence item trust $T_e$
415
+ - Public surface count $P$
416
+ - Router v2 cutover status $C_r \in \{\text{shadow}, \text{cutover}\}$
417
+
418
+ **Output**
419
+
420
+ - Next stage $s'$
421
+
422
+ **Pseudocode**
423
+
424
+ ```text
425
+ function NextStage(s, T_b, T_e, P, C_r):
426
+ if P > 7:
427
+ return s
428
+ if s = internal:
429
+ if T_b ≥ 0.60 and T_e ≥ 0.75:
430
+ return pre-release
431
+ if s = pre-release:
432
+ if T_b ≥ 0.75 and T_e ≥ 0.75 and C_r = cutover:
433
+ return stable
434
+ return s
435
+ ```
436
+
437
+ ## Algorithm 2: Public Surface Freeze
438
+
439
+ **Inputs**
440
+
441
+ - Public surface set $S_{\text{pub}}$ (documented API, CLI commands, environment variables)
442
+ - Freeze baseline $B_{\text{pub}}$
443
+
444
+ **Output**
445
+
446
+ - Freeze verdict $\in \{\text{pass}, \text{fail}\}$
447
+
448
+ **Pseudocode**
449
+
450
+ ```text
451
+ function PublicSurfaceFreeze(S_pub, B_pub):
452
+ P ← |S_pub|
453
+ Δ ← S_pub \ B_pub
454
+ if P > 7:
455
+ return fail
456
+ if |Δ| > 0:
457
+ return fail
458
+ return pass
459
+ ```
460
+
461
+ **Invariant**
462
+
463
+ - Surface public count $P \le 7$.
464
+ - No new public members may be added after the freeze baseline.
465
+
466
+ ## Algorithm 3: Proof Trust MVP
467
+
468
+ **Inputs**
469
+
470
+ - Eight normalized proof dimensions $b_1 \dots b_8$:
471
+ 1. Unit test pass rate
472
+ 2. Lint / format gate
473
+ 3. Type-check gate
474
+ 4. Secret-scan gate
475
+ 5. Smoke test gate
476
+ 6. Code-review sign-off
477
+ 7. Documentation sync
478
+ 8. Build / provenance gate
479
+
480
+ **Formula**
481
+
482
+ $$
483
+ T_b = 0.15 b_1 + 0.15 b_2 + 0.10 b_3 + 0.15 b_4 + 0.15 b_5 + 0.15 b_6 + 0.05 b_7 + 0.10 b_8
484
+ $$
485
+
486
+ **Thresholds**
487
+
488
+ - Stable: $T_b \ge \tau_{\text{proof}} = 0.85$
489
+ - Pre-release: $T_b \ge 0.75$
490
+ - Internal: $T_b \ge 0.60$
491
+
492
+ ## Algorithm 4: Evidence Item Trust
493
+
494
+ **Inputs**
495
+
496
+ - Six normalized evidence dimensions $e_1 \dots e_6$:
497
+ 1. Changed-file inventory
498
+ 2. Commands-run log
499
+ 3. Passed quality gates
500
+ 4. Failure disclosure completeness
501
+ 5. Risk note presence
502
+ 6. Harness artifact presence
503
+
504
+ **Formula**
505
+
506
+ $$
507
+ T_e = 0.25 e_1 + 0.20 e_2 + 0.15 e_3 + 0.20 e_4 + 0.10 e_5 + 0.10 e_6
508
+ $$
509
+
510
+ **Threshold**
511
+
512
+ - $\tau_{\text{evidence}} = 0.75$
513
+
514
+ ## Algorithm 5: Provider Maturity MVP
515
+
516
+ **Inputs**
517
+
518
+ - Eight normalized provider dimensions $p_1 \dots p_8$:
519
+ 1. Binary / package presence
520
+ 2. Authentication health
521
+ 3. Model list currency
522
+ 4. Quota-separation probe
523
+ 5. Recent error rate
524
+ 6. Fallback success rate
525
+ 7. Stderr redaction coverage
526
+ 8. Sandbox hint enforcement
527
+
528
+ **Formula**
529
+
530
+ $$
531
+ M_p = 0.10 p_1 + 0.10 p_2 + 0.15 p_3 + 0.10 p_4 + 0.15 p_5 + 0.15 p_6 + 0.15 p_7 + 0.10 p_8
532
+ $$
533
+
534
+ **Cutoffs**
535
+
536
+ - $M_p \ge 0.75$ required for pre-release worker eligibility.
537
+ - $M_p \ge 0.85$ recommended for stable default authority.
538
+
539
+ ## Algorithm 6: Router v2 Cutover
540
+
541
+ **Inputs**
542
+
543
+ - Six positive router quality dimensions $r_1 \dots r_6$:
544
+ 1. Intent classification accuracy
545
+ 2. Median routing latency
546
+ 3. Fallback utilization
547
+ 4. Evidence-pass rate
548
+ 5. Decision-trace completeness
549
+ 6. Health-separation coverage
550
+ - Two penalty terms $r_7, r_8$
551
+
552
+ **Formula**
553
+
554
+ $$
555
+ Q_r = 0.25 r_1 + 0.15 r_2 + 0.20 r_3 + 0.15 r_4 + 0.10 r_5 + 0.10 r_6 - 0.15 r_7 - 0.10 r_8
556
+ $$
557
+
558
+ **Shadow rule**
559
+
560
+ - If $\texttt{OMK\_ROUTER\_V2} = \text{shadow}$:
561
+ - Execute Router v2 alongside Router v1.
562
+ - Record both decisions and discrepancies.
563
+ - Cutover is allowed only when $Q_r \ge 0.85$ and the discrepancy rate is zero across the minimal verified demo run.
564
+
565
+ ## Algorithm 7: Minimal Verified Demo Run
566
+
567
+ **Inputs**
568
+
569
+ - Runtime $\mathcal{R}$
570
+ - Demo scenario set $D = \{d_{\text{read}}, d_{\text{write}}, d_{\text{shell}}, d_{\text{fallback}}\}$
571
+
572
+ **Output**
573
+
574
+ - Demo verdict and evidence bundle $\mathcal{E}_D$
575
+
576
+ **Pseudocode**
577
+
578
+ ```text
579
+ function MinimalVerifiedDemoRun(R, D):
580
+ E_D ← ∅
581
+ for d in D:
582
+ r ← R.Execute(d, abortSignal=NewAbortController())
583
+ if r.exitCode ≠ 0:
584
+ return (fail, E_D)
585
+ if SecretScan(r.stdout, r.stderr) ≠ clean:
586
+ return (fail, E_D)
587
+ E_D ← E_D ∪ {d, r.metadata, r.evidence}
588
+ T_e ← ComputeEvidenceTrust(E_D)
589
+ if T_e < 0.75:
590
+ return (fail, E_D)
591
+ return (pass, E_D)
592
+ ```
593
+
594
+ ## Algorithm 8: Release Promotion Gate
595
+
596
+ **Inputs**
597
+
598
+ - Nine positive release dimensions $v_1 \dots v_9$:
599
+ 1. Proof trust $T_b$
600
+ 2. Evidence trust $T_e$
601
+ 3. Public surface freeze pass
602
+ 4. Provider maturity $M_p$
603
+ 5. Router v2 quality $Q_r$
604
+ 6. Minimal demo run pass
605
+ 7. Security review closure
606
+ 8. Docs / changelog sync
607
+ 9. Issue closure rate
608
+ - One penalty term $v_{10}$ for unresolved high-severity risk
609
+
610
+ **Formula**
611
+
612
+ $$
613
+ R_v = 0.15 v_1 + 0.10 v_2 + 0.10 v_3 + 0.10 v_4 + 0.10 v_5 + 0.15 v_6 + 0.15 v_7 + 0.10 v_8 + 0.10 v_9 - 0.15 v_{10}
614
+ $$
615
+
616
+ **Promotion logic**
617
+
618
+ ```text
619
+ function ReleasePromotion(R_v, T_b, T_e, P, Δ):
620
+ if P > 7 or |Δ| > 0:
621
+ return internal
622
+ if R_v ≥ 0.85 and T_b ≥ 0.85 and T_e ≥ 0.75:
623
+ return stable
624
+ if R_v ≥ 0.75 and T_b ≥ 0.75 and T_e ≥ 0.75:
625
+ return pre-release
626
+ return internal
627
+ ```
628
+
629
+ > **Final Rule 1:** No stage promotion may occur while the public surface count exceeds 7 or any new public surface has been added since the freeze baseline.
630
+
631
+ > **Final Rule 2:** Router v2 cutover remains in `OMK_ROUTER_V2=shadow` mode until $Q_r$ exceeds the stable threshold and zero decision regressions are observed across the minimal verified demo run.
632
+
633
+ > **Final Rule 3:** Release promotion to stable requires $\tau_{\text{proof}} \ge 0.85$, $\tau_{\text{evidence}} \ge 0.75$, and all eight algorithms to report pass with recorded harness artifacts.
634
+
635
+ ## Algorithm 9: Regression Proof Matrix
636
+
637
+ Algorithm 9 is the release-defense proof that Algorithms 1--8 are not only documented or implemented, but repeatedly verifiable through tests, proof bundles, decision traces, and reachable CLI surfaces.
638
+
639
+ **Inputs**
640
+
641
+ - Algorithm set $A = \{a_1, \dots, a_8\}$
642
+ - Test suite $T$
643
+ - Proof bundles $B$
644
+ - Release candidate $v$
645
+
646
+ **Per-algorithm coverage**
647
+
648
+ For each algorithm $a_i$:
649
+
650
+ $$
651
+ coverage_i =
652
+ 0.35\mathbf{1}[|t_i|>0]
653
+ +0.30\mathbf{1}[|b_i|>0]
654
+ +0.20\mathbf{1}[|d_i|>0]
655
+ +0.15\mathbf{1}[c_i=\texttt{reachable}]
656
+ $$
657
+
658
+ Where:
659
+
660
+ - $t_i$ is the set of tests linked to algorithm $a_i$
661
+ - $b_i$ is the set of proof bundles linked to algorithm $a_i$
662
+ - $d_i$ is the set of decision traces linked to algorithm $a_i$
663
+ - $c_i$ is whether the algorithm has a reachable CLI or runtime surface
664
+
665
+ **Pseudocode**
666
+
667
+ ```text
668
+ function RegressionProofMatrix(A, T, B, v):
669
+ for a_i in A:
670
+ t_i ← FindTestsForAlgorithm(a_i, T)
671
+ b_i ← FindProofBundlesForAlgorithm(a_i, B)
672
+ d_i ← FindDecisionTraceForAlgorithm(a_i, B)
673
+ c_i ← FindCliSurfaceForAlgorithm(a_i, v)
674
+
675
+ coverage_i ←
676
+ 0.35 * 1[|t_i| > 0]
677
+ + 0.30 * 1[|b_i| > 0]
678
+ + 0.20 * 1[|d_i| > 0]
679
+ + 0.15 * 1[c_i = reachable]
680
+
681
+ if coverage_i < 0.75:
682
+ return fail
683
+
684
+ trust ← MedianProofTrust(B)
685
+ router ← RouterShadowSafetyPass(B)
686
+ maturity ← ProviderAuthorityInvariantPass(B)
687
+ demo ← MinimalVerifiedDemoPass(v)
688
+
689
+ if trust ≥ 0.75 and router = 1 and maturity = 1 and demo = 1:
690
+ return pass
691
+ return fail
692
+ ```
693
+
694
+ **Implementation targets**
695
+
696
+ - `src/evidence/regression-proof-matrix.ts`
697
+ - `scripts/regression-proof-matrix.mjs`
698
+ - `test/regression-proof-matrix.test.mjs`
699
+ - `proof/verified-runs/011-regression-proof-matrix/`
700
+
701
+ **Release rule**
702
+
703
+ > Algorithms 1--8 are release-defensible only when Algorithm 9 returns `pass` and `scripts/proof-check.mjs --trust --json` validates the corresponding proof bundles.
@@ -4,7 +4,7 @@ This page documents provider status for the current source tree.
4
4
 
5
5
  ## Current source target
6
6
 
7
- - Package version: `0.78.0`
7
+ - Package version: `0.78.1`
8
8
  - Runtime contract family: `v1.2`
9
9
  - Release channel: `pre-1.0`
10
10
 
@@ -4,11 +4,11 @@ OMK uses two version fields in release artifacts:
4
4
 
5
5
  | Field | Current value | Source | Meaning |
6
6
  | --- | --- | --- | --- |
7
- | Package version | `0.78.0` | `package.json`, `package-lock.json` | npm/package source version. |
7
+ | Package version | `0.78.1` | `package.json`, `package-lock.json` | npm/package source version. |
8
8
  | Runtime version | `v1.2` | `src/version.ts`, JSON schemas | Contract/runtime family used by OMK envelopes. |
9
9
  | Release channel | `pre-1.0` | `src/version.ts` | Pre-1.0 package channel. |
10
10
 
11
- `0.78.0` is the package version for the `v1.2` runtime contract family.
11
+ `0.78.1` is the package source version for the `v1.2` runtime contract family.
12
12
  Use `v1.2` only for runtime contracts; do not substitute it for the package version.
13
13
 
14
14
  ## Contract versions
@@ -44,6 +44,6 @@ The `version --json` command emits one `omk.contract.v1` envelope whose data pay
44
44
 
45
45
  ## Documentation rules
46
46
 
47
- - Use `0.78.0` when referring to the current package source version.
47
+ - Use `0.78.1` when referring to the current package source version.
48
48
  - Use `v1.2` only for the runtime contract family.
49
49
  - Keep historical changelog entries unchanged unless the text is not clearly historical.
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "open-multi-agent-kit",
3
- "version": "0.78.0",
3
+ "version": "0.78.2",
4
4
  "description": "Provider-neutral multi-agent control plane for coding workflows: route agents, verify evidence, orchestrate MCP-aware DAGs, and control the loop from the omk CLI.",
5
5
  "type": "module",
6
6
  "bin": {
7
- "omk": "dist/cli.js",
8
7
  "omk-project-mcp": "dist/mcp/omk-project-server.js",
9
8
  "omk-acp": "dist/mcp/acp-server.js",
10
9
  "omk-mcp-host": "dist/mcp/host.js"
@@ -33,7 +32,9 @@
33
32
  "version:check": "node scripts/check-version-consistency.mjs",
34
33
  "contract:check": "npm run build:clean && npm run schema:check && node scripts/check-json-stdout.mjs",
35
34
  "verify:contracts": "npm run contract:check",
36
- "release:check": "npm run verify && npm run verify:no-kimi && npm run contract:check && npm run schema:check && npm run version:check && npm run proof:check && npm run smoke:execution && npm run native:build && npm run pack:dry && npm run audit:package && npm run smoke:pack",
35
+ "release:check": "node scripts/release-gate.mjs",
36
+ "release:full": "npm run verify && npm run verify:no-kimi && npm run contract:check && npm run schema:check && npm run version:check && npm run proof:check && npm run smoke:execution && npm run native:build && npm run pack:dry && npm run audit:package && npm run smoke:pack",
37
+ "regression:matrix": "node scripts/regression-proof-matrix.mjs",
37
38
  "release:rc": "npm run verify && npm run verify:no-kimi && npm run contract:check && npm run schema:check && npm run version:check && npm run proof:check && npm run smoke:execution && npm run native:build && npm run pack:dry && npm run audit:package && npm run smoke:pack",
38
39
  "smoke:no-kimi:chat": "OMK_MCP_PREFLIGHT=off OMK_PROJECT_ROOT=\"$PWD\" node dist/cli.js chat --provider auto --mode agent --execution ask --layout plain --mcp-scope none --smoke --json",
39
40
  "smoke:no-kimi:codex": "OMK_MCP_PREFLIGHT=off OMK_PROJECT_ROOT=\"$PWD\" node dist/cli.js chat --provider codex --mode agent --execution ask --layout plain --mcp-scope none --smoke --json",
@@ -6,6 +6,7 @@ Curated OMK//CONTROL assets in this directory. Assets are provenance-covered and
6
6
  | ------------------------------- | --------- | ---------------------------------------------- | ------------------------------------------ | ----------- | ------ | -----: |
7
7
  | `omk-control.webp` | yes | Canonical README hero | Codex/OpenAI Images reviewed source | `1536x1024` | `WEBP` | 164502 |
8
8
  | `omk-social-preview.png` | yes | GitHub/NPM social preview | local crop from omk-control.webp | `1200x630` | `PNG` | 737974 |
9
+ | `social-preview.png` | repo-only | GitHub social preview upload candidate | local Pillow render from omk-control.webp | `1280x640` | `PNG` | 441349 |
9
10
  | `omk-tui-0.78.0.webp` | yes | 0.78.0 TUI mockup | Codex OAuth gpt-image-2 + local correction | `1536x1024` | `WEBP` | 244008 |
10
11
  | `omk_tui.png` | yes | GitHub README terminal dashboard screenshot | existing OMK TUI capture | `1712x1129` | `PNG` | 141653 |
11
12
  | `omk-runtime-flow-0.78.0.webp` | yes | 0.78.0 runtime flow diagram | Codex OAuth gpt-image-2 + local correction | `1536x1024` | `WEBP` | 235842 |