open-multi-agent-kit 0.78.6 → 0.78.8

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 (170) hide show
  1. package/AGENTS.md +1 -1
  2. package/CHANGELOG.md +38 -0
  3. package/MATURITY.md +2 -2
  4. package/README.md +19 -4
  5. package/dist/brand/night-city.theme.json +80 -0
  6. package/dist/brand/palette.d.ts +73 -177
  7. package/dist/brand/palette.js +115 -39
  8. package/dist/brand/rust-forge.theme.json +216 -0
  9. package/dist/brand/theme-compiled.d.ts +61 -0
  10. package/dist/brand/theme-compiled.js +241 -0
  11. package/dist/brand/theme.js +50 -37
  12. package/dist/cli/release-promotion-gate.d.ts +8 -1
  13. package/dist/cli/release-promotion-gate.js +20 -9
  14. package/dist/cli/root.d.ts +1 -0
  15. package/dist/cli/root.js +2 -1
  16. package/dist/cli/theme/index.d.ts +11 -2
  17. package/dist/cli/theme/index.js +6 -1
  18. package/dist/cli/theme/oklab-quantize.d.ts +29 -0
  19. package/dist/cli/theme/oklab-quantize.js +105 -0
  20. package/dist/cli/theme/render-table.d.ts +59 -0
  21. package/dist/cli/theme/render-table.js +112 -0
  22. package/dist/cli/theme/status-frame.d.ts +10 -0
  23. package/dist/cli/theme/status-frame.js +22 -0
  24. package/dist/cli/theme/terminal-capability.d.ts +6 -1
  25. package/dist/cli/theme/terminal-capability.js +20 -4
  26. package/dist/cli/theme/theme-doc.d.ts +22 -0
  27. package/dist/cli/theme/theme-doc.js +97 -0
  28. package/dist/cli/theme/theme-registry.js +39 -18
  29. package/dist/cli/theme/tier-explain.d.ts +21 -0
  30. package/dist/cli/theme/tier-explain.js +60 -0
  31. package/dist/cli/ui/green-rain-renderer.js +3 -2
  32. package/dist/cli/ui/neon-grid-renderer.js +4 -3
  33. package/dist/cli/ui/rust-forge-renderer.js +17 -3
  34. package/dist/cli/ui/system24-renderer.d.ts +18 -1
  35. package/dist/cli/ui/system24-renderer.js +39 -16
  36. package/dist/cli/v2/chat-repl.js +3 -1
  37. package/dist/cli/v2/cli-v2-skeleton.d.ts +6 -0
  38. package/dist/cli/v2/cli-v2-skeleton.js +121 -9
  39. package/dist/cli/v2/interactive-prompt.d.ts +1 -0
  40. package/dist/cli/v2/interactive-prompt.js +6 -2
  41. package/dist/commands/chat/core.js +2 -2
  42. package/dist/commands/chat/runtime.js +2 -0
  43. package/dist/commands/chat/utils.js +12 -4
  44. package/dist/commands/cockpit/render.js +102 -64
  45. package/dist/commands/cockpit/utils.d.ts +2 -0
  46. package/dist/commands/design.js +18 -16
  47. package/dist/commands/doctor/checks.d.ts +0 -1
  48. package/dist/commands/doctor/checks.js +1 -36
  49. package/dist/commands/doctor/report.js +0 -11
  50. package/dist/commands/doctor/utils.js +2 -2
  51. package/dist/commands/init/content.d.ts +1 -1
  52. package/dist/commands/init/content.js +3 -11
  53. package/dist/commands/init.js +2 -2
  54. package/dist/commands/mcp/config.d.ts +32 -0
  55. package/dist/commands/mcp/config.js +264 -0
  56. package/dist/commands/mcp/doctor-fix.d.ts +12 -0
  57. package/dist/commands/mcp/doctor-fix.js +261 -0
  58. package/dist/commands/mcp/doctor.d.ts +55 -0
  59. package/dist/commands/mcp/doctor.js +401 -0
  60. package/dist/commands/mcp/list.d.ts +1 -0
  61. package/dist/commands/mcp/list.js +56 -0
  62. package/dist/commands/mcp/shared.d.ts +47 -0
  63. package/dist/commands/mcp/shared.js +192 -0
  64. package/dist/commands/mcp/test.d.ts +5 -0
  65. package/dist/commands/mcp/test.js +457 -0
  66. package/dist/commands/mcp.d.ts +8 -104
  67. package/dist/commands/mcp.js +5 -1603
  68. package/dist/contracts/proof.d.ts +1 -1
  69. package/dist/goal/control-loop.d.ts +15 -0
  70. package/dist/goal/control-loop.js +39 -5
  71. package/dist/hud/render.d.ts +2 -0
  72. package/dist/hud/render.js +7 -1
  73. package/dist/mcp/secret-scanner.d.ts +6 -0
  74. package/dist/mcp/secret-scanner.js +44 -11
  75. package/dist/memory/graph-delta-log.d.ts +137 -0
  76. package/dist/memory/graph-delta-log.js +650 -0
  77. package/dist/memory/graph-viewer.js +13 -32
  78. package/dist/memory/local-graph-memory-store.d.ts +36 -3
  79. package/dist/memory/local-graph-memory-store.js +255 -10
  80. package/dist/orchestration/log-streamer.js +13 -8
  81. package/dist/orchestration/routing.d.ts +4 -0
  82. package/dist/orchestration/routing.js +28 -3
  83. package/dist/orchestration/state-persister.js +8 -1
  84. package/dist/providers/anthropic-messages-runner.d.ts +17 -0
  85. package/dist/providers/anthropic-messages-runner.js +197 -0
  86. package/dist/providers/model-registry.d.ts +1 -1
  87. package/dist/providers/model-registry.js +37 -3
  88. package/dist/providers/provider-runtime.js +27 -11
  89. package/dist/providers/thinking-levels.js +4 -1
  90. package/dist/providers/types.d.ts +3 -3
  91. package/dist/runtime/contracts/weakness-remediation.d.ts +9 -1
  92. package/dist/runtime/contracts/weakness-remediation.js +9 -1
  93. package/dist/runtime/router-v2-scoring.d.ts +8 -3
  94. package/dist/runtime/router-v2-scoring.js +27 -22
  95. package/dist/runtime/runtime-router.d.ts +5 -0
  96. package/dist/runtime/runtime-router.js +40 -8
  97. package/dist/runtime/sandbox-profile.d.ts +29 -0
  98. package/dist/runtime/sandbox-profile.js +101 -0
  99. package/dist/runtime/slash-commands.js +300 -2
  100. package/dist/runtime/tool-dispatch-contracts.d.ts +15 -0
  101. package/dist/runtime/tool-dispatch-contracts.js +12 -0
  102. package/dist/runtime/weights-config.d.ts +90 -0
  103. package/dist/runtime/weights-config.js +249 -0
  104. package/dist/schema/envelope.schema.d.ts +18 -18
  105. package/dist/schema/evidence.schema.d.ts +2 -2
  106. package/dist/schema/proof-bundle.schema.d.ts +6 -6
  107. package/dist/schema/proof-bundle.schema.js +0 -1
  108. package/dist/schema/provider.schema.d.ts +2 -2
  109. package/dist/schema/run-manifest.schema.d.ts +16 -16
  110. package/dist/theme/ansi.js +9 -2
  111. package/dist/theme/extended-palette.d.ts +85 -0
  112. package/dist/theme/extended-palette.js +108 -0
  113. package/dist/theme/layout.js +29 -8
  114. package/dist/theme/metrics.js +5 -5
  115. package/dist/theme/parallel.js +25 -15
  116. package/dist/ui/omk-sigil.js +5 -14
  117. package/dist/ui/omk-working-sweep.js +5 -15
  118. package/dist/util/chat-agent-mode.d.ts +11 -0
  119. package/dist/util/chat-agent-mode.js +41 -8
  120. package/dist/util/chat-cockpit.d.ts +9 -0
  121. package/dist/util/chat-cockpit.js +77 -20
  122. package/dist/util/fs/core.d.ts +5 -0
  123. package/dist/util/fs/core.js +35 -0
  124. package/dist/util/fs/internal.d.ts +14 -0
  125. package/dist/util/fs/internal.js +169 -0
  126. package/dist/util/fs/kimi-sync.d.ts +41 -0
  127. package/dist/util/fs/kimi-sync.js +495 -0
  128. package/dist/util/fs/logo.d.ts +2 -0
  129. package/dist/util/fs/logo.js +78 -0
  130. package/dist/util/fs/manifest.d.ts +6 -0
  131. package/dist/util/fs/manifest.js +40 -0
  132. package/dist/util/fs/mcp-diagnose.d.ts +15 -0
  133. package/dist/util/fs/mcp-diagnose.js +204 -0
  134. package/dist/util/fs/mcp-runtime-config.d.ts +23 -0
  135. package/dist/util/fs/mcp-runtime-config.js +412 -0
  136. package/dist/util/fs/paths.d.ts +13 -0
  137. package/dist/util/fs/paths.js +82 -0
  138. package/dist/util/fs/preflight.d.ts +27 -0
  139. package/dist/util/fs/preflight.js +271 -0
  140. package/dist/util/fs.d.ts +8 -128
  141. package/dist/util/fs.js +8 -1757
  142. package/dist/util/terminal-layout.js +5 -1
  143. package/dist/util/version.js +2 -1
  144. package/docs/2026-06-11/critical-issues.md +20 -0
  145. package/docs/2026-06-11/improvements.md +14 -0
  146. package/docs/2026-06-11/init-checklist.md +25 -0
  147. package/docs/2026-06-11/plan.md +20 -0
  148. package/docs/ARCHITECTURE_ANALYSIS_CODEGRAPH.md +223 -0
  149. package/docs/adr/0001-no-native-rust-lane.md +52 -0
  150. package/docs/codex-oauth-setup.md +14 -0
  151. package/docs/decisions/2026-06-10-git-history-bloat.md +61 -0
  152. package/docs/decisions/ADR-theme-dark-only-assets.md +43 -0
  153. package/docs/getting-started.md +1 -1
  154. package/docs/headroom-omk-final-summary.md +188 -0
  155. package/docs/headroom-omk-integration.md +394 -0
  156. package/docs/headroom-omk-setup-guide.md +422 -0
  157. package/docs/headroom-omk-usage-examples.md +371 -0
  158. package/docs/provider-maturity.md +1 -1
  159. package/docs/versioning.md +3 -3
  160. package/package.json +10 -10
  161. package/readmeasset/.npmignore +2 -0
  162. package/readmeasset/ASSET_INDEX.md +7 -5
  163. package/readmeasset/ASSET_PROVENANCE.md +21 -5
  164. package/readmeasset/omk-control-surfaces.svg +55 -0
  165. package/readmeasset/omk-core-loop.svg +1 -0
  166. package/readmeasset/omk-logo-mark.svg +1 -0
  167. package/readmeasset/omk-release-assertions.svg +51 -0
  168. package/dist/native/linux-x64/omk-safety +0 -0
  169. package/dist/util/native-safety.d.ts +0 -28
  170. package/dist/util/native-safety.js +0 -118
package/AGENTS.md CHANGED
@@ -25,7 +25,7 @@ Keep these surfaces aligned when editing init/runtime docs:
25
25
  - Reasoning Trace Engine: `src/runtime/reasoning-trace.ts` stores intent, plan, tools, evidence, results, privacy. Consent-aware NLG via `src/runtime/nlg-renderer.ts`.
26
26
  - Harness: chat agent mode writes `.omk/runs/<run-id>/chat-agent-harness.json`. Prompts carry compact MCP/skills/hooks counts; read the harness manifest for the full inventory.
27
27
  - Evidence: `scripts/run-tests.mjs` and OMK verification surfaces record sanitized MCP/skill/hook resource metadata. Do not emit resource secrets, headers, or raw env values.
28
- - Architecture doc: `OMK_CLI_V2_RUNTIME_ARCHITECTURE.md` (2058 lines), ~85% implemented.
28
+ - Architecture doc: `docs/OMK_CLI_V2_RUNTIME_ARCHITECTURE.md` (2058 lines), ~85% implemented.
29
29
  - Obsidian knowledge base: `/home/yu/.openclaw/workspace/llm-wiki/projects/omk/`
30
30
 
31
31
  ---
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## [Unreleased]
4
+
5
+ ## v0.78.8 — persona-token surface cleanup and CI-gated hotfix (2026-06-11)
6
+
7
+ ### Fixed
8
+
9
+ - Removed exact legacy persona-token strings from source, proof notes, ignore-file comments, doctor allowlists, tests, and published `dist` output while retaining bracketed deploy-exclusion globs and runtime guard coverage.
10
+ - Extended the persona isolation guard to scan publishable artifacts plus tracked source paths for exact legacy identity/override tokens before release.
11
+
12
+ ### Notes
13
+
14
+ - Supersedes `0.78.7` for package consumers because `0.78.7` still exposed guard-only filename strings in the npm tarball.
15
+ - Stable release claims remain gated on exact-tag CI and registry verification.
16
+
17
+ ## v0.78.7 — README assertions, Fable enablement, and release gates (2026-06-11)
18
+
19
+ ### Added
20
+
21
+ - **README/NPM assertion assets** — Added packaged `readmeasset/omk-control-surfaces.svg` and `readmeasset/omk-release-assertions.svg`, wired them into README, asset provenance, asset index, and `assets:check`.
22
+ - **Fable/OpenRouter activation coverage** — Added tests documenting `fable`/`fable-5` alias resolution, OpenRouter advisory routing, and the explicit enable + API-key activation contract.
23
+ - **Opt-in append-only memory durability** — `OMK_MEMORY_DURABILITY=legacy|delta` (default `legacy`). Delta mode uses CRC-framed JSONL append + replay with snapshot compaction, avoiding per-write full serialization. Legacy mode remains byte-identical and the default.
24
+ - **Opt-in sandbox writableRoots enforcement** — `assertWritable` with deepest-existing-ancestor realpath resolution denies symlink escapes outside declared writable roots. Safe-default unrestricted when roots are empty; wired into `buildGatedDispatch` only when enforce, roots, resolver, and path are all present.
25
+
26
+ ### Changed
27
+
28
+ - **Release truthfulness assertions** — README now states the exact package/bin/proof/package-audit assertions used before publish and keeps published-version claims conditional on tagged checks plus registry verification.
29
+ - **Provider/runtime metadata** — Added Anthropic Messages wire API support, direct Anthropic provider metadata, Fable/Opus aliases, and max-thinking coverage for Fable/DuckCoding-style routes while preserving advisory boundaries.
30
+ - **Root-orchestrator chrome** — Reworded OMK entry/HUD/cockpit surfaces around root-orchestrator control, dynamic package/runtime version labels, and Rust Forge independent-control copy.
31
+ - **Performance: hot-path optimizations** — `secret-scanner` `getLineColumn` reduced from O(matches × n) to O(n + matches × log lines) via precomputed newline-offset binary search. Memory store search reduced from O(N²) to O(N + E) one-pass content index; `mutateState` reuses a process-local parsed-state cache guarded by mtime/size/ctime/inode. Routing regex cache (~150× fewer recompiles per node). `runtime-router` precomputes capability scores before sort. `control-loop` six filters collapsed to one bucket pass. `cockpit`/`system24`/`terminal-layout` reduced ANSI strip/regex passes.
32
+
33
+ ### Removed
34
+
35
+ - **BREAKING: Native (Rust) omk-safety lane** — Removed `crates/omk-safety`, root `Cargo.toml`/`Cargo.lock`, `scripts/build-native.mjs`, `scripts/rust-safety-check.mjs`, `scripts/normalize-native-artifacts.mjs`, `src/util/native-safety.ts`, and native-only tests. Removed npm scripts `rust:build`, `rust:check`, `native:build`, `native:normalize`, `native:no-kimi:turn`, and the shipped `omk-safety` binary. Safety checks are now pure TypeScript. See [ADR-0001](docs/adr/0001-no-native-rust-lane.md).
36
+
37
+ ### Fixed
38
+
39
+ - **Cockpit color determinism test flake** — Timer-normalized the control-output determinism test to remove wall-clock dependency.
40
+
3
41
  ## v0.78.6 — exclude AdaptOrch skills and MCP install template from package (2026-06-09)
4
42
 
5
43
  ### Changed
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.6 (`v1.2` runtime contract family)
4
+ Current source version: v0.78.8 (`v1.2` runtime contract family)
5
5
 
6
6
  | Level | Meaning |
7
7
  |-------|---------|
@@ -76,6 +76,6 @@ Regression Proof Matrix is a release-defense gate, not a stable-release claim. S
76
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. |
77
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. |
78
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. |
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.6` published or release-ready. |
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.8` published or release-ready. |
80
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. |
81
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
@@ -39,7 +39,7 @@ Use OMK when one coding agent is not enough: route Codex, OpenCode, Kimi, DeepSe
39
39
  - Teams that need MCP-scoped agent execution instead of unrestricted tool access.
40
40
  - Agent builders who want routing, fallback, evidence gates, telemetry, and replay.
41
41
 
42
- > Current package source target: `open-multi-agent-kit@0.78.6`.
42
+ > Current package source target: `open-multi-agent-kit@0.78.8`.
43
43
  > Public package name: `open-multi-agent-kit` (`@omk/cli` is not the active npm package).
44
44
  > Runtime contract family: `v1.2` (contract family, not a stable npm `1.x` release).
45
45
  > Release channel: `pre-1.0`.
@@ -63,7 +63,7 @@ omk chat
63
63
 
64
64
  ## Current release reality
65
65
 
66
- - The public npm line is `open-multi-agent-kit@0.78.x`. The source target is `open-multi-agent-kit@0.78.6`;
66
+ - The public npm line is `open-multi-agent-kit@0.78.x`. The source target is `open-multi-agent-kit@0.78.8`;
67
67
  treat npm `latest` as release-truthful only after the tagged release workflow and registry verification both pass.
68
68
  - The `v1.2` label in docs is a runtime contract family for the source tree, not a claim that
69
69
  an npm `1.2.x` stable release exists.
@@ -88,7 +88,7 @@ Most coding agents optimize for a single prompt/result loop. OMK wraps agent exe
88
88
 
89
89
  ## OMK//CONTROL visual console
90
90
 
91
- The GitHub visual set presents OMK as a Night City Ops Console: route status, DAG lanes, provider fallback, scoped MCP, evidence gates, and replayable run telemetry. Assets are provenance-covered in [`readmeasset/ASSET_PROVENANCE.md`](readmeasset/ASSET_PROVENANCE.md).
91
+ The GitHub visual set presents OMK as a Night City Ops Console: route status, DAG lanes, provider fallback, scoped MCP, evidence gates, replayable run telemetry, and publish-time assertions. Assets are provenance-covered in [`readmeasset/ASSET_PROVENANCE.md`](readmeasset/ASSET_PROVENANCE.md).
92
92
 
93
93
  <p align="center">
94
94
  <img src="readmeasset/omk_tui.png" alt="OMK//CONTROL terminal dashboard — live DAG lanes, provider routing, MCP health, evidence gates, and telemetry in Night City Ops Console style" width="100%" />
@@ -106,6 +106,10 @@ The GitHub visual set presents OMK as a Night City Ops Console: route status, DA
106
106
  <img src="readmeasset/omk-core-loop.svg" alt="OMK core loop: goal to DAG plan to evidence to verify to replay" width="100%" />
107
107
  </p>
108
108
 
109
+ | Control surfaces | Release assertions |
110
+ | ---------------- | ------------------ |
111
+ | <img src="readmeasset/omk-control-surfaces.svg" alt="OMK control surfaces: CLI, provider router, MCP scope, evidence gate, replay ledger, and package audit" /> | <img src="readmeasset/omk-release-assertions.svg" alt="OMK release assertions: package name, CLI bins, release gates, package-safe exclusions, and registry verification" /> |
112
+
109
113
  ## Install
110
114
 
111
115
  Requires Node.js `>=20` and npm `>=10`. The [3-minute route](#quickstart-3-minutes) uses the global install; these are the alternatives:
@@ -305,11 +309,12 @@ The npm package is intentionally package-safe:
305
309
  | Contract | Value |
306
310
  | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
307
311
  | Package | [`open-multi-agent-kit`](https://www.npmjs.com/package/open-multi-agent-kit) |
308
- | Version | `0.78.6` |
312
+ | Version | `0.78.8` |
309
313
  | Runtime contract family | `v1.2` |
310
314
  | Bins | `omk`, `omk-project-mcp`, `omk-acp`, `omk-mcp-host` |
311
315
  | Packaged docs | `README.md`, `docs/`, `SECURITY.md`, `ROADMAP.md`, `MATURITY.md`, `DESIGN.md` |
312
316
  | 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) |
317
+ | Release assertions | README and package audit assert package name/version, required CLI bins, package-safe file set, local-state exclusions, proof metadata, and registry-verification wording. |
313
318
  | Excluded | source-only tests, scripts, local state, logs, secrets, private runtime directories |
314
319
 
315
320
  Release checks:
@@ -321,6 +326,14 @@ npm run pack:dry
321
326
  npm run audit:package
322
327
  ```
323
328
 
329
+ What those checks assert before publish:
330
+
331
+ - `package.json` and `package-lock.json` agree on `open-multi-agent-kit` and the current package version.
332
+ - The npm tarball exposes `omk`, `omk-project-mcp`, `omk-acp`, and `omk-mcp-host` from `dist/` with executable shebangs.
333
+ - README/docs/changelog/release-truthfulness proof metadata mention the same package version and keep `v1.2` scoped to runtime contracts.
334
+ - The packaged file set includes docs, templates, and provenance-covered README assets while excluding source, tests, local `.omk`/`.kimi` state, logs, tarballs, and secret-shaped files.
335
+ - Published-version claims remain conditional until the tagged workflow and npm registry verification both pass.
336
+
324
337
  ## Contract versions
325
338
 
326
339
  Machine-readable contracts currently include:
@@ -367,6 +380,8 @@ Public copy stays OMK-owned: **OMK//CONTROL**, **NEON GRID ONLINE**, route/evide
367
380
 
368
381
  Safe by default: child env is sanitized, ambient secrets are dropped, and workspace-write routes require approval. OS-level sandboxing is planned, not claimed; see [SECURITY.md](SECURITY.md).
369
382
 
383
+ Safety checks run as pure TypeScript (no native/Rust build step). The former Rust `omk-safety` probe was retired; see [docs/adr/0001-no-native-rust-lane.md](docs/adr/0001-no-native-rust-lane.md).
384
+
370
385
  ## Links
371
386
 
372
387
  - GitHub: <https://github.com/dmae97/open-multi-agent-kit>
@@ -0,0 +1,80 @@
1
+ {
2
+ "$schema": "../schemas/omk.theme.v1.schema.json",
3
+ "schemaVersion": "omk.theme.v1",
4
+ "name": "night-city",
5
+ "displayName": "OMK//CONTROL — Night City Ops Console",
6
+ "mode": "dark",
7
+ "primitives": {
8
+ "dark": "#070B14",
9
+ "surface": "#101826",
10
+ "cyan": "#00D6FF",
11
+ "mint": "#00FFC2",
12
+ "magenta": "#FF47B2",
13
+ "purple": "#9D4EDD",
14
+ "amber": "#FFB000",
15
+ "red": "#FF5874",
16
+ "cream": "#E8F8FF",
17
+ "muted": "#9DB3C7",
18
+ "gray": "#758FA8"
19
+ },
20
+ "backgrounds": ["dark", "surface"],
21
+ "semantics": {
22
+ "route.active": { "color": "cyan", "glyph": "▸", "usage": "text" },
23
+ "route.fallback": { "color": "amber", "glyph": "↻", "usage": "text" },
24
+ "route.dead": { "color": "red", "glyph": "✕", "usage": "text" },
25
+ "evidence.pass": { "color": "mint", "glyph": "✓", "usage": "text" },
26
+ "evidence.fail": { "color": "red", "glyph": "✗", "usage": "text" },
27
+ "evidence.pending": { "color": "amber", "glyph": "◐", "usage": "text" },
28
+ "dag.lane.running": { "color": "cyan", "glyph": "▶", "usage": "text" },
29
+ "dag.lane.blocked": { "color": "amber", "glyph": "⏸", "usage": "text" },
30
+ "dag.lane.done": { "color": "mint", "glyph": "●", "usage": "text" },
31
+ "dag.lane.queued": { "color": "muted", "glyph": "◌", "usage": "text" },
32
+ "telemetry.info": { "color": "cream", "glyph": "·", "usage": "text" },
33
+ "telemetry.warn": { "color": "amber", "glyph": "▲", "usage": "text" },
34
+ "telemetry.error": { "color": "red", "glyph": "✖", "usage": "text" },
35
+ "control.accent": { "color": "purple", "glyph": "◆", "kind": "chrome", "usage": "indicator" },
36
+ "control.dim": { "color": "gray", "glyph": "┊", "kind": "chrome", "usage": "text" },
37
+ "control.fg": { "color": "cream", "kind": "chrome", "usage": "text" },
38
+ "control.bg": { "color": "dark", "kind": "background", "usage": "background" }
39
+ },
40
+ "components": {
41
+ "statusCard": { "border": "control.accent", "title": "control.fg", "body": "telemetry.info", "meta": "control.dim" },
42
+ "routerTable": { "active": "route.active", "fallback": "route.fallback", "dead": "route.dead", "header": "control.accent" },
43
+ "evidenceGate": { "pass": "evidence.pass", "fail": "evidence.fail", "pending": "evidence.pending" },
44
+ "dagLanes": { "running": "dag.lane.running", "blocked": "dag.lane.blocked", "done": "dag.lane.done", "queued": "dag.lane.queued" },
45
+ "logStream": { "info": "telemetry.info", "warn": "telemetry.warn", "error": "telemetry.error", "dim": "control.dim" }
46
+ },
47
+ "fallback16": {
48
+ "route.active": "brightCyan",
49
+ "route.fallback": "brightYellow",
50
+ "route.dead": "brightRed",
51
+ "evidence.pass": "brightGreen",
52
+ "evidence.fail": "brightRed",
53
+ "evidence.pending": "brightYellow",
54
+ "dag.lane.running": "brightCyan",
55
+ "dag.lane.blocked": "brightYellow",
56
+ "dag.lane.done": "brightGreen",
57
+ "dag.lane.queued": "white",
58
+ "telemetry.info": "brightWhite",
59
+ "telemetry.warn": "brightYellow",
60
+ "telemetry.error": "brightRed",
61
+ "control.accent": "brightMagenta",
62
+ "control.dim": "white",
63
+ "control.fg": "brightWhite",
64
+ "control.bg": "black"
65
+ },
66
+ "meta": {
67
+ "provenance": "Canonical Night City palette extracted from readmeasset/ASSET_PROVENANCE.md theme mapping + SVG frequency analysis (proof/theme-2026-06-10/phase0-recon.md). #101826 surface and #9DB3C7 muted promoted from SVG/provenance into primitives; src/brand/palette.ts gray #758FA8 kept as control.dim.",
68
+ "reservedPrimitives": {
69
+ "magenta": "#FF47B2 is reserved brand accent, referenced by no semantic role yet, so it is not contrast-gated. If a future role adopts it the theme:check gate applies automatically (quantizes to xterm idx 205 #FF5FAF; CR 7.07/6.39 on quantized dark/surface — passes). See proof/theme-2026-06-10/t3-a11y-review.md §5."
70
+ },
71
+ "tierAssumptions": "16-color tier is gated against stock VGA/xterm ANSI values; terminals with remapped ANSI-16 palettes (e.g. Solarized) 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 (t3-a11y-review.md §4).",
72
+ "derivedAssets": [
73
+ "readmeasset/omk-badges.svg",
74
+ "readmeasset/omk-core-loop.svg",
75
+ "readmeasset/omk-evidence-ledger.svg",
76
+ "readmeasset/omk-logo-mark.svg",
77
+ "readmeasset/omk-provider-lanes.svg"
78
+ ]
79
+ }
80
+ }
@@ -1,183 +1,79 @@
1
1
  /**
2
- * OMK brand color palette hex values and conversion helpers.
2
+ * OMK brand color palette -- compiled from active omk.theme.v1 documents
3
+ * (theme contract T5b) plus conversion helpers.
4
+ *
5
+ * P and BRAND_HEX keep their public object shapes, but shared brand slots are
6
+ * updated in place when setBrandPaletteTheme() switches the live brand theme.
7
+ * Night-city remains the default and preserves the legacy RGB/HEX bytes.
3
8
  */
4
- export declare const P: {
5
- readonly purple: {
6
- readonly r: 157;
7
- readonly g: 78;
8
- readonly b: 221;
9
- };
10
- readonly lightPurple: {
11
- readonly r: 214;
12
- readonly g: 108;
13
- readonly b: 255;
14
- };
15
- readonly darkPurple: {
16
- readonly r: 64;
17
- readonly g: 18;
18
- readonly b: 133;
19
- };
20
- readonly pink: {
21
- readonly r: 255;
22
- readonly g: 71;
23
- readonly b: 178;
24
- };
25
- readonly hotPink: {
26
- readonly r: 255;
27
- readonly g: 71;
28
- readonly b: 178;
29
- };
30
- readonly mint: {
31
- readonly r: 0;
32
- readonly g: 255;
33
- readonly b: 194;
34
- };
35
- readonly darkMint: {
36
- readonly r: 0;
37
- readonly g: 196;
38
- readonly b: 153;
39
- };
40
- readonly orange: {
41
- readonly r: 255;
42
- readonly g: 176;
43
- readonly b: 0;
44
- };
45
- readonly red: {
46
- readonly r: 255;
47
- readonly g: 88;
48
- readonly b: 116;
49
- };
50
- readonly blue: {
51
- readonly r: 0;
52
- readonly g: 214;
53
- readonly b: 255;
54
- };
55
- readonly cream: {
56
- readonly r: 232;
57
- readonly g: 248;
58
- readonly b: 255;
59
- };
60
- readonly dark: {
61
- readonly r: 7;
62
- readonly g: 11;
63
- readonly b: 20;
64
- };
65
- readonly gray: {
66
- readonly r: 117;
67
- readonly g: 143;
68
- readonly b: 168;
69
- };
70
- readonly skin: {
71
- readonly r: 255;
72
- readonly g: 214;
73
- readonly b: 102;
74
- };
75
- readonly rustOrange: {
76
- readonly r: 249;
77
- readonly g: 115;
78
- readonly b: 22;
79
- };
80
- readonly rustOxide: {
81
- readonly r: 124;
82
- readonly g: 45;
83
- readonly b: 18;
84
- };
85
- readonly cargoGreen: {
86
- readonly r: 0;
87
- readonly g: 255;
88
- readonly b: 194;
89
- };
90
- readonly matrixGreen: {
91
- readonly r: 0;
92
- readonly g: 255;
93
- readonly b: 194;
94
- };
95
- readonly matrixDark: {
96
- readonly r: 8;
97
- readonly g: 39;
98
- readonly b: 31;
99
- };
100
- readonly matrixRainGreen: {
101
- readonly r: 0;
102
- readonly g: 255;
103
- readonly b: 65;
104
- };
105
- readonly matrixDeepBg: {
106
- readonly r: 0;
107
- readonly g: 8;
108
- readonly b: 0;
109
- };
110
- readonly matrixRainDim: {
111
- readonly r: 0;
112
- readonly g: 95;
113
- readonly b: 25;
114
- };
115
- readonly matrixWarningAmber: {
116
- readonly r: 255;
117
- readonly g: 176;
118
- readonly b: 0;
119
- };
120
- readonly matrixErrorRed: {
121
- readonly r: 255;
122
- readonly g: 50;
123
- readonly b: 50;
124
- };
125
- readonly metricsCyan: {
126
- readonly r: 6;
127
- readonly g: 182;
128
- readonly b: 212;
129
- };
130
- readonly metricsTeal: {
131
- readonly r: 20;
132
- readonly g: 184;
133
- readonly b: 166;
134
- };
135
- readonly metricsNavy: {
136
- readonly r: 10;
137
- readonly g: 25;
138
- readonly b: 41;
139
- };
140
- readonly metricsSlate: {
141
- readonly r: 30;
142
- readonly g: 41;
143
- readonly b: 59;
144
- };
145
- readonly metricsSilver: {
146
- readonly r: 203;
147
- readonly g: 213;
148
- readonly b: 225;
149
- };
150
- readonly metricsWhite: {
151
- readonly r: 241;
152
- readonly g: 245;
153
- readonly b: 249;
154
- };
155
- readonly metricsAmber: {
156
- readonly r: 245;
157
- readonly g: 158;
158
- readonly b: 11;
159
- };
160
- readonly metricsGreen: {
161
- readonly r: 34;
162
- readonly g: 197;
163
- readonly b: 94;
164
- };
165
- readonly metricsRed: {
166
- readonly r: 239;
167
- readonly g: 68;
168
- readonly b: 68;
169
- };
170
- readonly metricsBlue: {
171
- readonly r: 59;
172
- readonly g: 130;
173
- readonly b: 246;
174
- };
175
- readonly metricsViolet: {
176
- readonly r: 139;
177
- readonly g: 92;
178
- readonly b: 246;
179
- };
9
+ import type { BrandRgb, BrandThemeName } from "./theme-compiled.js";
10
+ export type { BrandRgb, BrandThemeName } from "./theme-compiled.js";
11
+ export declare function buildBrandPalette(): {
12
+ purple: BrandRgb;
13
+ lightPurple: BrandRgb;
14
+ darkPurple: BrandRgb;
15
+ pink: BrandRgb;
16
+ hotPink: BrandRgb;
17
+ mint: BrandRgb;
18
+ darkMint: BrandRgb;
19
+ orange: BrandRgb;
20
+ red: BrandRgb;
21
+ blue: BrandRgb;
22
+ cream: BrandRgb;
23
+ dark: BrandRgb;
24
+ gray: BrandRgb;
25
+ skin: BrandRgb;
26
+ gridLine: BrandRgb;
27
+ rustOrange: BrandRgb;
28
+ rustOxide: BrandRgb;
29
+ rustEmber: BrandRgb;
30
+ rustCrimson: BrandRgb;
31
+ cargoGreen: BrandRgb;
32
+ matrixGreen: BrandRgb;
33
+ matrixDark: BrandRgb;
34
+ matrixRainGreen: BrandRgb;
35
+ matrixDeepBg: BrandRgb;
36
+ matrixRainDim: BrandRgb;
37
+ matrixWarningAmber: BrandRgb;
38
+ matrixErrorRed: BrandRgb;
39
+ sparkleWhite: BrandRgb;
40
+ sparkleGold: BrandRgb;
41
+ metricsCyan: BrandRgb;
42
+ metricsTeal: BrandRgb;
43
+ metricsNavy: BrandRgb;
44
+ metricsSlate: BrandRgb;
45
+ metricsSilver: BrandRgb;
46
+ metricsWhite: BrandRgb;
47
+ metricsAmber: BrandRgb;
48
+ metricsGreen: BrandRgb;
49
+ metricsRed: BrandRgb;
50
+ metricsBlue: BrandRgb;
51
+ metricsViolet: BrandRgb;
180
52
  };
53
+ export type BrandPalette = ReturnType<typeof buildBrandPalette>;
54
+ export declare function buildBrandHex(palette: BrandPalette): {
55
+ dark: string;
56
+ surface: string;
57
+ cyan: string;
58
+ mint: string;
59
+ magenta: string;
60
+ purple: string;
61
+ amber: string;
62
+ red: string;
63
+ cream: string;
64
+ muted: string;
65
+ gray: string;
66
+ gridLine: string;
67
+ sparkleWhite: string;
68
+ sparkleGold: string;
69
+ rustEmber: string;
70
+ rustCrimson: string;
71
+ };
72
+ export type BrandHex = ReturnType<typeof buildBrandHex>;
73
+ export declare const P: BrandPalette;
74
+ export declare const BRAND_HEX: BrandHex;
75
+ export declare function setBrandPaletteTheme(name: string | undefined): BrandThemeName;
76
+ export declare function resetBrandPaletteTheme(): BrandThemeName;
181
77
  export declare function hexToRgb(hex: string): {
182
78
  r: number;
183
79
  g: number;