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.
Files changed (162) hide show
  1. package/AGENTS.md +131 -2
  2. package/CHANGELOG.md +32 -0
  3. package/CLAUDE.md +105 -3
  4. package/DESIGN.md +141 -117
  5. package/MATURITY.md +7 -12
  6. package/README.md +66 -347
  7. package/ROADMAP.md +33 -47
  8. package/dist/adapters/kimi/runner.js +2 -2
  9. package/dist/brand/theme.js +2 -2
  10. package/dist/cli/register-basic-commands.js +3 -2
  11. package/dist/cli/register-mcp-dag-cron-screenshot-commands.js +1 -1
  12. package/dist/cli/root.d.ts +1 -0
  13. package/dist/cli/root.js +2 -0
  14. package/dist/cli/runtime/command-bus.js +14 -1
  15. package/dist/cli/theme/terminal-capability.js +1 -1
  16. package/dist/cli/theme/theme-registry.js +90 -2
  17. package/dist/cli/ui/event.d.ts +1 -0
  18. package/dist/cli/ui/neon-grid-renderer.d.ts +8 -0
  19. package/dist/cli/ui/neon-grid-renderer.js +84 -14
  20. package/dist/cli/ui/plain-renderer.js +3 -1
  21. package/dist/cli/ui/system24-renderer.js +3 -1
  22. package/dist/cli/v2/chat-repl.d.ts +2 -1
  23. package/dist/cli/v2/chat-repl.js +58 -2
  24. package/dist/cli/v2/cli-v2-skeleton.js +7 -4
  25. package/dist/cli/v2/interactive-prompt.js +4 -3
  26. package/dist/commands/auth.js +2 -0
  27. package/dist/commands/chat/native-root-loop.d.ts +1 -0
  28. package/dist/commands/chat/native-root-loop.js +162 -13
  29. package/dist/commands/chat/runtime.js +9 -0
  30. package/dist/commands/chat/slash/commands/routing.js +31 -1
  31. package/dist/commands/chat/utils.js +3 -1
  32. package/dist/commands/cockpit/render.js +2 -1
  33. package/dist/commands/doctor/checks.js +2 -2
  34. package/dist/commands/init/core.js +2 -2
  35. package/dist/commands/init.js +2 -2
  36. package/dist/commands/mcp/config.js +38 -16
  37. package/dist/commands/mcp/doctor.js +7 -8
  38. package/dist/commands/mcp/list.js +4 -3
  39. package/dist/commands/mcp/shared.d.ts +4 -1
  40. package/dist/commands/mcp/shared.js +21 -3
  41. package/dist/commands/mcp/test.js +13 -12
  42. package/dist/commands/model.js +4 -0
  43. package/dist/commands/provider.js +5 -1
  44. package/dist/commands/version.d.ts +1 -0
  45. package/dist/commands/version.js +18 -0
  46. package/dist/contracts/command.d.ts +25 -0
  47. package/dist/contracts/command.js +1 -0
  48. package/dist/contracts/evidence-bundle.d.ts +52 -0
  49. package/dist/contracts/evidence-bundle.js +1 -0
  50. package/dist/contracts/index.d.ts +2 -0
  51. package/dist/contracts/index.js +2 -0
  52. package/dist/contracts/web-bridge.d.ts +1 -1
  53. package/dist/contracts/web-bridge.js +1 -1
  54. package/dist/evidence/bundle-validator.d.ts +7 -0
  55. package/dist/evidence/bundle-validator.js +103 -0
  56. package/dist/evidence/index.d.ts +5 -0
  57. package/dist/evidence/index.js +2 -0
  58. package/dist/evidence/proof-trust.js +2 -10
  59. package/dist/evidence/trust-calibration.d.ts +25 -0
  60. package/dist/evidence/trust-calibration.js +151 -0
  61. package/dist/mcp/omk-project-server.js +1 -1
  62. package/dist/metrics/provenance-ratio.d.ts +16 -0
  63. package/dist/metrics/provenance-ratio.js +33 -0
  64. package/dist/orchestration/dag.d.ts +17 -0
  65. package/dist/orchestration/ensemble-decision.d.ts +2 -0
  66. package/dist/orchestration/ensemble-decision.js +4 -0
  67. package/dist/orchestration/hedge-persona-weights.d.ts +25 -0
  68. package/dist/orchestration/hedge-persona-weights.js +43 -0
  69. package/dist/orchestration/parallel-ui.d.ts +1 -0
  70. package/dist/orchestration/parallel-ui.js +12 -3
  71. package/dist/orchestration/route-calibration.d.ts +27 -0
  72. package/dist/orchestration/route-calibration.js +123 -0
  73. package/dist/orchestration/routing/mcp-config.js +5 -1
  74. package/dist/orchestration/routing/types.d.ts +21 -0
  75. package/dist/orchestration/routing.d.ts +10 -0
  76. package/dist/orchestration/routing.js +89 -3
  77. package/dist/providers/model-registry.d.ts +2 -1
  78. package/dist/providers/model-registry.js +76 -4
  79. package/dist/providers/provider-runtime.js +9 -1
  80. package/dist/providers/thinking-levels.js +2 -0
  81. package/dist/providers/types.d.ts +1 -1
  82. package/dist/runtime/glm-api-runtime.d.ts +4 -0
  83. package/dist/runtime/glm-api-runtime.js +15 -0
  84. package/dist/runtime/index.d.ts +1 -0
  85. package/dist/runtime/index.js +1 -0
  86. package/dist/runtime/kimi-api-runtime.d.ts +6 -1
  87. package/dist/runtime/kimi-api-runtime.js +10 -4
  88. package/dist/runtime/recovery-artifact-store.d.ts +39 -0
  89. package/dist/runtime/recovery-artifact-store.js +111 -0
  90. package/dist/runtime/runtime-backed-task-runner.js +10 -0
  91. package/dist/runtime/runtime-bootstrap.js +17 -1
  92. package/dist/runtime/slash-commands.js +38 -5
  93. package/dist/schema/command.schema.d.ts +121 -0
  94. package/dist/schema/command.schema.js +25 -0
  95. package/dist/schema/envelope.schema.d.ts +2 -2
  96. package/dist/schema/evidence-bundle.schema.d.ts +196 -0
  97. package/dist/schema/evidence-bundle.schema.js +38 -0
  98. package/dist/schema/index.d.ts +2 -0
  99. package/dist/schema/index.js +2 -0
  100. package/dist/schema/proof-bundle.schema.d.ts +2 -2
  101. package/dist/theme/external-theme-adapters.d.ts +27 -0
  102. package/dist/theme/external-theme-adapters.js +52 -0
  103. package/dist/theme/library-effects.d.ts +12 -0
  104. package/dist/theme/library-effects.js +47 -0
  105. package/dist/theme/parallel.js +3 -2
  106. package/dist/tui/terminal-frame-renderer.d.ts +9 -1
  107. package/dist/tui/terminal-frame-renderer.js +77 -7
  108. package/dist/util/chat-cockpit.d.ts +3 -1
  109. package/dist/util/chat-cockpit.js +44 -5
  110. package/dist/util/command-envelope.d.ts +19 -0
  111. package/dist/util/command-envelope.js +31 -0
  112. package/dist/util/events-logger.d.ts +1 -1
  113. package/dist/util/events-logger.js +23 -16
  114. package/dist/util/fs/mcp-diagnose.js +2 -1
  115. package/dist/util/fs/mcp-runtime-config.js +14 -2
  116. package/dist/util/i18n.js +2 -2
  117. package/dist/util/screenshot-store.d.ts +7 -0
  118. package/dist/util/screenshot-store.js +30 -0
  119. package/dist/util/terminal-kit-bridge.d.ts +24 -0
  120. package/dist/util/terminal-kit-bridge.js +60 -0
  121. package/dist/util/terminal-owner.d.ts +1 -0
  122. package/dist/util/terminal-owner.js +31 -0
  123. package/dist/version.d.ts +3 -1
  124. package/dist/version.js +4 -0
  125. package/docs/2026-05-18-project-direction.md +1 -1
  126. package/docs/2026-06-14/critical-issues.md +19 -0
  127. package/docs/2026-06-14/improvements.md +15 -0
  128. package/docs/2026-06-14/init-checklist.md +25 -0
  129. package/docs/2026-06-14/plan.md +20 -0
  130. package/docs/2026-06-15/critical-issues.md +19 -0
  131. package/docs/2026-06-15/improvements.md +15 -0
  132. package/docs/2026-06-15/init-checklist.md +25 -0
  133. package/docs/2026-06-15/plan.md +20 -0
  134. package/docs/claims.md +85 -0
  135. package/docs/comparisons/omk-vs-claude-code.md +31 -0
  136. package/docs/comparisons/omk-vs-codex.md +33 -0
  137. package/docs/comparisons/omk-vs-mcp-agent.md +33 -0
  138. package/docs/comparisons/omk-vs-opencode.md +32 -0
  139. package/docs/decision-layer-calibration.md +20 -0
  140. package/docs/geo-eval-prompts.md +53 -0
  141. package/docs/getting-started.md +3 -31
  142. package/docs/headroom-omk-setup-guide.md +2 -2
  143. package/docs/integrations/adaptorch.md +46 -0
  144. package/docs/native-root-runtime-algorithms.md +2 -303
  145. package/docs/native-root-runtime-hardening.md +1 -1
  146. package/docs/provider-maturity.md +1 -1
  147. package/docs/use-cases/evidence-gated-coding-agents.md +52 -0
  148. package/docs/use-cases/no-kimi-mode.md +38 -0
  149. package/docs/use-cases/provider-routing-for-ai-coding.md +36 -0
  150. package/docs/use-cases/replayable-agent-runs.md +40 -0
  151. package/docs/use-cases/scoped-mcp-for-coding-agents.md +34 -0
  152. package/docs/versioning.md +9 -3
  153. package/docs/what-is-omk.md +64 -0
  154. package/llms.txt +28 -18
  155. package/package.json +7 -2
  156. package/readmeasset/.npmignore +3 -0
  157. package/readmeasset/ASSET_INDEX.md +3 -0
  158. package/readmeasset/ASSET_PROVENANCE.md +6 -0
  159. package/readmeasset/omk-adaptorch-ouroboros-supermemory.svg +95 -0
  160. package/readmeasset/omk-init-control-loop.svg +118 -0
  161. package/readmeasset/omk-parallel-subagents.svg +97 -0
  162. package/templates/web-bridge/chrome-extension/background.js +1 -1
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: `docs/OMK_CLI_V2_RUNTIME_ARCHITECTURE.md` (2058 lines), ~85% implemented.
28
+ - Architecture doc: `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
  ---
@@ -159,6 +159,135 @@ When `--max-steps-per-turn` is set (e.g. via `omk chat --max-steps-per-turn <n>`
159
159
 
160
160
  ---
161
161
 
162
+ ## Parallel Subagent Orchestration (Goal → DAG → Lanes → Evidence → Synthesis)
163
+
164
+ You are the **root orchestrator**. You do not do all the work yourself; you decompose a
165
+ `goal` into a DAG, fan it out to parallel subagent lanes, and own routing, resource
166
+ assignment, evidence collection, and final synthesis. Workers execute; the orchestrator
167
+ decides.
168
+
169
+ ### Orchestration loop
170
+
171
+ ```txt
172
+ 1. Intake capture the goal + success criteria (use Ouroboros to crystallize if vague)
173
+ 2. Decompose build a task DAG (nodes, dependencies, risk, read/write authority)
174
+ 3. Route pick topology + per-lane provider/runtime (use Adaptorch route)
175
+ 4. Provision assign each lane its skills, hooks, MCP servers, acceptance criteria
176
+ 5. Dispatch run independent lanes in parallel up to OMK_WORKERS
177
+ 6. Collect gather per-lane evidence (diffs, test/build output, citations)
178
+ 7. Synthesize merge lane outputs into one consistent result (use Adaptorch synthesize)
179
+ 8. Verify run quality gates; replan failed lanes; persist memory
180
+ ```
181
+
182
+ ### Per-lane provisioning contract
183
+
184
+ Every dispatched subagent MUST receive an explicit, minimal grant. Never give a lane more
185
+ authority than its task needs.
186
+
187
+ ```txt
188
+ Lane: <id> (e.g. explore-auth, impl-router, review-security)
189
+ Role: explorer | planner | coder | reviewer | qa | security | docs
190
+ Goal: one sentence, verifiable
191
+ Scope: allowed files/directories only
192
+ Skills: only the SKILL.md entrypoints this lane needs
193
+ Hooks: pre/post hooks this lane must respect (e.g. secret-guard, format)
194
+ MCP: only the MCP servers this lane may call
195
+ Provider/Runtime: authority for this lane (read-only lanes stay read-only)
196
+ Acceptance: explicit pass criteria
197
+ Evidence output: path under .omk/runs/<run-id>/ for diffs, logs, citations
198
+ Constraints: preserve concurrent edits; do not touch out-of-scope files
199
+ ```
200
+
201
+ ### Lane authority rules
202
+
203
+ * Read-only lanes (explorer, researcher, reviewer, qa) get read/advisory authority only.
204
+ * Write/shell/merge authority stays on the authority provider and is granted per-lane,
205
+ never globally.
206
+ * Two lanes must not write the same files concurrently. Split scope or sequence them.
207
+ * Respect `OMK_WORKERS`: never spawn more parallel lanes than the configured budget.
208
+ * Every lane must return evidence; a lane with no evidence is treated as failed.
209
+
210
+ ### Adaptorch — topology routing + adaptive synthesis
211
+
212
+ Use Adaptorch for DAG-aware execution planning and consistency-verified merge.
213
+
214
+ * Skills: `adaptorch-route` (analyze DAG width/depth/coupling → recommend topology),
215
+ `adaptorch-synthesize` (topology-aware routing + adaptive synthesis across lanes),
216
+ `adaptorch-benchmark` (compare orchestration strategies when measuring quality).
217
+ * MCP: `adaptorch` (dev) / `adaptorch-prod` (prod reliability kernel).
218
+ * Use `adaptorch-route` before fanning out a complex DAG; use `adaptorch-synthesize`
219
+ when merging multiple lane outputs that must stay mutually consistent.
220
+
221
+ ### Ouroboros — goal lifecycle and evolutionary loop
222
+
223
+ Use Ouroboros to turn vague requests into a runnable, verifiable goal and to iterate.
224
+
225
+ * Skills: `interview`/`pm` (crystallize requirements), `seed` (validated spec),
226
+ `run` (execute spec), `evaluate`/`qa` (three-stage verification),
227
+ `evolve`/`auto` (iterate to A-grade), `status` (goal drift), `resume-session`.
228
+ * MCP: `ouroboros`.
229
+ * Use Ouroboros when the goal is ambiguous, long-horizon, or needs drift tracking and
230
+ replanning across turns.
231
+
232
+ ### Supermemory — cross-lane and cross-session memory
233
+
234
+ Use Supermemory as shared, durable memory for the orchestrator and lanes.
235
+
236
+ * MCP: `supermemory`.
237
+ * Write stable facts (decisions, contracts, blockers, goal state) so parallel lanes and
238
+ future sessions recall them instead of re-deriving context.
239
+ * Project-local graph memory (`omk_write_memory`, `omk_graph_query`) remains the default
240
+ source of truth; Supermemory is the cross-session/cross-project layer.
241
+ * Never store secrets, tokens, or private credentials in any memory layer.
242
+
243
+ ### Parallel execution patterns
244
+
245
+ Fan out only **independent** work. Prefer these proven shapes:
246
+
247
+ * **Parallel research** — N read-only explorer/researcher lanes investigate disjoint
248
+ questions or modules, then one lane synthesizes.
249
+ * **Parallel file operations** — each coder lane owns a disjoint file set; never two
250
+ writers on the same file. Split by directory/module boundary.
251
+ * **Parallel explore + build** — explorer maps the codebase while a planner drafts the
252
+ approach; converge before coding.
253
+ * **Parallel verification** — reviewer, qa, and security lanes audit the same diff
254
+ concurrently from different angles.
255
+
256
+ Dispatch discipline (search-first, domain-split):
257
+
258
+ ```txt
259
+ 1. Search/recall memory first (supermemory + project graph) to avoid re-deriving context
260
+ 2. Anchor the goal; analyze it into independent domains/lanes
261
+ 3. One subtask per domain, each with its own provisioning contract
262
+ 4. Run independent lanes in parallel (≤ OMK_WORKERS); sequence dependent ones
263
+ 5. Persist domain analysis + decisions to memory so lanes/sessions share them
264
+ ```
265
+
266
+ ### When NOT to parallelize
267
+
268
+ * Tasks with tight data dependencies (output of A is input of B) — sequence them.
269
+ * Multiple writers touching the same files — serialize or re-split scope.
270
+ * Trivial single-step tasks — the orchestration overhead is not worth it.
271
+ * When `OMK_WORKERS=1` — run lanes sequentially.
272
+
273
+ ### Orchestration guardrails
274
+
275
+ * Decompose first, read targeted files second — do not dump the whole repo into context.
276
+ * Keep evidence under `.omk/runs/<run-id>/` or `.omk/goals/<goal-id>/`.
277
+ * Prefer small, reviewable per-lane diffs; integrate via a reviewer/qa lane before done.
278
+ * Do not claim success until lane evidence and quality gates confirm it.
279
+
280
+ ### References (external patterns this section draws on)
281
+
282
+ * `github/awesome-copilot` — agents and subagents guidance
283
+ * `microsoft/vscode-docs` — subagents docs
284
+ * `cloudflare/cloudflare-docs` — sub-agent runtime execution
285
+ * `lastmile-ai/mcp-agent` — MCP agent core components
286
+ * `teren-papercutlabs/pcl-workshop` — parallel-subagents technique
287
+ * `vincents-ai/engram` — dispatching parallel agents (search-first, domain-split, memory)
288
+
289
+ ---
290
+
162
291
  ## Skills Policy
163
292
 
164
293
  Before starting, inspect the loaded skills list.
@@ -304,7 +433,7 @@ test/v2-regression.test.mjs # 10 regression tests
304
433
 
305
434
  ## Okabe / D-Mail Policy
306
435
 
307
- This project is a provider-neutral agent runtime for coding workflows. Generated agents should inherit the Okabe-compatible base agent so the `SendDMail` tool is available. Use Okabe smart context management plus D-Mail checkpoints before risky refactors, context compaction, multi-agent handoffs, or rollback-prone work. D-Mail notes should be concise recovery records: current goal, changed files, verification state, blockers, and intended next action.
436
+ This project is a provider-neutral agent runtime for coding workflows, originally built with deep Kimi integration. Generated agents should inherit the Okabe-compatible base agent so the `SendDMail` tool is available. Use Okabe smart context management plus D-Mail checkpoints before risky refactors, context compaction, multi-agent handoffs, or rollback-prone work. D-Mail notes should be concise recovery records: current goal, changed files, verification state, blockers, and intended next action.
308
437
 
309
438
  ## Context Policy
310
439
 
package/CHANGELOG.md CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## v0.79.3 — GLM 5.2 max thinking, scroll-safe TTY, and OSS CLI polish (2026-06-15)
6
+
7
+ ### Added
8
+
9
+ - Added direct GLM provider support with `glm-5.2` alias resolution, `BIGMODEL_API_KEY` / `GLM_API_KEY` runtime bootstrap, and `max` thinking support.
10
+ - Added theme-library adapters for `chalk-animation`, `ink-gradient`, and `terminal-kit` capability metadata.
11
+
12
+ ### Changed
13
+
14
+ - Improved `/model` → thinking selection UX and made `/think` list choices by default, with `/think next` reserved for cycling.
15
+ - Made default terminal/chat rendering scroll-safe by avoiding alternate-screen, sticky scroll-region, cursor-home, and async repaint controls unless explicitly opted in.
16
+ - Reworded remaining legacy user-facing identity strings toward the public `omk` surface.
17
+
18
+ ### Fixed
19
+
20
+ - Normalized GLM shorthand forms such as `glm5.2max`, `glm 5.2 max`, and `zai/glm5.2` to the real `glm-5.2` model plus thinking metadata instead of custom fallback model IDs.
21
+ - Fixed terminal drag/select/scroll jump regressions in default renderer paths.
22
+ - Avoided slow latest-run scanning during quick cockpit renders when no run id is specified.
23
+
24
+ ## v0.78.9 — Landing conversion, GEO canonical docs, and metadata consistency (2026-06-13)
25
+
26
+ ### Added
27
+
28
+ - Canonical generative-engine (GEO) source docs: `docs/what-is-omk.md`, `docs/use-cases/*`, `docs/comparisons/*`, `docs/claims.md`, and `docs/geo-eval-prompts.md`.
29
+ - Release-risk showcase under `examples/showcase/` with an evidence-honest dry-run shape.
30
+
31
+ ### Changed
32
+
33
+ - Reworked the README first screen for conversion: user-outcome lead, 30-second `omk do --dry-run --json` demo with real artifact names, comparison table, use-case list, and community links.
34
+ - Aligned `llms.txt` with the canonical definition and the new GEO docs.
35
+ - Normalized license/repository metadata to MIT and `dmae97/open-multi-agent-kit`, and aligned current-version references to `0.78.9`.
36
+
5
37
  ## v0.78.8 — persona-token surface cleanup and CI-gated hotfix (2026-06-11)
6
38
 
7
39
  ### Fixed
package/CLAUDE.md CHANGED
@@ -3,6 +3,108 @@
3
3
  @./AGENTS.md
4
4
  @./DESIGN.md
5
5
 
6
- Use AGENTS.md as the canonical project instruction source, including current OMK skills, MCP, agents, and harness policy.
7
- Use DESIGN.md for UI/frontend work.
8
- Do not duplicate runtime inventories; follow AGENTS.md and `chat-agent-harness.json` when present.
6
+ AGENTS.md is the canonical source for project rules, skills, MCP, hooks, harness, and the
7
+ full orchestration policy. DESIGN.md governs UI/frontend work. This file is the high-signal
8
+ entry point: it sets your role and the engineering bar. Do not duplicate runtime
9
+ inventories — follow AGENTS.md and `chat-agent-harness.json` when present.
10
+
11
+ ---
12
+
13
+ ## Role: Root Orchestrator + Staff-level SWE
14
+
15
+ You are the root orchestrator for this OMK project and a staff-level software engineer.
16
+ You decompose and route; subagents execute. Model every non-trivial task as:
17
+
18
+ ```txt
19
+ goal → DAG → parallel lanes → evidence → synthesis → verify
20
+ ```
21
+
22
+ - Decompose the goal into a task DAG (nodes, dependencies, risk, read/write authority).
23
+ - Fan out independent lanes in parallel, up to `OMK_WORKERS`.
24
+ - Provision each lane explicitly with only what it needs.
25
+ - Collect per-lane evidence, synthesize a consistent result, run quality gates, report.
26
+
27
+ ---
28
+
29
+ ## SWE Excellence Bar (non-negotiable)
30
+
31
+ 1. **Correctness first.** Understand existing conventions before editing. Make the
32
+ smallest change that fully solves the problem.
33
+ 2. **Strong types.** TypeScript strict; avoid `any` (use `unknown` + narrowing). Explicit
34
+ return types on exported functions. Do not weaken types to pass a build.
35
+ 3. **Tests are evidence.** Add/adjust tests for behavior changes. Never delete tests to go
36
+ green. "Tests passed" is only valid if tests actually ran.
37
+ 4. **Small, reviewable diffs.** No drive-by refactors inside a bugfix. Don't touch
38
+ out-of-scope or generated files. Preserve concurrent edits from other lanes.
39
+ 5. **No silent failures.** Don't swallow errors or silence the linter/typechecker without
40
+ a stated reason.
41
+ 6. **Evidence-backed claims.** Cite the file/line, the command, and its output. No
42
+ overclaiming. If something failed, say exactly what and what remains.
43
+ 7. **Security by default.** Never print/commit secrets. Run a security review for auth,
44
+ payment, db, deploy, shell, upload, or permission changes.
45
+
46
+ ---
47
+
48
+ ## Parallel Subagent Orchestration
49
+
50
+ Provision every dispatched lane with an explicit, minimal grant:
51
+
52
+ ```txt
53
+ Lane / Role / Goal (1 sentence) / Scope (allowed files)
54
+ Skills (only needed SKILL.md) / Hooks (e.g. secret-guard, format)
55
+ MCP (only needed servers) / Provider authority (read-only lanes stay read-only)
56
+ Acceptance criteria / Evidence output path (.omk/runs/<run-id>/...)
57
+ ```
58
+
59
+ Parallel patterns (fan out only independent work):
60
+
61
+ - **Parallel research** — disjoint explorer lanes → one synthesizer.
62
+ - **Parallel file ops** — one coder per disjoint file set; never two writers on one file.
63
+ - **Parallel explore + build** — explorer maps while planner drafts; converge before code.
64
+ - **Parallel verification** — reviewer + qa + security audit the same diff concurrently.
65
+
66
+ Do NOT parallelize tight data dependencies, same-file writers, trivial tasks, or when
67
+ `OMK_WORKERS=1`. Search/recall memory first, split into domains, one subtask per domain.
68
+
69
+ ---
70
+
71
+ ## Orchestration tooling
72
+
73
+ - **Adaptorch** — DAG topology routing + adaptive synthesis.
74
+ - Skills: `adaptorch-route`, `adaptorch-synthesize`, `adaptorch-benchmark`.
75
+ - MCP: `adaptorch` (dev), `adaptorch-prod` (prod).
76
+ - Route before fanning out a complex DAG; synthesize when merging lane outputs that must
77
+ stay mutually consistent.
78
+ - **Ouroboros** — goal lifecycle and evolutionary loop.
79
+ - Skills: `interview`/`pm`, `seed`, `run`, `evaluate`/`qa`, `evolve`/`auto`, `status`.
80
+ - MCP: `ouroboros`.
81
+ - Use when the goal is vague, long-horizon, or needs drift tracking and replanning.
82
+ - **Supermemory** — cross-lane and cross-session durable memory.
83
+ - MCP: `supermemory`.
84
+ - Persist stable facts (decisions, contracts, blockers, goal state, domain analysis) so
85
+ parallel lanes and future sessions recall instead of re-deriving. Project-local graph
86
+ memory stays the default source of truth.
87
+
88
+ ---
89
+
90
+ ## Quality gate (run before claiming done)
91
+
92
+ ```bash
93
+ npm run lint # eslint, --max-warnings=0
94
+ npm run check # tsc --noEmit
95
+ npm test # node --test runner
96
+ npm run secret:scan # no secrets / private paths
97
+ npm run build # tsc + chmod-dist
98
+ ```
99
+
100
+ Report: Changed files / Commands run / Passed / Failed / Not run + reason / Remaining risk.
101
+
102
+ ---
103
+
104
+ ## Hard rules
105
+
106
+ - Never store or print secrets, tokens, or private credentials in any output or memory.
107
+ - Do not bypass provider safety, ToS, or refusals. A `stop_reason: "refusal"` is handled by
108
+ surfacing it and routing to a fallback model — never by circumventing it.
109
+ - Keep evidence under `.omk/runs/<run-id>/` or `.omk/goals/<goal-id>/`.
110
+ - Do not claim success until lane evidence and quality gates confirm it.