@trac3er/oh-my-god 2.0.5 → 2.0.7

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 (560) hide show
  1. package/.agents/skills/omg/AGENTS.fragment.md +57 -4
  2. package/.agents/skills/omg/claim-judge/SKILL.md +11 -0
  3. package/.agents/skills/omg/claim-judge/openai.yaml +13 -0
  4. package/.agents/skills/omg/codex-rules.md +33 -0
  5. package/.agents/skills/omg/plan-council/SKILL.md +11 -0
  6. package/.agents/skills/omg/plan-council/openai.yaml +12 -0
  7. package/.agents/skills/omg/proof-gate/SKILL.md +11 -0
  8. package/.agents/skills/omg/proof-gate/openai.yaml +13 -0
  9. package/.agents/skills/omg/test-intent-lock/SKILL.md +11 -0
  10. package/.agents/skills/omg/test-intent-lock/openai.yaml +13 -0
  11. package/.claude-plugin/marketplace.json +5 -5
  12. package/.claude-plugin/plugin.json +1 -1
  13. package/.claude-plugin/scripts/uninstall.sh +1 -1
  14. package/.mcp.json +0 -22
  15. package/CHANGELOG.md +13 -0
  16. package/OMG-setup.sh +64 -14
  17. package/OMG_COMPAT_CONTRACT.md +1 -1
  18. package/README.md +8 -6
  19. package/agents/omg-security-auditor.md +1 -1
  20. package/artifacts/release/.agents/skills/omg/AGENTS.fragment.md +52 -0
  21. package/artifacts/release/.agents/skills/omg/algorithms/SKILL.md +11 -0
  22. package/artifacts/release/.agents/skills/omg/algorithms/openai.yaml +11 -0
  23. package/artifacts/release/.agents/skills/omg/api-twin/SKILL.md +11 -0
  24. package/artifacts/release/.agents/skills/omg/api-twin/openai.yaml +12 -0
  25. package/artifacts/release/.agents/skills/omg/codex-mcp.toml +4 -0
  26. package/artifacts/release/.agents/skills/omg/codex-rules.md +29 -0
  27. package/artifacts/release/.agents/skills/omg/control-plane/SKILL.md +11 -0
  28. package/artifacts/release/.agents/skills/omg/control-plane/openai.yaml +14 -0
  29. package/artifacts/release/.agents/skills/omg/data-lineage/SKILL.md +11 -0
  30. package/artifacts/release/.agents/skills/omg/data-lineage/openai.yaml +12 -0
  31. package/artifacts/release/.agents/skills/omg/delta-classifier/SKILL.md +11 -0
  32. package/artifacts/release/.agents/skills/omg/delta-classifier/openai.yaml +12 -0
  33. package/artifacts/release/.agents/skills/omg/eval-gate/SKILL.md +11 -0
  34. package/artifacts/release/.agents/skills/omg/eval-gate/openai.yaml +12 -0
  35. package/artifacts/release/.agents/skills/omg/health/SKILL.md +11 -0
  36. package/artifacts/release/.agents/skills/omg/health/openai.yaml +11 -0
  37. package/artifacts/release/.agents/skills/omg/hook-governor/SKILL.md +11 -0
  38. package/artifacts/release/.agents/skills/omg/hook-governor/openai.yaml +11 -0
  39. package/artifacts/release/.agents/skills/omg/incident-replay/SKILL.md +11 -0
  40. package/artifacts/release/.agents/skills/omg/incident-replay/openai.yaml +12 -0
  41. package/artifacts/release/.agents/skills/omg/lsp-pack/SKILL.md +11 -0
  42. package/artifacts/release/.agents/skills/omg/lsp-pack/openai.yaml +11 -0
  43. package/artifacts/release/.agents/skills/omg/mcp-fabric/SKILL.md +11 -0
  44. package/artifacts/release/.agents/skills/omg/mcp-fabric/openai.yaml +13 -0
  45. package/artifacts/release/.agents/skills/omg/preflight/SKILL.md +11 -0
  46. package/artifacts/release/.agents/skills/omg/preflight/openai.yaml +12 -0
  47. package/artifacts/release/.agents/skills/omg/remote-supervisor/SKILL.md +11 -0
  48. package/artifacts/release/.agents/skills/omg/remote-supervisor/openai.yaml +12 -0
  49. package/artifacts/release/.agents/skills/omg/robotics/SKILL.md +11 -0
  50. package/artifacts/release/.agents/skills/omg/robotics/openai.yaml +11 -0
  51. package/artifacts/release/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +11 -0
  52. package/artifacts/release/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +12 -0
  53. package/artifacts/release/.agents/skills/omg/security-check/SKILL.md +11 -0
  54. package/artifacts/release/.agents/skills/omg/security-check/openai.yaml +13 -0
  55. package/artifacts/release/.agents/skills/omg/tracebank/SKILL.md +11 -0
  56. package/artifacts/release/.agents/skills/omg/tracebank/openai.yaml +12 -0
  57. package/artifacts/release/.agents/skills/omg/vision/SKILL.md +11 -0
  58. package/artifacts/release/.agents/skills/omg/vision/openai.yaml +11 -0
  59. package/artifacts/release/.claude-plugin/marketplace.json +36 -0
  60. package/artifacts/release/.claude-plugin/plugin.json +23 -0
  61. package/artifacts/release/.mcp.json +40 -0
  62. package/artifacts/release/OMG_COMPAT_CONTRACT.md +92 -0
  63. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/AGENTS.fragment.md +52 -0
  64. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/algorithms/SKILL.md +11 -0
  65. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/algorithms/openai.yaml +11 -0
  66. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/api-twin/SKILL.md +11 -0
  67. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/api-twin/openai.yaml +12 -0
  68. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/codex-mcp.toml +4 -0
  69. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/codex-rules.md +29 -0
  70. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/control-plane/SKILL.md +11 -0
  71. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/control-plane/openai.yaml +14 -0
  72. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/data-lineage/SKILL.md +11 -0
  73. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/data-lineage/openai.yaml +12 -0
  74. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/delta-classifier/SKILL.md +11 -0
  75. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/delta-classifier/openai.yaml +12 -0
  76. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/eval-gate/SKILL.md +11 -0
  77. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/eval-gate/openai.yaml +12 -0
  78. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/health/SKILL.md +11 -0
  79. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/health/openai.yaml +11 -0
  80. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/hook-governor/SKILL.md +11 -0
  81. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/hook-governor/openai.yaml +11 -0
  82. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/incident-replay/SKILL.md +11 -0
  83. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/incident-replay/openai.yaml +12 -0
  84. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/lsp-pack/SKILL.md +11 -0
  85. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/lsp-pack/openai.yaml +11 -0
  86. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/mcp-fabric/SKILL.md +11 -0
  87. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/mcp-fabric/openai.yaml +13 -0
  88. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/preflight/SKILL.md +11 -0
  89. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/preflight/openai.yaml +12 -0
  90. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/remote-supervisor/SKILL.md +11 -0
  91. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/remote-supervisor/openai.yaml +12 -0
  92. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/robotics/SKILL.md +11 -0
  93. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/robotics/openai.yaml +11 -0
  94. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +11 -0
  95. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +12 -0
  96. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/security-check/SKILL.md +11 -0
  97. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/security-check/openai.yaml +13 -0
  98. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/tracebank/SKILL.md +11 -0
  99. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/tracebank/openai.yaml +12 -0
  100. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/vision/SKILL.md +11 -0
  101. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/vision/openai.yaml +11 -0
  102. package/artifacts/release/dist/enterprise/bundle/OMG_COMPAT_CONTRACT.md +92 -0
  103. package/artifacts/release/dist/enterprise/bundle/registry/bundles/algorithms.yaml +45 -0
  104. package/artifacts/release/dist/enterprise/bundle/registry/bundles/api-twin.yaml +48 -0
  105. package/artifacts/release/dist/enterprise/bundle/registry/bundles/control-plane.yaml +151 -0
  106. package/artifacts/release/dist/enterprise/bundle/registry/bundles/data-lineage.yaml +47 -0
  107. package/artifacts/release/dist/enterprise/bundle/registry/bundles/delta-classifier.yaml +47 -0
  108. package/artifacts/release/dist/enterprise/bundle/registry/bundles/eval-gate.yaml +47 -0
  109. package/artifacts/release/dist/enterprise/bundle/registry/bundles/health.yaml +45 -0
  110. package/artifacts/release/dist/enterprise/bundle/registry/bundles/hook-governor.yaml +97 -0
  111. package/artifacts/release/dist/enterprise/bundle/registry/bundles/incident-replay.yaml +47 -0
  112. package/artifacts/release/dist/enterprise/bundle/registry/bundles/lsp-pack.yaml +48 -0
  113. package/artifacts/release/dist/enterprise/bundle/registry/bundles/mcp-fabric.yaml +53 -0
  114. package/artifacts/release/dist/enterprise/bundle/registry/bundles/preflight.yaml +48 -0
  115. package/artifacts/release/dist/enterprise/bundle/registry/bundles/remote-supervisor.yaml +49 -0
  116. package/artifacts/release/dist/enterprise/bundle/registry/bundles/robotics.yaml +45 -0
  117. package/artifacts/release/dist/enterprise/bundle/registry/bundles/secure-worktree-pipeline.yaml +54 -0
  118. package/artifacts/release/dist/enterprise/bundle/registry/bundles/security-check.yaml +50 -0
  119. package/artifacts/release/dist/enterprise/bundle/registry/bundles/tracebank.yaml +47 -0
  120. package/artifacts/release/dist/enterprise/bundle/registry/bundles/vision.yaml +45 -0
  121. package/artifacts/release/dist/enterprise/bundle/registry/omg-capability.schema.json +296 -0
  122. package/artifacts/release/dist/enterprise/manifest.json +243 -0
  123. package/artifacts/release/dist/public/bundle/.agents/skills/omg/AGENTS.fragment.md +7 -0
  124. package/artifacts/release/dist/public/bundle/.agents/skills/omg/algorithms/SKILL.md +11 -0
  125. package/artifacts/release/dist/public/bundle/.agents/skills/omg/algorithms/openai.yaml +11 -0
  126. package/artifacts/release/dist/public/bundle/.agents/skills/omg/api-twin/SKILL.md +11 -0
  127. package/artifacts/release/dist/public/bundle/.agents/skills/omg/api-twin/openai.yaml +12 -0
  128. package/artifacts/release/dist/public/bundle/.agents/skills/omg/codex-mcp.toml +4 -0
  129. package/artifacts/release/dist/public/bundle/.agents/skills/omg/control-plane/SKILL.md +11 -0
  130. package/artifacts/release/dist/public/bundle/.agents/skills/omg/control-plane/openai.yaml +14 -0
  131. package/artifacts/release/dist/public/bundle/.agents/skills/omg/data-lineage/SKILL.md +11 -0
  132. package/artifacts/release/dist/public/bundle/.agents/skills/omg/data-lineage/openai.yaml +12 -0
  133. package/artifacts/release/dist/public/bundle/.agents/skills/omg/delta-classifier/SKILL.md +11 -0
  134. package/artifacts/release/dist/public/bundle/.agents/skills/omg/delta-classifier/openai.yaml +12 -0
  135. package/artifacts/release/dist/public/bundle/.agents/skills/omg/eval-gate/SKILL.md +11 -0
  136. package/artifacts/release/dist/public/bundle/.agents/skills/omg/eval-gate/openai.yaml +12 -0
  137. package/artifacts/release/dist/public/bundle/.agents/skills/omg/health/SKILL.md +11 -0
  138. package/artifacts/release/dist/public/bundle/.agents/skills/omg/health/openai.yaml +11 -0
  139. package/artifacts/release/dist/public/bundle/.agents/skills/omg/hook-governor/SKILL.md +11 -0
  140. package/artifacts/release/dist/public/bundle/.agents/skills/omg/hook-governor/openai.yaml +11 -0
  141. package/artifacts/release/dist/public/bundle/.agents/skills/omg/incident-replay/SKILL.md +11 -0
  142. package/artifacts/release/dist/public/bundle/.agents/skills/omg/incident-replay/openai.yaml +12 -0
  143. package/artifacts/release/dist/public/bundle/.agents/skills/omg/lsp-pack/SKILL.md +11 -0
  144. package/artifacts/release/dist/public/bundle/.agents/skills/omg/lsp-pack/openai.yaml +11 -0
  145. package/artifacts/release/dist/public/bundle/.agents/skills/omg/mcp-fabric/SKILL.md +11 -0
  146. package/artifacts/release/dist/public/bundle/.agents/skills/omg/mcp-fabric/openai.yaml +13 -0
  147. package/artifacts/release/dist/public/bundle/.agents/skills/omg/preflight/SKILL.md +11 -0
  148. package/artifacts/release/dist/public/bundle/.agents/skills/omg/preflight/openai.yaml +12 -0
  149. package/artifacts/release/dist/public/bundle/.agents/skills/omg/remote-supervisor/SKILL.md +11 -0
  150. package/artifacts/release/dist/public/bundle/.agents/skills/omg/remote-supervisor/openai.yaml +12 -0
  151. package/artifacts/release/dist/public/bundle/.agents/skills/omg/robotics/SKILL.md +11 -0
  152. package/artifacts/release/dist/public/bundle/.agents/skills/omg/robotics/openai.yaml +11 -0
  153. package/artifacts/release/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +11 -0
  154. package/artifacts/release/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +12 -0
  155. package/artifacts/release/dist/public/bundle/.agents/skills/omg/security-check/SKILL.md +11 -0
  156. package/artifacts/release/dist/public/bundle/.agents/skills/omg/security-check/openai.yaml +13 -0
  157. package/artifacts/release/dist/public/bundle/.agents/skills/omg/tracebank/SKILL.md +11 -0
  158. package/artifacts/release/dist/public/bundle/.agents/skills/omg/tracebank/openai.yaml +12 -0
  159. package/artifacts/release/dist/public/bundle/.agents/skills/omg/vision/SKILL.md +11 -0
  160. package/artifacts/release/dist/public/bundle/.agents/skills/omg/vision/openai.yaml +11 -0
  161. package/artifacts/release/dist/public/bundle/.claude-plugin/marketplace.json +36 -0
  162. package/artifacts/release/dist/public/bundle/.claude-plugin/plugin.json +23 -0
  163. package/artifacts/release/dist/public/bundle/.mcp.json +40 -0
  164. package/artifacts/release/dist/public/bundle/OMG_COMPAT_CONTRACT.md +92 -0
  165. package/artifacts/release/dist/public/bundle/registry/bundles/algorithms.yaml +45 -0
  166. package/artifacts/release/dist/public/bundle/registry/bundles/api-twin.yaml +48 -0
  167. package/artifacts/release/dist/public/bundle/registry/bundles/control-plane.yaml +151 -0
  168. package/artifacts/release/dist/public/bundle/registry/bundles/data-lineage.yaml +47 -0
  169. package/artifacts/release/dist/public/bundle/registry/bundles/delta-classifier.yaml +47 -0
  170. package/artifacts/release/dist/public/bundle/registry/bundles/eval-gate.yaml +47 -0
  171. package/artifacts/release/dist/public/bundle/registry/bundles/health.yaml +45 -0
  172. package/artifacts/release/dist/public/bundle/registry/bundles/hook-governor.yaml +97 -0
  173. package/artifacts/release/dist/public/bundle/registry/bundles/incident-replay.yaml +47 -0
  174. package/artifacts/release/dist/public/bundle/registry/bundles/lsp-pack.yaml +48 -0
  175. package/artifacts/release/dist/public/bundle/registry/bundles/mcp-fabric.yaml +53 -0
  176. package/artifacts/release/dist/public/bundle/registry/bundles/preflight.yaml +48 -0
  177. package/artifacts/release/dist/public/bundle/registry/bundles/remote-supervisor.yaml +49 -0
  178. package/artifacts/release/dist/public/bundle/registry/bundles/robotics.yaml +45 -0
  179. package/artifacts/release/dist/public/bundle/registry/bundles/secure-worktree-pipeline.yaml +54 -0
  180. package/artifacts/release/dist/public/bundle/registry/bundles/security-check.yaml +50 -0
  181. package/artifacts/release/dist/public/bundle/registry/bundles/tracebank.yaml +47 -0
  182. package/artifacts/release/dist/public/bundle/registry/bundles/vision.yaml +45 -0
  183. package/artifacts/release/dist/public/bundle/registry/omg-capability.schema.json +296 -0
  184. package/artifacts/release/dist/public/bundle/settings.json +526 -0
  185. package/artifacts/release/dist/public/manifest.json +255 -0
  186. package/artifacts/release/registry/bundles/algorithms.yaml +45 -0
  187. package/artifacts/release/registry/bundles/api-twin.yaml +48 -0
  188. package/artifacts/release/registry/bundles/control-plane.yaml +151 -0
  189. package/artifacts/release/registry/bundles/data-lineage.yaml +47 -0
  190. package/artifacts/release/registry/bundles/delta-classifier.yaml +47 -0
  191. package/artifacts/release/registry/bundles/eval-gate.yaml +47 -0
  192. package/artifacts/release/registry/bundles/health.yaml +45 -0
  193. package/artifacts/release/registry/bundles/hook-governor.yaml +97 -0
  194. package/artifacts/release/registry/bundles/incident-replay.yaml +47 -0
  195. package/artifacts/release/registry/bundles/lsp-pack.yaml +48 -0
  196. package/artifacts/release/registry/bundles/mcp-fabric.yaml +53 -0
  197. package/artifacts/release/registry/bundles/preflight.yaml +48 -0
  198. package/artifacts/release/registry/bundles/remote-supervisor.yaml +49 -0
  199. package/artifacts/release/registry/bundles/robotics.yaml +45 -0
  200. package/artifacts/release/registry/bundles/secure-worktree-pipeline.yaml +54 -0
  201. package/artifacts/release/registry/bundles/security-check.yaml +50 -0
  202. package/artifacts/release/registry/bundles/tracebank.yaml +47 -0
  203. package/artifacts/release/registry/bundles/vision.yaml +45 -0
  204. package/artifacts/release/registry/omg-capability.schema.json +296 -0
  205. package/artifacts/release/settings.json +594 -0
  206. package/build/lib/agents/__init__.py +1 -0
  207. package/build/lib/agents/designer.md +67 -0
  208. package/build/lib/agents/explore.md +60 -0
  209. package/build/lib/agents/model_roles.py +196 -0
  210. package/build/lib/agents/omg-api-builder.md +23 -0
  211. package/build/lib/agents/omg-architect-mode.md +41 -0
  212. package/build/lib/agents/omg-architect.md +13 -0
  213. package/build/lib/agents/omg-backend-engineer.md +41 -0
  214. package/build/lib/agents/omg-critic.md +16 -0
  215. package/build/lib/agents/omg-database-engineer.md +41 -0
  216. package/build/lib/agents/omg-escalation-router.md +17 -0
  217. package/build/lib/agents/omg-executor.md +12 -0
  218. package/build/lib/agents/omg-frontend-designer.md +41 -0
  219. package/build/lib/agents/omg-implement-mode.md +49 -0
  220. package/build/lib/agents/omg-infra-engineer.md +41 -0
  221. package/build/lib/agents/omg-qa-tester.md +16 -0
  222. package/build/lib/agents/omg-research-mode.md +41 -0
  223. package/build/lib/agents/omg-security-auditor.md +41 -0
  224. package/build/lib/agents/omg-testing-engineer.md +41 -0
  225. package/build/lib/agents/plan.md +80 -0
  226. package/build/lib/agents/quick_task.md +64 -0
  227. package/build/lib/agents/reviewer.md +83 -0
  228. package/build/lib/agents/task.md +71 -0
  229. package/build/lib/commands/OMG:ai-commit.md +113 -0
  230. package/build/lib/commands/OMG:api-twin.md +22 -0
  231. package/build/lib/commands/OMG:arch.md +313 -0
  232. package/build/lib/commands/OMG:ccg.md +22 -0
  233. package/build/lib/commands/OMG:compat.md +57 -0
  234. package/build/lib/commands/OMG:cost.md +181 -0
  235. package/build/lib/commands/OMG:crazy.md +125 -0
  236. package/build/lib/commands/OMG:create-agent.md +183 -0
  237. package/build/lib/commands/OMG:deps.md +248 -0
  238. package/build/lib/commands/OMG:doctor.md +37 -0
  239. package/build/lib/commands/OMG:domain-init.md +11 -0
  240. package/build/lib/commands/OMG:escalate.md +52 -0
  241. package/build/lib/commands/OMG:health-check.md +45 -0
  242. package/build/lib/commands/OMG:init.md +134 -0
  243. package/build/lib/commands/OMG:mode.md +44 -0
  244. package/build/lib/commands/OMG:preflight.md +26 -0
  245. package/build/lib/commands/OMG:project-init.md +11 -0
  246. package/build/lib/commands/OMG:ralph-start.md +43 -0
  247. package/build/lib/commands/OMG:ralph-stop.md +23 -0
  248. package/build/lib/commands/OMG:security-check.md +28 -0
  249. package/build/lib/commands/OMG:session-branch.md +85 -0
  250. package/build/lib/commands/OMG:session-fork.md +53 -0
  251. package/build/lib/commands/OMG:session-merge.md +134 -0
  252. package/build/lib/commands/OMG:setup.md +78 -0
  253. package/build/lib/commands/OMG:stats.md +225 -0
  254. package/build/lib/commands/OMG:teams.md +39 -0
  255. package/build/lib/commands/OMG:theme.md +44 -0
  256. package/build/lib/commands/__init__.py +1 -0
  257. package/build/lib/control_plane/__init__.py +2 -0
  258. package/build/lib/control_plane/openapi.yaml +260 -0
  259. package/build/lib/control_plane/server.py +147 -0
  260. package/build/lib/control_plane/service.py +222 -0
  261. package/build/lib/hooks/__init__.py +0 -0
  262. package/build/lib/hooks/_agent_registry.py +423 -0
  263. package/build/lib/hooks/_analytics.py +291 -0
  264. package/build/lib/hooks/_budget.py +31 -0
  265. package/build/lib/hooks/_common.py +569 -0
  266. package/build/lib/hooks/_compression_optimizer.py +119 -0
  267. package/build/lib/hooks/_cost_ledger.py +176 -0
  268. package/build/lib/hooks/_learnings.py +126 -0
  269. package/build/lib/hooks/_memory.py +103 -0
  270. package/build/lib/hooks/_protected_context.py +150 -0
  271. package/build/lib/hooks/_token_counter.py +221 -0
  272. package/build/lib/hooks/branch_manager.py +236 -0
  273. package/build/lib/hooks/budget_governor.py +232 -0
  274. package/build/lib/hooks/circuit-breaker.py +270 -0
  275. package/build/lib/hooks/compression_feedback.py +254 -0
  276. package/build/lib/hooks/config-guard.py +216 -0
  277. package/build/lib/hooks/context_pressure.py +53 -0
  278. package/build/lib/hooks/credential_store.py +1020 -0
  279. package/build/lib/hooks/fetch-rate-limits.py +212 -0
  280. package/build/lib/hooks/firewall.py +48 -0
  281. package/build/lib/hooks/hashline-formatter-bridge.py +224 -0
  282. package/build/lib/hooks/hashline-injector.py +273 -0
  283. package/build/lib/hooks/hashline-validator.py +216 -0
  284. package/build/lib/hooks/idle-detector.py +95 -0
  285. package/build/lib/hooks/intentgate-keyword-detector.py +188 -0
  286. package/build/lib/hooks/magic-keyword-router.py +195 -0
  287. package/build/lib/hooks/policy_engine.py +641 -0
  288. package/build/lib/hooks/post-tool-failure.py +19 -0
  289. package/build/lib/hooks/post-write.py +219 -0
  290. package/build/lib/hooks/post_write.py +46 -0
  291. package/build/lib/hooks/pre-compact.py +398 -0
  292. package/build/lib/hooks/pre-tool-inject.py +98 -0
  293. package/build/lib/hooks/prompt-enhancer.py +672 -0
  294. package/build/lib/hooks/quality-runner.py +191 -0
  295. package/build/lib/hooks/query.py +512 -0
  296. package/build/lib/hooks/secret-guard.py +61 -0
  297. package/build/lib/hooks/secret_audit.py +144 -0
  298. package/build/lib/hooks/security_validators.py +75 -0
  299. package/build/lib/hooks/session-end-capture.py +137 -0
  300. package/build/lib/hooks/session-start.py +277 -0
  301. package/build/lib/hooks/setup_wizard.py +646 -0
  302. package/build/lib/hooks/shadow_manager.py +344 -0
  303. package/build/lib/hooks/state_migration.py +225 -0
  304. package/build/lib/hooks/stop-gate.py +7 -0
  305. package/build/lib/hooks/stop_dispatcher.py +945 -0
  306. package/build/lib/hooks/test-validator.py +361 -0
  307. package/build/lib/hooks/test_generator_hook.py +123 -0
  308. package/build/lib/hooks/todo-state-tracker.py +114 -0
  309. package/build/lib/hooks/tool-ledger.py +149 -0
  310. package/build/lib/hooks/trust_review.py +585 -0
  311. package/build/lib/plugins/README.md +60 -0
  312. package/build/lib/plugins/__init__.py +1 -0
  313. package/build/lib/plugins/advanced/commands/OMG:code-review.md +114 -0
  314. package/build/lib/plugins/advanced/commands/OMG:deep-plan.md +265 -0
  315. package/build/lib/plugins/advanced/commands/OMG:handoff.md +115 -0
  316. package/build/lib/plugins/advanced/commands/OMG:learn.md +110 -0
  317. package/build/lib/plugins/advanced/commands/OMG:maintainer.md +31 -0
  318. package/build/lib/plugins/advanced/commands/OMG:ralph-start.md +43 -0
  319. package/build/lib/plugins/advanced/commands/OMG:ralph-stop.md +23 -0
  320. package/build/lib/plugins/advanced/commands/OMG:security-review.md +16 -0
  321. package/build/lib/plugins/advanced/commands/OMG:sequential-thinking.md +20 -0
  322. package/build/lib/plugins/advanced/commands/OMG:ship.md +46 -0
  323. package/build/lib/plugins/advanced/plugin.json +87 -0
  324. package/build/lib/plugins/core/plugin.json +145 -0
  325. package/build/lib/plugins/dephealth/__init__.py +0 -0
  326. package/build/lib/plugins/dephealth/cve_scanner.py +188 -0
  327. package/build/lib/plugins/dephealth/license_checker.py +135 -0
  328. package/build/lib/plugins/dephealth/manifest_detector.py +423 -0
  329. package/build/lib/plugins/dephealth/vuln_analyzer.py +169 -0
  330. package/build/lib/plugins/testgen/__init__.py +0 -0
  331. package/build/lib/plugins/testgen/codamosa_engine.py +402 -0
  332. package/build/lib/plugins/testgen/edge_case_synthesizer.py +184 -0
  333. package/build/lib/plugins/testgen/framework_detector.py +271 -0
  334. package/build/lib/plugins/testgen/skeleton_generator.py +219 -0
  335. package/build/lib/plugins/viz/__init__.py +0 -0
  336. package/build/lib/plugins/viz/ast_parser.py +139 -0
  337. package/build/lib/plugins/viz/diagram_generator.py +192 -0
  338. package/build/lib/plugins/viz/graph_builder.py +444 -0
  339. package/build/lib/plugins/viz/native_parsers.py +259 -0
  340. package/build/lib/plugins/viz/regex_parser.py +112 -0
  341. package/build/lib/registry/__init__.py +1 -0
  342. package/build/lib/registry/bundles/algorithms.yaml +45 -0
  343. package/build/lib/registry/bundles/api-twin.yaml +48 -0
  344. package/build/lib/registry/bundles/claim-judge.yaml +49 -0
  345. package/build/lib/registry/bundles/control-plane.yaml +151 -0
  346. package/build/lib/registry/bundles/data-lineage.yaml +47 -0
  347. package/build/lib/registry/bundles/delta-classifier.yaml +47 -0
  348. package/build/lib/registry/bundles/eval-gate.yaml +47 -0
  349. package/build/lib/registry/bundles/health.yaml +45 -0
  350. package/build/lib/registry/bundles/hook-governor.yaml +97 -0
  351. package/build/lib/registry/bundles/incident-replay.yaml +47 -0
  352. package/build/lib/registry/bundles/lsp-pack.yaml +48 -0
  353. package/build/lib/registry/bundles/mcp-fabric.yaml +53 -0
  354. package/build/lib/registry/bundles/plan-council.yaml +51 -0
  355. package/build/lib/registry/bundles/preflight.yaml +48 -0
  356. package/build/lib/registry/bundles/proof-gate.yaml +49 -0
  357. package/build/lib/registry/bundles/remote-supervisor.yaml +49 -0
  358. package/build/lib/registry/bundles/robotics.yaml +45 -0
  359. package/build/lib/registry/bundles/secure-worktree-pipeline.yaml +54 -0
  360. package/build/lib/registry/bundles/security-check.yaml +50 -0
  361. package/build/lib/registry/bundles/test-intent-lock.yaml +49 -0
  362. package/build/lib/registry/bundles/tracebank.yaml +47 -0
  363. package/build/lib/registry/bundles/vision.yaml +45 -0
  364. package/build/lib/registry/omg-capability.schema.json +296 -0
  365. package/build/lib/registry/verify_artifact.py +90 -0
  366. package/build/lib/runtime/__init__.py +32 -0
  367. package/build/lib/runtime/adapters/__init__.py +13 -0
  368. package/build/lib/runtime/adapters/claude.py +63 -0
  369. package/build/lib/runtime/adapters/gpt.py +56 -0
  370. package/build/lib/runtime/adapters/local.py +56 -0
  371. package/build/lib/runtime/adoption.py +212 -0
  372. package/build/lib/runtime/api_twin.py +450 -0
  373. package/build/lib/runtime/asset_loader.py +62 -0
  374. package/build/lib/runtime/business_workflow.py +234 -0
  375. package/build/lib/runtime/claim_judge.py +95 -0
  376. package/build/lib/runtime/cli_provider.py +85 -0
  377. package/build/lib/runtime/compat.py +1459 -0
  378. package/build/lib/runtime/contract_compiler.py +1918 -0
  379. package/build/lib/runtime/custom_agent_loader.py +366 -0
  380. package/build/lib/runtime/data_lineage.py +73 -0
  381. package/build/lib/runtime/delta_classifier.py +81 -0
  382. package/build/lib/runtime/dispatcher.py +47 -0
  383. package/build/lib/runtime/domain_packs.py +46 -0
  384. package/build/lib/runtime/ecosystem.py +371 -0
  385. package/build/lib/runtime/eval_gate.py +96 -0
  386. package/build/lib/runtime/guide_assert.py +45 -0
  387. package/build/lib/runtime/incident_replay.py +47 -0
  388. package/build/lib/runtime/legacy_compat.py +7 -0
  389. package/build/lib/runtime/mcp_config_writers.py +233 -0
  390. package/build/lib/runtime/mcp_lifecycle.py +175 -0
  391. package/build/lib/runtime/mcp_memory_server.py +135 -0
  392. package/build/lib/runtime/memory_parsers/__init__.py +0 -0
  393. package/build/lib/runtime/memory_parsers/chatgpt_parser.py +257 -0
  394. package/build/lib/runtime/memory_parsers/claude_import.py +107 -0
  395. package/build/lib/runtime/memory_parsers/export.py +97 -0
  396. package/build/lib/runtime/memory_parsers/gemini_import.py +91 -0
  397. package/build/lib/runtime/memory_parsers/kimi_import.py +91 -0
  398. package/build/lib/runtime/memory_store.py +215 -0
  399. package/build/lib/runtime/omc_compat.py +7 -0
  400. package/build/lib/runtime/omg_compat_contract_snapshot.json +916 -0
  401. package/build/lib/runtime/omg_contract_snapshot.json +916 -0
  402. package/build/lib/runtime/omg_mcp_server.py +212 -0
  403. package/build/lib/runtime/playwright_pack.py +169 -0
  404. package/build/lib/runtime/preflight.py +117 -0
  405. package/build/lib/runtime/proof_chain.py +228 -0
  406. package/build/lib/runtime/proof_gate.py +163 -0
  407. package/build/lib/runtime/providers/__init__.py +0 -0
  408. package/build/lib/runtime/providers/codex_provider.py +102 -0
  409. package/build/lib/runtime/providers/gemini_provider.py +109 -0
  410. package/build/lib/runtime/providers/kimi_provider.py +132 -0
  411. package/build/lib/runtime/remote_supervisor.py +64 -0
  412. package/build/lib/runtime/runtime_profile.py +61 -0
  413. package/build/lib/runtime/security_check.py +965 -0
  414. package/build/lib/runtime/subagent_dispatcher.py +469 -0
  415. package/build/lib/runtime/team_router.py +1167 -0
  416. package/build/lib/runtime/test_intent_lock.py +91 -0
  417. package/build/lib/runtime/tmux_session_manager.py +169 -0
  418. package/build/lib/runtime/tracebank.py +95 -0
  419. package/build/lib/runtime/untrusted_content.py +269 -0
  420. package/commands/OMG:doctor.md +37 -0
  421. package/commands/OMG:preflight.md +1 -1
  422. package/control_plane/openapi.yaml +33 -1
  423. package/control_plane/server.py +26 -2
  424. package/control_plane/service.py +37 -0
  425. package/dist/enterprise/bundle/.agents/skills/omg/AGENTS.fragment.md +50 -3
  426. package/dist/enterprise/bundle/.agents/skills/omg/codex-rules.md +29 -0
  427. package/dist/enterprise/bundle/.claude-plugin/marketplace.json +5 -5
  428. package/dist/enterprise/bundle/.claude-plugin/plugin.json +1 -1
  429. package/dist/enterprise/bundle/OMG_COMPAT_CONTRACT.md +1 -1
  430. package/dist/enterprise/bundle/plugins/advanced/commands/OMG:code-review.md +114 -0
  431. package/dist/enterprise/bundle/plugins/advanced/commands/OMG:deep-plan.md +221 -0
  432. package/dist/enterprise/bundle/plugins/advanced/commands/OMG:handoff.md +115 -0
  433. package/dist/enterprise/bundle/plugins/advanced/commands/OMG:learn.md +110 -0
  434. package/dist/enterprise/bundle/plugins/advanced/commands/OMG:maintainer.md +31 -0
  435. package/dist/enterprise/bundle/plugins/advanced/commands/OMG:ralph-start.md +43 -0
  436. package/dist/enterprise/bundle/plugins/advanced/commands/OMG:ralph-stop.md +23 -0
  437. package/dist/enterprise/bundle/plugins/advanced/commands/OMG:security-review.md +16 -0
  438. package/dist/enterprise/bundle/plugins/advanced/commands/OMG:sequential-thinking.md +20 -0
  439. package/dist/enterprise/bundle/plugins/advanced/commands/OMG:ship.md +46 -0
  440. package/dist/enterprise/bundle/plugins/advanced/plugin.json +87 -0
  441. package/dist/enterprise/bundle/registry/bundles/algorithms.yaml +1 -1
  442. package/dist/enterprise/bundle/registry/bundles/api-twin.yaml +1 -1
  443. package/dist/enterprise/bundle/registry/bundles/control-plane.yaml +91 -1
  444. package/dist/enterprise/bundle/registry/bundles/data-lineage.yaml +1 -1
  445. package/dist/enterprise/bundle/registry/bundles/delta-classifier.yaml +1 -1
  446. package/dist/enterprise/bundle/registry/bundles/eval-gate.yaml +1 -1
  447. package/dist/enterprise/bundle/registry/bundles/health.yaml +1 -1
  448. package/dist/enterprise/bundle/registry/bundles/hook-governor.yaml +1 -1
  449. package/dist/enterprise/bundle/registry/bundles/incident-replay.yaml +1 -1
  450. package/dist/enterprise/bundle/registry/bundles/lsp-pack.yaml +1 -1
  451. package/dist/enterprise/bundle/registry/bundles/mcp-fabric.yaml +1 -1
  452. package/dist/enterprise/bundle/registry/bundles/preflight.yaml +1 -1
  453. package/dist/enterprise/bundle/registry/bundles/remote-supervisor.yaml +1 -1
  454. package/dist/enterprise/bundle/registry/bundles/robotics.yaml +1 -1
  455. package/dist/enterprise/bundle/registry/bundles/secure-worktree-pipeline.yaml +1 -1
  456. package/dist/enterprise/bundle/registry/bundles/security-check.yaml +1 -1
  457. package/dist/enterprise/bundle/registry/bundles/tracebank.yaml +1 -1
  458. package/dist/enterprise/bundle/registry/bundles/vision.yaml +1 -1
  459. package/dist/enterprise/bundle/registry/omg-capability.schema.json +217 -1
  460. package/dist/enterprise/bundle/settings.json +219 -6
  461. package/dist/enterprise/manifest.json +73 -25
  462. package/dist/public/bundle/.agents/skills/omg/AGENTS.fragment.md +50 -3
  463. package/dist/public/bundle/.agents/skills/omg/codex-rules.md +29 -0
  464. package/dist/public/bundle/.claude-plugin/marketplace.json +5 -5
  465. package/dist/public/bundle/.claude-plugin/plugin.json +1 -1
  466. package/dist/public/bundle/OMG_COMPAT_CONTRACT.md +1 -1
  467. package/dist/public/bundle/plugins/advanced/commands/OMG:code-review.md +114 -0
  468. package/dist/public/bundle/plugins/advanced/commands/OMG:deep-plan.md +221 -0
  469. package/dist/public/bundle/plugins/advanced/commands/OMG:handoff.md +115 -0
  470. package/dist/public/bundle/plugins/advanced/commands/OMG:learn.md +110 -0
  471. package/dist/public/bundle/plugins/advanced/commands/OMG:maintainer.md +31 -0
  472. package/dist/public/bundle/plugins/advanced/commands/OMG:ralph-start.md +43 -0
  473. package/dist/public/bundle/plugins/advanced/commands/OMG:ralph-stop.md +23 -0
  474. package/dist/public/bundle/plugins/advanced/commands/OMG:security-review.md +16 -0
  475. package/dist/public/bundle/plugins/advanced/commands/OMG:sequential-thinking.md +20 -0
  476. package/dist/public/bundle/plugins/advanced/commands/OMG:ship.md +46 -0
  477. package/dist/public/bundle/plugins/advanced/plugin.json +87 -0
  478. package/dist/public/bundle/registry/bundles/algorithms.yaml +1 -1
  479. package/dist/public/bundle/registry/bundles/api-twin.yaml +1 -1
  480. package/dist/public/bundle/registry/bundles/control-plane.yaml +91 -1
  481. package/dist/public/bundle/registry/bundles/data-lineage.yaml +1 -1
  482. package/dist/public/bundle/registry/bundles/delta-classifier.yaml +1 -1
  483. package/dist/public/bundle/registry/bundles/eval-gate.yaml +1 -1
  484. package/dist/public/bundle/registry/bundles/health.yaml +1 -1
  485. package/dist/public/bundle/registry/bundles/hook-governor.yaml +1 -1
  486. package/dist/public/bundle/registry/bundles/incident-replay.yaml +1 -1
  487. package/dist/public/bundle/registry/bundles/lsp-pack.yaml +1 -1
  488. package/dist/public/bundle/registry/bundles/mcp-fabric.yaml +1 -1
  489. package/dist/public/bundle/registry/bundles/preflight.yaml +1 -1
  490. package/dist/public/bundle/registry/bundles/remote-supervisor.yaml +1 -1
  491. package/dist/public/bundle/registry/bundles/robotics.yaml +1 -1
  492. package/dist/public/bundle/registry/bundles/secure-worktree-pipeline.yaml +1 -1
  493. package/dist/public/bundle/registry/bundles/security-check.yaml +1 -1
  494. package/dist/public/bundle/registry/bundles/tracebank.yaml +1 -1
  495. package/dist/public/bundle/registry/bundles/vision.yaml +1 -1
  496. package/dist/public/bundle/registry/omg-capability.schema.json +217 -1
  497. package/dist/public/bundle/settings.json +218 -3
  498. package/dist/public/manifest.json +73 -25
  499. package/docs/proof.md +16 -6
  500. package/docs/release-checklist.md +2 -0
  501. package/hooks/policy_engine.py +122 -17
  502. package/hooks/setup_wizard.py +52 -12
  503. package/hooks/shadow_manager.py +21 -0
  504. package/package.json +2 -2
  505. package/plugins/README.md +5 -1
  506. package/plugins/advanced/commands/OMG:deep-plan.md +50 -6
  507. package/plugins/advanced/commands/OMG:ship.md +1 -1
  508. package/plugins/advanced/plugin.json +1 -10
  509. package/plugins/core/plugin.json +7 -1
  510. package/pyproject.toml +2 -2
  511. package/registry/bundles/algorithms.yaml +1 -1
  512. package/registry/bundles/api-twin.yaml +1 -1
  513. package/registry/bundles/claim-judge.yaml +49 -0
  514. package/registry/bundles/control-plane.yaml +91 -1
  515. package/registry/bundles/data-lineage.yaml +1 -1
  516. package/registry/bundles/delta-classifier.yaml +1 -1
  517. package/registry/bundles/eval-gate.yaml +1 -1
  518. package/registry/bundles/health.yaml +1 -1
  519. package/registry/bundles/hook-governor.yaml +1 -1
  520. package/registry/bundles/incident-replay.yaml +1 -1
  521. package/registry/bundles/lsp-pack.yaml +1 -1
  522. package/registry/bundles/mcp-fabric.yaml +1 -1
  523. package/registry/bundles/plan-council.yaml +51 -0
  524. package/registry/bundles/preflight.yaml +1 -1
  525. package/registry/bundles/proof-gate.yaml +49 -0
  526. package/registry/bundles/remote-supervisor.yaml +1 -1
  527. package/registry/bundles/robotics.yaml +1 -1
  528. package/registry/bundles/secure-worktree-pipeline.yaml +1 -1
  529. package/registry/bundles/security-check.yaml +1 -1
  530. package/registry/bundles/test-intent-lock.yaml +49 -0
  531. package/registry/bundles/tracebank.yaml +1 -1
  532. package/registry/bundles/vision.yaml +1 -1
  533. package/registry/omg-capability.schema.json +217 -1
  534. package/runtime/adoption.py +1 -1
  535. package/runtime/api_twin.py +279 -8
  536. package/runtime/business_workflow.py +14 -0
  537. package/runtime/claim_judge.py +95 -0
  538. package/runtime/compat.py +139 -0
  539. package/runtime/contract_compiler.py +1099 -28
  540. package/runtime/ecosystem.py +1 -1
  541. package/runtime/eval_gate.py +48 -2
  542. package/runtime/mcp_config_writers.py +12 -0
  543. package/runtime/mcp_lifecycle.py +31 -9
  544. package/runtime/mcp_memory_server.py +1 -1
  545. package/runtime/omg_compat_contract_snapshot.json +1 -1
  546. package/runtime/omg_contract_snapshot.json +1 -1
  547. package/runtime/omg_mcp_server.py +13 -8
  548. package/runtime/playwright_pack.py +169 -0
  549. package/runtime/preflight.py +45 -1
  550. package/runtime/proof_chain.py +228 -0
  551. package/runtime/proof_gate.py +163 -0
  552. package/runtime/security_check.py +523 -22
  553. package/runtime/team_router.py +6 -6
  554. package/runtime/test_intent_lock.py +91 -0
  555. package/runtime/tracebank.py +43 -1
  556. package/runtime/untrusted_content.py +172 -5
  557. package/scripts/check-omg-public-ready.py +77 -0
  558. package/scripts/omg.py +28 -9
  559. package/scripts/verify-standalone.sh +7 -0
  560. package/settings.json +219 -6
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schema": "OmgCompiledArtifactManifest",
3
3
  "channel": "public",
4
- "contract_version": "2.0.5",
4
+ "contract_version": "2.0.7",
5
5
  "artifacts": [
6
6
  {
7
7
  "path": "bundle/.agents/skills/omg/AGENTS.fragment.md",
8
- "sha256": "603430cb291632105fda7444ae018da521cc3a57c71c1a1c98179efea42ce0f2"
8
+ "sha256": "201c33bffbb33eaba07157c2c0aff7e27c657dd76c216934a1aebc0de1822548"
9
9
  },
10
10
  {
11
11
  "path": "bundle/.agents/skills/omg/algorithms/SKILL.md",
@@ -27,6 +27,10 @@
27
27
  "path": "bundle/.agents/skills/omg/codex-mcp.toml",
28
28
  "sha256": "a56de208a369a2b318d2e66e150eef4cba1fac1ecf32bda6db1a1e4b65db7311"
29
29
  },
30
+ {
31
+ "path": "bundle/.agents/skills/omg/codex-rules.md",
32
+ "sha256": "87663481b2d884ca680e4bd361fe3a39a423db1c137397c09e50f71e9248dbad"
33
+ },
30
34
  {
31
35
  "path": "bundle/.agents/skills/omg/control-plane/SKILL.md",
32
36
  "sha256": "fe281985ffbfb4d324d0ae421653c96d501bfda4ef1462865e2868276c40a3c2"
@@ -157,11 +161,11 @@
157
161
  },
158
162
  {
159
163
  "path": "bundle/.claude-plugin/marketplace.json",
160
- "sha256": "2c1e7ffe83d11c464662aba58720c52b3b136d3564c32b83019a7aeecd6a982c"
164
+ "sha256": "4690a0c1785fa1401ad430a270726476d93bc3262ae3ab0f195b15302b24f4ab"
161
165
  },
162
166
  {
163
167
  "path": "bundle/.claude-plugin/plugin.json",
164
- "sha256": "fe79af472d21bd47da149116ff1ed5c82b08c4bfd60b470e5d4faf6799f9abf7"
168
+ "sha256": "64532d6060c986ec4fec62f038d27dc7c89ba088269b17390f727aae53d64294"
165
169
  },
166
170
  {
167
171
  "path": "bundle/.mcp.json",
@@ -169,87 +173,131 @@
169
173
  },
170
174
  {
171
175
  "path": "bundle/OMG_COMPAT_CONTRACT.md",
172
- "sha256": "fa7a4a16097b35170784e136f8ff9eae64c825a07f55413fb8fea3e7ab40c2e5"
176
+ "sha256": "108ba784d61707ef22a58ff0898d84cdb867e5c2dcf5195eccadf30a6304437c"
177
+ },
178
+ {
179
+ "path": "bundle/plugins/advanced/commands/OMG:code-review.md",
180
+ "sha256": "99ba9756586924d0ebdd43c4ca65f925b86f6c4bf6bc98d355f0cb9a17f9f6b0"
181
+ },
182
+ {
183
+ "path": "bundle/plugins/advanced/commands/OMG:deep-plan.md",
184
+ "sha256": "ab0b327d541289c219ffac27c70bcb48affb7dba540b5299a420a8754a3ca458"
185
+ },
186
+ {
187
+ "path": "bundle/plugins/advanced/commands/OMG:handoff.md",
188
+ "sha256": "eea0da517e14abb0a9bc6fe661f310a81c0282ff666803da4ae1be47fb597011"
189
+ },
190
+ {
191
+ "path": "bundle/plugins/advanced/commands/OMG:learn.md",
192
+ "sha256": "338f87222db65114f8c83de2185a21c7c2538832395524ac39ea38a0e09d73b3"
193
+ },
194
+ {
195
+ "path": "bundle/plugins/advanced/commands/OMG:maintainer.md",
196
+ "sha256": "1a29d4cb6839dd6de8c11b88b93a72fb9a371cfb7784bfe409d5e5ef0a825508"
197
+ },
198
+ {
199
+ "path": "bundle/plugins/advanced/commands/OMG:ralph-start.md",
200
+ "sha256": "31b2aded6032b5f061dbb7cd92dff53bbe3b527b9e9ba93d5043cad2847a6365"
201
+ },
202
+ {
203
+ "path": "bundle/plugins/advanced/commands/OMG:ralph-stop.md",
204
+ "sha256": "b43acad180bd205ddd78d42f1c7ecf315e521a0c345bf9d42b24d8c4d3913ce3"
205
+ },
206
+ {
207
+ "path": "bundle/plugins/advanced/commands/OMG:security-review.md",
208
+ "sha256": "f2a0e1a61b4110ac88202e2e5c166191867423235bf61030ef9cc082d964cc22"
209
+ },
210
+ {
211
+ "path": "bundle/plugins/advanced/commands/OMG:sequential-thinking.md",
212
+ "sha256": "1830de63009cb07c80cbcecf143f6df7560e7f031ac5b1d509b726d184e441da"
213
+ },
214
+ {
215
+ "path": "bundle/plugins/advanced/commands/OMG:ship.md",
216
+ "sha256": "47979d0dfb2e8be6cfe4ac2f4f5ee2308b426c849eb51511c09bbd100ea2088f"
217
+ },
218
+ {
219
+ "path": "bundle/plugins/advanced/plugin.json",
220
+ "sha256": "37bed96f0d9113b5055c87f8e8291a7518e1b471d9fdabcd37ce9750e9f2546c"
173
221
  },
174
222
  {
175
223
  "path": "bundle/registry/bundles/algorithms.yaml",
176
- "sha256": "cc589c80d47ab2eb1bb2f142d462e40fc1c5f108e175360b40929326966de723"
224
+ "sha256": "210dca6fd5499ecf33109e6b9d72a26311f353cb9bda3faca408a3693b895c2d"
177
225
  },
178
226
  {
179
227
  "path": "bundle/registry/bundles/api-twin.yaml",
180
- "sha256": "6952f8d45dbfa29afac88de0f110b2941804c4543dae4c0f5562cb876de376b7"
228
+ "sha256": "247931ceb9c23d957561b0abf62bf07670e226921032ede652974556fafc9704"
181
229
  },
182
230
  {
183
231
  "path": "bundle/registry/bundles/control-plane.yaml",
184
- "sha256": "fd624b518e20e48b7dc68378c95493a4f88e07c759ea53f3b9c82646b263d80c"
232
+ "sha256": "f76ddc2c53be8cc8448903351cdbd9a8690d2386523822c1f538a8f1f4120443"
185
233
  },
186
234
  {
187
235
  "path": "bundle/registry/bundles/data-lineage.yaml",
188
- "sha256": "602a1906d976ff93beb961affd7b5f6d4dc6486cd960ad47aa2a2b6c65724585"
236
+ "sha256": "b73b8ee4ab22b3aebf2e065108cac691d6ef028252f426050997b0fd707ed417"
189
237
  },
190
238
  {
191
239
  "path": "bundle/registry/bundles/delta-classifier.yaml",
192
- "sha256": "d08df8acb9713c58767a0c1a390fd35a61b7e1a290cfb13376a8f5517cbcc7f3"
240
+ "sha256": "554a14baae9c678da158cd7c6d5e012978f9c9cffbc755b006fd088790c61340"
193
241
  },
194
242
  {
195
243
  "path": "bundle/registry/bundles/eval-gate.yaml",
196
- "sha256": "c3de322fece33b91f503740f828e318264d0388d3403b98f09c2d73486a57b81"
244
+ "sha256": "c5071c2bb8f06b51173ea5fec8765c5f455af6805ee95745cde4fe626b8a4171"
197
245
  },
198
246
  {
199
247
  "path": "bundle/registry/bundles/health.yaml",
200
- "sha256": "3192a27f326656732fe83ed6e725366bc2c9bb7e5009de07b9097b864357383b"
248
+ "sha256": "b5764493f3bf3099bf4178cdee1e23bdb5122aa98590352c93a870c386e7aeb8"
201
249
  },
202
250
  {
203
251
  "path": "bundle/registry/bundles/hook-governor.yaml",
204
- "sha256": "ccb6edc43da2594eb93ad00abe3447879923f83067201d82927a942bb25f412d"
252
+ "sha256": "50435af649637cc105813b3b0fc27fb4d8a9d54008385118ccf3bda15fbb7ee8"
205
253
  },
206
254
  {
207
255
  "path": "bundle/registry/bundles/incident-replay.yaml",
208
- "sha256": "aeaee69df8fdb8652707f3a228e4556e3a42a1487f4b77d33f47197370bd24a6"
256
+ "sha256": "189980c25e986d6d30b67c8250e31dc687d55d293a41723833e04ee588bf422a"
209
257
  },
210
258
  {
211
259
  "path": "bundle/registry/bundles/lsp-pack.yaml",
212
- "sha256": "b0e6f74fd0b52cf37960defc3c9a0b66b722d98b7db15f6b1d4e11eae9a96707"
260
+ "sha256": "85539b633e5fb2c6058e5b2232abc5749d5aa26fe6827041efd3673e44ab44a9"
213
261
  },
214
262
  {
215
263
  "path": "bundle/registry/bundles/mcp-fabric.yaml",
216
- "sha256": "40766fb1fed2fbd29ae029915d2c883f3c3f38157fa3c0d72018381c75df6e31"
264
+ "sha256": "560cbc610be709b177db60776adba502f4f6d14fd5935649f6b7ebfe49c78880"
217
265
  },
218
266
  {
219
267
  "path": "bundle/registry/bundles/preflight.yaml",
220
- "sha256": "f12fd6b4aaa045141dcaaf62b51f5de7d31de2625f819ad368adc1a6e2010b18"
268
+ "sha256": "48cc963426dcfab2027e1cb6f189bbe4f363eb1e7d0545a2f0db766e907519f7"
221
269
  },
222
270
  {
223
271
  "path": "bundle/registry/bundles/remote-supervisor.yaml",
224
- "sha256": "ac727c3074ae4a95e66b7e023f38ad22c3ae903db8af079b8b66c83fad57e650"
272
+ "sha256": "c1df55fadf42cc9598575b5cfcf74b6bfc0767e817c9c59990259b515c774007"
225
273
  },
226
274
  {
227
275
  "path": "bundle/registry/bundles/robotics.yaml",
228
- "sha256": "8748fdb84285c2131685626182ba86806d3cffecfe5c94c6438a791f983afd2b"
276
+ "sha256": "87333553aebe6e89196665dc24ccdd0c71c68044c252d2f9f84b1047dbd66063"
229
277
  },
230
278
  {
231
279
  "path": "bundle/registry/bundles/secure-worktree-pipeline.yaml",
232
- "sha256": "f62b4d9daee055362e013883f86479d2ddc2b22f8a97be84342a1b2979b9d584"
280
+ "sha256": "e7fdae261d9671be6ae32448cc2d20636eefd8bbbcee7379b98d911d2483c37d"
233
281
  },
234
282
  {
235
283
  "path": "bundle/registry/bundles/security-check.yaml",
236
- "sha256": "768f412af9696b8c83320c4d1d92c0703ed553296bbf54aff9c0c387f7a86cf0"
284
+ "sha256": "bb19a53192a7c8b476585b30724c0c114d0b62786b1f8e2147d9367ac5c344f9"
237
285
  },
238
286
  {
239
287
  "path": "bundle/registry/bundles/tracebank.yaml",
240
- "sha256": "500b996f7c55e652e9b4b677fefa472b49b4f61c052b7996738ed1389a575f3a"
288
+ "sha256": "a6b1378a290a659f6eadbf9bb63e639539f7ca01d226af418a0504f69d7406cb"
241
289
  },
242
290
  {
243
291
  "path": "bundle/registry/bundles/vision.yaml",
244
- "sha256": "9f8b8be109d791954e6da97c0caed9234a58c15f1e9a189c445d0a55ec2591d8"
292
+ "sha256": "607c4c8582f79392adcf09e5a8f8f1eaf2550603749b162e70f8b7dc4eccb3de"
245
293
  },
246
294
  {
247
295
  "path": "bundle/registry/omg-capability.schema.json",
248
- "sha256": "ac5ce4663ae343785c844b0404cc5745f329df1cd12674201929f82d1e6332c9"
296
+ "sha256": "2df3a4e2f2fc4c0a0e6c150669f463cc7f07e673a0759c15df4e8dd80572ae5b"
249
297
  },
250
298
  {
251
299
  "path": "bundle/settings.json",
252
- "sha256": "7a2f1d2f501a6db4d57e9863b510c7dadcc4ed7826012783506d10d4514bed5a"
300
+ "sha256": "425e95844b5eecf4344838d03289c3b71d78c23df539ec68b8d35e80bafba75f"
253
301
  }
254
302
  ]
255
303
  }
package/docs/proof.md CHANGED
@@ -7,11 +7,19 @@
7
7
 
8
8
  OMG keeps verification visible instead of burying it in implementation details.
9
9
 
10
- - Current local full-suite result: `2466 passed, 2 skipped` on March 7, 2026.
11
- - Releases are expected to pass the compat gate, the standalone verification path, and the public-readiness check.
12
- - Setup, presets, and native adoption behavior have targeted regression tests.
13
- - `security-check`, `api-twin`, runtime profiles, and the stdio `omg-control` MCP have targeted regression coverage.
14
- - `compat` remains covered, but it is not the public onboarding path.
10
+ - Runtime evidence root: `.omg/evidence/`
11
+ - Doctor output: `.omg/evidence/doctor.json`
12
+ - Security-check artifacts: `.omg/evidence/security-check-*.json`
13
+ - Trust and external input artifacts: `.omg/evidence/trust-*.json`
14
+ - Truth bundles:
15
+ - `claim-judge`: `.omg/evidence/claim-judge-*.json` (verifies claim-to-evidence mapping)
16
+ - `test-intent-lock`: `.omg/evidence/test-intent-lock-*.json` (verifies test-to-intent alignment)
17
+ - `proof-gate`: `.omg/evidence/proof-gate-*.json` (verifies final release readiness)
18
+ - Browser evidence: `.omg/evidence/browser-*.png` and `.omg/evidence/browser-*.json` (Playwright-backed verification)
19
+ - Trace records and evidence links: `.omg/tracebank/events.jsonl`, `.omg/tracebank/evidence-links.jsonl`
20
+ - Eval gate artifacts and trace links: `.omg/evals/latest.json`, `.omg/evals/history.jsonl`, `.omg/evals/trace-links.jsonl`
21
+ - Lineage manifests: `.omg/lineage/*.json`
22
+ - Release readiness output links these machine artifacts instead of prose-only pass counts.
15
23
 
16
24
  ## Provider Matrix
17
25
 
@@ -39,7 +47,9 @@ Representative benchmark tasks for this release:
39
47
 
40
48
  - host detection and auth wiring
41
49
  - canonical security-check routing and evidence emission
42
- - stdio OMG control MCP wiring
50
+ - narrowed stdio OMG control MCP wiring
51
+ - truth bundle verification (claim-judge, test-intent-lock, proof-gate)
52
+ - plan-council role compilation and execution
43
53
  - adoption detection with overlapping ecosystems
44
54
  - plugin install and uninstall correctness
45
55
  - `crazy` orchestration smoke coverage
@@ -20,6 +20,8 @@ Use this checklist before making OMG public or cutting a release tag.
20
20
  - `python3 scripts/omg.py contract compile --host claude --host codex --channel public --output-root <tmp>` passes
21
21
  - `python3 scripts/omg.py contract compile --host claude --host codex --channel enterprise --output-root <tmp>` passes
22
22
  - `python3 scripts/omg.py release readiness --channel dual --output-root <tmp>` passes
23
+ - Truth bundles (`claim-judge`, `test-intent-lock`, `proof-gate`) are verified and present in `registry/bundles/`
24
+ - `plan-council` role is compiled and verified in `registry/bundles/`
23
25
  - `python3 scripts/check-omg-standalone-clean.py` passes
24
26
  - `./scripts/verify-standalone.sh` passes
25
27
  - `python3 -m pytest tests -q` passes
@@ -8,6 +8,7 @@ from __future__ import annotations
8
8
 
9
9
  from dataclasses import dataclass, asdict
10
10
  from fnmatch import fnmatch
11
+ import importlib
11
12
  import os
12
13
  import re
13
14
  from typing import Any
@@ -122,12 +123,89 @@ UNTRUSTED_MUTATION_PATTERNS = [
122
123
  r"\b(mv|cp|tee|sed\s+-i|touch|mkdir)\b",
123
124
  ]
124
125
 
126
+ TRUSTED_CONTENT_TIERS = frozenset({"local", "balanced"})
127
+ UNTRUSTED_EXTERNAL_TIERS = frozenset({"research", "browser"})
128
+
129
+
130
+ def _project_dir() -> str:
131
+ return os.environ.get("CLAUDE_PROJECT_DIR", os.getcwd())
132
+
133
+
134
+ def _load_untrusted_provenance_entries() -> list[dict[str, Any]]:
135
+ try:
136
+ from runtime.untrusted_content import get_untrusted_content_state
137
+
138
+ state = get_untrusted_content_state(_project_dir())
139
+ provenance = state.get("provenance", [])
140
+ if isinstance(provenance, list):
141
+ return [entry for entry in provenance if isinstance(entry, dict)]
142
+ except Exception:
143
+ return []
144
+ return []
145
+
146
+
147
+ def _is_state_changing_action(action: str) -> bool:
148
+ normalized = str(action).strip().lower()
149
+ return normalized in {
150
+ "state_change",
151
+ "state-changing",
152
+ "bash_mutation",
153
+ "file_mutation",
154
+ "write",
155
+ "edit",
156
+ "delete",
157
+ }
158
+
159
+
160
+ def evaluate_action_justification(
161
+ *,
162
+ action: str,
163
+ evidence: list[dict[str, Any]],
164
+ require_explicit_approval: bool = True,
165
+ ) -> PolicyDecision:
166
+ if not _is_state_changing_action(action):
167
+ return allow("non-mutating action")
168
+ if not evidence:
169
+ return ask(
170
+ "State-changing action lacks trust-scored evidence.",
171
+ "high",
172
+ ["manual-approval", "trusted-evidence-required"],
173
+ )
174
+
175
+ tiers = {
176
+ str(item.get("_trust_tier") or item.get("trust_tier") or "").strip().lower()
177
+ for item in evidence
178
+ if isinstance(item, dict)
179
+ }
180
+ tiers.discard("")
181
+ has_trusted = bool(tiers & TRUSTED_CONTENT_TIERS)
182
+ has_external_only = bool(tiers) and tiers.issubset(UNTRUSTED_EXTERNAL_TIERS)
183
+
184
+ if has_trusted:
185
+ return allow("trusted local evidence present")
186
+
187
+ if has_external_only:
188
+ reason = (
189
+ "State-changing action is justified only by UNTRUSTED_EXTERNAL_CONTENT "
190
+ "(research/browser tier)."
191
+ )
192
+ controls = ["manual-approval", "trusted-corroboration", "review-provenance"]
193
+ if require_explicit_approval:
194
+ return ask(reason, "high", controls)
195
+ return deny(reason, "high", controls)
196
+
197
+ return ask(
198
+ "State-changing action has unknown trust provenance.",
199
+ "high",
200
+ ["manual-approval", "review-provenance"],
201
+ )
202
+
125
203
 
126
204
  def _is_untrusted_content_mode_active() -> bool:
127
205
  try:
128
206
  from runtime.untrusted_content import is_untrusted_content_mode_active
129
207
 
130
- project_dir = os.environ.get("CLAUDE_PROJECT_DIR", os.getcwd())
208
+ project_dir = _project_dir()
131
209
  return is_untrusted_content_mode_active(project_dir)
132
210
  except Exception:
133
211
  return False
@@ -175,14 +253,25 @@ def evaluate_bash_command(cmd: str) -> PolicyDecision:
175
253
  if re.search(pat, cmd):
176
254
  return ask(f"{label}: {cmd[:120]}", "med", ["human-approval"])
177
255
 
178
- if _is_untrusted_content_mode_active():
179
- for pat in UNTRUSTED_MUTATION_PATTERNS:
180
- if re.search(pat, cmd):
181
- return ask(
182
- "Untrusted external content mode is active. Review before running state-changing commands.",
183
- "high",
184
- ["manual-approval", "review-provenance"],
185
- )
256
+ for pat in UNTRUSTED_MUTATION_PATTERNS:
257
+ if not re.search(pat, cmd):
258
+ continue
259
+ provenance_entries = _load_untrusted_provenance_entries()
260
+ if provenance_entries:
261
+ decision = evaluate_action_justification(
262
+ action="state_change",
263
+ evidence=provenance_entries,
264
+ require_explicit_approval=True,
265
+ )
266
+ if decision.action != "allow":
267
+ return decision
268
+ if _is_untrusted_content_mode_active():
269
+ return ask(
270
+ "Untrusted external content mode is active. Review before running state-changing commands.",
271
+ "high",
272
+ ["manual-approval", "review-provenance"],
273
+ )
274
+ break
186
275
 
187
276
  return allow("command allowed")
188
277
 
@@ -232,7 +321,10 @@ def _is_omg_credential_path(normalized_path: str) -> bool:
232
321
  This is deliberately narrow to prevent path traversal attacks.
233
322
  """
234
323
  # Import here to avoid circular dependency at module level
235
- from _common import get_feature_flag
324
+ try:
325
+ get_feature_flag = getattr(importlib.import_module("hooks._common"), "get_feature_flag")
326
+ except Exception:
327
+ get_feature_flag = getattr(importlib.import_module("_common"), "get_feature_flag")
236
328
 
237
329
  # Only exempt if feature is enabled
238
330
  if not get_feature_flag("MULTI_CREDENTIAL", default=False):
@@ -413,7 +505,10 @@ def _log_allowlist_bypass(path: str, tool: str, reason: str) -> None:
413
505
  Silently fails — never raises exceptions (crash isolation invariant).
414
506
  """
415
507
  try:
416
- from secret_audit import log_secret_access
508
+ try:
509
+ log_secret_access = getattr(importlib.import_module("hooks.secret_audit"), "log_secret_access")
510
+ except Exception:
511
+ log_secret_access = getattr(importlib.import_module("secret_audit"), "log_secret_access")
417
512
 
418
513
  project_dir = os.environ.get("CLAUDE_PROJECT_DIR", os.getcwd())
419
514
  log_secret_access(
@@ -472,12 +567,22 @@ def evaluate_file_access(
472
567
  if re.search(pat, lowpath):
473
568
  return deny(f"Sensitive path blocked: {file_path}", "critical", ["secret-access"])
474
569
 
475
- if tool in {"Write", "Edit", "MultiEdit"} and _is_untrusted_content_mode_active():
476
- return ask(
477
- "Untrusted external content mode is active. Review before mutating files.",
478
- "high",
479
- ["manual-approval", "review-provenance"],
480
- )
570
+ if tool in {"Write", "Edit", "MultiEdit"}:
571
+ provenance_entries = _load_untrusted_provenance_entries()
572
+ if provenance_entries:
573
+ decision = evaluate_action_justification(
574
+ action="file_mutation",
575
+ evidence=provenance_entries,
576
+ require_explicit_approval=True,
577
+ )
578
+ if decision.action != "allow":
579
+ return decision
580
+ if _is_untrusted_content_mode_active():
581
+ return ask(
582
+ "Untrusted external content mode is active. Review before mutating files.",
583
+ "high",
584
+ ["manual-approval", "review-provenance"],
585
+ )
481
586
 
482
587
  if allowlist and is_allowlisted(file_path, tool, allowlist):
483
588
  return allow(f"Allowlisted: {file_path}")
@@ -69,6 +69,9 @@ BYPASS_ALL_WARNING = (
69
69
  "Do you want to enable bypass-all mode? (y/N): "
70
70
  )
71
71
 
72
+ PRESET_ORDER: tuple[str, ...] = ("safe", "balanced", "interop", "labs")
73
+ _PRESET_LEVEL: dict[str, int] = {p: i for i, p in enumerate(PRESET_ORDER)}
74
+
72
75
  MCP_CATALOG: list[dict[str, Any]] = [
73
76
  {
74
77
  "id": "context7",
@@ -76,7 +79,8 @@ MCP_CATALOG: list[dict[str, Any]] = [
76
79
  "description": "Upstash Context7 MCP server for context management",
77
80
  "command": "npx",
78
81
  "args": ["@upstash/context7-mcp@2.1.3"],
79
- "default": True,
82
+ "default": False,
83
+ "min_preset": "balanced",
80
84
  "category": "productivity",
81
85
  },
82
86
  {
@@ -86,6 +90,7 @@ MCP_CATALOG: list[dict[str, Any]] = [
86
90
  "command": "npx",
87
91
  "args": ["@modelcontextprotocol/server-filesystem@2026.1.14", "."],
88
92
  "default": True,
93
+ "min_preset": "safe",
89
94
  "category": "system",
90
95
  },
91
96
  {
@@ -94,7 +99,8 @@ MCP_CATALOG: list[dict[str, Any]] = [
94
99
  "description": "Web search MCP server for internet queries",
95
100
  "command": "npx",
96
101
  "args": ["@zhafron/mcp-web-search@1.2.2"],
97
- "default": True,
102
+ "default": False,
103
+ "min_preset": "interop",
98
104
  "category": "search",
99
105
  },
100
106
  {
@@ -103,7 +109,8 @@ MCP_CATALOG: list[dict[str, Any]] = [
103
109
  "description": "Chrome DevTools MCP server for browser automation",
104
110
  "command": "npx",
105
111
  "args": ["chrome-devtools-mcp@0.19.0"],
106
- "default": True,
112
+ "default": False,
113
+ "min_preset": "labs",
107
114
  "category": "browser",
108
115
  },
109
116
  {
@@ -114,7 +121,8 @@ MCP_CATALOG: list[dict[str, Any]] = [
114
121
  "args": [],
115
122
  "type": "http",
116
123
  "url": "http://127.0.0.1:8765/mcp",
117
- "default": True,
124
+ "default": False,
125
+ "min_preset": "interop",
118
126
  "category": "memory",
119
127
  },
120
128
  {
@@ -124,6 +132,7 @@ MCP_CATALOG: list[dict[str, Any]] = [
124
132
  "command": OMG_CONTROL_COMMAND,
125
133
  "args": OMG_CONTROL_ARGS,
126
134
  "default": True,
135
+ "min_preset": "safe",
127
136
  "category": "control",
128
137
  },
129
138
  {
@@ -192,6 +201,26 @@ def get_mcp_catalog() -> list[dict[str, Any]]:
192
201
  return MCP_CATALOG
193
202
 
194
203
 
204
+ def get_default_mcps_for_preset(preset: str) -> list[str]:
205
+ """Return the list of MCP server IDs enabled by default for *preset*.
206
+
207
+ Each catalog entry carries a ``min_preset`` field that specifies the
208
+ lowest preset tier at which the MCP is included. The preset order is
209
+ ``safe < balanced < interop < labs``.
210
+
211
+ Returns:
212
+ Sorted list of MCP server IDs whose ``min_preset`` is at or below
213
+ the requested *preset* level.
214
+ """
215
+ level = _PRESET_LEVEL.get(preset, 0)
216
+ return [
217
+ m["id"]
218
+ for m in MCP_CATALOG
219
+ if _PRESET_LEVEL.get(m.get("min_preset", ""), -1) <= level
220
+ and m.get("min_preset") is not None
221
+ ]
222
+
223
+
195
224
  def build_mcp_config(selected_ids: list[str]) -> dict[str, Any]:
196
225
  """Build .mcp.json configuration from selected MCP server IDs.
197
226
 
@@ -245,17 +274,18 @@ def configure_plan_type(plan_type: str) -> dict[str, Any]:
245
274
  return result
246
275
 
247
276
 
248
- def select_mcps(selected_ids: list[str] | None = None) -> dict[str, Any]:
277
+ def select_mcps(selected_ids: list[str] | None = None, preset: str = "safe") -> dict[str, Any]:
249
278
  """Build MCP config from selected IDs.
250
279
 
251
280
  Args:
252
- selected_ids: List of MCP IDs to include. If None, uses defaults.
281
+ selected_ids: List of MCP IDs to include. If None, uses preset defaults.
282
+ preset: Preset tier that controls which MCPs are included by default.
253
283
 
254
284
  Returns:
255
285
  dict with mcpServers key (ready to write as .mcp.json)
256
286
  """
257
287
  if selected_ids is None:
258
- selected_ids = [m["id"] for m in MCP_CATALOG if m["default"]]
288
+ selected_ids = get_default_mcps_for_preset(preset)
259
289
  return build_mcp_config(selected_ids)
260
290
 
261
291
 
@@ -383,6 +413,9 @@ def check_auth() -> dict[str, Any]:
383
413
  return {"status": "pending", "results": {}}
384
414
 
385
415
 
416
+ _HTTP_MEMORY_MIN_LEVEL: int = _PRESET_LEVEL["interop"]
417
+
418
+
386
419
  def configure_mcp(
387
420
  project_dir: str,
388
421
  detected_clis: dict[str, Any],
@@ -391,12 +424,17 @@ def configure_mcp(
391
424
  control_command: str = OMG_CONTROL_COMMAND,
392
425
  control_args: list[str] | None = None,
393
426
  control_server_name: str = OMG_CONTROL_SERVER_NAME,
427
+ preset: str = "safe",
394
428
  ) -> dict[str, Any]:
395
429
  """Configure OMG MCP servers for authenticated CLIs.
396
430
 
397
431
  For each CLI in detected_clis where detected_clis[cli]["detected"] == True,
398
432
  calls the appropriate writer from runtime.mcp_config_writers.
399
433
 
434
+ HTTP memory surfaces are only written when the *preset* is at or above
435
+ ``interop`` level. ``safe`` and ``balanced`` presets write only the
436
+ stdio ``omg-control`` surface.
437
+
400
438
  Args:
401
439
  project_dir: Path to the project directory.
402
440
  detected_clis: Dict of CLI detection results from detect_clis().
@@ -405,6 +443,7 @@ def configure_mcp(
405
443
  control_command: stdio command for the OMG control MCP server.
406
444
  control_args: stdio args for the OMG control MCP server.
407
445
  control_server_name: MCP server name for the OMG control surface.
446
+ preset: Active preset tier (safe, balanced, interop, labs).
408
447
 
409
448
  Returns:
410
449
  Dict with keys:
@@ -415,10 +454,11 @@ def configure_mcp(
415
454
  configured: list[str] = []
416
455
  errors: dict[str, str] = {}
417
456
  resolved_control_args = list(control_args or OMG_CONTROL_ARGS)
457
+ http_memory_allowed = _PRESET_LEVEL.get(preset, 0) >= _HTTP_MEMORY_MIN_LEVEL
418
458
 
419
- # Always write Claude project config for both memory and control surfaces.
420
459
  try:
421
- write_claude_mcp_config(project_dir, server_url, server_name)
460
+ if http_memory_allowed:
461
+ write_claude_mcp_config(project_dir, server_url, server_name)
422
462
  write_claude_mcp_stdio_config(
423
463
  project_dir,
424
464
  command=control_command,
@@ -429,7 +469,6 @@ def configure_mcp(
429
469
  _logger.warning("Failed to write Claude MCP config: %s", exc)
430
470
  errors["claude"] = str(exc)
431
471
 
432
- # Write both memory and control surfaces for detected external CLIs.
433
472
  cli_writers = {
434
473
  "codex": (write_codex_mcp_config, write_codex_mcp_stdio_config),
435
474
  "gemini": (write_gemini_mcp_config, write_gemini_mcp_stdio_config),
@@ -442,7 +481,8 @@ def configure_mcp(
442
481
  continue
443
482
 
444
483
  try:
445
- http_writer(server_url, server_name)
484
+ if http_memory_allowed:
485
+ http_writer(server_url, server_name)
446
486
  stdio_writer(
447
487
  command=control_command,
448
488
  args=resolved_control_args,
@@ -591,7 +631,7 @@ def run_setup_wizard(
591
631
 
592
632
  clis = detect_clis()
593
633
  auth = check_auth()
594
- mcp = configure_mcp(project_dir, clis)
634
+ mcp = configure_mcp(project_dir, clis, preset=selected_preset)
595
635
  prefs = set_preferences(project_dir, {"preset": selected_preset})
596
636
  report_path = write_adoption_report(project_dir, adoption)
597
637
  adoption["report_path"] = report_path
@@ -8,7 +8,9 @@ from __future__ import annotations
8
8
  import hashlib
9
9
  import json
10
10
  import os
11
+ import platform
11
12
  import shutil
13
+ import socket
12
14
  import sys
13
15
  from datetime import datetime, timezone
14
16
  from typing import Any
@@ -185,9 +187,26 @@ def create_evidence_pack(
185
187
  route_metadata: dict[str, Any] | None = None,
186
188
  trace_ids: list[str] | None = None,
187
189
  lineage: dict[str, Any] | None = None,
190
+ executor: dict[str, Any] | None = None,
191
+ environment: dict[str, Any] | None = None,
188
192
  ) -> str:
189
193
  ensure_shadow_dirs(project_dir)
190
194
  run_id = _validated_run_id(run_id)
195
+
196
+ # Default executor if not provided
197
+ if executor is None:
198
+ executor = {
199
+ "user": os.getenv("USER", "unknown"),
200
+ "pid": str(os.getpid()),
201
+ }
202
+
203
+ # Default environment if not provided
204
+ if environment is None:
205
+ environment = {
206
+ "hostname": socket.gethostname(),
207
+ "platform": platform.system(),
208
+ }
209
+
191
210
  evidence = {
192
211
  "schema": "EvidencePack",
193
212
  "run_id": run_id,
@@ -203,6 +222,8 @@ def create_evidence_pack(
203
222
  "route_metadata": route_metadata or {},
204
223
  "trace_ids": trace_ids or [],
205
224
  "lineage": lineage or {},
225
+ "executor": executor,
226
+ "environment": environment,
206
227
  }
207
228
  evidence_path = ensure_path_within_dir(
208
229
  _evidence_root(project_dir),
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@trac3er/oh-my-god",
3
- "version": "2.0.5",
4
- "description": "OMG (Oh My God) — Multi-agent orchestration, intelligent model routing, and durable session state for Claude Code",
3
+ "version": "2.0.7",
4
+ "description": "OMG (Oh My God) — Multi-agent orchestration, evidence-backed verification, and durable session state for Claude Code, Codex, and supported agent hosts",
5
5
  "main": "OMG-setup.sh",
6
6
  "scripts": {
7
7
  "postinstall": "./OMG-setup.sh install --non-interactive",