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/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: `
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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.
|