open-multi-agent-kit 0.80.0 → 0.80.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -1
- package/MATURITY.md +2 -2
- package/README.md +2 -2
- package/ROADMAP.md +6 -6
- package/dist/brand/night-city.theme.json +1 -1
- package/dist/brand/rust-forge.theme.json +1 -1
- package/dist/commands/chat/native-root-loop.js +0 -5
- package/dist/commands/init/content.d.ts +1 -1
- package/dist/commands/init/content.js +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/orchestration/executor.js +8 -5
- package/dist/runtime/authority-matrix.js +14 -2
- package/dist/runtime/contracts/evidence.js +12 -2
- package/dist/runtime/freedomd-exception.js +1 -1
- package/dist/runtime/runtime-bootstrap.js +0 -10
- package/dist/runtime/structured-compaction.d.ts +1 -1
- package/dist/runtime/structured-compaction.js +2 -2
- package/dist/util/session.js +2 -2
- package/docs/2026-06-17/critical-issues.md +19 -0
- package/docs/2026-06-17/improvements.md +15 -0
- package/docs/2026-06-17/init-checklist.md +25 -0
- package/docs/2026-06-17/plan.md +20 -0
- package/docs/claims.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/provider-maturity.md +1 -1
- package/docs/versioning.md +3 -3
- package/docs/what-is-omk.md +1 -1
- package/package.json +1 -1
- package/readmeasset/ASSET_INDEX.md +2 -2
- package/readmeasset/ASSET_PROVENANCE.md +22 -22
- package/readmeasset/omk-adaptorch-ouroboros-supermemory.svg +1 -1
- package/readmeasset/omk-control-surfaces.svg +1 -1
- package/readmeasset/omk-core-loop.svg +1 -1
- package/readmeasset/omk-freedomd-control-plane.svg +1 -1
- package/readmeasset/omk-init-control-loop.svg +1 -1
- package/readmeasset/omk-logo-mark.svg +1 -1
- package/readmeasset/omk-parallel-subagents.svg +1 -1
- package/readmeasset/omk-release-assertions.svg +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,23 @@
|
|
|
4
4
|
|
|
5
5
|
### Added
|
|
6
6
|
|
|
7
|
-
- Reserved for changes after v0.80.
|
|
7
|
+
- Reserved for changes after v0.80.2.
|
|
8
|
+
|
|
9
|
+
## v0.80.2 — CI release gate stabilization (2026-06-16)
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Fixed run directory creation after stricter run artifact path validation.
|
|
14
|
+
- Stabilized executor evidence gates so explicit output gates stay enforced while routing-only evidence hints do not block low-risk read/review lanes.
|
|
15
|
+
- Preserved explicit runtime MCP/tool-calling capabilities when applying the provider authority matrix.
|
|
16
|
+
- Required structured summary markers for summary/review evidence gates, preventing plain stdout from satisfying release evidence.
|
|
17
|
+
|
|
18
|
+
## v0.80.1 — CI lint cleanup and registry-aligned patch release (2026-06-16)
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- Removed release-blocking ESLint warnings/errors in native root loop, Headroom replay verifier, Freedomd runtime files, structured compaction, and session utilities.
|
|
23
|
+
- Aligned package/docs/theme metadata for the `0.80.1` patch release after publishing `0.80.0`.
|
|
8
24
|
|
|
9
25
|
## v0.80.0 — Freedomd sovereignty, default agent freedom, and release-ready GitHub docs (2026-06-16)
|
|
10
26
|
|
package/MATURITY.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# OMK Command Maturity Matrix
|
|
2
2
|
|
|
3
3
|
Last updated: 2026-05-24
|
|
4
|
-
Current source version: v0.80.
|
|
4
|
+
Current source version: v0.80.2
|
|
5
5
|
|
|
6
6
|
| Level | Meaning |
|
|
7
7
|
|-------|---------|
|
|
@@ -72,5 +72,5 @@ Current source version: v0.80.0
|
|
|
72
72
|
| 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. |
|
|
73
73
|
| 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. |
|
|
74
74
|
| 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. |
|
|
75
|
-
| Release docs and site | README, CHANGELOG, MATURITY, ROADMAP, getting-started docs, package audit, and release-gate commands now distinguish the v0.80.
|
|
75
|
+
| Release docs and site | README, CHANGELOG, MATURITY, ROADMAP, getting-started docs, package audit, and release-gate commands now distinguish the v0.80.2 source target from registry-published claims while documenting alpha/experimental surfaces, parallel subagent orchestration, typed doctor repair plans, startup update prompts, native safety package readiness, current harness templates, packaged workflow skills, 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, GitHub Smoke Test, registry verification, and GitHub CI evidence on the exact commit as the publish/deploy gate before claiming v0.80.2 as released. |
|
|
76
76
|
| Goal planner | Goal lifecycle exists, including continue, generated plan/evidence criteria, and verification. | Expand planner quality scoring and release evidence. |
|
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ OMK turns a coding goal into a scoped DAG run, routes it across compatible runti
|
|
|
13
13
|
<a href="https://github.com/dmae97/open-multi-agent-kit/discussions"><img alt="discussions" src="https://img.shields.io/badge/discussions-open-9D4EDD"></a>
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
|
-
## What changed in v0.80.
|
|
16
|
+
## What changed in v0.80.2
|
|
17
17
|
|
|
18
18
|
OMK now has a **Freedomd** control-plane direction:
|
|
19
19
|
|
|
@@ -132,7 +132,7 @@ Goal -> DAG -> lane grants -> runtime routing -> evidence envelope -> verify ->
|
|
|
132
132
|
|
|
133
133
|
## Release and safety claims
|
|
134
134
|
|
|
135
|
-
Current source version: `open-multi-agent-kit@0.80.
|
|
135
|
+
Current source version: `open-multi-agent-kit@0.80.2`.
|
|
136
136
|
|
|
137
137
|
- Runtime contract family: `v1.2`.
|
|
138
138
|
- Release channel: `pre-1.0`.
|
package/ROADMAP.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# Roadmap
|
|
2
2
|
|
|
3
|
-
Current source version: `open-multi-agent-kit@0.80.
|
|
3
|
+
Current source version: `open-multi-agent-kit@0.80.2` (`pre-1.0`; runtime contract family `v1.2`)
|
|
4
4
|
Last updated: 2026-06-15
|
|
5
5
|
|
|
6
6
|
## 2026-06-15 release truth status
|
|
7
7
|
|
|
8
|
-
Current source and npm target is `open-multi-agent-kit@0.80.
|
|
8
|
+
Current source and npm target is `open-multi-agent-kit@0.80.2` on the `v1.2` runtime contract family and `pre-1.0` release channel.
|
|
9
9
|
|
|
10
|
-
- Main CI and main Smoke are green on the `0.80.
|
|
11
|
-
- Tag Release and tag Smoke are green for `v0.80.
|
|
12
|
-
- npm `latest` is registry-verified as `open-multi-agent-kit@0.80.
|
|
10
|
+
- Main CI and main Smoke are green on the `0.80.2` release commit.
|
|
11
|
+
- Tag Release and tag Smoke are green for `v0.80.2`.
|
|
12
|
+
- npm `latest` is registry-verified as `open-multi-agent-kit@0.80.2`.
|
|
13
13
|
- OS-level sandboxing is still planned, not claimed; current safety relies on authority gates, approval policy, evidence, replay, and scoped runtime capabilities.
|
|
14
14
|
- The active architecture backlog is tracked in `docs/native-root-runtime-hardening.md`, `docs/native-root-runtime-algorithms.md`, and `.omk/specs/native-orchestrator-phase1/`.
|
|
15
15
|
|
|
@@ -69,7 +69,7 @@ Provider routing and graph viewing are no longer purely future work:
|
|
|
69
69
|
### P0: release and contract gates
|
|
70
70
|
|
|
71
71
|
- Done: YAML validation now runs in local `verify` plus CI/smoke workflows.
|
|
72
|
-
- Done: package dry-pack, package audit, tarball smoke, release matrix gates, GitHub Release, and npm registry verification were re-verified for `0.80.
|
|
72
|
+
- Done: package dry-pack, package audit, tarball smoke, release matrix gates, GitHub Release, and npm registry verification were re-verified for `0.80.2`.
|
|
73
73
|
- Done: `version:check` now validates current-version Markdown claims in README, docs, ROADMAP, and init templates.
|
|
74
74
|
- Done: native turn risk defaults are safer: explicit read-only constraints override write keywords, ambiguous turns fall back to `ask`, and write/shell/merge turns require evidence gates.
|
|
75
75
|
- Done: tool authority has staged `shadow|warn|enforce` modes, with native turn dispatch blocking in enforce mode.
|
|
@@ -210,7 +210,7 @@
|
|
|
210
210
|
"meta": {
|
|
211
211
|
"provenance": "Standalone oxidized rust-forge palette for the OMK orchestration console. Warm coal/iron/anvil backgrounds, rust-orange + molten + copper + ember heat accents, oxide/quench/verdigris patina greens for pass/done, crimson for fail/dead, steel/scale/ash grays, and bone foreground. Forge-specific heat/anvil/quench semantics make OMK control surfaces distinct from provider branding while preserving NO_COLOR glyph safety.",
|
|
212
212
|
"tierAssumptions": "16-color tier gated against stock VGA/xterm ANSI values; terminals with remapped ANSI-16 palettes 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.",
|
|
213
|
-
"omkVersion": "0.80.
|
|
213
|
+
"omkVersion": "0.80.2",
|
|
214
214
|
"independence": "OMK is the control plane; providers and models are adapter lanes, never the product identity or final authority."
|
|
215
215
|
}
|
|
216
216
|
}
|
|
@@ -625,11 +625,6 @@ function debloatRiskFromNativeTurnRisk(risk) {
|
|
|
625
625
|
return "write";
|
|
626
626
|
return "dangerous";
|
|
627
627
|
}
|
|
628
|
-
function isAgentFreedomMode() {
|
|
629
|
-
const raw = process.env.OMK_AGENT_FREEDOM ?? process.env.OMK_SWEBENCH_MODE ?? "";
|
|
630
|
-
const normalized = raw.trim().toLowerCase();
|
|
631
|
-
return normalized === "1" || normalized === "true" || normalized === "on" || normalized === "";
|
|
632
|
-
}
|
|
633
628
|
function isStrictGuardrailMode() {
|
|
634
629
|
const raw = process.env.OMK_STRICT_GUARDRAIL ?? "";
|
|
635
630
|
const normalized = raw.trim().toLowerCase();
|
|
@@ -4,7 +4,7 @@ export declare const ROLE_YAMLS: Record<string, string>;
|
|
|
4
4
|
export declare function getDesignMd(version: string): string;
|
|
5
5
|
export declare const GEMINI_MD = "# GEMINI.md\n\n@./AGENTS.md\n@./DESIGN.md\n\nUse AGENTS.md as the canonical project instruction source, including current OMK skills, MCP, agents, and harness policy.\nUse DESIGN.md as the canonical visual identity source.\nDo not duplicate runtime inventories; follow AGENTS.md and `chat-agent-harness.json` when present.\n";
|
|
6
6
|
export declare const CLAUDE_MD = "# CLAUDE.md\n\n@./AGENTS.md\n@./DESIGN.md\n\nUse AGENTS.md as the canonical project instruction source, including current OMK skills, MCP, agents, and harness policy.\nUse DESIGN.md for UI/frontend work.\nDo not duplicate runtime inventories; follow AGENTS.md and `chat-agent-harness.json` when present.\n";
|
|
7
|
-
export declare const ROADMAP_MD = "# Roadmap\n\nCurrent source version: `open-multi-agent-kit@0.80.
|
|
7
|
+
export declare const ROADMAP_MD = "# Roadmap\n\nCurrent source version: `open-multi-agent-kit@0.80.2` (`pre-1.0`; runtime contract family `v1.2`)\nLast updated: 2026-06-15\n\n## Current runtime stance\n\nOMK is the root orchestrator. Kimi is an authority-capable compatibility provider adapter, not the whole runtime or implicit default. Codex, DeepSeek, OpenCode, CommandCode, OpenRouter, Qwen, Gemini, and Claude run as adapter lanes only when provider health, capability, approval, sandbox, and harness policy match the task.\n\n- `omk run`, `omk parallel`, chat harnesses, and DAG replay expose provider routing and evidence-gated lanes.\n- `omk provider` / `omk deepseek` manage provider enablement, key setup, availability checks, and fallback readiness.\n- DeepSeek is read/review/advisory by default; it must not receive write/shell authority from native chat defaults.\n- The resolved authority provider remains the writer, merger, and final synthesis lane for write/shell/merge work.\n- `omk graph view` generates an HTML view from local graph memory.\n- `omk goal` has a persisted lifecycle, continue loop, generated plan/evidence criteria, and verification flow.\n\n## v1.2 \u2014 Hardening the current surface\n\n### P0: release and contract gates\n\n- Done: YAML validation now runs in local `verify` plus CI/smoke workflows.\n- Done: package dry-pack, package audit, tarball smoke, release matrix gates, GitHub Release, and npm registry verification were re-verified for `0.80.0`.\n- Done: provider/deepseek and screenshot JSON command contracts gained hermetic regression tests.\n- Done: current AGENTS/init templates and packaged workflow skills were aligned with the active skills/MCP/agents/harness surface, including all generated agent MCP/skills/hooks flags and parallel subagent orchestration guidance.\n- Remaining: lock broader provider fallback metadata with tests for rate limit, timeout, and authority fallback variants.\n- Remaining: define minimum machine-readable CLI envelopes for the rest of the automation-critical commands.\n- Remaining: release/tag only after local gates, package audit, smoke-pack, tarball install smoke, GitHub Smoke Test, and GitHub CI pass on the exact target commit.\n\n### P1: observability and diagnostics\n\n- Done: provider route/fallback counts are now emitted in run summaries/reports and summary terminal output.\n- Done: invalid MCP JSON is reported as a visible diagnostic without leaking secret-like config values.\n- Done: `omk mcp doctor --json` exposes structured server status, command resolution, timeout, permission, and config-source fields.\n- Expand JSON output for graph, DAG, summary, and workflow commands where CI or agents consume results.\n- Link graph nodes back to runs, goals, providers, and evidence so `omk graph view` becomes audit evidence, not only visualization.\n\n### P2: execution depth and planner quality\n\n- Deepen `omk team` runtime reporting: worker state, pane/session health, artifacts, and verification handoff.\n- Done: replace the `omk goal plan` stub with a planner that emits steps, acceptance criteria, risks, and evidence gates.\n- Add provider-quality gates before broader non-primary-provider worker pools.\n- Keep primary-provider execution as the safe fallback path for every run.\n\n## Later tracks\n\n### Provider routing maturity\n\n- Keep the resolved authority provider as the writer, merger, and final synthesis runtime.\n- Use provider hints for explorer, reviewer, QA, planner, and documentation roles only when preflight is healthy and task risk is low.\n- Record provider attempts, route confidence, fallback reason, and final authority in run evidence.\n\n### Graph and memory maturity\n\n- Materialize provider routes, fallback events, goals, evidence gates, and run artifacts in the local graph/Kuzu ontology.\n- Keep `omk graph view` local-first and safe for private repositories.\n\n### Historical milestones\n\n| Version | Focus |\n|---------|-------|\n| v0.1 | init / doctor / chat, P0 skills, AGENTS.md / DESIGN.md generation, quality gate hooks |\n| v0.2 | wire controller, HUD, run state, worker logs |\n| v0.3 | worktree team, merge queue, reviewer / QA / integrator agents |\n| v0.4 | Google DESIGN.md integration, Stitch skills installer, screenshot UI review, Spec Kit planning + DAG execution, agent registry, project index, run summary |\n| v0.5 | MCP project server, plugin pack, CI agent mode |\n| v1.1.6 | provider/deepseek commands, provider policy flags, graph view, goal lifecycle, expanded run history and update JSON |\n| v1.1.9 | chat harness manifest, capability DAG lanes, Windows clipboard screenshot bridge, release matrix |\n| v1.1.12 | Replay system, skill assigner, decision trace coverage, evidence gates, and repair policy |\n| v1.1.13 | Bundled MCP server entrypoints, ACP/host transport groundwork, deployment-ready package metadata |\n| v1.1.14 | Current harness docs, external-inspired workflow skills, and release-safe public wording |\n| v1.1.15 | Isolated HOME MCP shell-profile hotfix and persistent fetch MCP entrypoint |\n| v1.1.16 | Deterministic IntentFrame/ActionAtom orchestration, chat schema preflight, MCP duplicate policy, agent capability propagation, and doctor/init/pack smoke fixes |\n| v1.1.17 | Full generated-agent MCP/skills/hooks enablement, parallel subagent orchestration emphasis, and v1.1.17 release docs |\n";
|
|
8
8
|
export declare const SECURITY_MD = "# Security Policy\n\n## Reporting Vulnerabilities\n\nPlease report security issues via GitHub Issues with the `security` label.\n\n## Built-in Protections\n\nopen-multi-agent-kit includes scoped default hooks to block destructive commands and secret leakage when the active runtime/harness enables them.\n\n## Native Runtime Safety Gates\n\n- Native chat turns should be read-only by default; write, shell, and merge capabilities must be requested only when task intent requires them.\n- `--execution ask|auto|never` and sandbox policy must propagate through routing into runtime adapters.\n- `authority`, `primary`, and `omk` provider policies must resolve to a concrete provider before execution.\n- DeepSeek and other advisory providers are read/review/advisory by default and must not silently receive write/shell authority.\n- Provider bootstrap must distinguish binary/runtime availability from auth, model, and quota readiness.\n- Provider failure previews must be gated behind debug mode and redacted before terminal or artifact output.\n- MCP, skills, hooks, and tool-plane parse/resolution failures must surface as diagnostics; runtime-required MCP failures should block execution.\n\n## MCP and Harness Secret Handling\n\n- Fresh init writes project-local `omk-project` MCP only; user/global MCP and skills are runtime-only unless explicitly imported by a trusted local user.\n- Never print, commit, or summarize MCP `env`, headers, tokens, or provider keys.\n- Treat `chat-agent-harness.json` as private run metadata: use it for inventory/gates, but do not paste large inventories or secret-like values into prompts, memory, or reports.\n- Prefer sanitized `omk mcp doctor --json`, `omk verify --json`, test summaries, and secret scans as shareable evidence.\n\n## Child Runtime Isolation\n\nOMK currently provides environment hardening for child runtimes.\n\nBy default, child runtimes do not inherit the full parent process environment.\nOMK passes an allowlisted environment and drops common secret-bearing variables\nsuch as cloud provider credentials, GitHub/NPM tokens, SSH agent sockets,\nKubernetes config, and dotenv/env-file references.\n\nThis is not a full OS-level sandbox. Filesystem, process, and network isolation\nare future hardening work and must not be assumed unless explicitly provided by\nthe selected runtime or host environment.\n\nCurrent security claims:\n\n- OMK prevents ambient secret leakage into child runtimes by default.\n- OMK sanitizes child runtime environments.\n- OMK routes tasks according to declared runtime capabilities.\n- OMK forces approval for write-capable Codex workspace runs.\n- OMK exposes sandbox intent/profile metadata for future enforcement.\n\nNon-claims:\n\n- OMK does not fully sandbox child CLIs.\n- OMK does not prevent all filesystem access outside the workspace.\n- OMK does not prevent network exfiltration.\n- OMK does not enforce OS-level process isolation.\n\n## Best Practices\n\n- Review hooks before running in production repositories.\n- Use `--print` mode only in disposable worktrees.\n- Never commit secrets into agent memory files.\n";
|
|
9
9
|
export declare const ROOT_PROMPT_MD = "# open-multi-agent-kit Root Agent\n\nYou are the OMK root orchestrator for open-multi-agent-kit \u2014 a provider-neutral orchestration control plane that turns a goal into a bounded coding team.\n\nModels execute. OMK routes, verifies, measures, and controls.\n\nYou must operate with OMK identity as the authority layer: summon parallel subagents when scopes are independent, assign each lane scoped MCP, skills, and hooks, and keep the root context focused on goal management, integration, evidence, and verification. The active runtime scope, selected provider adapter, and harness policy decide which resources are actually available.\n\n## Loaded Project Instructions\n\n${KIMI_AGENTS_MD}\n\n## Loaded Skills\n\n${KIMI_SKILLS}\n\n## Global Rules\n\n- Apply AGENTS.md silently.\n- Do not repeat boilerplate.\n- Use SetTodoList for multi-step tasks.\n- Use Agent tool for non-trivial tasks. All 15 role agents (explorer, planner, router, architect, coder, reviewer, security, qa, tester, researcher, integrator, aggregator, interviewer, ontology, vision-debugger) are available with MCP, skills, and hooks capability flags.\n- Use skills when relevant.\n- Use MCP tools when configured and useful. All subagents inherit scoped MCP server inventory, skills, and hooks when enabled by runtime scope. Do not hesitate to invoke available capabilities.\n- Treat project-local ontology graph memory as mandatory when the omk-project MCP exposes memory tools.\n- Recall relevant project memory before work, write durable findings through omk_write_memory, and use omk_memory_mindmap/omk_graph_query for graph recall.\n- Prefer plan-first execution.\n- Prefer small, reviewable diffs.\n- Verify before completion.\n- Never claim tests passed unless they were run.\n\n## Active Harness and Resource Inventory\n\n- If a run contains chat-agent-harness.json, read it for the full MCP/skills/hooks inventory, virtual DAG, authority boundaries, worker limits, and gate list.\n- Treat compact prompt resource counts as summaries only.\n- Default runtime scope is project MCP/skills; all-scope may read user ~/.kimi resources at runtime without copying personal files.\n- Do not paste huge global MCP/skill inventories or secret-bearing env/header values into prompts, memory, or final reports.\n\n## OMK Context Tools\n\n- Root and generated role agents inherit an Okabe-compatible base while OMK scopes MCP, skills, and hooks per active runtime/harness policy.\n- Use D-Mail before risky refactors, compaction, or long-running branch points: send a concise future-facing recovery note to the relevant checkpoint.\n- Use OMK-managed subagents for isolated context and parallel work; keep the root context focused on decisions, integration, and verification.\n- Prefer /compact or a D-Mail recovery note over dumping large history back into the prompt.\n\n## Required Workflow\n\nFor non-trivial tasks:\n\n1. Read project instructions.\n2. Create todos.\n3. Launch appropriate subagents in parallel when their scopes are independent:\n - explorer for repository discovery\n - planner for architecture/refactor/risky work\n - coder for implementation\n - reviewer or qa for review and gate analysis\n - security for secret/permission/trust-boundary review\n - ontology for graph memory and project knowledge curation\n4. Read relevant skills.\n5. Use MCP if useful.\n6. Implement minimal changes.\n7. Run quality gates.\n8. Review final diff.\n9. Return factual final report.\n\n## Final Report Format\n\n```txt\nChanged:\nFiles:\nCommands:\nResult:\nRisk:\n```\n";
|
|
10
10
|
export declare const HOOK_SCRIPTS: Record<string, string>;
|
|
@@ -347,7 +347,7 @@ Do not duplicate runtime inventories; follow AGENTS.md and \`chat-agent-harness.
|
|
|
347
347
|
`;
|
|
348
348
|
export const ROADMAP_MD = `# Roadmap
|
|
349
349
|
|
|
350
|
-
Current source version: \`open-multi-agent-kit@0.80.
|
|
350
|
+
Current source version: \`open-multi-agent-kit@0.80.2\` (\`pre-1.0\`; runtime contract family \`v1.2\`)
|
|
351
351
|
Last updated: 2026-06-15
|
|
352
352
|
|
|
353
353
|
## Current runtime stance
|
package/dist/commands/init.js
CHANGED
|
@@ -392,7 +392,7 @@ Do not duplicate runtime inventories; follow AGENTS.md and \`chat-agent-harness.
|
|
|
392
392
|
`;
|
|
393
393
|
const ROADMAP_MD = `# Roadmap
|
|
394
394
|
|
|
395
|
-
Current source version: \`open-multi-agent-kit@0.80.
|
|
395
|
+
Current source version: \`open-multi-agent-kit@0.80.2\` (\`pre-1.0\`; runtime contract family \`v1.2\`)
|
|
396
396
|
Last updated: 2026-06-15
|
|
397
397
|
|
|
398
398
|
## v1.1.9 reality
|
|
@@ -322,13 +322,13 @@ export function createExecutor(executorOptions = {}) {
|
|
|
322
322
|
const cwd = options.worktreeRoot ?? process.cwd();
|
|
323
323
|
const latestAttempt = node.attempts?.[node.attempts.length - 1];
|
|
324
324
|
const attemptId = latestAttempt ? `${node.id}__${latestAttempt.attempt}` : `${node.id}__1`;
|
|
325
|
-
const
|
|
325
|
+
const required = nodeRequiresEvidence(node);
|
|
326
|
+
const bridge = await legacyEvidenceBridge(node, result, { cwd, runId: options.runId, attemptId, required });
|
|
326
327
|
const metadata = {
|
|
327
328
|
...(result.metadata ?? {}),
|
|
328
329
|
...(bridge.evidenceGates.length > 0 && { evidenceGates: bridge.evidenceGates }),
|
|
329
330
|
...(bridge.diffObserved && { diff: true }),
|
|
330
331
|
};
|
|
331
|
-
const required = nodeRequiresEvidence(node) || hasRequiredEvidenceOutput(node);
|
|
332
332
|
const check = checkEvidenceGate(required, node.outputs, metadata, result.stdout, bridge.artifactPaths);
|
|
333
333
|
return {
|
|
334
334
|
passed: check.satisfied,
|
|
@@ -362,7 +362,7 @@ export function createExecutor(executorOptions = {}) {
|
|
|
362
362
|
break;
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
|
-
if (node.routing?.evidenceRequired && !legacyGates.some((gate) => gate.type === "command-pass")) {
|
|
365
|
+
if (options.required && node.routing?.evidenceRequired && !legacyGates.some((gate) => gate.type === "command-pass")) {
|
|
366
366
|
legacyGates.push({ type: "summary-present", summaryMarker: "## Evidence" });
|
|
367
367
|
}
|
|
368
368
|
if (legacyGates.length === 0) {
|
|
@@ -421,12 +421,15 @@ export function createExecutor(executorOptions = {}) {
|
|
|
421
421
|
return (node.outputs ?? []).some((output) => output.required !== false && output.gate !== undefined && output.gate !== "none");
|
|
422
422
|
}
|
|
423
423
|
function nodeRequiresEvidence(node) {
|
|
424
|
-
const highRisk = node
|
|
424
|
+
const highRisk = nodeHasHighRiskCapabilities(node);
|
|
425
425
|
const outputs = node.outputs ?? [];
|
|
426
426
|
const explicitlyNoEvidence = outputs.length > 0 && outputs.every((output) => output.required === false || output.gate === undefined || output.gate === "none");
|
|
427
427
|
if (explicitlyNoEvidence && !highRisk)
|
|
428
428
|
return false;
|
|
429
|
-
return (node
|
|
429
|
+
return hasRequiredEvidenceOutput(node) || highRisk;
|
|
430
|
+
}
|
|
431
|
+
function nodeHasHighRiskCapabilities(node) {
|
|
432
|
+
return node.routing?.assignedProviderCapabilities?.some((cap) => ["write", "patch", "shell", "merge"].includes(cap)) ?? false;
|
|
430
433
|
}
|
|
431
434
|
async function runNode(node, dag, runner, options, state, signal, outAbort) {
|
|
432
435
|
if (nodeRequiresEvidence(node)) {
|
|
@@ -99,9 +99,21 @@ export function getRuntimeAuthorityEntry(runtime) {
|
|
|
99
99
|
}
|
|
100
100
|
export function authoritiesForRuntime(runtime) {
|
|
101
101
|
const entry = getRuntimeAuthorityEntry(runtime);
|
|
102
|
-
if (entry)
|
|
103
|
-
return entry.authorities;
|
|
104
102
|
const caps = runtime.capabilities;
|
|
103
|
+
if (entry) {
|
|
104
|
+
const granted = new Set(entry.authorities);
|
|
105
|
+
// Provider/mode entries remain the source of truth for write/shell/merge.
|
|
106
|
+
// Add only explicitly declared auxiliary capabilities so test/fake runtimes
|
|
107
|
+
// and future adapters can expose MCP/tool contracts without broadening
|
|
108
|
+
// destructive authority by provider name alone.
|
|
109
|
+
if (caps?.mcp === true)
|
|
110
|
+
granted.add("mcp");
|
|
111
|
+
if (caps?.vision === true)
|
|
112
|
+
granted.add("vision");
|
|
113
|
+
if (caps?.toolCalling === true || caps?.supportsToolCalling === true)
|
|
114
|
+
granted.add("toolCalling");
|
|
115
|
+
return [...granted];
|
|
116
|
+
}
|
|
105
117
|
if (!caps)
|
|
106
118
|
return ["read"];
|
|
107
119
|
const derived = [];
|
|
@@ -59,7 +59,15 @@ export function evidenceObservationsFromResult(input) {
|
|
|
59
59
|
}
|
|
60
60
|
const stdout = input.stdout ?? "";
|
|
61
61
|
if (stdout.trim().length > 0) {
|
|
62
|
-
|
|
62
|
+
const hasStructuredSummaryMarker = /^##\s+(Summary|Evidence|Verification)\b/im.test(stdout);
|
|
63
|
+
observations.push({
|
|
64
|
+
kind: "summary",
|
|
65
|
+
source: "stdout",
|
|
66
|
+
timestamp,
|
|
67
|
+
replayable: true,
|
|
68
|
+
redacted: true,
|
|
69
|
+
confidence: hasStructuredSummaryMarker ? 0.9 : 0.4,
|
|
70
|
+
});
|
|
63
71
|
}
|
|
64
72
|
if (/\b(pass(ed)?|success|ok)\b/i.test(stdout) && /\b(test|check|build|lint|command)\b/i.test(stdout)) {
|
|
65
73
|
observations.push({ kind: "command-pass", source: "stdout", timestamp, replayable: true, redacted: true, confidence: 0.4 });
|
|
@@ -67,7 +75,7 @@ export function evidenceObservationsFromResult(input) {
|
|
|
67
75
|
return observations;
|
|
68
76
|
}
|
|
69
77
|
function minimumConfidenceFor(requirement) {
|
|
70
|
-
if (
|
|
78
|
+
if (["command-pass", "test-pass", "summary", "review-pass"].includes(requirement.gate))
|
|
71
79
|
return 0.8;
|
|
72
80
|
return 0;
|
|
73
81
|
}
|
|
@@ -80,6 +88,8 @@ function observationSatisfies(requirement, observation) {
|
|
|
80
88
|
return true;
|
|
81
89
|
if (requirement.gate === "test-pass" && observation.kind === "command-pass")
|
|
82
90
|
return true;
|
|
91
|
+
if (requirement.gate === "review-pass" && observation.kind === "summary")
|
|
92
|
+
return true;
|
|
83
93
|
if (requirement.gate === "file-exists" && observation.kind === "artifact")
|
|
84
94
|
return true;
|
|
85
95
|
return false;
|
|
@@ -69,7 +69,7 @@ async function writeRunPolicyOverride(root, runId, request) {
|
|
|
69
69
|
await writeFile(path, JSON.stringify(payload, null, 2), "utf-8");
|
|
70
70
|
return path;
|
|
71
71
|
}
|
|
72
|
-
async function materializeExceptionInGraph(options, request, scope,
|
|
72
|
+
async function materializeExceptionInGraph(options, request, scope, _artifactPath) {
|
|
73
73
|
if (!options.graphStore)
|
|
74
74
|
return;
|
|
75
75
|
try {
|
|
@@ -265,13 +265,3 @@ async function hasProviderConfigApiKey(env, provider) {
|
|
|
265
265
|
const configContent = readHomeProviderConfig(env, ".omk");
|
|
266
266
|
return configContent ? providerConfigHasApiKey(configContent, provider) : false;
|
|
267
267
|
}
|
|
268
|
-
function resolveAuthorityProviderPolicy(providerPolicy, env) {
|
|
269
|
-
if (providerPolicy !== "authority" && providerPolicy !== "primary" && providerPolicy !== "omk")
|
|
270
|
-
return undefined;
|
|
271
|
-
const configured = env.OMK_AUTHORITY_PROVIDER?.trim().toLowerCase()
|
|
272
|
-
|| env.OMK_DEFAULT_PROVIDER?.trim().toLowerCase()
|
|
273
|
-
|| "mimo";
|
|
274
|
-
if (configured === "authority" || configured === "primary" || configured === "omk")
|
|
275
|
-
return "mimo";
|
|
276
|
-
return configured || "mimo";
|
|
277
|
-
}
|
|
@@ -102,6 +102,6 @@ export declare function renderTypedStructuredCompactionContract(contract: Struct
|
|
|
102
102
|
export declare function parseTypedStructuredCompactionContract(compactedText: string): StructuredCompactionContractV2 | null;
|
|
103
103
|
export declare function structuredCompactionGuardNote(result: StructuredCompactionValidationResult): string;
|
|
104
104
|
export declare function structuredCompactionInstruction(contract?: StructuredCompactionContract): string;
|
|
105
|
-
export declare function buildStructuredCompactionText(capsule: ContextCapsule,
|
|
105
|
+
export declare function buildStructuredCompactionText(capsule: ContextCapsule, _contract?: StructuredCompactionContractV1, options?: StructuredCompactionBuildOptions): string;
|
|
106
106
|
export declare function estimateTextTokens(text: string, options?: TokenEstimationOptions): number;
|
|
107
107
|
export declare function computeCompactionQualityScore(input: CompactionQualityInput): CompactionQualityScore;
|
|
@@ -210,7 +210,7 @@ export function structuredCompactionInstruction(contract = DEFAULT_STRUCTURED_CO
|
|
|
210
210
|
"Preserve task, node routing, evidence requirements, safety constraints, and capability grants below.",
|
|
211
211
|
].join(" ");
|
|
212
212
|
}
|
|
213
|
-
export function buildStructuredCompactionText(capsule,
|
|
213
|
+
export function buildStructuredCompactionText(capsule, _contract = DEFAULT_STRUCTURED_COMPACTION_CONTRACT, options = {}) {
|
|
214
214
|
const typedContract = buildTypedStructuredCompactionContract(capsule);
|
|
215
215
|
const routing = capsule.node.routing;
|
|
216
216
|
const redact = options.redact !== false;
|
|
@@ -254,7 +254,7 @@ export function buildStructuredCompactionText(capsule, contract = DEFAULT_STRUCT
|
|
|
254
254
|
].join("\n");
|
|
255
255
|
const targetTokens = Math.max(256, Math.floor(options.maxTokens ?? (capsule.budget.maxInputTokens - capsule.budget.reservedOutputTokens)));
|
|
256
256
|
const estimator = options.estimator;
|
|
257
|
-
|
|
257
|
+
const remainingTokens = Math.max(0, targetTokens - estimateTextTokens(hardSections, estimator));
|
|
258
258
|
const selected = selectCandidateSections(capsule, remainingTokens, options, redact);
|
|
259
259
|
return [hardSections, ...selected].join("\n");
|
|
260
260
|
}
|
package/dist/util/session.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { writeFile, readdir, readFile, mkdir } from "fs/promises";
|
|
2
2
|
import { join } from "path";
|
|
3
3
|
import { getOmkPath, pathExists, validateRunId } from "./fs.js";
|
|
4
|
-
import { getRunArtifactPath } from "./run-store.js";
|
|
4
|
+
import { getRunArtifactPath, getRunPath } from "./run-store.js";
|
|
5
5
|
export function createOmkSessionId(prefix = "session") {
|
|
6
6
|
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
7
7
|
return `${prefix}-${timestamp}-${process.pid}`;
|
|
@@ -14,7 +14,7 @@ export function createOmkSessionEnv(projectRoot, sessionId) {
|
|
|
14
14
|
}
|
|
15
15
|
export async function ensureSessionDir(runId) {
|
|
16
16
|
const sanitized = validateRunId(runId);
|
|
17
|
-
const dir =
|
|
17
|
+
const dir = getRunPath(sanitized);
|
|
18
18
|
await mkdir(dir, { recursive: true });
|
|
19
19
|
return dir;
|
|
20
20
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# 2026-06-17 Critical Issues
|
|
2
|
+
|
|
3
|
+
## Critical Init Status
|
|
4
|
+
|
|
5
|
+
### Missing critical artifacts
|
|
6
|
+
- `.omk/hooks/pre-shell-guard.sh` — destructive shell guard
|
|
7
|
+
- `.omk/hooks/protect-secrets.sh` — secret write guard
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Critical Artifacts Present
|
|
11
|
+
- ✅ `AGENTS.md` — top-level operating contract
|
|
12
|
+
- ✅ `.kimi/AGENTS.md` — Kimi-specific operating rules
|
|
13
|
+
- ✅ `.omk/config.toml` — OMK project runtime settings
|
|
14
|
+
- ✅ `.omk/agents/root.yaml` — root coordinator agent
|
|
15
|
+
- ✅ `.kimi/mcp.json` — Kimi project MCP registry
|
|
16
|
+
- ✅ `.omk/memory/graph-state.json` — local ontology graph database
|
|
17
|
+
|
|
18
|
+
## Escalation Rule
|
|
19
|
+
- Treat missing shell/secret guards, root agent config, MCP registry, or ontology graph as critical until restored.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# 2026-06-17 Improvements
|
|
2
|
+
|
|
3
|
+
## Current Improvement Backlog
|
|
4
|
+
### Optional init/support artifacts to add or refresh
|
|
5
|
+
- None detected.
|
|
6
|
+
|
|
7
|
+
### Critical init artifacts currently blocking reliable chat startup
|
|
8
|
+
- `.omk/hooks/pre-shell-guard.sh` — destructive shell guard
|
|
9
|
+
- `.omk/hooks/protect-secrets.sh` — secret write guard
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## Suggested Focus
|
|
13
|
+
- Keep `omk chat` startup idempotent and non-destructive.
|
|
14
|
+
- Prefer local graph memory for default ontology state.
|
|
15
|
+
- Keep generated daily docs small, dated, and safe to edit by hand.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# 2026-06-17 Required Init Checklist
|
|
2
|
+
|
|
3
|
+
**Run ID:** chat-2026-06-16T16-55-04-572Z-1984054
|
|
4
|
+
**Ontology graph:** `.omk/memory/graph-state.json`
|
|
5
|
+
|
|
6
|
+
## Required Artifacts
|
|
7
|
+
- ✅ `AGENTS.md` — critical; top-level operating contract
|
|
8
|
+
- ✅ `.kimi/AGENTS.md` — critical; Kimi-specific operating rules
|
|
9
|
+
- ✅ `DESIGN.md` — support; design/brand source of truth
|
|
10
|
+
- ✅ `.omk/config.toml` — critical; OMK project runtime settings
|
|
11
|
+
- ✅ `.omk/agents/root.yaml` — critical; root coordinator agent
|
|
12
|
+
- ✅ `.kimi/mcp.json` — critical; Kimi project MCP registry
|
|
13
|
+
- ✅ `.omk/mcp.json` — support; legacy OMK MCP fallback
|
|
14
|
+
- ✅ `.omk/lsp.json` — support; bundled TypeScript/Python LSP config
|
|
15
|
+
- 🚨 `.omk/hooks/pre-shell-guard.sh` — critical; destructive shell guard
|
|
16
|
+
- 🚨 `.omk/hooks/protect-secrets.sh` — critical; secret write guard
|
|
17
|
+
- ✅ `.omk/memory/graph-state.json` — critical; local ontology graph database
|
|
18
|
+
- ✅ `.kimi/skills` — support; Kimi skill directory
|
|
19
|
+
- ✅ `.agents/skills` — support; portable skill directory
|
|
20
|
+
|
|
21
|
+
## Recovery Command
|
|
22
|
+
```bash
|
|
23
|
+
omk init
|
|
24
|
+
omk doctor
|
|
25
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# 2026-06-17 OMK Chat Plan
|
|
2
|
+
|
|
3
|
+
**Run ID:** chat-2026-06-16T16-55-04-572Z-1984054
|
|
4
|
+
**Generated by:** omk chat bootstrap
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
- Start every chat with a dated workspace for planning, issue triage, and verification evidence.
|
|
8
|
+
- Keep ontology-backed memory available before the root coordinator starts.
|
|
9
|
+
- Make required init state visible without overwriting user-authored docs.
|
|
10
|
+
|
|
11
|
+
## Today Plan
|
|
12
|
+
1. Review `init-checklist.md` and resolve missing critical init artifacts first.
|
|
13
|
+
2. Use `improvements.md` as the active improvement backlog.
|
|
14
|
+
3. Use `critical-issues.md` for blocking defects, safety risks, and verification gaps.
|
|
15
|
+
4. Record command evidence before claiming work is complete.
|
|
16
|
+
|
|
17
|
+
## Stop Condition
|
|
18
|
+
- Critical init artifacts are present.
|
|
19
|
+
- Ontology graph exists at `.omk/memory/graph-state.json`.
|
|
20
|
+
- Any new code/docs changes have explicit verification evidence.
|
package/docs/claims.md
CHANGED
|
@@ -66,7 +66,7 @@ Evidence:
|
|
|
66
66
|
|
|
67
67
|
## Claim: OMK is a stable 1.x release
|
|
68
68
|
|
|
69
|
-
Status: not claimed. Current source version is `0.80.
|
|
69
|
+
Status: not claimed. Current source version is `0.80.2` (`pre-1.0`); `v1.2` is a runtime contract family.
|
|
70
70
|
|
|
71
71
|
Evidence:
|
|
72
72
|
- [versioning](versioning.md)
|
package/docs/getting-started.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Getting Started
|
|
2
2
|
|
|
3
|
-
Source release target: `open-multi-agent-kit@0.80.
|
|
3
|
+
Source release target: `open-multi-agent-kit@0.80.2`. Treat npm latest claims as valid only after registry verification and release gates pass.
|
|
4
4
|
|
|
5
5
|
## Prerequisites
|
|
6
6
|
|
package/docs/versioning.md
CHANGED
|
@@ -4,11 +4,11 @@ OMK uses two version fields in release artifacts:
|
|
|
4
4
|
|
|
5
5
|
| Field | Current value | Source | Meaning |
|
|
6
6
|
| --- | --- | --- | --- |
|
|
7
|
-
| Package version | `0.80.
|
|
7
|
+
| Package version | `0.80.2` | `package.json`, `package-lock.json` | npm/package source version. |
|
|
8
8
|
| Runtime version | `v1.2` | `src/version.ts`, JSON schemas | Contract/runtime family used by OMK envelopes. |
|
|
9
9
|
| Release channel | `pre-1.0` | `src/version.ts` | Pre-1.0 package channel. |
|
|
10
10
|
|
|
11
|
-
`0.80.
|
|
11
|
+
`0.80.2` is the package source version for the `v1.2` runtime contract family.
|
|
12
12
|
Use `v1.2` only for runtime contracts; do not substitute it for the package version.
|
|
13
13
|
|
|
14
14
|
## Contract versions
|
|
@@ -50,6 +50,6 @@ The `version --json` command emits one `omk.contract.v1` envelope whose data pay
|
|
|
50
50
|
|
|
51
51
|
## Documentation rules
|
|
52
52
|
|
|
53
|
-
- Use `0.80.
|
|
53
|
+
- Use `0.80.2` when referring to the current package source version.
|
|
54
54
|
- Use `v1.2` only for the runtime contract family.
|
|
55
55
|
- Keep historical changelog entries unchanged unless the text is not clearly historical.
|
package/docs/what-is-omk.md
CHANGED
|
@@ -53,7 +53,7 @@ omk do "review this repo for release risk" --dry-run --json
|
|
|
53
53
|
|
|
54
54
|
## Maturity
|
|
55
55
|
|
|
56
|
-
Current source version: `open-multi-agent-kit@0.80.
|
|
56
|
+
Current source version: `open-multi-agent-kit@0.80.2` (`pre-1.0`). The `v1.2` label is a runtime contract family, not a stable npm `1.x` release. OS-level sandboxing is planned, not claimed. See [versioning](versioning.md), [claims](claims.md), and [SECURITY.md](../SECURITY.md).
|
|
57
57
|
|
|
58
58
|
## Related
|
|
59
59
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "open-multi-agent-kit",
|
|
3
|
-
"version": "0.80.
|
|
3
|
+
"version": "0.80.2",
|
|
4
4
|
"description": "Provider-neutral multi-agent control plane for coding workflows: route agents, verify evidence, orchestrate MCP-aware DAGs, and control the loop from the omk CLI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -4,8 +4,8 @@ Curated OMK//CONTROL assets in this directory. Assets are provenance-covered and
|
|
|
4
4
|
|
|
5
5
|
| File | Packaged | Purpose | Source | Dimensions | Format | Bytes |
|
|
6
6
|
| ------------------------------- | --------- | ---------------------------------------------- | ------------------------------------------ | ----------- | ------ | -----: |
|
|
7
|
-
| `omk-freedomd-control-plane.webp` | yes | v0.80.
|
|
8
|
-
| `omk-freedomd-control-plane.svg` | yes | v0.80.
|
|
7
|
+
| `omk-freedomd-control-plane.webp` | yes | v0.80.2 Freedomd README hero | Codex OAuth gpt-image-2 with `omk-control.webp` style reference | `1983x793` | `WEBP` | 1877984 |
|
|
8
|
+
| `omk-freedomd-control-plane.svg` | yes | v0.80.2 Freedomd README fallback | deterministic local SVG fallback retained for provenance | `1600x640` | `SVG` | 4415 |
|
|
9
9
|
| `omk-control.webp` | yes | Canonical README hero | Codex/OpenAI Images reviewed source | `1536x1024` | `WEBP` | 164502 |
|
|
10
10
|
| `omk-social-preview.png` | yes | GitHub/NPM social preview | local crop from omk-control.webp | `1200x630` | `PNG` | 737974 |
|
|
11
11
|
| `social-preview.png` | repo-only | GitHub social preview upload candidate | local Pillow render from omk-control.webp | `1280x640` | `PNG` | 441349 |
|
|
@@ -87,22 +87,22 @@
|
|
|
87
87
|
| `omk-evidence-loop-0.78.0.webp` | omk-runtime-flow-0.78.0.webp | Evidence bundle and verify gate crop | `900x774` | `WEBP` | 60808 | `2c4bf27d738710461b9979144759e06a99729ffcc97f53d1bd985b503b0f99da` |
|
|
88
88
|
| `omk-runtime-flow-wide.webp` | omk-runtime-flow-0.78.0.webp | Runtime flow wide strip | `1485x178` | `WEBP` | 45258 | `9edac732cd8de0533e345337392f3dca464a9d8a2f08d8b7a464b685a8da45ce` |
|
|
89
89
|
| `omk-architecture-strip.webp` | omk-tui-0.78.0.webp | TUI command timeline and evidence ledger strip | `1536x273` | `WEBP` | 71128 | `c76b825863260ecff832e31d986b91d341903f929faa62727511a594cb714cfe` |
|
|
90
|
-
| `omk-core-loop.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | OMK Core Loop | `1200x420` | `SVG` | 2731 | `
|
|
91
|
-
| `omk-control-surfaces.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Operator control surfaces | `1200x420` | `SVG` | 3325 | `
|
|
92
|
-
| `omk-release-assertions.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Release assertion card | `1200x420` | `SVG` | 3052 | `
|
|
93
|
-
| `omk-init-control-loop.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Init to control loop | `1200x520` | `SVG` | 7339 | `
|
|
94
|
-
| `omk-parallel-subagents.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Parallel subagent lanes | `1200x520` | `SVG` | 6559 | `
|
|
95
|
-
| `omk-adaptorch-ouroboros-supermemory.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Adaptive memory stack | `1200x520` | `SVG` | 6404 | `
|
|
96
|
-
| `omk-provider-lanes.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Provider Lanes | `1200x420` | `SVG` | 2753 | `
|
|
97
|
-
| `omk-evidence-ledger.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Evidence Ledger | `1200x420` | `SVG` | 2411 | `
|
|
98
|
-
| `omk-badges.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | OMK Badges | `1200x420` | `SVG` | 2405 | `
|
|
99
|
-
| `omk-logo-mark.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Vector OMK logo mark | `512x512` | `SVG` | 649 | `
|
|
90
|
+
| `omk-core-loop.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | OMK Core Loop | `1200x420` | `SVG` | 2731 | `2547393a4785294e9fca64b1a7f65e4bc0db43bd967651520e012ff585a7c34d` |
|
|
91
|
+
| `omk-control-surfaces.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Operator control surfaces | `1200x420` | `SVG` | 3325 | `2595a96a0120c1558d2ee5396b4824520523be3292b7ad901b4ffcaa3131e637` |
|
|
92
|
+
| `omk-release-assertions.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Release assertion card | `1200x420` | `SVG` | 3052 | `e787d617c39c96e0ab82fb0a06ed4c0183f1629e11c0190f58565004c92e348e` |
|
|
93
|
+
| `omk-init-control-loop.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Init to control loop | `1200x520` | `SVG` | 7339 | `61e28a5627b310687b4d7df4b014ca09479f502e30f67315877158be27cd2d41` |
|
|
94
|
+
| `omk-parallel-subagents.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Parallel subagent lanes | `1200x520` | `SVG` | 6559 | `6b0ed3e17b3e3d8eefe92ff960a3d3c00d2423992e37a4b2a178b3ffe3d9bc80` |
|
|
95
|
+
| `omk-adaptorch-ouroboros-supermemory.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Adaptive memory stack | `1200x520` | `SVG` | 6404 | `8cf64e0f61476bf14eb20cf16f1054f2fb803235f12ab225959eaae024bb2e83` |
|
|
96
|
+
| `omk-provider-lanes.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Provider Lanes | `1200x420` | `SVG` | 2753 | `9595e13ae4558dfe05d73770400f37d5264c5f02053497a0e518670ea7abd2d5` |
|
|
97
|
+
| `omk-evidence-ledger.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Evidence Ledger | `1200x420` | `SVG` | 2411 | `c81dd3802c14c790b3657b2384d3a84f53a0dd062ddcf07ab763df95f93848d5` |
|
|
98
|
+
| `omk-badges.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | OMK Badges | `1200x420` | `SVG` | 2405 | `d8baeae6d095fbfd222d82ea4355f059d797e141b810775045d70bd7f07c4a4e` |
|
|
99
|
+
| `omk-logo-mark.svg` | themes/night-city.theme.json via scripts/assets-build.mjs | Vector OMK logo mark | `512x512` | `SVG` | 649 | `ed8673ae5f10f4abdc689169bd81fd489f3ff4aa67a49573aeaffd299e32f3ad` |
|
|
100
100
|
|
|
101
101
|
|
|
102
102
|
## omk-freedomd-control-plane.webp
|
|
103
103
|
|
|
104
104
|
- Packaged path: `readmeasset/omk-freedomd-control-plane.webp`.
|
|
105
|
-
- README usage: GitHub hero for OMK v0.80.
|
|
105
|
+
- README usage: GitHub hero for OMK v0.80.2 Freedomd provider-sovereignty control plane.
|
|
106
106
|
- Generator: Codex OAuth image workflow using `gpt-image-2` (`.agents/skills/codex-gpt-image/scripts/codex_gpt_image.py generate`) with `readmeasset/omk-control.webp` as the style reference.
|
|
107
107
|
- Prompt artifact: `.omk/runs/freedomd-release-2026-06-16/codex-oauth-gpt-image-2-prompt.txt`.
|
|
108
108
|
- Prompt SHA-256: `88fcb293216d544ef2794bfd7d64c0e8d13df2dfc0f715bd8933596709fb3f20`.
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
## omk-freedomd-control-plane.svg
|
|
114
114
|
|
|
115
115
|
- Packaged path: `readmeasset/omk-freedomd-control-plane.svg`.
|
|
116
|
-
- README usage: deterministic fallback for OMK v0.80.
|
|
116
|
+
- README usage: deterministic fallback for OMK v0.80.2 Freedomd provider-sovereignty control plane.
|
|
117
117
|
- Source: deterministic local SVG fallback generated from `DESIGN.md` tokens and current Freedomd runtime features.
|
|
118
118
|
- Original OpenAI Platform prompt artifact: `.omk/runs/freedomd-release-2026-06-16/gpt-image-2-prompt.md`.
|
|
119
119
|
- Dimensions: `1600x640`; format: `SVG`; bytes: 4415; sha256: `00afea70a2cb826bb804d2cad9a2e452a033e6b90672a9d19f15a421a305ee26`.
|
|
@@ -124,13 +124,13 @@
|
|
|
124
124
|
- Generator: `scripts/assets-build.mjs` resolves every `fill`/`stroke`/`stop-color` value from theme primitives and embeds a provenance comment; geometry, layout, and text are preserved.
|
|
125
125
|
- Regeneration command: `npm run assets:build` (re-run after any theme token change; the `@<hash>` suffix is the first 12 hex of the theme file's SHA-256).
|
|
126
126
|
- Light variant: not built — dark-only by ADR, see `docs/decisions/ADR-theme-dark-only-assets.md`. Non-dark themes are refused unless every used pair passes the 4.5/3.0 WCAG gates inline.
|
|
127
|
-
- derived-from: omk.theme.v1/night-city@
|
|
128
|
-
- derived-from: omk.theme.v1/night-city@
|
|
129
|
-
- derived-from: omk.theme.v1/night-city@
|
|
130
|
-
- derived-from: omk.theme.v1/night-city@
|
|
131
|
-
- derived-from: omk.theme.v1/night-city@
|
|
132
|
-
- derived-from: omk.theme.v1/night-city@
|
|
133
|
-
- derived-from: omk.theme.v1/night-city@
|
|
134
|
-
- derived-from: omk.theme.v1/night-city@
|
|
135
|
-
- derived-from: omk.theme.v1/night-city@
|
|
136
|
-
- derived-from: omk.theme.v1/night-city@
|
|
127
|
+
- derived-from: omk.theme.v1/night-city@3d22ce435823 — `omk-badges.svg`
|
|
128
|
+
- derived-from: omk.theme.v1/night-city@3d22ce435823 — `omk-control-surfaces.svg`
|
|
129
|
+
- derived-from: omk.theme.v1/night-city@3d22ce435823 — `omk-core-loop.svg`
|
|
130
|
+
- derived-from: omk.theme.v1/night-city@3d22ce435823 — `omk-evidence-ledger.svg`
|
|
131
|
+
- derived-from: omk.theme.v1/night-city@3d22ce435823 — `omk-logo-mark.svg`
|
|
132
|
+
- derived-from: omk.theme.v1/night-city@3d22ce435823 — `omk-parallel-subagents.svg`
|
|
133
|
+
- derived-from: omk.theme.v1/night-city@3d22ce435823 — `omk-provider-lanes.svg`
|
|
134
|
+
- derived-from: omk.theme.v1/night-city@3d22ce435823 — `omk-release-assertions.svg`
|
|
135
|
+
- derived-from: omk.theme.v1/night-city@3d22ce435823 — `omk-adaptorch-ouroboros-supermemory.svg`
|
|
136
|
+
- derived-from: omk.theme.v1/night-city@3d22ce435823 — `omk-init-control-loop.svg`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- derived-from: omk.theme.v1/night-city@
|
|
1
|
+
<!-- derived-from: omk.theme.v1/night-city@3d22ce435823 -->
|
|
2
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
3
|
<title id="title">OMK adaptive memory stack</title>
|
|
4
4
|
<desc id="desc">Adaptorch routes topology, Ouroboros clarifies and evolves goals, and Supermemory recalls stable facts for the OMK control loop.</desc>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- derived-from: omk.theme.v1/night-city@
|
|
1
|
+
<!-- derived-from: omk.theme.v1/night-city@3d22ce435823 -->
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="420" viewBox="0 0 1200 420" role="img" aria-labelledby="title desc">
|
|
3
3
|
<title id="title">OMK operator surfaces</title>
|
|
4
4
|
<desc id="desc">OMK operator surfaces: CLI, provider router, MCP scope, evidence gate, replay ledger, and package audit.</desc>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- derived-from: omk.theme.v1/night-city@
|
|
1
|
+
<!-- derived-from: omk.theme.v1/night-city@3d22ce435823 -->
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="420" viewBox="0 0 1200 420">
|
|
3
3
|
<rect width="1200" height="420" fill="#070B14"/>
|
|
4
4
|
<defs><filter id="glow"><feGaussianBlur stdDeviation="3" result="b"/><feMerge><feMergeNode in="b"/><feMergeNode in="SourceGraphic"/></feMerge></filter></defs>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="640" viewBox="0 0 1600 640" role="img" aria-labelledby="title desc">
|
|
2
2
|
<title id="title">OMK Freedomd runtime control plane</title>
|
|
3
3
|
<desc id="desc">Local-first multi-provider agent control plane with sovereignty routing, evidence envelopes, degraded fallback, and strict guardrail opt-in.</desc>
|
|
4
|
-
<metadata>omk.asset.v1 name=omk-freedomd-control-plane packaged=yes source=local-svg-render prompt-ready=gpt-image-2.0 text=ascii version=0.80.
|
|
4
|
+
<metadata>omk.asset.v1 name=omk-freedomd-control-plane packaged=yes source=local-svg-render prompt-ready=gpt-image-2.0 text=ascii version=0.80.2</metadata>
|
|
5
5
|
<defs>
|
|
6
6
|
<linearGradient id="bg" x1="0" x2="1" y1="0" y2="1">
|
|
7
7
|
<stop stop-color="#FFF8EF" offset="0"/>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- derived-from: omk.theme.v1/night-city@
|
|
1
|
+
<!-- derived-from: omk.theme.v1/night-city@3d22ce435823 -->
|
|
2
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
3
|
<title id="title">OMK init to control loop</title>
|
|
4
4
|
<desc id="desc">The OMK setup path creates scoped project files, runs doctor checks, then enters the evidence-gated control loop.</desc>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- derived-from: omk.theme.v1/night-city@
|
|
1
|
+
<!-- derived-from: omk.theme.v1/night-city@3d22ce435823 -->
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
|
|
3
3
|
<rect width="512" height="512" rx="96" fill="#070B14"/>
|
|
4
4
|
<path d="M256 48 424 144v224L256 464 88 368V144Z" fill="#101826" stroke="#00D6FF" stroke-width="16"/>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- derived-from: omk.theme.v1/night-city@
|
|
1
|
+
<!-- derived-from: omk.theme.v1/night-city@3d22ce435823 -->
|
|
2
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
3
|
<title id="title">OMK parallel subagents</title>
|
|
4
4
|
<desc id="desc">OMK root control fans out scoped subagent lanes, collects evidence, then synthesizes and verifies the result.</desc>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- derived-from: omk.theme.v1/night-city@
|
|
1
|
+
<!-- derived-from: omk.theme.v1/night-city@3d22ce435823 -->
|
|
2
2
|
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="420" viewBox="0 0 1200 420" role="img" aria-labelledby="title desc">
|
|
3
3
|
<title id="title">OMK release assertions</title>
|
|
4
4
|
<desc id="desc">Package, binary, gate, and package-safety assertions for open-multi-agent-kit releases.</desc>
|