open-multi-agent-kit 0.78.8 → 0.79.3
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/AGENTS.md +131 -2
- package/CHANGELOG.md +32 -0
- package/CLAUDE.md +105 -3
- package/DESIGN.md +141 -117
- package/MATURITY.md +7 -12
- package/README.md +66 -347
- package/ROADMAP.md +33 -47
- package/dist/adapters/kimi/runner.js +2 -2
- package/dist/brand/theme.js +2 -2
- package/dist/cli/register-basic-commands.js +3 -2
- package/dist/cli/register-mcp-dag-cron-screenshot-commands.js +1 -1
- package/dist/cli/root.d.ts +1 -0
- package/dist/cli/root.js +2 -0
- package/dist/cli/runtime/command-bus.js +14 -1
- package/dist/cli/theme/terminal-capability.js +1 -1
- package/dist/cli/theme/theme-registry.js +90 -2
- package/dist/cli/ui/event.d.ts +1 -0
- package/dist/cli/ui/neon-grid-renderer.d.ts +8 -0
- package/dist/cli/ui/neon-grid-renderer.js +84 -14
- package/dist/cli/ui/plain-renderer.js +3 -1
- package/dist/cli/ui/system24-renderer.js +3 -1
- package/dist/cli/v2/chat-repl.d.ts +2 -1
- package/dist/cli/v2/chat-repl.js +58 -2
- package/dist/cli/v2/cli-v2-skeleton.js +7 -4
- package/dist/cli/v2/interactive-prompt.js +4 -3
- package/dist/commands/auth.js +2 -0
- package/dist/commands/chat/native-root-loop.d.ts +1 -0
- package/dist/commands/chat/native-root-loop.js +162 -13
- package/dist/commands/chat/runtime.js +9 -0
- package/dist/commands/chat/slash/commands/routing.js +31 -1
- package/dist/commands/chat/utils.js +3 -1
- package/dist/commands/cockpit/render.js +2 -1
- package/dist/commands/doctor/checks.js +2 -2
- package/dist/commands/init/core.js +2 -2
- package/dist/commands/init.js +2 -2
- package/dist/commands/mcp/config.js +38 -16
- package/dist/commands/mcp/doctor.js +7 -8
- package/dist/commands/mcp/list.js +4 -3
- package/dist/commands/mcp/shared.d.ts +4 -1
- package/dist/commands/mcp/shared.js +21 -3
- package/dist/commands/mcp/test.js +13 -12
- package/dist/commands/model.js +4 -0
- package/dist/commands/provider.js +5 -1
- package/dist/commands/version.d.ts +1 -0
- package/dist/commands/version.js +18 -0
- package/dist/contracts/command.d.ts +25 -0
- package/dist/contracts/command.js +1 -0
- package/dist/contracts/evidence-bundle.d.ts +52 -0
- package/dist/contracts/evidence-bundle.js +1 -0
- package/dist/contracts/index.d.ts +2 -0
- package/dist/contracts/index.js +2 -0
- package/dist/contracts/web-bridge.d.ts +1 -1
- package/dist/contracts/web-bridge.js +1 -1
- package/dist/evidence/bundle-validator.d.ts +7 -0
- package/dist/evidence/bundle-validator.js +103 -0
- package/dist/evidence/index.d.ts +5 -0
- package/dist/evidence/index.js +2 -0
- package/dist/evidence/proof-trust.js +2 -10
- package/dist/evidence/trust-calibration.d.ts +25 -0
- package/dist/evidence/trust-calibration.js +151 -0
- package/dist/mcp/omk-project-server.js +1 -1
- package/dist/metrics/provenance-ratio.d.ts +16 -0
- package/dist/metrics/provenance-ratio.js +33 -0
- package/dist/orchestration/dag.d.ts +17 -0
- package/dist/orchestration/ensemble-decision.d.ts +2 -0
- package/dist/orchestration/ensemble-decision.js +4 -0
- package/dist/orchestration/hedge-persona-weights.d.ts +25 -0
- package/dist/orchestration/hedge-persona-weights.js +43 -0
- package/dist/orchestration/parallel-ui.d.ts +1 -0
- package/dist/orchestration/parallel-ui.js +12 -3
- package/dist/orchestration/route-calibration.d.ts +27 -0
- package/dist/orchestration/route-calibration.js +123 -0
- package/dist/orchestration/routing/mcp-config.js +5 -1
- package/dist/orchestration/routing/types.d.ts +21 -0
- package/dist/orchestration/routing.d.ts +10 -0
- package/dist/orchestration/routing.js +89 -3
- package/dist/providers/model-registry.d.ts +2 -1
- package/dist/providers/model-registry.js +76 -4
- package/dist/providers/provider-runtime.js +9 -1
- package/dist/providers/thinking-levels.js +2 -0
- package/dist/providers/types.d.ts +1 -1
- package/dist/runtime/glm-api-runtime.d.ts +4 -0
- package/dist/runtime/glm-api-runtime.js +15 -0
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/kimi-api-runtime.d.ts +6 -1
- package/dist/runtime/kimi-api-runtime.js +10 -4
- package/dist/runtime/recovery-artifact-store.d.ts +39 -0
- package/dist/runtime/recovery-artifact-store.js +111 -0
- package/dist/runtime/runtime-backed-task-runner.js +10 -0
- package/dist/runtime/runtime-bootstrap.js +17 -1
- package/dist/runtime/slash-commands.js +38 -5
- package/dist/schema/command.schema.d.ts +121 -0
- package/dist/schema/command.schema.js +25 -0
- package/dist/schema/envelope.schema.d.ts +2 -2
- package/dist/schema/evidence-bundle.schema.d.ts +196 -0
- package/dist/schema/evidence-bundle.schema.js +38 -0
- package/dist/schema/index.d.ts +2 -0
- package/dist/schema/index.js +2 -0
- package/dist/schema/proof-bundle.schema.d.ts +2 -2
- package/dist/theme/external-theme-adapters.d.ts +27 -0
- package/dist/theme/external-theme-adapters.js +52 -0
- package/dist/theme/library-effects.d.ts +12 -0
- package/dist/theme/library-effects.js +47 -0
- package/dist/theme/parallel.js +3 -2
- package/dist/tui/terminal-frame-renderer.d.ts +9 -1
- package/dist/tui/terminal-frame-renderer.js +77 -7
- package/dist/util/chat-cockpit.d.ts +3 -1
- package/dist/util/chat-cockpit.js +44 -5
- package/dist/util/command-envelope.d.ts +19 -0
- package/dist/util/command-envelope.js +31 -0
- package/dist/util/events-logger.d.ts +1 -1
- package/dist/util/events-logger.js +23 -16
- package/dist/util/fs/mcp-diagnose.js +2 -1
- package/dist/util/fs/mcp-runtime-config.js +14 -2
- package/dist/util/i18n.js +2 -2
- package/dist/util/screenshot-store.d.ts +7 -0
- package/dist/util/screenshot-store.js +30 -0
- package/dist/util/terminal-kit-bridge.d.ts +24 -0
- package/dist/util/terminal-kit-bridge.js +60 -0
- package/dist/util/terminal-owner.d.ts +1 -0
- package/dist/util/terminal-owner.js +31 -0
- package/dist/version.d.ts +3 -1
- package/dist/version.js +4 -0
- package/docs/2026-05-18-project-direction.md +1 -1
- package/docs/2026-06-14/critical-issues.md +19 -0
- package/docs/2026-06-14/improvements.md +15 -0
- package/docs/2026-06-14/init-checklist.md +25 -0
- package/docs/2026-06-14/plan.md +20 -0
- package/docs/2026-06-15/critical-issues.md +19 -0
- package/docs/2026-06-15/improvements.md +15 -0
- package/docs/2026-06-15/init-checklist.md +25 -0
- package/docs/2026-06-15/plan.md +20 -0
- package/docs/claims.md +85 -0
- package/docs/comparisons/omk-vs-claude-code.md +31 -0
- package/docs/comparisons/omk-vs-codex.md +33 -0
- package/docs/comparisons/omk-vs-mcp-agent.md +33 -0
- package/docs/comparisons/omk-vs-opencode.md +32 -0
- package/docs/decision-layer-calibration.md +20 -0
- package/docs/geo-eval-prompts.md +53 -0
- package/docs/getting-started.md +3 -31
- package/docs/headroom-omk-setup-guide.md +2 -2
- package/docs/integrations/adaptorch.md +46 -0
- package/docs/native-root-runtime-algorithms.md +2 -303
- package/docs/native-root-runtime-hardening.md +1 -1
- package/docs/provider-maturity.md +1 -1
- package/docs/use-cases/evidence-gated-coding-agents.md +52 -0
- package/docs/use-cases/no-kimi-mode.md +38 -0
- package/docs/use-cases/provider-routing-for-ai-coding.md +36 -0
- package/docs/use-cases/replayable-agent-runs.md +40 -0
- package/docs/use-cases/scoped-mcp-for-coding-agents.md +34 -0
- package/docs/versioning.md +9 -3
- package/docs/what-is-omk.md +64 -0
- package/llms.txt +28 -18
- package/package.json +7 -2
- package/readmeasset/.npmignore +3 -0
- package/readmeasset/ASSET_INDEX.md +3 -0
- package/readmeasset/ASSET_PROVENANCE.md +6 -0
- package/readmeasset/omk-adaptorch-ouroboros-supermemory.svg +95 -0
- package/readmeasset/omk-init-control-loop.svg +118 -0
- package/readmeasset/omk-parallel-subagents.svg +97 -0
- package/templates/web-bridge/chrome-extension/background.js +1 -1
package/llms.txt
CHANGED
|
@@ -1,35 +1,45 @@
|
|
|
1
1
|
# open-multi-agent-kit
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> OMK is an evidence-gated control plane for AI coding agents. It routes coding tasks into scoped DAG lanes, limits provider authority, requires evidence before completion, and saves replayable artifacts under `.omk/runs/`.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
OMK is useful for developers running Codex, Claude Code, OpenCode, DeepSeek, Qwen, OpenRouter, MiMo, optional Kimi-compatible adapters, or local LLMs in the same repository.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Core docs
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
- [README](https://github.com/dmae97/open-multi-agent-kit): Installation, quick start, and project overview.
|
|
10
|
+
- [What is OMK?](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/what-is-omk.md): Canonical definition and use cases.
|
|
11
|
+
- [Evidence-gated coding agents](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/use-cases/evidence-gated-coding-agents.md): How OMK requires evidence before completion.
|
|
12
|
+
- [Provider routing for AI coding](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/use-cases/provider-routing-for-ai-coding.md): How OMK routes Codex, OpenCode, DeepSeek, and local models.
|
|
13
|
+
- [Scoped MCP for coding agents](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/use-cases/scoped-mcp-for-coding-agents.md): Project-scoped MCP and tool authority.
|
|
14
|
+
- [Replayable agent runs](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/use-cases/replayable-agent-runs.md): The `.omk/runs/` artifacts.
|
|
15
|
+
- [No-Kimi mode](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/use-cases/no-kimi-mode.md): Running OMK without Kimi.
|
|
16
|
+
- [OMK claims and evidence](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/claims.md): Claim, status, evidence, and verification command for each capability.
|
|
10
17
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- **16 Built-in Agent Roles** — planner, coder, reviewer, qa, security, architect, explorer, tester, docs, merger, release, integrator, interviewer, researcher, vision-debugger
|
|
18
|
+
## Comparisons
|
|
19
|
+
|
|
20
|
+
- [OMK vs Codex](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/comparisons/omk-vs-codex.md)
|
|
21
|
+
- [OMK vs Claude Code](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/comparisons/omk-vs-claude-code.md)
|
|
22
|
+
- [OMK vs OpenCode](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/comparisons/omk-vs-opencode.md)
|
|
23
|
+
- [OMK vs MCP agent frameworks](https://github.com/dmae97/open-multi-agent-kit/blob/main/docs/comparisons/omk-vs-mcp-agent.md)
|
|
18
24
|
|
|
19
25
|
## Install
|
|
20
26
|
|
|
21
27
|
```bash
|
|
22
28
|
npm install -g open-multi-agent-kit
|
|
29
|
+
omk init
|
|
30
|
+
omk doctor
|
|
31
|
+
omk do "review this repo for release risk" --dry-run --json
|
|
23
32
|
```
|
|
24
33
|
|
|
25
|
-
##
|
|
34
|
+
## Key terms
|
|
26
35
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
- evidence-gated coding agents
|
|
37
|
+
- AI coding agent control plane
|
|
38
|
+
- scoped DAG runner
|
|
39
|
+
- MCP orchestration for coding agents
|
|
40
|
+
- provider authority and routing
|
|
41
|
+
- replayable agent runs
|
|
42
|
+
- local-first coding agent runtime
|
|
33
43
|
|
|
34
44
|
## Repository
|
|
35
45
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "open-multi-agent-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.79.3",
|
|
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": {
|
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
"assets:build": "node scripts/assets-build.mjs",
|
|
33
33
|
"assets:check": "node scripts/assets-check.mjs",
|
|
34
34
|
"color:gate": "node scripts/color-literal-gate.mjs",
|
|
35
|
+
"file-size:check": "node scripts/check-file-size.mjs",
|
|
36
|
+
"provenance:ratio": "node scripts/provenance-ratio.mjs",
|
|
35
37
|
"proof:index": "node scripts/build-proof-index.mjs",
|
|
36
38
|
"proof:check": "node scripts/proof-check.mjs",
|
|
37
39
|
"version:check": "node scripts/check-version-consistency.mjs",
|
|
@@ -125,6 +127,7 @@
|
|
|
125
127
|
"dependencies": {
|
|
126
128
|
"@clack/prompts": "^1.4.0",
|
|
127
129
|
"@inquirer/prompts": "^7.0.0",
|
|
130
|
+
"chalk-animation": "^2.0.3",
|
|
128
131
|
"cli-boxes": "^4.0.1",
|
|
129
132
|
"clipanion": "^4.0.0-rc.4",
|
|
130
133
|
"commander": "^14.0.0",
|
|
@@ -132,8 +135,10 @@
|
|
|
132
135
|
"figlet": "^1.11.0",
|
|
133
136
|
"fs-extra": "^11.0.0",
|
|
134
137
|
"gradient-string": "^3.0.0",
|
|
138
|
+
"ink-gradient": "^4.0.1",
|
|
135
139
|
"node-pty": "^1.1.0",
|
|
136
140
|
"pyright": "^1.1.410",
|
|
141
|
+
"terminal-kit": "^3.1.2",
|
|
137
142
|
"typescript": "^5.9.3",
|
|
138
143
|
"typescript-language-server": "^5.1.3",
|
|
139
144
|
"yaml": "^2.0.0",
|
|
@@ -145,7 +150,7 @@
|
|
|
145
150
|
"@types/node": "^22.0.0",
|
|
146
151
|
"eslint": "^9.0.0",
|
|
147
152
|
"globals": "^15.0.0",
|
|
148
|
-
"tsx": "^4.
|
|
153
|
+
"tsx": "^4.22.4",
|
|
149
154
|
"typescript-eslint": "^8.0.0"
|
|
150
155
|
},
|
|
151
156
|
"files": [
|
package/readmeasset/.npmignore
CHANGED
|
@@ -33,6 +33,9 @@ Curated OMK//CONTROL assets in this directory. Assets are provenance-covered and
|
|
|
33
33
|
| `omk-core-loop.svg` | yes | OMK Core Loop | local SVG render from OMK palette | `1200x420` | `SVG` | 2731 |
|
|
34
34
|
| `omk-control-surfaces.svg` | yes | Operator control surfaces | local SVG render from OMK palette | `1200x420` | `SVG` | 3325 |
|
|
35
35
|
| `omk-release-assertions.svg` | yes | Release assertion card | local SVG render from OMK palette | `1200x420` | `SVG` | 3052 |
|
|
36
|
+
| `omk-init-control-loop.svg` | yes | Init to control loop | local SVG render from OMK palette | `1200x520` | `SVG` | 7339 |
|
|
37
|
+
| `omk-parallel-subagents.svg` | yes | Parallel subagent lanes | local SVG render from OMK palette | `1200x520` | `SVG` | 6559 |
|
|
38
|
+
| `omk-adaptorch-ouroboros-supermemory.svg` | yes | Adaptive memory stack | local SVG render from OMK palette | `1200x520` | `SVG` | 6404 |
|
|
36
39
|
| `omk-provider-lanes.svg` | repo-only | Provider Lanes | local SVG render from OMK palette | `1200x420` | `SVG` | 2753 |
|
|
37
40
|
| `omk-evidence-ledger.svg` | repo-only | Evidence Ledger | local SVG render from OMK palette | `1200x420` | `SVG` | 2411 |
|
|
38
41
|
| `omk-badges.svg` | repo-only | OMK Badges | local SVG render from OMK palette | `1200x420` | `SVG` | 2405 |
|
|
@@ -90,6 +90,9 @@
|
|
|
90
90
|
| `omk-core-loop.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | OMK Core Loop | `1200x420` | `SVG` | 2731 | `0f60a453833c541a05db3b509f9d56fae02c38c89334c7c57357f281cad439f2` |
|
|
91
91
|
| `omk-control-surfaces.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Operator control surfaces | `1200x420` | `SVG` | 3325 | `2295e2048336452a7abef90c0636107be36845946976fd79563f10092b22bd99` |
|
|
92
92
|
| `omk-release-assertions.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Release assertion card | `1200x420` | `SVG` | 3052 | `8040d23c46bf48fd7f946f9ff491dcad8aa41ce023b7b062ff5475667c8f283d` |
|
|
93
|
+
| `omk-init-control-loop.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Init to control loop | `1200x520` | `SVG` | 7339 | `e6225f8b66a89353aff109d29b2943b0b292f10195a84a770030a63687478739` |
|
|
94
|
+
| `omk-parallel-subagents.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Parallel subagent lanes | `1200x520` | `SVG` | 6559 | `16de0ab85063c45260f6d6545df0c5721ca6cf8c650c8d1223296acea22d0017` |
|
|
95
|
+
| `omk-adaptorch-ouroboros-supermemory.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Adaptive memory stack | `1200x520` | `SVG` | 6404 | `6f7318675939f9190ed9011f2f0f02e2a5a34d1ab2fac8d3fe10a92f9a441d54` |
|
|
93
96
|
| `omk-provider-lanes.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Provider Lanes | `1200x420` | `SVG` | 2753 | `d7d85098e02e78d37d10a9886a041a8546bfa8438dd3f29bb157ce848bfd0b83` |
|
|
94
97
|
| `omk-evidence-ledger.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Evidence Ledger | `1200x420` | `SVG` | 2411 | `01f0d66d2ba9915d9975bd7f93bb790e7ab0e11adbaedf84b4e5c25be6fe837c` |
|
|
95
98
|
| `omk-badges.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | OMK Badges | `1200x420` | `SVG` | 2405 | `4a4c94daca5d81e10a1ca185d3c07d4dfa6ac732363ecbc4bdbde841d4624cf6` |
|
|
@@ -106,5 +109,8 @@
|
|
|
106
109
|
- derived-from: omk.theme.v1/night-city@e5daf40d789d — `omk-core-loop.svg`
|
|
107
110
|
- derived-from: omk.theme.v1/night-city@e5daf40d789d — `omk-evidence-ledger.svg`
|
|
108
111
|
- derived-from: omk.theme.v1/night-city@e5daf40d789d — `omk-logo-mark.svg`
|
|
112
|
+
- derived-from: omk.theme.v1/night-city@e5daf40d789d — `omk-parallel-subagents.svg`
|
|
109
113
|
- derived-from: omk.theme.v1/night-city@e5daf40d789d — `omk-provider-lanes.svg`
|
|
110
114
|
- derived-from: omk.theme.v1/night-city@e5daf40d789d — `omk-release-assertions.svg`
|
|
115
|
+
- derived-from: omk.theme.v1/night-city@e5daf40d789d — `omk-adaptorch-ouroboros-supermemory.svg`
|
|
116
|
+
- derived-from: omk.theme.v1/night-city@e5daf40d789d — `omk-init-control-loop.svg`
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<!-- derived-from: omk.theme.v1/night-city@e5daf40d789d -->
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="520" viewBox="0 0 1200 520" role="img" aria-labelledby="title desc">
|
|
3
|
+
<title id="title">OMK adaptive memory stack</title>
|
|
4
|
+
<desc id="desc">Adaptorch routes topology, Ouroboros clarifies and evolves goals, and Supermemory recalls stable facts for the OMK control loop.</desc>
|
|
5
|
+
<metadata>omk.asset.v1 name=omk-adaptorch-ouroboros-supermemory packaged=yes source=themes/night-city.theme.json via scripts/assets-build.mjs text=ascii</metadata>
|
|
6
|
+
<defs>
|
|
7
|
+
<linearGradient id="bg" x1="0" x2="1" y1="0" y2="1">
|
|
8
|
+
<stop offset="0" stop-color="#070B14"/>
|
|
9
|
+
<stop offset="0.42" stop-color="#101826"/>
|
|
10
|
+
<stop offset="1" stop-color="#070B14"/>
|
|
11
|
+
</linearGradient>
|
|
12
|
+
<linearGradient id="ring" x1="0" x2="1">
|
|
13
|
+
<stop offset="0" stop-color="#9D4EDD"/>
|
|
14
|
+
<stop offset="0.5" stop-color="#00D6FF"/>
|
|
15
|
+
<stop offset="1" stop-color="#00FFC2"/>
|
|
16
|
+
</linearGradient>
|
|
17
|
+
<filter id="glow" x="-25%" y="-25%" width="150%" height="150%">
|
|
18
|
+
<feGaussianBlur stdDeviation="3" result="blur"/>
|
|
19
|
+
<feMerge>
|
|
20
|
+
<feMergeNode in="blur"/>
|
|
21
|
+
<feMergeNode in="SourceGraphic"/>
|
|
22
|
+
</feMerge>
|
|
23
|
+
</filter>
|
|
24
|
+
<marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="5" orient="auto">
|
|
25
|
+
<path d="M0,0 L0,10 L11,5 z" fill="#00D6FF"/>
|
|
26
|
+
</marker>
|
|
27
|
+
<marker id="arrowP" markerWidth="12" markerHeight="12" refX="10" refY="5" orient="auto">
|
|
28
|
+
<path d="M0,0 L0,10 L11,5 z" fill="#9D4EDD"/>
|
|
29
|
+
</marker>
|
|
30
|
+
</defs>
|
|
31
|
+
<rect width="1200" height="520" rx="36" fill="url(#bg)"/>
|
|
32
|
+
<rect x="26" y="26" width="1148" height="468" rx="26" fill="none" stroke="url(#ring)" stroke-width="3" filter="url(#glow)"/>
|
|
33
|
+
<g opacity="0.26" stroke="#758FA8" stroke-width="1">
|
|
34
|
+
<path d="M86 146 H1114 M86 202 H1114 M86 258 H1114 M86 314 H1114 M86 370 H1114"/>
|
|
35
|
+
<path d="M150 124 V416 M250 124 V416 M350 124 V416 M450 124 V416 M550 124 V416 M650 124 V416 M750 124 V416 M850 124 V416 M950 124 V416 M1050 124 V416"/>
|
|
36
|
+
</g>
|
|
37
|
+
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" fill="#00FFC2" font-size="12" opacity="0.22">
|
|
38
|
+
<text x="72" y="156">1001 0010 1110</text>
|
|
39
|
+
<text x="994" y="188">0110 1101 0011</text>
|
|
40
|
+
<text x="92" y="390">facts decisions blockers</text>
|
|
41
|
+
<text x="922" y="410">route synth recall</text>
|
|
42
|
+
</g>
|
|
43
|
+
|
|
44
|
+
<text x="60" y="74" fill="#E8F8FF" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="34" font-weight="800">OMK//ADAPTIVE MEMORY STACK</text>
|
|
45
|
+
<text x="60" y="112" fill="#9DB3C7" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="18">Adaptorch, Ouroboros, and Supermemory feed one evidence-gated control loop</text>
|
|
46
|
+
|
|
47
|
+
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace">
|
|
48
|
+
<rect x="72" y="156" width="286" height="130" rx="20" fill="#101826" stroke="#9D4EDD" stroke-width="3" filter="url(#glow)"/>
|
|
49
|
+
<text x="104" y="196" fill="#9D4EDD" font-size="24" font-weight="800">OUROBOROS</text>
|
|
50
|
+
<text x="104" y="228" fill="#E8F8FF" font-size="16">spec-first goal loop</text>
|
|
51
|
+
<text x="104" y="254" fill="#9DB3C7" font-size="14">interview - seed - run</text>
|
|
52
|
+
|
|
53
|
+
<rect x="842" y="156" width="286" height="130" rx="20" fill="#101826" stroke="#00D6FF" stroke-width="3" filter="url(#glow)"/>
|
|
54
|
+
<text x="874" y="196" fill="#00D6FF" font-size="24" font-weight="800">ADAPTORCH</text>
|
|
55
|
+
<text x="874" y="228" fill="#E8F8FF" font-size="16">topology route + synth</text>
|
|
56
|
+
<text x="874" y="254" fill="#9DB3C7" font-size="14">width depth coupling</text>
|
|
57
|
+
|
|
58
|
+
<rect x="72" y="328" width="286" height="124" rx="20" fill="#101826" stroke="#00FFC2" stroke-width="3" filter="url(#glow)"/>
|
|
59
|
+
<text x="104" y="368" fill="#00FFC2" font-size="24" font-weight="800">SUPERMEMORY</text>
|
|
60
|
+
<text x="104" y="400" fill="#E8F8FF" font-size="16">cross-lane durable recall</text>
|
|
61
|
+
<text x="104" y="426" fill="#9DB3C7" font-size="14">facts contracts blockers</text>
|
|
62
|
+
|
|
63
|
+
<rect x="842" y="328" width="286" height="124" rx="20" fill="#101826" stroke="#FFB000" stroke-width="3" filter="url(#glow)"/>
|
|
64
|
+
<text x="874" y="368" fill="#FFB000" font-size="24" font-weight="800">NATIVE FALLBACK</text>
|
|
65
|
+
<text x="874" y="400" fill="#E8F8FF" font-size="16">safe when optional tools</text>
|
|
66
|
+
<text x="874" y="426" fill="#9DB3C7" font-size="14">are absent or disabled</text>
|
|
67
|
+
</g>
|
|
68
|
+
|
|
69
|
+
<g transform="translate(600 294)" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" text-anchor="middle">
|
|
70
|
+
<circle r="132" fill="#070B14" stroke="url(#ring)" stroke-width="4" filter="url(#glow)"/>
|
|
71
|
+
<circle r="94" fill="none" stroke="#758FA8" stroke-width="1" stroke-dasharray="7 9"/>
|
|
72
|
+
<circle r="58" fill="#101826" stroke="#FF47B2" stroke-width="3"/>
|
|
73
|
+
<text y="-18" fill="#FF47B2" font-size="22" font-weight="800">OMK CORE</text>
|
|
74
|
+
<text y="10" fill="#E8F8FF" font-size="15">intent - DAG - run</text>
|
|
75
|
+
<text y="36" fill="#00FFC2" font-size="15" font-weight="800">evidence gate</text>
|
|
76
|
+
<text x="-100" y="-84" fill="#9DB3C7" font-size="13">goal spec</text>
|
|
77
|
+
<text x="104" y="-84" fill="#9DB3C7" font-size="13">topology</text>
|
|
78
|
+
<text x="-104" y="104" fill="#9DB3C7" font-size="13">recall</text>
|
|
79
|
+
<text x="104" y="104" fill="#9DB3C7" font-size="13">fallback</text>
|
|
80
|
+
</g>
|
|
81
|
+
|
|
82
|
+
<g fill="none" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
|
|
83
|
+
<path d="M358 220 C430 220 442 206 484 226" stroke="#9D4EDD" marker-end="url(#arrowP)"/>
|
|
84
|
+
<path d="M716 226 C760 206 774 220 842 220" stroke="#00D6FF" marker-end="url(#arrow)"/>
|
|
85
|
+
<path d="M842 390 C760 390 744 386 706 370" stroke="#FFB000" marker-end="url(#arrow)"/>
|
|
86
|
+
<path d="M494 370 C452 392 424 390 358 390" stroke="#00FFC2" marker-end="url(#arrow)"/>
|
|
87
|
+
<path d="M218 328 C240 302 270 284 330 270" stroke="#00FFC2" stroke-dasharray="8 10" marker-end="url(#arrow)"/>
|
|
88
|
+
<path d="M982 286 C960 304 934 318 884 328" stroke="#FFB000" stroke-dasharray="8 10" marker-end="url(#arrow)"/>
|
|
89
|
+
</g>
|
|
90
|
+
|
|
91
|
+
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="14" font-weight="800" text-anchor="middle">
|
|
92
|
+
<rect x="398" y="444" width="404" height="32" rx="16" fill="#070B14" stroke="#00D6FF"/>
|
|
93
|
+
<text x="600" y="465" fill="#00D6FF">optional integrations are additive, scoped, and non-fatal</text>
|
|
94
|
+
</g>
|
|
95
|
+
</svg>
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<!-- derived-from: omk.theme.v1/night-city@e5daf40d789d -->
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="520" viewBox="0 0 1200 520" role="img" aria-labelledby="title desc">
|
|
3
|
+
<title id="title">OMK init to control loop</title>
|
|
4
|
+
<desc id="desc">The OMK setup path creates scoped project files, runs doctor checks, then enters the evidence-gated control loop.</desc>
|
|
5
|
+
<metadata>omk.asset.v1 name=omk-init-control-loop packaged=yes source=themes/night-city.theme.json via scripts/assets-build.mjs text=ascii</metadata>
|
|
6
|
+
<defs>
|
|
7
|
+
<linearGradient id="bg" x1="0" x2="1" y1="0" y2="1">
|
|
8
|
+
<stop offset="0" stop-color="#070B14"/>
|
|
9
|
+
<stop offset="0.46" stop-color="#101826"/>
|
|
10
|
+
<stop offset="1" stop-color="#070B14"/>
|
|
11
|
+
</linearGradient>
|
|
12
|
+
<linearGradient id="rail" x1="0" x2="1">
|
|
13
|
+
<stop offset="0" stop-color="#00D6FF"/>
|
|
14
|
+
<stop offset="0.46" stop-color="#00FFC2"/>
|
|
15
|
+
<stop offset="1" stop-color="#FF47B2"/>
|
|
16
|
+
</linearGradient>
|
|
17
|
+
<filter id="glow" x="-25%" y="-25%" width="150%" height="150%">
|
|
18
|
+
<feGaussianBlur stdDeviation="3" result="blur"/>
|
|
19
|
+
<feMerge>
|
|
20
|
+
<feMergeNode in="blur"/>
|
|
21
|
+
<feMergeNode in="SourceGraphic"/>
|
|
22
|
+
</feMerge>
|
|
23
|
+
</filter>
|
|
24
|
+
<marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="5" orient="auto">
|
|
25
|
+
<path d="M0,0 L0,10 L11,5 z" fill="#00D6FF"/>
|
|
26
|
+
</marker>
|
|
27
|
+
<marker id="arrowM" markerWidth="12" markerHeight="12" refX="10" refY="5" orient="auto">
|
|
28
|
+
<path d="M0,0 L0,10 L11,5 z" fill="#FF47B2"/>
|
|
29
|
+
</marker>
|
|
30
|
+
</defs>
|
|
31
|
+
<rect width="1200" height="520" rx="36" fill="url(#bg)"/>
|
|
32
|
+
<rect x="26" y="26" width="1148" height="468" rx="26" fill="none" stroke="url(#rail)" stroke-width="3" filter="url(#glow)"/>
|
|
33
|
+
<g opacity="0.28" stroke="#758FA8" stroke-width="1">
|
|
34
|
+
<path d="M70 144 H1130 M70 206 H1130 M70 268 H1130 M70 330 H1130 M70 392 H1130"/>
|
|
35
|
+
<path d="M150 128 V430 M270 128 V430 M390 128 V430 M510 128 V430 M630 128 V430 M750 128 V430 M870 128 V430 M990 128 V430 M1110 128 V430"/>
|
|
36
|
+
</g>
|
|
37
|
+
|
|
38
|
+
<text x="60" y="74" fill="#E8F8FF" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="34" font-weight="800">OMK//INIT TO CONTROL LOOP</text>
|
|
39
|
+
<text x="60" y="112" fill="#9DB3C7" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="18">install once; every run is scoped, measured, replayable</text>
|
|
40
|
+
|
|
41
|
+
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" text-anchor="middle">
|
|
42
|
+
<path d="M92 220 H1108" stroke="url(#rail)" stroke-width="8" stroke-linecap="round"/>
|
|
43
|
+
|
|
44
|
+
<g transform="translate(116 220)">
|
|
45
|
+
<circle r="46" fill="#070B14" stroke="#00D6FF" stroke-width="4" filter="url(#glow)"/>
|
|
46
|
+
<text y="-6" fill="#00D6FF" font-size="17" font-weight="800">npm i</text>
|
|
47
|
+
<text y="18" fill="#E8F8FF" font-size="13">package</text>
|
|
48
|
+
</g>
|
|
49
|
+
<g transform="translate(270 220)">
|
|
50
|
+
<circle r="46" fill="#070B14" stroke="#9D4EDD" stroke-width="4" filter="url(#glow)"/>
|
|
51
|
+
<text y="-6" fill="#9D4EDD" font-size="17" font-weight="800">omk init</text>
|
|
52
|
+
<text y="18" fill="#E8F8FF" font-size="13">scaffold</text>
|
|
53
|
+
</g>
|
|
54
|
+
<g transform="translate(424 220)">
|
|
55
|
+
<circle r="46" fill="#070B14" stroke="#FFB000" stroke-width="4" filter="url(#glow)"/>
|
|
56
|
+
<text y="-6" fill="#FFB000" font-size="17" font-weight="800">doctor</text>
|
|
57
|
+
<text y="18" fill="#E8F8FF" font-size="13">preflight</text>
|
|
58
|
+
</g>
|
|
59
|
+
<g transform="translate(578 220)">
|
|
60
|
+
<circle r="46" fill="#070B14" stroke="#00FFC2" stroke-width="4" filter="url(#glow)"/>
|
|
61
|
+
<text y="-6" fill="#00FFC2" font-size="17" font-weight="800">chat/run</text>
|
|
62
|
+
<text y="18" fill="#E8F8FF" font-size="13">goal input</text>
|
|
63
|
+
</g>
|
|
64
|
+
<g transform="translate(732 220)">
|
|
65
|
+
<circle r="46" fill="#070B14" stroke="#00D6FF" stroke-width="4" filter="url(#glow)"/>
|
|
66
|
+
<text y="-6" fill="#00D6FF" font-size="17" font-weight="800">DAG</text>
|
|
67
|
+
<text y="18" fill="#E8F8FF" font-size="13">compile</text>
|
|
68
|
+
</g>
|
|
69
|
+
<g transform="translate(886 220)">
|
|
70
|
+
<circle r="46" fill="#070B14" stroke="#FF47B2" stroke-width="4" filter="url(#glow)"/>
|
|
71
|
+
<text y="-6" fill="#FF47B2" font-size="17" font-weight="800">router</text>
|
|
72
|
+
<text y="18" fill="#E8F8FF" font-size="13">workers</text>
|
|
73
|
+
</g>
|
|
74
|
+
<g transform="translate(1040 220)">
|
|
75
|
+
<circle r="46" fill="#070B14" stroke="#00FFC2" stroke-width="4" filter="url(#glow)"/>
|
|
76
|
+
<text y="-6" fill="#00FFC2" font-size="17" font-weight="800">verify</text>
|
|
77
|
+
<text y="18" fill="#E8F8FF" font-size="13">replay</text>
|
|
78
|
+
</g>
|
|
79
|
+
</g>
|
|
80
|
+
|
|
81
|
+
<g fill="none" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
|
|
82
|
+
<path d="M162 220 H218" stroke="#00D6FF" marker-end="url(#arrow)"/>
|
|
83
|
+
<path d="M316 220 H372" stroke="#9D4EDD" marker-end="url(#arrow)"/>
|
|
84
|
+
<path d="M470 220 H526" stroke="#FFB000" marker-end="url(#arrow)"/>
|
|
85
|
+
<path d="M624 220 H680" stroke="#00FFC2" marker-end="url(#arrow)"/>
|
|
86
|
+
<path d="M778 220 H834" stroke="#00D6FF" marker-end="url(#arrow)"/>
|
|
87
|
+
<path d="M932 220 H988" stroke="#FF47B2" marker-end="url(#arrowM)"/>
|
|
88
|
+
</g>
|
|
89
|
+
|
|
90
|
+
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace">
|
|
91
|
+
<rect x="76" y="318" width="330" height="124" rx="20" fill="#101826" stroke="#9D4EDD" stroke-width="2"/>
|
|
92
|
+
<text x="106" y="354" fill="#9D4EDD" font-size="20" font-weight="800">INIT WRITES</text>
|
|
93
|
+
<text x="106" y="382" fill="#E8F8FF" font-size="15">AGENTS.md + runtime docs</text>
|
|
94
|
+
<text x="106" y="406" fill="#E8F8FF" font-size="15">.omk/mcp.json + skills</text>
|
|
95
|
+
<text x="106" y="430" fill="#9DB3C7" font-size="14">project-scoped defaults</text>
|
|
96
|
+
|
|
97
|
+
<rect x="436" y="318" width="330" height="124" rx="20" fill="#101826" stroke="#00D6FF" stroke-width="2"/>
|
|
98
|
+
<text x="466" y="354" fill="#00D6FF" font-size="20" font-weight="800">CONTROL STATE</text>
|
|
99
|
+
<text x="466" y="382" fill="#E8F8FF" font-size="15">provider route + fallback</text>
|
|
100
|
+
<text x="466" y="406" fill="#E8F8FF" font-size="15">MCP scope + approvals</text>
|
|
101
|
+
<text x="466" y="430" fill="#9DB3C7" font-size="14">timeouts, sandbox, run id</text>
|
|
102
|
+
|
|
103
|
+
<rect x="796" y="318" width="330" height="124" rx="20" fill="#101826" stroke="#00FFC2" stroke-width="2"/>
|
|
104
|
+
<text x="826" y="354" fill="#00FFC2" font-size="20" font-weight="800">PROOF SURFACE</text>
|
|
105
|
+
<text x="826" y="382" fill="#E8F8FF" font-size="15">commands, diffs, artifacts</text>
|
|
106
|
+
<text x="826" y="406" fill="#E8F8FF" font-size="15">verify gates + replay logs</text>
|
|
107
|
+
<text x="826" y="430" fill="#9DB3C7" font-size="14">claims require evidence</text>
|
|
108
|
+
</g>
|
|
109
|
+
|
|
110
|
+
<g fill="none" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" opacity="0.92">
|
|
111
|
+
<path d="M272 318 C272 278 270 278 270 266" stroke="#9D4EDD" marker-end="url(#arrow)"/>
|
|
112
|
+
<path d="M600 318 C600 282 584 276 584 266" stroke="#00D6FF" marker-end="url(#arrow)"/>
|
|
113
|
+
<path d="M960 318 C1016 292 1038 278 1038 266" stroke="#00FFC2" marker-end="url(#arrow)"/>
|
|
114
|
+
<path d="M1038 442 C1038 482 176 482 176 266" stroke="#FF47B2" stroke-dasharray="10 12" marker-end="url(#arrowM)"/>
|
|
115
|
+
</g>
|
|
116
|
+
|
|
117
|
+
<text x="600" y="482" fill="#9DB3C7" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="17" text-anchor="middle">The loop never trusts narration alone: route, execute, collect, verify, replay.</text>
|
|
118
|
+
</svg>
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
<!-- derived-from: omk.theme.v1/night-city@e5daf40d789d -->
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="520" viewBox="0 0 1200 520" role="img" aria-labelledby="title desc">
|
|
3
|
+
<title id="title">OMK parallel subagents</title>
|
|
4
|
+
<desc id="desc">OMK root control fans out scoped subagent lanes, collects evidence, then synthesizes and verifies the result.</desc>
|
|
5
|
+
<metadata>omk.asset.v1 name=omk-parallel-subagents packaged=yes source=themes/night-city.theme.json via scripts/assets-build.mjs text=ascii</metadata>
|
|
6
|
+
<defs>
|
|
7
|
+
<linearGradient id="bg" x1="0" x2="1" y1="0" y2="1">
|
|
8
|
+
<stop offset="0" stop-color="#070B14"/>
|
|
9
|
+
<stop offset="0.48" stop-color="#101826"/>
|
|
10
|
+
<stop offset="1" stop-color="#070B14"/>
|
|
11
|
+
</linearGradient>
|
|
12
|
+
<linearGradient id="neon" x1="0" x2="1">
|
|
13
|
+
<stop offset="0" stop-color="#00D6FF"/>
|
|
14
|
+
<stop offset="0.5" stop-color="#00FFC2"/>
|
|
15
|
+
<stop offset="1" stop-color="#FF47B2"/>
|
|
16
|
+
</linearGradient>
|
|
17
|
+
<filter id="glow" x="-25%" y="-25%" width="150%" height="150%">
|
|
18
|
+
<feGaussianBlur stdDeviation="3" result="blur"/>
|
|
19
|
+
<feMerge>
|
|
20
|
+
<feMergeNode in="blur"/>
|
|
21
|
+
<feMergeNode in="SourceGraphic"/>
|
|
22
|
+
</feMerge>
|
|
23
|
+
</filter>
|
|
24
|
+
<marker id="arrowC" markerWidth="12" markerHeight="12" refX="10" refY="5" orient="auto">
|
|
25
|
+
<path d="M0,0 L0,10 L11,5 z" fill="#00D6FF"/>
|
|
26
|
+
</marker>
|
|
27
|
+
<marker id="arrowM" markerWidth="12" markerHeight="12" refX="10" refY="5" orient="auto">
|
|
28
|
+
<path d="M0,0 L0,10 L11,5 z" fill="#FF47B2"/>
|
|
29
|
+
</marker>
|
|
30
|
+
</defs>
|
|
31
|
+
<rect width="1200" height="520" rx="36" fill="url(#bg)"/>
|
|
32
|
+
<rect x="26" y="26" width="1148" height="468" rx="26" fill="none" stroke="url(#neon)" stroke-width="3" filter="url(#glow)"/>
|
|
33
|
+
<g opacity="0.36" stroke="#758FA8" stroke-width="1">
|
|
34
|
+
<path d="M64 142 H1136 M64 190 H1136 M64 238 H1136 M64 286 H1136 M64 334 H1136 M64 382 H1136"/>
|
|
35
|
+
<path d="M112 118 V420 M208 118 V420 M304 118 V420 M400 118 V420 M496 118 V420 M592 118 V420 M688 118 V420 M784 118 V420 M880 118 V420 M976 118 V420 M1072 118 V420"/>
|
|
36
|
+
</g>
|
|
37
|
+
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="12" fill="#00FFC2" opacity="0.24">
|
|
38
|
+
<text x="76" y="164">0101 1010 0011</text>
|
|
39
|
+
<text x="970" y="154">1011 0100 1110</text>
|
|
40
|
+
<text x="994" y="376">0010 1111 0101</text>
|
|
41
|
+
<text x="108" y="404">1100 0011 1001</text>
|
|
42
|
+
</g>
|
|
43
|
+
|
|
44
|
+
<text x="60" y="74" fill="#E8F8FF" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="34" font-weight="800">OMK//PARALLEL SUBAGENTS</text>
|
|
45
|
+
<text x="60" y="112" fill="#9DB3C7" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="18">root orchestrator fans out scoped lanes, then merges evidence</text>
|
|
46
|
+
|
|
47
|
+
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace">
|
|
48
|
+
<rect x="60" y="184" width="218" height="168" rx="20" fill="#101826" stroke="#00D6FF" stroke-width="3" filter="url(#glow)"/>
|
|
49
|
+
<text x="88" y="226" fill="#00D6FF" font-size="24" font-weight="800">ROOT CONTROL</text>
|
|
50
|
+
<text x="88" y="258" fill="#E8F8FF" font-size="16">goal - DAG - budget</text>
|
|
51
|
+
<text x="88" y="286" fill="#9DB3C7" font-size="15">scope every lane</text>
|
|
52
|
+
<text x="88" y="314" fill="#9DB3C7" font-size="15">own synthesis</text>
|
|
53
|
+
|
|
54
|
+
<rect x="352" y="138" width="218" height="104" rx="16" fill="#101826" stroke="#00D6FF" stroke-width="2"/>
|
|
55
|
+
<text x="376" y="171" fill="#00D6FF" font-size="20" font-weight="800">EXPLORER</text>
|
|
56
|
+
<text x="376" y="199" fill="#E8F8FF" font-size="15">read-only map</text>
|
|
57
|
+
<text x="376" y="222" fill="#9DB3C7" font-size="13">MCP: fs + git</text>
|
|
58
|
+
|
|
59
|
+
<rect x="630" y="138" width="218" height="104" rx="16" fill="#101826" stroke="#9D4EDD" stroke-width="2"/>
|
|
60
|
+
<text x="654" y="171" fill="#9D4EDD" font-size="20" font-weight="800">PLANNER</text>
|
|
61
|
+
<text x="654" y="199" fill="#E8F8FF" font-size="15">topology + risk</text>
|
|
62
|
+
<text x="654" y="222" fill="#9DB3C7" font-size="13">AUTH: advisory</text>
|
|
63
|
+
|
|
64
|
+
<rect x="352" y="280" width="218" height="104" rx="16" fill="#101826" stroke="#00FFC2" stroke-width="2"/>
|
|
65
|
+
<text x="376" y="313" fill="#00FFC2" font-size="20" font-weight="800">CODER</text>
|
|
66
|
+
<text x="376" y="341" fill="#E8F8FF" font-size="15">disjoint files</text>
|
|
67
|
+
<text x="376" y="364" fill="#9DB3C7" font-size="13">AUTH: scoped write</text>
|
|
68
|
+
|
|
69
|
+
<rect x="630" y="280" width="218" height="104" rx="16" fill="#101826" stroke="#FFB000" stroke-width="2"/>
|
|
70
|
+
<text x="654" y="313" fill="#FFB000" font-size="20" font-weight="800">QA + REVIEW</text>
|
|
71
|
+
<text x="654" y="341" fill="#E8F8FF" font-size="15">parallel gates</text>
|
|
72
|
+
<text x="654" y="364" fill="#9DB3C7" font-size="13">AUTH: read + test</text>
|
|
73
|
+
|
|
74
|
+
<rect x="928" y="168" width="214" height="198" rx="22" fill="#101826" stroke="#FF47B2" stroke-width="3" filter="url(#glow)"/>
|
|
75
|
+
<text x="958" y="211" fill="#FF47B2" font-size="23" font-weight="800">SYNTHESIS</text>
|
|
76
|
+
<text x="958" y="244" fill="#E8F8FF" font-size="16">merge findings</text>
|
|
77
|
+
<text x="958" y="272" fill="#E8F8FF" font-size="16">verify evidence</text>
|
|
78
|
+
<text x="958" y="300" fill="#E8F8FF" font-size="16">replay inspect</text>
|
|
79
|
+
<rect x="958" y="322" width="146" height="22" rx="11" fill="#070B14" stroke="#00FFC2"/>
|
|
80
|
+
<text x="981" y="338" fill="#00FFC2" font-size="13" font-weight="800">DONE NEEDS PROOF</text>
|
|
81
|
+
</g>
|
|
82
|
+
|
|
83
|
+
<g fill="none" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" opacity="0.92">
|
|
84
|
+
<path d="M278 250 C314 250 316 190 346 190" stroke="#00D6FF" marker-end="url(#arrowC)"/>
|
|
85
|
+
<path d="M278 250 C314 250 316 332 346 332" stroke="#00FFC2" marker-end="url(#arrowC)"/>
|
|
86
|
+
<path d="M570 190 H624" stroke="#9D4EDD" marker-end="url(#arrowC)"/>
|
|
87
|
+
<path d="M570 332 H624" stroke="#FFB000" marker-end="url(#arrowC)"/>
|
|
88
|
+
<path d="M848 190 C888 190 888 236 922 236" stroke="#FF47B2" marker-end="url(#arrowM)"/>
|
|
89
|
+
<path d="M848 332 C888 332 888 296 922 296" stroke="#FF47B2" marker-end="url(#arrowM)"/>
|
|
90
|
+
</g>
|
|
91
|
+
|
|
92
|
+
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="14" font-weight="800" text-anchor="middle">
|
|
93
|
+
<rect x="378" y="424" width="444" height="32" rx="16" fill="#070B14" stroke="#00D6FF"/>
|
|
94
|
+
<text x="600" y="445" fill="#00D6FF">OMK_WORKERS caps fanout; every lane returns artifacts</text>
|
|
95
|
+
</g>
|
|
96
|
+
<text x="600" y="482" fill="#9DB3C7" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="17" text-anchor="middle">Workers execute. OMK controls route, scope, evidence, and final authority.</text>
|
|
97
|
+
</svg>
|