@trac3er/oh-my-god 2.0.3 → 2.0.5

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 (259) hide show
  1. package/.agents/skills/omg/AGENTS.fragment.md +5 -0
  2. package/.agents/skills/omg/algorithms/SKILL.md +11 -0
  3. package/.agents/skills/omg/algorithms/openai.yaml +11 -0
  4. package/.agents/skills/omg/api-twin/SKILL.md +11 -0
  5. package/.agents/skills/omg/api-twin/openai.yaml +12 -0
  6. package/.agents/skills/omg/codex-mcp.toml +4 -0
  7. package/.agents/skills/omg/control-plane/SKILL.md +11 -0
  8. package/.agents/skills/omg/control-plane/openai.yaml +14 -0
  9. package/.agents/skills/omg/data-lineage/SKILL.md +11 -0
  10. package/.agents/skills/omg/data-lineage/openai.yaml +12 -0
  11. package/.agents/skills/omg/delta-classifier/SKILL.md +11 -0
  12. package/.agents/skills/omg/delta-classifier/openai.yaml +12 -0
  13. package/.agents/skills/omg/eval-gate/SKILL.md +11 -0
  14. package/.agents/skills/omg/eval-gate/openai.yaml +12 -0
  15. package/.agents/skills/omg/health/SKILL.md +11 -0
  16. package/.agents/skills/omg/health/openai.yaml +11 -0
  17. package/.agents/skills/omg/hook-governor/SKILL.md +11 -0
  18. package/.agents/skills/omg/hook-governor/openai.yaml +11 -0
  19. package/.agents/skills/omg/incident-replay/SKILL.md +11 -0
  20. package/.agents/skills/omg/incident-replay/openai.yaml +12 -0
  21. package/.agents/skills/omg/lsp-pack/SKILL.md +11 -0
  22. package/.agents/skills/omg/lsp-pack/openai.yaml +11 -0
  23. package/.agents/skills/omg/mcp-fabric/SKILL.md +11 -0
  24. package/.agents/skills/omg/mcp-fabric/openai.yaml +13 -0
  25. package/.agents/skills/omg/preflight/SKILL.md +11 -0
  26. package/.agents/skills/omg/preflight/openai.yaml +12 -0
  27. package/.agents/skills/omg/remote-supervisor/SKILL.md +11 -0
  28. package/.agents/skills/omg/remote-supervisor/openai.yaml +12 -0
  29. package/.agents/skills/omg/robotics/SKILL.md +11 -0
  30. package/.agents/skills/omg/robotics/openai.yaml +11 -0
  31. package/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +11 -0
  32. package/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +12 -0
  33. package/.agents/skills/omg/security-check/SKILL.md +11 -0
  34. package/.agents/skills/omg/security-check/openai.yaml +13 -0
  35. package/.agents/skills/omg/tracebank/SKILL.md +11 -0
  36. package/.agents/skills/omg/tracebank/openai.yaml +12 -0
  37. package/.agents/skills/omg/vision/SKILL.md +11 -0
  38. package/.agents/skills/omg/vision/openai.yaml +11 -0
  39. package/.claude-plugin/marketplace.json +3 -3
  40. package/.claude-plugin/plugin.json +1 -1
  41. package/.claude-plugin/scripts/uninstall.sh +2 -2
  42. package/.mcp.json +20 -4
  43. package/CHANGELOG.md +10 -0
  44. package/OMG-setup.sh +9 -3
  45. package/OMG_COMPAT_CONTRACT.md +92 -0
  46. package/README.md +24 -4
  47. package/SECURITY.md +6 -0
  48. package/commands/OMG:api-twin.md +22 -0
  49. package/commands/OMG:preflight.md +26 -0
  50. package/commands/OMG:security-check.md +28 -0
  51. package/commands/__init__.py +1 -0
  52. package/control_plane/__init__.py +2 -0
  53. package/control_plane/openapi.yaml +228 -0
  54. package/control_plane/server.py +123 -0
  55. package/control_plane/service.py +185 -0
  56. package/dist/enterprise/bundle/.agents/skills/omg/AGENTS.fragment.md +5 -0
  57. package/dist/enterprise/bundle/.agents/skills/omg/algorithms/SKILL.md +11 -0
  58. package/dist/enterprise/bundle/.agents/skills/omg/algorithms/openai.yaml +11 -0
  59. package/dist/enterprise/bundle/.agents/skills/omg/api-twin/SKILL.md +11 -0
  60. package/dist/enterprise/bundle/.agents/skills/omg/api-twin/openai.yaml +12 -0
  61. package/dist/enterprise/bundle/.agents/skills/omg/codex-mcp.toml +4 -0
  62. package/dist/enterprise/bundle/.agents/skills/omg/control-plane/SKILL.md +11 -0
  63. package/dist/enterprise/bundle/.agents/skills/omg/control-plane/openai.yaml +14 -0
  64. package/dist/enterprise/bundle/.agents/skills/omg/data-lineage/SKILL.md +11 -0
  65. package/dist/enterprise/bundle/.agents/skills/omg/data-lineage/openai.yaml +12 -0
  66. package/dist/enterprise/bundle/.agents/skills/omg/delta-classifier/SKILL.md +11 -0
  67. package/dist/enterprise/bundle/.agents/skills/omg/delta-classifier/openai.yaml +12 -0
  68. package/dist/enterprise/bundle/.agents/skills/omg/eval-gate/SKILL.md +11 -0
  69. package/dist/enterprise/bundle/.agents/skills/omg/eval-gate/openai.yaml +12 -0
  70. package/dist/enterprise/bundle/.agents/skills/omg/health/SKILL.md +11 -0
  71. package/dist/enterprise/bundle/.agents/skills/omg/health/openai.yaml +11 -0
  72. package/dist/enterprise/bundle/.agents/skills/omg/hook-governor/SKILL.md +11 -0
  73. package/dist/enterprise/bundle/.agents/skills/omg/hook-governor/openai.yaml +11 -0
  74. package/dist/enterprise/bundle/.agents/skills/omg/incident-replay/SKILL.md +11 -0
  75. package/dist/enterprise/bundle/.agents/skills/omg/incident-replay/openai.yaml +12 -0
  76. package/dist/enterprise/bundle/.agents/skills/omg/lsp-pack/SKILL.md +11 -0
  77. package/dist/enterprise/bundle/.agents/skills/omg/lsp-pack/openai.yaml +11 -0
  78. package/dist/enterprise/bundle/.agents/skills/omg/mcp-fabric/SKILL.md +11 -0
  79. package/dist/enterprise/bundle/.agents/skills/omg/mcp-fabric/openai.yaml +13 -0
  80. package/dist/enterprise/bundle/.agents/skills/omg/preflight/SKILL.md +11 -0
  81. package/dist/enterprise/bundle/.agents/skills/omg/preflight/openai.yaml +12 -0
  82. package/dist/enterprise/bundle/.agents/skills/omg/remote-supervisor/SKILL.md +11 -0
  83. package/dist/enterprise/bundle/.agents/skills/omg/remote-supervisor/openai.yaml +12 -0
  84. package/dist/enterprise/bundle/.agents/skills/omg/robotics/SKILL.md +11 -0
  85. package/dist/enterprise/bundle/.agents/skills/omg/robotics/openai.yaml +11 -0
  86. package/dist/enterprise/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +11 -0
  87. package/dist/enterprise/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +12 -0
  88. package/dist/enterprise/bundle/.agents/skills/omg/security-check/SKILL.md +11 -0
  89. package/dist/enterprise/bundle/.agents/skills/omg/security-check/openai.yaml +13 -0
  90. package/dist/enterprise/bundle/.agents/skills/omg/tracebank/SKILL.md +11 -0
  91. package/dist/enterprise/bundle/.agents/skills/omg/tracebank/openai.yaml +12 -0
  92. package/dist/enterprise/bundle/.agents/skills/omg/vision/SKILL.md +11 -0
  93. package/dist/enterprise/bundle/.agents/skills/omg/vision/openai.yaml +11 -0
  94. package/dist/enterprise/bundle/.claude-plugin/marketplace.json +36 -0
  95. package/dist/enterprise/bundle/.claude-plugin/plugin.json +23 -0
  96. package/dist/enterprise/bundle/.mcp.json +40 -0
  97. package/dist/enterprise/bundle/OMG_COMPAT_CONTRACT.md +92 -0
  98. package/dist/enterprise/bundle/registry/bundles/algorithms.yaml +45 -0
  99. package/dist/enterprise/bundle/registry/bundles/api-twin.yaml +48 -0
  100. package/dist/enterprise/bundle/registry/bundles/control-plane.yaml +61 -0
  101. package/dist/enterprise/bundle/registry/bundles/data-lineage.yaml +47 -0
  102. package/dist/enterprise/bundle/registry/bundles/delta-classifier.yaml +47 -0
  103. package/dist/enterprise/bundle/registry/bundles/eval-gate.yaml +47 -0
  104. package/dist/enterprise/bundle/registry/bundles/health.yaml +45 -0
  105. package/dist/enterprise/bundle/registry/bundles/hook-governor.yaml +97 -0
  106. package/dist/enterprise/bundle/registry/bundles/incident-replay.yaml +47 -0
  107. package/dist/enterprise/bundle/registry/bundles/lsp-pack.yaml +48 -0
  108. package/dist/enterprise/bundle/registry/bundles/mcp-fabric.yaml +53 -0
  109. package/dist/enterprise/bundle/registry/bundles/preflight.yaml +48 -0
  110. package/dist/enterprise/bundle/registry/bundles/remote-supervisor.yaml +49 -0
  111. package/dist/enterprise/bundle/registry/bundles/robotics.yaml +45 -0
  112. package/dist/enterprise/bundle/registry/bundles/secure-worktree-pipeline.yaml +54 -0
  113. package/dist/enterprise/bundle/registry/bundles/security-check.yaml +50 -0
  114. package/dist/enterprise/bundle/registry/bundles/tracebank.yaml +47 -0
  115. package/dist/enterprise/bundle/registry/bundles/vision.yaml +45 -0
  116. package/dist/enterprise/bundle/registry/omg-capability.schema.json +80 -0
  117. package/dist/enterprise/bundle/settings.json +381 -0
  118. package/dist/enterprise/manifest.json +255 -0
  119. package/dist/public/bundle/.agents/skills/omg/AGENTS.fragment.md +5 -0
  120. package/dist/public/bundle/.agents/skills/omg/algorithms/SKILL.md +11 -0
  121. package/dist/public/bundle/.agents/skills/omg/algorithms/openai.yaml +11 -0
  122. package/dist/public/bundle/.agents/skills/omg/api-twin/SKILL.md +11 -0
  123. package/dist/public/bundle/.agents/skills/omg/api-twin/openai.yaml +12 -0
  124. package/dist/public/bundle/.agents/skills/omg/codex-mcp.toml +4 -0
  125. package/dist/public/bundle/.agents/skills/omg/control-plane/SKILL.md +11 -0
  126. package/dist/public/bundle/.agents/skills/omg/control-plane/openai.yaml +14 -0
  127. package/dist/public/bundle/.agents/skills/omg/data-lineage/SKILL.md +11 -0
  128. package/dist/public/bundle/.agents/skills/omg/data-lineage/openai.yaml +12 -0
  129. package/dist/public/bundle/.agents/skills/omg/delta-classifier/SKILL.md +11 -0
  130. package/dist/public/bundle/.agents/skills/omg/delta-classifier/openai.yaml +12 -0
  131. package/dist/public/bundle/.agents/skills/omg/eval-gate/SKILL.md +11 -0
  132. package/dist/public/bundle/.agents/skills/omg/eval-gate/openai.yaml +12 -0
  133. package/dist/public/bundle/.agents/skills/omg/health/SKILL.md +11 -0
  134. package/dist/public/bundle/.agents/skills/omg/health/openai.yaml +11 -0
  135. package/dist/public/bundle/.agents/skills/omg/hook-governor/SKILL.md +11 -0
  136. package/dist/public/bundle/.agents/skills/omg/hook-governor/openai.yaml +11 -0
  137. package/dist/public/bundle/.agents/skills/omg/incident-replay/SKILL.md +11 -0
  138. package/dist/public/bundle/.agents/skills/omg/incident-replay/openai.yaml +12 -0
  139. package/dist/public/bundle/.agents/skills/omg/lsp-pack/SKILL.md +11 -0
  140. package/dist/public/bundle/.agents/skills/omg/lsp-pack/openai.yaml +11 -0
  141. package/dist/public/bundle/.agents/skills/omg/mcp-fabric/SKILL.md +11 -0
  142. package/dist/public/bundle/.agents/skills/omg/mcp-fabric/openai.yaml +13 -0
  143. package/dist/public/bundle/.agents/skills/omg/preflight/SKILL.md +11 -0
  144. package/dist/public/bundle/.agents/skills/omg/preflight/openai.yaml +12 -0
  145. package/dist/public/bundle/.agents/skills/omg/remote-supervisor/SKILL.md +11 -0
  146. package/dist/public/bundle/.agents/skills/omg/remote-supervisor/openai.yaml +12 -0
  147. package/dist/public/bundle/.agents/skills/omg/robotics/SKILL.md +11 -0
  148. package/dist/public/bundle/.agents/skills/omg/robotics/openai.yaml +11 -0
  149. package/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +11 -0
  150. package/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +12 -0
  151. package/dist/public/bundle/.agents/skills/omg/security-check/SKILL.md +11 -0
  152. package/dist/public/bundle/.agents/skills/omg/security-check/openai.yaml +13 -0
  153. package/dist/public/bundle/.agents/skills/omg/tracebank/SKILL.md +11 -0
  154. package/dist/public/bundle/.agents/skills/omg/tracebank/openai.yaml +12 -0
  155. package/dist/public/bundle/.agents/skills/omg/vision/SKILL.md +11 -0
  156. package/dist/public/bundle/.agents/skills/omg/vision/openai.yaml +11 -0
  157. package/dist/public/bundle/.claude-plugin/marketplace.json +36 -0
  158. package/dist/public/bundle/.claude-plugin/plugin.json +23 -0
  159. package/dist/public/bundle/.mcp.json +40 -0
  160. package/dist/public/bundle/OMG_COMPAT_CONTRACT.md +92 -0
  161. package/dist/public/bundle/registry/bundles/algorithms.yaml +45 -0
  162. package/dist/public/bundle/registry/bundles/api-twin.yaml +48 -0
  163. package/dist/public/bundle/registry/bundles/control-plane.yaml +61 -0
  164. package/dist/public/bundle/registry/bundles/data-lineage.yaml +47 -0
  165. package/dist/public/bundle/registry/bundles/delta-classifier.yaml +47 -0
  166. package/dist/public/bundle/registry/bundles/eval-gate.yaml +47 -0
  167. package/dist/public/bundle/registry/bundles/health.yaml +45 -0
  168. package/dist/public/bundle/registry/bundles/hook-governor.yaml +97 -0
  169. package/dist/public/bundle/registry/bundles/incident-replay.yaml +47 -0
  170. package/dist/public/bundle/registry/bundles/lsp-pack.yaml +48 -0
  171. package/dist/public/bundle/registry/bundles/mcp-fabric.yaml +53 -0
  172. package/dist/public/bundle/registry/bundles/preflight.yaml +48 -0
  173. package/dist/public/bundle/registry/bundles/remote-supervisor.yaml +49 -0
  174. package/dist/public/bundle/registry/bundles/robotics.yaml +45 -0
  175. package/dist/public/bundle/registry/bundles/secure-worktree-pipeline.yaml +54 -0
  176. package/dist/public/bundle/registry/bundles/security-check.yaml +50 -0
  177. package/dist/public/bundle/registry/bundles/tracebank.yaml +47 -0
  178. package/dist/public/bundle/registry/bundles/vision.yaml +45 -0
  179. package/dist/public/bundle/registry/omg-capability.schema.json +80 -0
  180. package/dist/public/bundle/settings.json +379 -0
  181. package/dist/public/manifest.json +255 -0
  182. package/docs/assets/omg-hud.svg +32 -0
  183. package/docs/install/claude-code.md +31 -0
  184. package/docs/install/codex.md +29 -0
  185. package/docs/migration/native-adoption.md +57 -0
  186. package/docs/proof.md +55 -0
  187. package/docs/release-checklist.md +38 -0
  188. package/docs/transcripts/crazy.md +17 -0
  189. package/docs/transcripts/setup.md +25 -0
  190. package/hooks/policy_engine.py +38 -7
  191. package/hooks/post-write.py +1 -1
  192. package/hooks/prompt-enhancer.py +1 -1
  193. package/hooks/security_validators.py +75 -0
  194. package/hooks/setup_wizard.py +43 -8
  195. package/hooks/shadow_manager.py +28 -2
  196. package/package.json +1 -1
  197. package/plugins/README.md +3 -1
  198. package/plugins/__init__.py +1 -0
  199. package/plugins/advanced/commands/OMG:deep-plan.md +1 -1
  200. package/plugins/advanced/commands/OMG:security-review.md +10 -113
  201. package/plugins/advanced/commands/OMG:ship.md +1 -1
  202. package/plugins/advanced/plugin.json +1 -10
  203. package/plugins/core/plugin.json +25 -2
  204. package/pyproject.toml +38 -2
  205. package/registry/__init__.py +1 -0
  206. package/registry/bundles/algorithms.yaml +45 -0
  207. package/registry/bundles/api-twin.yaml +48 -0
  208. package/registry/bundles/control-plane.yaml +61 -0
  209. package/registry/bundles/data-lineage.yaml +47 -0
  210. package/registry/bundles/delta-classifier.yaml +47 -0
  211. package/registry/bundles/eval-gate.yaml +47 -0
  212. package/registry/bundles/health.yaml +45 -0
  213. package/registry/bundles/hook-governor.yaml +97 -0
  214. package/registry/bundles/incident-replay.yaml +47 -0
  215. package/registry/bundles/lsp-pack.yaml +48 -0
  216. package/registry/bundles/mcp-fabric.yaml +53 -0
  217. package/registry/bundles/preflight.yaml +48 -0
  218. package/registry/bundles/remote-supervisor.yaml +49 -0
  219. package/registry/bundles/robotics.yaml +45 -0
  220. package/registry/bundles/secure-worktree-pipeline.yaml +54 -0
  221. package/registry/bundles/security-check.yaml +50 -0
  222. package/registry/bundles/tracebank.yaml +47 -0
  223. package/registry/bundles/vision.yaml +45 -0
  224. package/registry/omg-capability.schema.json +80 -0
  225. package/registry/verify_artifact.py +90 -0
  226. package/runtime/adapters/claude.py +3 -0
  227. package/runtime/adapters/gpt.py +3 -0
  228. package/runtime/adapters/local.py +3 -0
  229. package/runtime/adoption.py +1 -1
  230. package/runtime/api_twin.py +179 -0
  231. package/runtime/asset_loader.py +62 -0
  232. package/runtime/compat.py +24 -3
  233. package/runtime/contract_compiler.py +847 -0
  234. package/runtime/data_lineage.py +73 -0
  235. package/runtime/delta_classifier.py +81 -0
  236. package/runtime/domain_packs.py +46 -0
  237. package/runtime/ecosystem.py +1 -1
  238. package/runtime/eval_gate.py +50 -0
  239. package/runtime/guide_assert.py +45 -0
  240. package/runtime/incident_replay.py +47 -0
  241. package/runtime/mcp_config_writers.py +147 -30
  242. package/runtime/mcp_memory_server.py +1 -1
  243. package/runtime/omg_compat_contract_snapshot.json +9 -8
  244. package/runtime/omg_contract_snapshot.json +9 -8
  245. package/runtime/omg_mcp_server.py +207 -0
  246. package/runtime/preflight.py +73 -0
  247. package/runtime/providers/codex_provider.py +2 -12
  248. package/runtime/providers/gemini_provider.py +2 -21
  249. package/runtime/providers/kimi_provider.py +2 -21
  250. package/runtime/remote_supervisor.py +64 -0
  251. package/runtime/runtime_profile.py +61 -0
  252. package/runtime/security_check.py +464 -0
  253. package/runtime/subagent_dispatcher.py +117 -10
  254. package/runtime/team_router.py +3 -1
  255. package/runtime/tracebank.py +53 -0
  256. package/runtime/untrusted_content.py +102 -0
  257. package/scripts/omg.py +360 -2
  258. package/settings.json +81 -18
  259. package/tools/python_repl.py +33 -3
@@ -0,0 +1,255 @@
1
+ {
2
+ "schema": "OmgCompiledArtifactManifest",
3
+ "channel": "public",
4
+ "contract_version": "2.0.5",
5
+ "artifacts": [
6
+ {
7
+ "path": "bundle/.agents/skills/omg/AGENTS.fragment.md",
8
+ "sha256": "603430cb291632105fda7444ae018da521cc3a57c71c1a1c98179efea42ce0f2"
9
+ },
10
+ {
11
+ "path": "bundle/.agents/skills/omg/algorithms/SKILL.md",
12
+ "sha256": "48042e7ab674ef67c2d8a71a75abdd81aeee4363cb5e97c775c320d4edab33fb"
13
+ },
14
+ {
15
+ "path": "bundle/.agents/skills/omg/algorithms/openai.yaml",
16
+ "sha256": "6196d26b4daf429292565142d3ed7233024402cc9206fd5df9e5f848231a79c6"
17
+ },
18
+ {
19
+ "path": "bundle/.agents/skills/omg/api-twin/SKILL.md",
20
+ "sha256": "b394b7779173318ed29662c3c11bfa05b5d037d3a927b16bea28560a62752437"
21
+ },
22
+ {
23
+ "path": "bundle/.agents/skills/omg/api-twin/openai.yaml",
24
+ "sha256": "8b711205c230c16695702b1eeeb426d844aa76a87c55f220298cdaf105ceee1d"
25
+ },
26
+ {
27
+ "path": "bundle/.agents/skills/omg/codex-mcp.toml",
28
+ "sha256": "a56de208a369a2b318d2e66e150eef4cba1fac1ecf32bda6db1a1e4b65db7311"
29
+ },
30
+ {
31
+ "path": "bundle/.agents/skills/omg/control-plane/SKILL.md",
32
+ "sha256": "fe281985ffbfb4d324d0ae421653c96d501bfda4ef1462865e2868276c40a3c2"
33
+ },
34
+ {
35
+ "path": "bundle/.agents/skills/omg/control-plane/openai.yaml",
36
+ "sha256": "a7ba723d34839c6a444b6ee4416223103cd9b2bbd9caed0d4c0aa1e7d5a523fc"
37
+ },
38
+ {
39
+ "path": "bundle/.agents/skills/omg/data-lineage/SKILL.md",
40
+ "sha256": "91352eee8b6a51d2e6a50d36de58e167344cce065fcbbf0c290c6ccd25a592f4"
41
+ },
42
+ {
43
+ "path": "bundle/.agents/skills/omg/data-lineage/openai.yaml",
44
+ "sha256": "beb0bbc2e3313784b03e633e02ee894b4bc57d992296ebbfe63186fcfbf8a344"
45
+ },
46
+ {
47
+ "path": "bundle/.agents/skills/omg/delta-classifier/SKILL.md",
48
+ "sha256": "a4ab3112459178d08d6f54b83c38c6638833e97479808f0d88bba8e56c50b20c"
49
+ },
50
+ {
51
+ "path": "bundle/.agents/skills/omg/delta-classifier/openai.yaml",
52
+ "sha256": "b06422d0afc62af4085b38ead53ab28096beec5ae943ed317207bd7edacfc59c"
53
+ },
54
+ {
55
+ "path": "bundle/.agents/skills/omg/eval-gate/SKILL.md",
56
+ "sha256": "5d6a18ad9ca08923c13096ee8457eb7ccfa75752679be0be3e105112e5f5a94b"
57
+ },
58
+ {
59
+ "path": "bundle/.agents/skills/omg/eval-gate/openai.yaml",
60
+ "sha256": "43f4939ce1b6e51ec853f79cea0af80706bb8df6730e8854981cfdf3ee088822"
61
+ },
62
+ {
63
+ "path": "bundle/.agents/skills/omg/health/SKILL.md",
64
+ "sha256": "93806b8c1848b55240de4697692b21516aebc2ca905d049eb6ca5104a372f88e"
65
+ },
66
+ {
67
+ "path": "bundle/.agents/skills/omg/health/openai.yaml",
68
+ "sha256": "5f60504efb464cbcf130e183d3991b6fe9bc90ef12c21c4ffc2e8900ae1cd6e2"
69
+ },
70
+ {
71
+ "path": "bundle/.agents/skills/omg/hook-governor/SKILL.md",
72
+ "sha256": "852df4b5f787f2a885e87cb8ad8dbb8d877e018e14083cfd5e5b98deb9dd19b5"
73
+ },
74
+ {
75
+ "path": "bundle/.agents/skills/omg/hook-governor/openai.yaml",
76
+ "sha256": "8b4e219662bd9a12e89cdcd9a1828c1ff14810fa09cbfff9a6d9f932fb42ec85"
77
+ },
78
+ {
79
+ "path": "bundle/.agents/skills/omg/incident-replay/SKILL.md",
80
+ "sha256": "fe4538481bed5a924e9b2155bb84b5d36863a9c380014d7e5ec6185dbff0fb49"
81
+ },
82
+ {
83
+ "path": "bundle/.agents/skills/omg/incident-replay/openai.yaml",
84
+ "sha256": "6685c86104f4257514dd25d3102baaba309020120bce925e6f40f6e5f43713f0"
85
+ },
86
+ {
87
+ "path": "bundle/.agents/skills/omg/lsp-pack/SKILL.md",
88
+ "sha256": "86890c6671441f8687ad7d71dedd7d61574c42aa6e109aa8dd6ceb4b6a139879"
89
+ },
90
+ {
91
+ "path": "bundle/.agents/skills/omg/lsp-pack/openai.yaml",
92
+ "sha256": "14000aec9cc9ff630b7354ae101cc43ed90c4e1ecd0fa719013741ca14598142"
93
+ },
94
+ {
95
+ "path": "bundle/.agents/skills/omg/mcp-fabric/SKILL.md",
96
+ "sha256": "e741baf4fa5f09957fe37349b79fe6831afe0352eefa945f3e53514ea313bc36"
97
+ },
98
+ {
99
+ "path": "bundle/.agents/skills/omg/mcp-fabric/openai.yaml",
100
+ "sha256": "18dc35b4d6fb598b572ec933153e80de5449be9e07ef07178e4f875e39a8915c"
101
+ },
102
+ {
103
+ "path": "bundle/.agents/skills/omg/preflight/SKILL.md",
104
+ "sha256": "1f7783ff53f59a4368f1ec7746faa3f1a66805312291851f43ae2fe6a7d58f30"
105
+ },
106
+ {
107
+ "path": "bundle/.agents/skills/omg/preflight/openai.yaml",
108
+ "sha256": "1074dff95ae9f6951cdd9bb3d6b5c4add7d6a688b0ceed3d79d365dff42bfca6"
109
+ },
110
+ {
111
+ "path": "bundle/.agents/skills/omg/remote-supervisor/SKILL.md",
112
+ "sha256": "506988d9eb379dad027ad1dd0087e81f12594faed16a91dbda021975de28e19f"
113
+ },
114
+ {
115
+ "path": "bundle/.agents/skills/omg/remote-supervisor/openai.yaml",
116
+ "sha256": "f4a87ea5ed5759c073adbdc9704d7bf75b16ba5ba3e5ceaa3c926c44e6d84dd2"
117
+ },
118
+ {
119
+ "path": "bundle/.agents/skills/omg/robotics/SKILL.md",
120
+ "sha256": "fa191d7d7662321fa48cd1bbd25af59282c95d396ee959fd65fa873db4aa53c3"
121
+ },
122
+ {
123
+ "path": "bundle/.agents/skills/omg/robotics/openai.yaml",
124
+ "sha256": "d6c28424bbcf9457da1fa5a0aff3952a5aca8a6e66257b633962c58e3e365f5c"
125
+ },
126
+ {
127
+ "path": "bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md",
128
+ "sha256": "1eebd557d77cc084161c3ffe11ed3a9ea5d78caa65b1021a992ac8b835fc6a0d"
129
+ },
130
+ {
131
+ "path": "bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml",
132
+ "sha256": "1f82a05b2fcad17c126e34541c995dedf3ed242fa499539ab693cc60a0d41c77"
133
+ },
134
+ {
135
+ "path": "bundle/.agents/skills/omg/security-check/SKILL.md",
136
+ "sha256": "5d2131c7d93780b139917149017ffa696ea17da403506ab6077aff4e4a52e69a"
137
+ },
138
+ {
139
+ "path": "bundle/.agents/skills/omg/security-check/openai.yaml",
140
+ "sha256": "cf06bd8b852ad6c4694d8aeadd05ae4c9b63d32fa5cee085152683c65a3343e5"
141
+ },
142
+ {
143
+ "path": "bundle/.agents/skills/omg/tracebank/SKILL.md",
144
+ "sha256": "c4ba5cbe7acca1be333f376f27f800482c1080eb8e95b34744313f1d64a84fcd"
145
+ },
146
+ {
147
+ "path": "bundle/.agents/skills/omg/tracebank/openai.yaml",
148
+ "sha256": "556e2ec3ac5a8e1b9bd40ecb7a744e85b49e34c5af899101070e7e72c9f45621"
149
+ },
150
+ {
151
+ "path": "bundle/.agents/skills/omg/vision/SKILL.md",
152
+ "sha256": "a96b2fce777f5d9e6895c83b8d5d6eba98d5383d1c54f60a877ed22ec6a79011"
153
+ },
154
+ {
155
+ "path": "bundle/.agents/skills/omg/vision/openai.yaml",
156
+ "sha256": "ea3b553bed57095f44103c154315e2f6017e1767708339a8760fb3a735d15075"
157
+ },
158
+ {
159
+ "path": "bundle/.claude-plugin/marketplace.json",
160
+ "sha256": "2c1e7ffe83d11c464662aba58720c52b3b136d3564c32b83019a7aeecd6a982c"
161
+ },
162
+ {
163
+ "path": "bundle/.claude-plugin/plugin.json",
164
+ "sha256": "fe79af472d21bd47da149116ff1ed5c82b08c4bfd60b470e5d4faf6799f9abf7"
165
+ },
166
+ {
167
+ "path": "bundle/.mcp.json",
168
+ "sha256": "d8249fdd26e0df0a9b7cabcb34256d7e33578e1d0e9878cc91d43452a10f7c24"
169
+ },
170
+ {
171
+ "path": "bundle/OMG_COMPAT_CONTRACT.md",
172
+ "sha256": "fa7a4a16097b35170784e136f8ff9eae64c825a07f55413fb8fea3e7ab40c2e5"
173
+ },
174
+ {
175
+ "path": "bundle/registry/bundles/algorithms.yaml",
176
+ "sha256": "cc589c80d47ab2eb1bb2f142d462e40fc1c5f108e175360b40929326966de723"
177
+ },
178
+ {
179
+ "path": "bundle/registry/bundles/api-twin.yaml",
180
+ "sha256": "6952f8d45dbfa29afac88de0f110b2941804c4543dae4c0f5562cb876de376b7"
181
+ },
182
+ {
183
+ "path": "bundle/registry/bundles/control-plane.yaml",
184
+ "sha256": "fd624b518e20e48b7dc68378c95493a4f88e07c759ea53f3b9c82646b263d80c"
185
+ },
186
+ {
187
+ "path": "bundle/registry/bundles/data-lineage.yaml",
188
+ "sha256": "602a1906d976ff93beb961affd7b5f6d4dc6486cd960ad47aa2a2b6c65724585"
189
+ },
190
+ {
191
+ "path": "bundle/registry/bundles/delta-classifier.yaml",
192
+ "sha256": "d08df8acb9713c58767a0c1a390fd35a61b7e1a290cfb13376a8f5517cbcc7f3"
193
+ },
194
+ {
195
+ "path": "bundle/registry/bundles/eval-gate.yaml",
196
+ "sha256": "c3de322fece33b91f503740f828e318264d0388d3403b98f09c2d73486a57b81"
197
+ },
198
+ {
199
+ "path": "bundle/registry/bundles/health.yaml",
200
+ "sha256": "3192a27f326656732fe83ed6e725366bc2c9bb7e5009de07b9097b864357383b"
201
+ },
202
+ {
203
+ "path": "bundle/registry/bundles/hook-governor.yaml",
204
+ "sha256": "ccb6edc43da2594eb93ad00abe3447879923f83067201d82927a942bb25f412d"
205
+ },
206
+ {
207
+ "path": "bundle/registry/bundles/incident-replay.yaml",
208
+ "sha256": "aeaee69df8fdb8652707f3a228e4556e3a42a1487f4b77d33f47197370bd24a6"
209
+ },
210
+ {
211
+ "path": "bundle/registry/bundles/lsp-pack.yaml",
212
+ "sha256": "b0e6f74fd0b52cf37960defc3c9a0b66b722d98b7db15f6b1d4e11eae9a96707"
213
+ },
214
+ {
215
+ "path": "bundle/registry/bundles/mcp-fabric.yaml",
216
+ "sha256": "40766fb1fed2fbd29ae029915d2c883f3c3f38157fa3c0d72018381c75df6e31"
217
+ },
218
+ {
219
+ "path": "bundle/registry/bundles/preflight.yaml",
220
+ "sha256": "f12fd6b4aaa045141dcaaf62b51f5de7d31de2625f819ad368adc1a6e2010b18"
221
+ },
222
+ {
223
+ "path": "bundle/registry/bundles/remote-supervisor.yaml",
224
+ "sha256": "ac727c3074ae4a95e66b7e023f38ad22c3ae903db8af079b8b66c83fad57e650"
225
+ },
226
+ {
227
+ "path": "bundle/registry/bundles/robotics.yaml",
228
+ "sha256": "8748fdb84285c2131685626182ba86806d3cffecfe5c94c6438a791f983afd2b"
229
+ },
230
+ {
231
+ "path": "bundle/registry/bundles/secure-worktree-pipeline.yaml",
232
+ "sha256": "f62b4d9daee055362e013883f86479d2ddc2b22f8a97be84342a1b2979b9d584"
233
+ },
234
+ {
235
+ "path": "bundle/registry/bundles/security-check.yaml",
236
+ "sha256": "768f412af9696b8c83320c4d1d92c0703ed553296bbf54aff9c0c387f7a86cf0"
237
+ },
238
+ {
239
+ "path": "bundle/registry/bundles/tracebank.yaml",
240
+ "sha256": "500b996f7c55e652e9b4b677fefa472b49b4f61c052b7996738ed1389a575f3a"
241
+ },
242
+ {
243
+ "path": "bundle/registry/bundles/vision.yaml",
244
+ "sha256": "9f8b8be109d791954e6da97c0caed9234a58c15f1e9a189c445d0a55ec2591d8"
245
+ },
246
+ {
247
+ "path": "bundle/registry/omg-capability.schema.json",
248
+ "sha256": "ac5ce4663ae343785c844b0404cc5745f329df1cd12674201929f82d1e6332c9"
249
+ },
250
+ {
251
+ "path": "bundle/settings.json",
252
+ "sha256": "7a2f1d2f501a6db4d57e9863b510c7dadcc4ed7826012783506d10d4514bed5a"
253
+ }
254
+ ]
255
+ }
@@ -0,0 +1,32 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1200" height="720" viewBox="0 0 1200 720">
2
+ <rect width="1200" height="720" fill="#0f1720"/>
3
+ <rect x="40" y="40" width="1120" height="640" rx="24" fill="#152435" stroke="#5eead4" stroke-width="2"/>
4
+ <text x="80" y="110" fill="#f8fafc" font-family="monospace" font-size="40">OMG HUD</text>
5
+ <text x="80" y="150" fill="#5eead4" font-family="monospace" font-size="20">native setup | adoption report | crazy orchestration</text>
6
+
7
+ <rect x="80" y="200" width="320" height="180" rx="18" fill="#1e293b"/>
8
+ <text x="105" y="240" fill="#f8fafc" font-family="monospace" font-size="22">Hosts</text>
9
+ <text x="105" y="280" fill="#cbd5e1" font-family="monospace" font-size="18">Claude Code</text>
10
+ <text x="105" y="310" fill="#cbd5e1" font-family="monospace" font-size="18">Codex</text>
11
+ <text x="105" y="340" fill="#cbd5e1" font-family="monospace" font-size="18">Kimi CLI</text>
12
+
13
+ <rect x="440" y="200" width="320" height="180" rx="18" fill="#1e293b"/>
14
+ <text x="465" y="240" fill="#f8fafc" font-family="monospace" font-size="22">Adoption</text>
15
+ <text x="465" y="280" fill="#cbd5e1" font-family="monospace" font-size="18">mode: omg-only</text>
16
+ <text x="465" y="310" fill="#cbd5e1" font-family="monospace" font-size="18">preset: balanced</text>
17
+ <text x="465" y="340" fill="#cbd5e1" font-family="monospace" font-size="18">ecosystems: omc, superpowers</text>
18
+
19
+ <rect x="800" y="200" width="320" height="180" rx="18" fill="#1e293b"/>
20
+ <text x="825" y="240" fill="#f8fafc" font-family="monospace" font-size="22">Proof</text>
21
+ <text x="825" y="280" fill="#cbd5e1" font-family="monospace" font-size="18">tests</text>
22
+ <text x="825" y="310" fill="#cbd5e1" font-family="monospace" font-size="18">provider matrix</text>
23
+ <text x="825" y="340" fill="#cbd5e1" font-family="monospace" font-size="18">sample transcripts</text>
24
+
25
+ <rect x="80" y="430" width="1040" height="190" rx="18" fill="#0b1220" stroke="#334155" stroke-width="1"/>
26
+ <text x="105" y="470" fill="#f8fafc" font-family="monospace" font-size="22">Session</text>
27
+ <text x="105" y="515" fill="#5eead4" font-family="monospace" font-size="18">/OMG:setup</text>
28
+ <text x="245" y="515" fill="#cbd5e1" font-family="monospace" font-size="18">detected codex, kimi</text>
29
+ <text x="105" y="550" fill="#5eead4" font-family="monospace" font-size="18">/OMG:crazy</text>
30
+ <text x="245" y="550" fill="#cbd5e1" font-family="monospace" font-size="18">launched 5-worker orchestration</text>
31
+ <text x="105" y="585" fill="#cbd5e1" font-family="monospace" font-size="18">evidence required before completion</text>
32
+ </svg>
@@ -0,0 +1,31 @@
1
+ # Install OMG for Claude Code
2
+
3
+ ## Fast Path
4
+
5
+ ```bash
6
+ npm install @trac3er/oh-my-god
7
+ ```
8
+
9
+ Then run:
10
+
11
+ ```text
12
+ /OMG:setup
13
+ ```
14
+
15
+ ## Manual Path
16
+
17
+ ```bash
18
+ git clone https://github.com/trac3er00/OMG
19
+ cd OMG
20
+ chmod +x OMG-setup.sh
21
+ ./OMG-setup.sh install --mode=omg-only --preset=balanced
22
+ ```
23
+
24
+ ## Verify
25
+
26
+ - `OMG-only` is the recommended adoption mode.
27
+ - The shipped `safe` preset should register `firewall.py` for `Bash` and `secret-guard.py` for file reads and edits before helper hooks run.
28
+ - In the `safe` preset, raw `env`, `node`, `python`, `python3`, `chmod`, and `chown` commands should prompt for approval.
29
+ - You should see `.mcp.json` plus `.omg/state/cli-config.yaml`.
30
+ - If Claude Code already has overlapping plugins, OMG will emit `.omg/state/adoption-report.json`.
31
+ - Run `/OMG:crazy <goal>` after setup.
@@ -0,0 +1,29 @@
1
+ # Install OMG for Codex
2
+
3
+ ## Fast Path
4
+
5
+ ```bash
6
+ npm install -g @openai/codex
7
+ npm install @trac3er/oh-my-god
8
+ ```
9
+
10
+ Then run:
11
+
12
+ ```text
13
+ /OMG:setup
14
+ ```
15
+
16
+ ## Manual Path
17
+
18
+ ```bash
19
+ git clone https://github.com/trac3er00/OMG
20
+ cd OMG
21
+ chmod +x OMG-setup.sh
22
+ ./OMG-setup.sh install --mode=omg-only --preset=interop
23
+ ```
24
+
25
+ ## Verify
26
+
27
+ - OMG detects `codex` during setup and configures shared MCP state.
28
+ - `interop` is the recommended preset when Codex is part of a multi-host workflow.
29
+ - Run `/OMG:crazy <goal>` once setup confirms host detection and MCP wiring.
@@ -0,0 +1,57 @@
1
+ # Native Adoption for OMC, OMX, and Superpowers
2
+
3
+ OMG keeps adoption native to OMG. There is no public `migrate` command to memorize or map back to another project.
4
+
5
+ Use either:
6
+
7
+ - `/OMG:setup`
8
+ - `./OMG-setup.sh install --adopt=auto`
9
+
10
+ ## What Setup Detects
11
+
12
+ Setup can detect compatibility markers from:
13
+
14
+ - OMC-style environments
15
+ - OMX-style environments
16
+ - Superpowers-style command, skill, or workspace surfaces
17
+
18
+ Those detections are treated as adoption context, not as public implementation detail.
19
+
20
+ ## Adoption Modes
21
+
22
+ ### OMG-only
23
+
24
+ Recommended for most users.
25
+
26
+ - OMG becomes the primary hooks, HUD, MCP, and orchestration layer.
27
+ - Portable state is preserved where safe and overlapping surfaces are backed up before replacement.
28
+ - `compat` remains available for legacy skill routing only.
29
+
30
+ ### coexist
31
+
32
+ Advanced mode for careful landings.
33
+
34
+ - OMG avoids claiming ownership of third-party namespaces.
35
+ - Existing HUD and hook ownership stays intact unless you explicitly switch later.
36
+ - Conflicts are recorded in the adoption report instead of being overwritten.
37
+
38
+ ## Output
39
+
40
+ Native adoption writes:
41
+
42
+ - `.omg/state/adoption-report.json`
43
+ - `.omg/state/cli-config.yaml`
44
+ - `.mcp.json`
45
+
46
+ ## Choosing a Preset
47
+
48
+ - `safe`: conservative OMG baseline
49
+ - `balanced`: recommended daily workflow
50
+ - `interop`: stronger shared-memory and multi-host interop
51
+ - `labs`: enables the most opinionated experimentation surfaces
52
+
53
+ ## What Changes for Existing Users
54
+
55
+ - OMG-native setup language replaces public migration language.
56
+ - Compatibility references remain documented so users coming from OMC, OMX, or Superpowers can understand what setup detected.
57
+ - Public onboarding stays focused on `/OMG:setup` and `/OMG:crazy`.
package/docs/proof.md ADDED
@@ -0,0 +1,55 @@
1
+ # OMG Proof Surface
2
+
3
+ [![Compat Gate](https://github.com/trac3er00/OMG/actions/workflows/omg-compat-gate.yml/badge.svg)](https://github.com/trac3er00/OMG/actions/workflows/omg-compat-gate.yml)
4
+ [![npm version](https://img.shields.io/npm/v/%40trac3er%2Foh-my-god)](https://www.npmjs.com/package/@trac3er/oh-my-god)
5
+
6
+ ## Verification Status
7
+
8
+ OMG keeps verification visible instead of burying it in implementation details.
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.
15
+
16
+ ## Provider Matrix
17
+
18
+ | Provider | Detect | Auth Check | MCP Config | Host Priority |
19
+ |----------|--------|------------|------------|---------------|
20
+ | Claude Code | host-native | host-native | yes | primary |
21
+ | Codex | yes | yes | yes | primary |
22
+ | Gemini | yes | yes | yes | supported |
23
+ | Kimi | yes | yes | yes | supported |
24
+
25
+ ## Adoption Evidence
26
+
27
+ - Native setup writes `.omg/state/adoption-report.json`
28
+ - Native setup writes `.omg/state/cli-config.yaml`
29
+ - `OMG-only` and `coexist` are both covered in setup tests
30
+ - OMC, OMX, and Superpowers references stay limited to compatibility and adoption guidance
31
+
32
+ ## HUD Artifact
33
+
34
+ ![OMG HUD](assets/omg-hud.svg)
35
+
36
+ ## Benchmark Tasks
37
+
38
+ Representative benchmark tasks for this release:
39
+
40
+ - host detection and auth wiring
41
+ - canonical security-check routing and evidence emission
42
+ - stdio OMG control MCP wiring
43
+ - adoption detection with overlapping ecosystems
44
+ - plugin install and uninstall correctness
45
+ - `crazy` orchestration smoke coverage
46
+
47
+ ## Sample Transcripts
48
+
49
+ - Setup: [docs/transcripts/setup.md](transcripts/setup.md)
50
+ - Crazy: [docs/transcripts/crazy.md](transcripts/crazy.md)
51
+
52
+ ## Release Discipline
53
+
54
+ - Public launch checklist: [docs/release-checklist.md](release-checklist.md)
55
+ - Changelog: [CHANGELOG.md](../CHANGELOG.md)
@@ -0,0 +1,38 @@
1
+ # Public Release Checklist
2
+
3
+ Use this checklist before making OMG public or cutting a release tag.
4
+
5
+ ## Identity
6
+
7
+ - README, `package.json`, plugin manifests, and CLI version output agree on the version
8
+ - repo URL is `https://github.com/trac3er00/OMG`
9
+ - plugin and marketplace id are `omg`
10
+
11
+ ## Public Safety
12
+
13
+ - `python3 scripts/check-omg-public-ready.py` passes
14
+ - no internal planning docs ship in `docs/plans/`
15
+ - no absolute local paths or stale internal path references remain
16
+
17
+ ## Verification
18
+
19
+ - `python3 scripts/omg.py contract validate` passes
20
+ - `python3 scripts/omg.py contract compile --host claude --host codex --channel public --output-root <tmp>` passes
21
+ - `python3 scripts/omg.py contract compile --host claude --host codex --channel enterprise --output-root <tmp>` passes
22
+ - `python3 scripts/omg.py release readiness --channel dual --output-root <tmp>` passes
23
+ - `python3 scripts/check-omg-standalone-clean.py` passes
24
+ - `./scripts/verify-standalone.sh` passes
25
+ - `python3 -m pytest tests -q` passes
26
+
27
+ ## Docs
28
+
29
+ - README matches the current product surface
30
+ - install guides for Claude Code and Codex are current
31
+ - proof page includes current verification evidence
32
+ - changelog includes the release entry
33
+
34
+ ## Release Ops
35
+
36
+ - `package.json` version matches the tag you will create
37
+ - npm publishing credentials are configured for `publish-npm.yml`
38
+ - GitHub Actions required checks are green
@@ -0,0 +1,17 @@
1
+ # Sample Transcript: /OMG:crazy
2
+
3
+ ```text
4
+ /OMG:crazy stabilize auth and dashboard flows
5
+
6
+ Workers:
7
+ - architect-mode
8
+ - backend-engineer
9
+ - frontend-designer
10
+ - security-auditor
11
+ - testing-engineer
12
+
13
+ Execution:
14
+ - parallel
15
+ - evidence-aware
16
+ - verification required before completion
17
+ ```
@@ -0,0 +1,25 @@
1
+ # Sample Transcript: /OMG:setup
2
+
3
+ ```text
4
+ /OMG:setup
5
+
6
+ Detected hosts:
7
+ - codex: installed, authenticated
8
+ - gemini: not found
9
+ - kimi: not found
10
+
11
+ Detected ecosystems:
12
+ - omc
13
+ - superpowers
14
+
15
+ Recommended mode: omg-only
16
+ Selected preset: balanced
17
+
18
+ Configured:
19
+ - .mcp.json
20
+ - .omg/state/cli-config.yaml
21
+ - .omg/state/adoption-report.json
22
+
23
+ Next step:
24
+ /OMG:crazy stabilize auth and dashboard flows
25
+ ```
@@ -115,6 +115,23 @@ ASK_PATTERNS = [
115
115
  (r"node\s+-e\s+", "Inline Node execution"),
116
116
  ]
117
117
 
118
+ UNTRUSTED_MUTATION_PATTERNS = [
119
+ r"\bgit\s+(commit|push|tag)\b",
120
+ r"\bnpm\s+(install|publish)\b",
121
+ r"\bpython[23]?\s+.*\b(setup\.py|manage\.py)\b",
122
+ r"\b(mv|cp|tee|sed\s+-i|touch|mkdir)\b",
123
+ ]
124
+
125
+
126
+ def _is_untrusted_content_mode_active() -> bool:
127
+ try:
128
+ from runtime.untrusted_content import is_untrusted_content_mode_active
129
+
130
+ project_dir = os.environ.get("CLAUDE_PROJECT_DIR", os.getcwd())
131
+ return is_untrusted_content_mode_active(project_dir)
132
+ except Exception:
133
+ return False
134
+
118
135
 
119
136
  def evaluate_bash_command(cmd: str) -> PolicyDecision:
120
137
  if not cmd:
@@ -158,6 +175,15 @@ def evaluate_bash_command(cmd: str) -> PolicyDecision:
158
175
  if re.search(pat, cmd):
159
176
  return ask(f"{label}: {cmd[:120]}", "med", ["human-approval"])
160
177
 
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
+ )
186
+
161
187
  return allow("command allowed")
162
188
 
163
189
 
@@ -409,8 +435,8 @@ def evaluate_file_access(
409
435
  ) -> PolicyDecision:
410
436
  """Evaluate file access policy.
411
437
 
412
- If an allowlist is provided, matching entries override deny decisions
413
- for the given path and tool combination.
438
+ If an allowlist is provided, matching entries may override non-secret-file
439
+ deny decisions for the given path and tool combination.
414
440
  """
415
441
  if not file_path:
416
442
  return allow("no file")
@@ -424,11 +450,6 @@ def evaluate_file_access(
424
450
  basename = os.path.basename(normalized).lower()
425
451
  lowpath = normalized.lower()
426
452
 
427
- # --- Allowlist check (before deny rules) ---
428
- # Check allowlist early: if path+tool is allowlisted, override deny.
429
- if allowlist and is_allowlisted(file_path, tool, allowlist):
430
- return allow(f"Allowlisted: {file_path}")
431
-
432
453
  if basename in EXAMPLE_FILES and tool in ("Write", "Edit", "MultiEdit"):
433
454
  return deny(
434
455
  f"Modifying example env file blocked (Read is allowed): {file_path}",
@@ -451,6 +472,16 @@ def evaluate_file_access(
451
472
  if re.search(pat, lowpath):
452
473
  return deny(f"Sensitive path blocked: {file_path}", "critical", ["secret-access"])
453
474
 
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
+ )
481
+
482
+ if allowlist and is_allowlisted(file_path, tool, allowlist):
483
+ return allow(f"Allowlisted: {file_path}")
484
+
454
485
  return allow("file allowed")
455
486
 
456
487
 
@@ -213,7 +213,7 @@ for i, line in enumerate(content.split("\n"), 1):
213
213
 
214
214
  if sec_warnings:
215
215
  msg = f"SECURITY WARNINGS in {file_path}:\n" + "\n".join(sec_warnings[:5])
216
- msg += "\n\nConsider running /OMG:security-review for a full audit."
216
+ msg += "\n\nConsider running /OMG:security-check for the canonical audit pipeline."
217
217
  print(msg, file=sys.stderr)
218
218
 
219
219
  sys.exit(0)
@@ -386,7 +386,7 @@ SECURITY_SIGNALS = [
386
386
  ]
387
387
  if not route_lock and any(signal_matches_text(sig, prompt) for sig in SECURITY_SIGNALS) and budget_ok():
388
388
  if detected_intent in ("fix", "implement", "refactor"):
389
- add("@security: CRITICAL DOMAIN — No hardcoded secrets. Run /OMG:security-review after.")
389
+ add("@security: CRITICAL DOMAIN — No hardcoded secrets. Run /OMG:security-check after.")
390
390
 
391
391
  # ═══════════════════════════════════════════════════════════
392
392
  # 5. VISION DETECTION