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/DESIGN.md CHANGED
@@ -2,13 +2,15 @@
2
2
 
3
3
  ## Product Identity
4
4
 
5
- OMK is a provider-neutral verified agent runtime and operator control plane, not a mascot product or a single-provider shell.
5
+ OMK is a provider-neutral verified agent runtime and root orchestrator, not a generic multi-model dashboard.
6
6
 
7
7
  Core sentence:
8
8
 
9
- > Models execute. OMK routes, verifies, measures, and controls.
9
+ > Kimi writes. OMK coordinates, verifies, remembers, and guards.
10
10
 
11
- Design surfaces must show OMK as the control loop around execution: run state, evidence, telemetry, graph memory, scoped MCP/skills/hooks, worktree isolation, provider fallback, and operator controls. Never imply completion from narration alone; visual “done” states require command, diff, artifact, metric, or review evidence.
11
+ Design surfaces must show that Kimi is the primary coding authority while OMK exposes run state, evidence, graph memory, scoped MCP/skills/hooks state, worktree isolation, provider fallback, and operator controls. Never imply completion from narration alone; visual “done” states require command, diff, artifact, or review evidence.
12
+
13
+ Open Design bridge outputs must treat this `DESIGN.md` as the source of truth for tokens, product constraints, and brand direction. Catalog styles from Open Design or `awesome-design-md` are reference inputs only; adapt them to the local OMK system instead of replacing tokens or cloning external brands.
12
14
 
13
15
  ## Runtime Algorithm Reference
14
16
 
@@ -20,89 +22,113 @@ approval/sandbox policy, and adapter capability boundaries.
20
22
 
21
23
  ## Reference Design System
22
24
 
23
- 기준 디자인: **Night City Ops Console** — 검은 패널, 네온 시안/마젠타/앰버 포인트, 밀도 높은 메트릭 카드, 라우팅/증거/워크트리 상태가 한눈에 보이는 cyberpunk2077 + telemetry 중심 운영 콘솔.
24
-
25
- 현재 브랜드 기준 이미지는 `readmeasset/omk-control.webp` 이다. 로컬 런타임에서 한국어 별칭이 필요하면 프로젝트 루트의 `오픈멀티에이전트킷.webp`는 이 기준 이미지의 alias로만 취급하고, 배포/문서 링크는 패키징 검증이 되는 `readmeasset/omk-control.webp`를 사용한다. 이미지 provenance와 배포 전 확인 상태는 `readmeasset/ASSET_PROVENANCE.md`에 기록한다.
25
+ 기준 디자인: **냥심판 (Nyang Judge)** — 따뜻한 크림 베이지 배경, 초콜릿 브라운 타이포그래피, 귀여운 고양이 판사 일러스트, 노랑 CTA, 오렌지 강조, 발바닥 별점이 있는 "살까 말까?" 구매 재판 앱의 디자인 시스템을 OMK에 통합.
26
26
 
27
- GitHub theme research inputs used for this refresh are palette inspiration only, not copied code or assets: `hyperb1iss/silkcircuit`, `mbadolato/iTerm2-Color-Schemes` Matrix/Darkmatrix schemes, `Murderlon/cyberpunk-iterm`, `djorborn/cyberpunk`, `pedruino/wave-cyberpunk-2077`, and `PandaAkiraNakai/starship-cyberpunk-preset`. Public TUI copy must remain OMK-owned (`OMK//CONTROL`, `NEON GRID ONLINE`, `Green Rain`, `Night City Ops Console`) and must not print external trademark splash text.
27
+ 에셋 출처: `/public/assets/` `cat-judge.png`, `paw-rating.png`, `verdict-*.png`, `logo-600x600.png`
28
+ 레퍼런스: `/public/assets/references/` — `dashboard.png`, `landing-and-form.png`, `my-page.png`, `records.png`, `result.png`
28
29
 
29
30
  패키징 정책: `/public/assets/`는 웹사이트/디자인 작업용 **source-only reference asset**이며 현재 npm CLI 패키지에는 포함하지 않는다. 라이선스와 출처가 기록되지 않은 에셋은 source-only 상태로 유지하고, CLI/init 문서나 배포 패키지에 이미지가 필요하면 provenance(라이선스, 원출처, 사용 권한, 검토일)를 먼저 기록한 뒤 최소 선별본만 `readmeasset/` 또는 `docs/assets/`로 이동해 포함한다. `.gitignore`와 package audit은 `/public/assets/**`가 실수로 커밋되거나 npm tarball에 들어가는 것을 막는 방어선이다.
30
31
 
31
32
  ## Visual Direction
32
33
 
33
- - **Mood**: 어두운 오퍼레이터 룸, 네온 HUD, 증거와 메트릭이 살아 있는 control-plane 화면
34
- - **Shape**: 1220px 반경의 견고한 패널, 얇은 네온 보더, dense metric cards
35
- - **Layout**: 풀와이드 cockpit 우선, 좌측 작업/우측 메트릭 rail, summary-first 정보 밀도
36
- - **Iconography**: mascots 대신 grid, scope, route, telemetry, evidence, worktree glyph
37
- - **Animation**: scanline pulse, signal sweep, matrix drift, metric blink, status pop
38
- - **Voice**: cute/mascot tone 금지. operator, telemetry, evidence, control, route, signal 어휘 사용
34
+ - **Mood**: 따뜻하고 아늑한 코리안 코트룸 토이박스 "고양이 판사가 지켜보는 OMK 작업실"
35
+ - **Shape**: 2030px 둥근 카드, pill 필터, 44px+ 터치 타겟
36
+ - **Layout**: max-width 430px 모바일 셸, 데스크톱에서는 프레임처럼 중앙 정렬 (HUD/cockpit은 풀와이드)
37
+ - **Illustration**: `cat-judge.png`를 OMK 마스코트로 사용; Kimicat은 보조 캐릭터
38
+ - **Animation**: fadeInUp, bounceIn, float, paw-pop, card-3d-tilt, scale-in-bounce
39
39
 
40
- ## Colors (Cyberpunk Control Plane)
40
+ ## Colors (냥심판 × OMK 통합)
41
41
 
42
42
  ### Page & Surface
43
43
 
44
44
  | Token | Hex | Usage |
45
45
  |-------|-----|-------|
46
- | `--bg-page` | `#070B14` | 메인 배경 |
47
- | `--bg-page-soft` | `#0B1220` | 부드러운 어두운 배경 |
48
- | `--bg-page-deep` | `#03060D` | 깊은 배경 |
49
- | `--bg-card` | `#101826` | 기본 카드 |
50
- | `--bg-warm-card` | `#131D2E` | 보조 카드 |
51
- | `--bg-soft` | `#162235` | 있는 surface |
46
+ | `--bg-page` | `#FFF8EF` | 메인 페이지 배경 |
47
+ | `--bg-page-soft` | `#FFFDF8` | 부드러운 배경 |
48
+ | `--bg-page-deep` | `#F8EAD7` | 깊은 배경 (그라데이션 하단) |
49
+ | `--bg-card` | `#FFFFFF` | 카드 배경 |
50
+ | `--bg-warm-card` | `#FFF4E6` | 따뜻한 카드 배경 |
51
+ | `--bg-soft` | `#FFFAF2` | 초부드러운 배경 |
52
52
 
53
- ### Neon Core
53
+ ### Brown Scale (텍스트/UI)
54
54
 
55
55
  | Token | Hex | Usage |
56
56
  |-------|-----|-------|
57
- | `--neon-cyan` | `#00D6FF` | signal, route, graph |
58
- | `--neon-green` | `#00FFC2` | success, telemetry, active gauges |
59
- | `--neon-magenta` | `#FF47B2` | control accent, focus, highlights |
60
- | `--neon-purple` | `#9D4EDD` | orchestration accent |
61
- | `--neon-amber` | `#FFB000` | warning, pending |
62
- | `--neon-red` | `#FF5874` | fail, fault |
57
+ | `--brown-950` | `#2A170D` | 최고강조 텍스트 |
58
+ | `--brown-900` | `#3A1F10` | Primary 텍스트 |
59
+ | `--brown-800` | `#4A2A14` | 헤딩 |
60
+ | `--brown-700` | `#5A3219` | 강조 텍스트 |
61
+ | `--brown-600` | `#815029` | 서브헤딩 |
62
+ | `--brown-500` | `#9A6A42` | 중간 |
63
+ | `--brown-300` | `#D8AA72` | 호버/액센트 |
63
64
 
64
- ### Text Colors
65
+ ### Yellow / CTA
66
+
67
+ | Token | Hex | Usage |
68
+ |-------|-----|-------|
69
+ | `--yellow-600` | `#F2A900` | CTA 호버 베이스 |
70
+ | `--yellow-500` | `#FFC83D` | Primary CTA |
71
+ | `--yellow-400` | `#FFD96B` | CTA 그라데이션 |
72
+ | `--yellow-300` | `#FFD978` | CTA 라이트 |
73
+
74
+ ### Orange / Verdict Emphasis
65
75
 
66
76
  | Token | Hex | Usage |
67
77
  |-------|-----|-------|
68
- | `--text-primary` | `#E8F8FF` | 본문 텍스트 |
69
- | `--text-secondary` | `#9DB3C7` | 보조 텍스트 |
70
- | `--text-muted` | `#758FA8` | 흐린 텍스트 |
71
- | `--text-inverse` | `#070B14` | 밝은 surface 위 텍스트 |
78
+ | `--orange-600` | `#F05A28` | 강조 오렌지 |
79
+ | `--orange-500` | `#F47719` | 액센트 오렌지 |
80
+ | `--orange-400` | `#FF9358` | 라이트 오렌지 |
72
81
 
73
82
  ### Semantic Colors
74
83
 
75
84
  | Token | Hex | Usage |
76
85
  |-------|-----|-------|
77
- | `--green-600` | `#00FFC2` | 성공/통과 |
78
- | `--green-100` | `#08271F` | 성공 배경 |
79
- | `--red-600` | `#FF5874` | 실패/위험 |
80
- | `--red-100` | `#2A0C16` | 위험 배경 |
81
- | `--warning` | `#FFB000` | 경고 |
82
- | `--warning-bg` | `#2B1E06` | 경고 배경 |
83
- | `--info` | `#00D6FF` | 정보 |
84
- | `--info-bg` | `#081E2B` | 정보 배경 |
86
+ | `--green-600` | `#2F9B4A` | 성공/통과 |
87
+ | `--green-100` | `#E9F8E8` | 성공 배경 |
88
+ | `--red-600` | `#E5482D` | 실패/위험 |
89
+ | `--red-100` | `#FFE1D8` | 위험 배경 |
90
+ | `--warning` | `#B35C00` | 경고 |
91
+ | `--warning-bg` | `#FFF0C7` | 경고 배경 |
92
+ | `--info` | `#536D7A` | 정보 |
93
+ | `--info-bg` | `#EAF5FF` | 정보 배경 |
85
94
 
86
95
  ### Border & Divider
87
96
 
88
97
  | Token | Hex | Usage |
89
98
  |-------|-----|-------|
90
- | `--grid-border` | `#22324A` | 기본 보더 |
91
- | `--grid-border-strong` | `#355377` | 강조 보더 |
92
- | `--grid-glow` | `rgba(0, 214, 255, 0.24)` | focus/glow |
99
+ | `--cream-border` | `#EED9C4` | 기본 보더 |
100
+ | `--cream-border-strong` | `#D8B58F` | 강조 보더 |
101
+
102
+ ### Text Colors
103
+
104
+ | Token | Hex | Usage |
105
+ |-------|-----|-------|
106
+ | `--text-primary` | `#3A1F10` | 본문 텍스트 |
107
+ | `--text-secondary` | `#7D6148` | 보조 텍스트 |
108
+ | `--text-muted` | `#8B6F59` | 흐린 텍스트 |
109
+ | `--text-inverse` | `#FFF8EF` | 어두운 배경 위 텍스트 |
110
+
111
+ ### Legacy Kimicat Colors (보존)
112
+
113
+ | Token | Hex | Usage |
114
+ |-------|-----|-------|
115
+ | `--kimicat-purple` | `#7B5BF5` | Kimicat 눈, 로고 액센트 |
116
+ | `--kimicat-pink` | `#EC4899` | 하트/장식 |
117
+ | `--kimicat-mint` | `#14B8A6` | 초코민트 테마 |
118
+ | `--kimicat-dark` | `#241C32` | 후디/다크모드 |
93
119
 
94
120
  ### Verdict Colors (에이전트 상태)
95
121
 
96
122
  | 상태 | 색상 | Usage |
97
123
  |------|------|-------|
98
- | `PASS / DONE` | `#00FFC2` on `#08271F` | 성공/완료 |
99
- | `FAIL / ERROR` | `#FF5874` on `#2A0C16` | 실패/에러 |
100
- | `WARN / BLOCKED` | `#FFB000` on `#2B1E06` | 경고/블록 |
101
- | `INFO / PENDING` | `#00D6FF` on `#081E2B` | 정보/대기 |
124
+ | `PASS / DONE` | `#2F8A3B` on `#E7F6D9` | 성공/완료 |
125
+ | `FAIL / ERROR` | `#E85D1F` on `#FFE4D6` | 실패/에러 |
126
+ | `WARN / BLOCKED` | `#B35C00` on `#FFF0C7` | 경고/블록 |
127
+ | `INFO / PENDING` | `#536D7A` on `#E8EEF1` | 정보/대기 |
102
128
 
103
129
  Operational status labels:
104
130
 
105
- - `PASS`: verified by command, diff, review, metric, or artifact.
131
+ - `PASS`: verified by command, diff, review, or artifact.
106
132
  - `WARN`: scope drift, provider fallback, skipped check, or partial evidence.
107
133
  - `BLOCKED`: missing permission, failed gate, dirty worktree, unavailable MCP, or protected-path checkpoint.
108
134
  - `ADVISORY`: provider/reviewer/research output without write authority.
@@ -112,10 +138,10 @@ Operational status labels:
112
138
  HUD/cockpit must prioritize:
113
139
 
114
140
  1. active goal / run / session
115
- 2. current provider / worker lane
141
+ 2. current Kimi or worker lane
116
142
  3. changed files and worktree location
117
143
  4. TODO / blocker state
118
- 5. evidence + telemetry status
144
+ 5. evidence gate status
119
145
  6. scoped MCP / skills / hooks summary
120
146
  7. provider route and fallback status
121
147
  8. replay / inspect / graph links
@@ -160,12 +186,12 @@ Font Imports:
160
186
  --radius-pill: 999px;
161
187
 
162
188
  /* Shadows */
163
- --shadow-card: 0 14px 42px rgba(0, 214, 255, 0.10);
164
- --shadow-soft: 0 18px 64px rgba(0, 0, 0, 0.34);
165
- --shadow-button: 0 0 18px rgba(0, 214, 255, 0.26), inset 0 0 0 1px rgba(232, 248, 255, 0.10);
166
- --shadow-nav: 0 -10px 34px rgba(0, 214, 255, 0.08);
167
- --shadow-hover: 0 20px 54px rgba(255, 71, 178, 0.18);
168
- --shadow-glow: 0 0 24px rgba(0, 255, 194, 0.35);
189
+ --shadow-card: 0 10px 26px rgba(91, 52, 24, 0.08);
190
+ --shadow-soft: 0 16px 48px rgba(80, 45, 18, 0.12);
191
+ --shadow-button: 0 5px 0 #D88A1D, 0 14px 24px rgba(216, 138, 29, 0.22);
192
+ --shadow-nav: 0 -10px 34px rgba(61, 37, 23, 0.08);
193
+ --shadow-hover: 0 18px 40px rgba(91, 52, 24, 0.14);
194
+ --shadow-glow: 0 0 24px rgba(255, 189, 46, 0.35);
169
195
 
170
196
  /* Touch target */
171
197
  --touch-target: 44px;
@@ -174,20 +200,21 @@ Font Imports:
174
200
 
175
201
  ## Component Patterns
176
202
 
177
- ### Cards (control-card)
203
+ ### Cards (warm-card)
178
204
 
179
205
  ```css
180
- .control-card {
181
- background: linear-gradient(180deg, rgba(16, 24, 38, 0.96), rgba(11, 18, 32, 0.92));
182
- border: 1px solid var(--grid-border);
206
+ .warm-card {
207
+ background: rgba(255, 255, 255, 0.9);
208
+ border: 1px solid var(--cream-border);
183
209
  border-radius: var(--radius-xl);
184
210
  box-shadow: var(--shadow-card);
185
- backdrop-filter: blur(10px);
186
- transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
211
+ backdrop-filter: blur(8px);
212
+ transition: transform 0.25s cubic-bezier(0.2, 0.85, 0.25, 1.1),
213
+ box-shadow 0.25s ease;
187
214
  }
188
- .control-card:hover {
189
- border-color: var(--neon-cyan);
215
+ .warm-card:hover {
190
216
  box-shadow: var(--shadow-hover);
217
+ border-color: var(--cream-border-strong);
191
218
  }
192
219
  ```
193
220
 
@@ -197,20 +224,20 @@ Font Imports:
197
224
  .primary-button {
198
225
  display: inline-flex; align-items: center; justify-content: center;
199
226
  width: 100%; min-height: 56px; gap: var(--space-2);
200
- border: 1px solid rgba(0, 214, 255, 0.55); border-radius: 20px;
201
- background: linear-gradient(135deg, var(--neon-cyan), var(--neon-magenta));
202
- color: var(--text-inverse);
227
+ border: 0; border-radius: 20px;
228
+ background: linear-gradient(180deg, var(--yellow-400), var(--yellow-500));
229
+ color: var(--brown-900);
203
230
  box-shadow: var(--shadow-button);
204
- font-weight: 900; font-size: 16px;
205
- transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
231
+ font-weight: 800; font-size: 16px;
232
+ transition: transform 0.18s ease, box-shadow 0.18s ease;
206
233
  }
207
234
  .primary-button:hover {
208
235
  transform: translateY(-2px);
209
- filter: saturate(1.18);
210
- box-shadow: 0 0 28px rgba(0, 214, 255, 0.34), 0 0 30px rgba(255, 71, 178, 0.22);
236
+ box-shadow: 0 7px 0 #D88A1D, 0 20px 32px rgba(216, 138, 29, 0.28);
211
237
  }
212
238
  .primary-button:active {
213
- transform: translateY(1px) scale(0.99);
239
+ transform: translateY(3px) scale(0.97);
240
+ box-shadow: 0 1px 0 #D88A1D, 0 4px 10px rgba(216, 138, 29, 0.14);
214
241
  }
215
242
  ```
216
243
 
@@ -220,14 +247,10 @@ Font Imports:
220
247
  .secondary-button {
221
248
  display: inline-flex; align-items: center; justify-content: center;
222
249
  width: 100%; min-height: 56px; gap: var(--space-2);
223
- border: 1.5px solid var(--grid-border-strong); border-radius: 20px;
224
- background: rgba(16, 24, 38, 0.74);
225
- color: var(--text-primary);
226
- font-weight: 900; font-size: 16px;
227
- }
228
- .secondary-button:hover {
229
- border-color: var(--neon-green);
230
- box-shadow: 0 0 18px rgba(0, 255, 194, 0.18);
250
+ border: 1.5px solid var(--cream-border-strong); border-radius: 20px;
251
+ background: rgba(255, 255, 255, 0.72);
252
+ color: var(--brown-900);
253
+ font-weight: 800; font-size: 16px;
231
254
  }
232
255
  ```
233
256
 
@@ -239,49 +262,49 @@ Font Imports:
239
262
  width: 100%; max-width: 430px;
240
263
  height: calc(70px + env(safe-area-inset-bottom, 0px));
241
264
  display: flex; align-items: flex-start; justify-content: space-around;
242
- background: rgba(7, 11, 20, 0.92);
243
- backdrop-filter: blur(14px);
244
- border-top: 1px solid var(--grid-border);
265
+ background: rgba(255, 248, 236, 0.92);
266
+ backdrop-filter: blur(12px);
267
+ border-top: 1px solid rgba(240, 221, 196, 0.7);
245
268
  box-shadow: var(--shadow-nav);
246
269
  z-index: 50;
247
270
  }
248
271
  .bottom-nav-item.active {
249
- color: var(--neon-cyan);
250
- background: linear-gradient(180deg, rgba(0, 214, 255, 0.18), rgba(0, 214, 255, 0));
272
+ color: var(--brown-900);
273
+ background: linear-gradient(180deg, #FFF4D2, #FFFFFF00);
251
274
  }
252
275
  ```
253
276
 
254
277
  ## OMK HUD / Cockpit Theme
255
278
 
256
- OMK의 CLI HUD와 Cockpit는 dark cyberpunk terminal theme를 기본으로 사용한다. Startup/HUD/working 상태는 다음 문구 계층을 공유한다: `OMK//CONTROL`, `NEON GRID ONLINE`, `signal active`, `evidence gate armed`, `MCP/skills/hooks scoped`, `turn settled`. 완료는 narrative가 아니라 command/diff/artifact/review evidence가 있을 때만 verified로 표현한다.
257
-
258
- ```txt
259
- Primary: #00FFC2 (telemetry green)
260
- Secondary: #00D6FF (signal cyan)
261
- Accent: #9D4EDD (control purple)
262
- Background: #070B14 (night black)
263
- Surface: #101826 (panel surface)
264
- Text: #E8F8FF (console text)
265
- Muted: #758FA8 (muted text)
266
- Success: #00FFC2
267
- Error: #FF5874
268
- Warning: #FFB000
269
- Info: #00D6FF
279
+ OMK의 CLI HUD와 Cockpit는 브라운 계열 터미널 테마 사용:
280
+
281
+ ```
282
+ Primary: #FFC83D (yellow CTA)
283
+ Secondary: #D8AA72 (brown accent)
284
+ Background: #2A170D (dark brown bg)
285
+ Surface: #3A1F10 (card surfaces)
286
+ Text: #FFF8EF (cream text)
287
+ Muted: #8B6F59 (muted text)
288
+ Success: #2F9B4A (green)
289
+ Error: #E85D1F (orange-red)
290
+ Warning: #B35C00 (amber)
291
+ Info: #536D7A (slate)
270
292
  ```
271
293
 
272
294
  ## Asset Usage Matrix
273
295
 
274
- Asset provenance gate: 이 표는 디자인 의도만 설명한다. source-only reference asset은 provenance가 기록될 때까지 package/release 산출물에 포함하지 않는다.
296
+ Asset provenance gate: 이 표는 디자인 의도만 설명한다. 아래 `public/assets` 항목은 provenance가 기록될 때까지 source-only이며, package/release 산출물에는 `readmeasset/` 및 `docs/assets/`처럼 provenance가 확인된 선별 에셋만 포함한다.
297
+
275
298
 
276
299
  | OMK Surface | Assets Used |
277
300
  |-------------|-------------|
278
- | HUD | ASCII/control glyphs first, optional provenance-cleared logo only |
279
- | Cockpit | telemetry cards, route graph glyphs, metric chips |
280
- | Dashboard | verified logo, route/evidence panels, status lights |
281
- | Run Status | pass/warn/fail/pending badges with text labels |
282
- | Social Preview | provenance-cleared OMK logo or neutral control-room art |
283
- | Landing Page | dark control-grid reference, no mascot dependency |
284
- | Error States | alert stripes, fault badges, operator guidance |
301
+ | HUD | `cat-judge.png` (mascot, small) |
302
+ | Cockpit | `cat-judge.png` (hero), `paw-rating.png` (status icon) |
303
+ | Dashboard | `logo-600x600.png` (logo), `verdict-*.png` (status states) |
304
+ | Run Status | verdict images mapped to run states: `adopt`=pass, `confiscated`=error, `jail`=fail, `wait`=pending |
305
+ | Social Preview | `thumbnail-1100x800.png`, `cat-gavel.png` |
306
+ | Landing Page | `references/landing-and-form.png` (reference) |
307
+ | Error States | `cat-gavel.png` (judge gavel for error/blocked) |
285
308
 
286
309
  ## Animation Presets
287
310
 
@@ -306,22 +329,23 @@ Asset provenance gate: 이 표는 디자인 의도만 설명한다. source-only
306
329
  ## Rules
307
330
 
308
331
  1. **Use tokens before inventing new values** — 모든 색상/간격/쉐도우는 CSS 변수 참조
309
- 2. **Neon cyan + green are the live-signal core** — route/telemetry/success에 우선 사용
310
- 3. **Amber and red are reserved for warnings/faults** — 강조 색상 남용 금지
311
- 4. **Dark surfaces first** — HUD/cockpit은 밝은 크림 테마 금지
312
- 5. **Metrics over mascots** — 상태, 증거, 라우트, worktree, MCP/skills/hooks 정보를 우선 노출
313
- 6. **Readable density** — compact하지만 숫자/라벨/근거가 화면에 보여야
314
- 7. **Reduced motion respected** — `prefers-reduced-motion` 미디어 쿼리 필수
315
- 8. **Color never the only indicator** — 상태 배지에 텍스트 + 색상 함께 사용
316
- 9. **Control-plane language only** — cute/mascot 표현 금지
332
+ 2. **Yellow (`#FFC83D`) is the CTA hero** — 주요 액션 버튼에만 사용
333
+ 3. **Brown (`#3A1F10`) is text authority** — 모든 본문/헤딩 텍스트
334
+ 4. **Cream (`#FFF8EF`) is the page soul** — 메인 배경, 절대 순수 흰색 사용 금지
335
+ 5. **Orange (`#F05A28`) is emphasis only** — 경고/강조/수치 표시에 제한적 사용
336
+ 6. **Rounded everything** — 20px+ border-radius on cards, pill buttons
337
+ 7. **44px minimum touch targets** — 모바일/태블릿 터치 대응
338
+ 8. **Cat judge is mascot** — `cat-judge.png`를 OMK 브랜드 아이덴티티로 사용
339
+ 9. **Reduced motion respected** — `prefers-reduced-motion` 미디어 쿼리 필수
340
+ 10. **Color never the only indicator** — 상태 배지에 텍스트 + 색상 함께 사용
317
341
 
318
342
  ## Accessibility
319
343
 
320
344
  - 모든 인터랙티브 요소에 `aria-label` / `aria-current` 제공
321
- - 포커스 링: cyan glow (`outline: 2px solid rgba(0, 214, 255, 0.7)`)
345
+ - 포커스 링: brown border + yellow glow (`outline: 3px solid rgba(255, 189, 46, 0.42)`)
322
346
  - 최소 터치 타겟 44px
323
347
  - `prefers-reduced-motion: reduce` 전역 적용
324
- - 색상 대비: WCAG AA 이상 (light text on dark panels)
348
+ - 색상 대비: WCAG AA 이상 (brown-on-cream = 10.5:1)
325
349
 
326
350
  ## References
327
351
 
package/MATURITY.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # OMK Command Maturity Matrix
2
2
 
3
- Last updated: 2026-06-07
4
- Current source version: v0.78.8 (`v1.2` runtime contract family)
3
+ Last updated: 2026-05-24
4
+ Current source version: v0.79.3
5
5
 
6
6
  | Level | Meaning |
7
7
  |-------|---------|
@@ -15,7 +15,7 @@ Current source version: v0.78.8 (`v1.2` runtime contract family)
15
15
  |---------|-------|
16
16
  | `omk init` | Project scaffold for AGENTS.md, DESIGN.md, and local `.omk/` state. |
17
17
  | `omk doctor` | Runtime/toolchain/project diagnostics. Supports `--json` for CI-style consumption. |
18
- | `omk chat` | Interactive chat coordinator with startup status/HUD preview and run-scoped harness manifest generation. The authority-provider path is the most mature path; provider-neutral routing remains release-candidate gated by the hardening items below. |
18
+ | `omk chat` | Interactive chat coordinator with startup status/HUD preview and run-scoped harness manifest generation. The Kimi-default path is stable; native provider-neutral routing remains gated by the hardening items below. |
19
19
  | `omk hud` | Execution status and local system usage HUD. |
20
20
  | `omk cockpit` | Sidecar cockpit for run state, TODOs, and ETA. |
21
21
  | `omk plan` | Plan-only execution entrypoint. |
@@ -39,8 +39,8 @@ Current source version: v0.78.8 (`v1.2` runtime contract family)
39
39
  | `omk sync` | Asset sync with dry-run/diff/rollback support; manifest-backed rollback coverage is still incomplete for some global assets. |
40
40
  | `omk verify` | Evidence gate verification for runs. Supports `--json`. |
41
41
  | `omk goal` | Codex-style goal create/list/show/run/verify/close/block/continue with generated plan/evidence criteria. |
42
- | `omk provider` / `omk deepseek` / `omk deepseekset` | Provider listing, doctor, enable/disable, auth metadata, API-key environment naming, DeepSeek setup, and provider-neutral opportunistic routing. JSON exists for provider doctor and state changes; see `docs/provider-maturity.md`. |
43
- | `omk graph view` / `omk graph audit` | Generates HTML from `.omk/memory/graph-state.json` and validates run/evidence/decision/provider-route links for proof fixtures; useful now, but live ontology coverage and ingestion are still maturing. |
42
+ | `omk provider` / `omk deepseek` / `omk deepseekset` | DeepSeek availability, enable/disable, API-key setup, and provider-neutral opportunistic routing with Kimi as the most mature adapter. JSON exists for provider doctor and state changes. |
43
+ | `omk graph view` | Generates HTML from `.omk/memory/graph-state.json`; useful now, but ontology coverage and run-linking are still maturing. |
44
44
  | `omk mcp` | Project/global MCP list, doctor, test, serve, add/remove/install/sync-global with structured diagnostics and explicit project/global scope handling. |
45
45
  | `omk dag` | Spec DAG validation/show/replay/from-spec. Replay supports provider policy. |
46
46
  | `omk screenshot` | Clipboard screenshot store/list/clean utility with JSON on subcommands. |
@@ -63,19 +63,14 @@ Current source version: v0.78.8 (`v1.2` runtime contract family)
63
63
  | `omk research` | Core runtime web research wrapper; depends on Kimi tool availability. |
64
64
  | `omk open-design-agent` | Local Open Design CLI bridge. |
65
65
 
66
- ## Regression Proof Matrix Claim Boundary
67
-
68
- Regression Proof Matrix is a release-defense gate, not a stable-release claim. Stable promotion still requires full `npm test`, live provider maturity data, and a minimal verified demo pass.
69
-
70
66
  ## Automation Contract Status
71
67
 
72
68
  | Area | Current state | Next hardening |
73
69
  |------|---------------|----------------|
74
70
  | JSON output | Present on `doctor`, `runs/history`, `update`, `verify`, `goal` read/verify commands, provider commands, and screenshot subcommands; provider/screenshot JSON contracts are now regression-tested. | Expand consistent JSON to MCP diagnostics, graph, DAG, summary, and workflow entrypoints. |
75
- | Provider routing | Provider routing exists for low-risk/read-heavy paths and explicit provider policies. Kimi remains the most mature authority/fallback path in this RC line; run summaries/reports include provider attempt and fallback totals. See `docs/provider-maturity.md`. | Add HUD provider route metrics and broader release-gate tests for fallback/metadata contracts. |
71
+ | Provider routing | DeepSeek opportunistic worker routing exists for low-risk/read-heavy paths; Kimi remains the most mature adapter, orchestrator, and fallback; run summaries/reports now include provider attempt and fallback totals. | Add HUD provider route metrics and broader release-gate tests for fallback/metadata contracts. |
76
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. |
77
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. |
78
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. |
79
- | Release docs and site | README, CHANGELOG, MATURITY, ROADMAP, versioning docs, provider-maturity docs, package audit, and release-gate commands distinguish the `0.78.x` public package line from the `v1.2` runtime contract family while documenting alpha/experimental surfaces, current harness templates, provider limits, and the public project repository at `https://github.com/dmae97/open-multi-agent-kit`. | Treat `npm run release:check`, native safety packaging, tarball install smoke, and CI evidence on the exact commit as the publish/deploy gate before claiming `0.78.8` published or release-ready. |
80
- | Public proof bundles | `omk.proof-bundle.v1`, `npm run proof:check`, `npm run proof:index`, and ten scoped RC hardening bundles now cover no-Kimi, provider/doctor, fallback routing, native safety, contract/version, evidence-block, replay/inspect, and graph-audit axes. Proof integrity includes runId/commit/evidence/decision linkage and per-bundle `sha256sums.txt` artifact hashes. | Keep strengthening proof authenticity with sanitized repo-relative artifacts, non-empty known limitations, and broader provider fallback variants. |
75
+ | Release docs and site | README, CHANGELOG, MATURITY, ROADMAP, getting-started docs, package audit, and release-gate commands now distinguish the v0.79.3 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.79.3 as released. |
81
76
  | Goal planner | Goal lifecycle exists, including continue, generated plan/evidence criteria, and verification. | Expand planner quality scoring and release evidence. |