@trac3er/oh-my-god 2.2.4 → 2.2.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 (560) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.claude-plugin/scripts/install.sh +1 -1
  4. package/.gemini/settings.json +2 -2
  5. package/.kimi/mcp.json +2 -2
  6. package/CHANGELOG.md +1 -1
  7. package/CLI-ADAPTER-MAP.md +3 -3
  8. package/INSTALL-VERIFICATION-INDEX.md +19 -324
  9. package/OMG-setup.sh +29 -31
  10. package/OMG_COMPAT_CONTRACT.md +19 -1
  11. package/QUICK-REFERENCE.md +27 -211
  12. package/commands/OMG:validate.md +1 -1
  13. package/dist/enterprise/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.minisig +3 -3
  14. package/dist/enterprise/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.statement.json +5 -5
  15. package/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.minisig +3 -3
  16. package/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.statement.json +5 -5
  17. package/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.minisig +3 -3
  18. package/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.statement.json +5 -5
  19. package/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.minisig +3 -3
  20. package/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.statement.json +5 -5
  21. package/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.minisig +3 -3
  22. package/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.statement.json +5 -5
  23. package/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.minisig +3 -3
  24. package/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.statement.json +5 -5
  25. package/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.minisig +3 -3
  26. package/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.statement.json +5 -5
  27. package/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.minisig +3 -3
  28. package/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.statement.json +5 -5
  29. package/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.minisig +3 -3
  30. package/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.statement.json +5 -5
  31. package/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-mcp.toml.minisig +3 -3
  32. package/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-mcp.toml.statement.json +5 -5
  33. package/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-rules.md.minisig +3 -3
  34. package/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-rules.md.statement.json +5 -5
  35. package/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.minisig +3 -3
  36. package/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.statement.json +5 -5
  37. package/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.minisig +3 -3
  38. package/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.statement.json +5 -5
  39. package/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.minisig +3 -3
  40. package/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.statement.json +5 -5
  41. package/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.minisig +3 -3
  42. package/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.statement.json +5 -5
  43. package/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.minisig +3 -3
  44. package/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.statement.json +5 -5
  45. package/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.minisig +3 -3
  46. package/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.statement.json +5 -5
  47. package/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.minisig +3 -3
  48. package/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.statement.json +5 -5
  49. package/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.minisig +3 -3
  50. package/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.statement.json +5 -5
  51. package/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.minisig +3 -3
  52. package/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.statement.json +5 -5
  53. package/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.minisig +3 -3
  54. package/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.statement.json +5 -5
  55. package/dist/enterprise/attestations/bundle/.agents/skills/omg/health/SKILL.md.minisig +3 -3
  56. package/dist/enterprise/attestations/bundle/.agents/skills/omg/health/SKILL.md.statement.json +5 -5
  57. package/dist/enterprise/attestations/bundle/.agents/skills/omg/health/openai.yaml.minisig +3 -3
  58. package/dist/enterprise/attestations/bundle/.agents/skills/omg/health/openai.yaml.statement.json +5 -5
  59. package/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.minisig +3 -3
  60. package/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.statement.json +5 -5
  61. package/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.minisig +3 -3
  62. package/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.statement.json +5 -5
  63. package/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.minisig +3 -3
  64. package/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.statement.json +5 -5
  65. package/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.minisig +3 -3
  66. package/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.statement.json +5 -5
  67. package/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.minisig +3 -3
  68. package/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.statement.json +5 -5
  69. package/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.minisig +3 -3
  70. package/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.statement.json +5 -5
  71. package/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.minisig +3 -3
  72. package/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.statement.json +5 -5
  73. package/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.minisig +3 -3
  74. package/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.statement.json +5 -5
  75. package/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.minisig +3 -3
  76. package/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.statement.json +5 -5
  77. package/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.minisig +3 -3
  78. package/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.statement.json +5 -5
  79. package/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.minisig +3 -3
  80. package/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.statement.json +5 -5
  81. package/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.minisig +3 -3
  82. package/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.statement.json +5 -5
  83. package/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.minisig +3 -3
  84. package/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.statement.json +5 -5
  85. package/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.minisig +3 -3
  86. package/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.statement.json +5 -5
  87. package/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.minisig +3 -3
  88. package/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.statement.json +5 -5
  89. package/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.minisig +3 -3
  90. package/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.statement.json +5 -5
  91. package/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.minisig +3 -3
  92. package/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.statement.json +5 -5
  93. package/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.minisig +3 -3
  94. package/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.statement.json +5 -5
  95. package/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.minisig +3 -3
  96. package/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.statement.json +5 -5
  97. package/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.minisig +3 -3
  98. package/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.statement.json +5 -5
  99. package/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.minisig +3 -3
  100. package/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.statement.json +5 -5
  101. package/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.minisig +3 -3
  102. package/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.statement.json +5 -5
  103. package/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.minisig +3 -3
  104. package/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.statement.json +5 -5
  105. package/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.minisig +3 -3
  106. package/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.statement.json +5 -5
  107. package/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.minisig +3 -3
  108. package/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.statement.json +5 -5
  109. package/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.minisig +3 -3
  110. package/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.statement.json +5 -5
  111. package/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.minisig +3 -3
  112. package/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.statement.json +5 -5
  113. package/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.minisig +3 -3
  114. package/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.statement.json +5 -5
  115. package/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/SKILL.md.minisig +3 -3
  116. package/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/SKILL.md.statement.json +5 -5
  117. package/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/openai.yaml.minisig +3 -3
  118. package/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/openai.yaml.statement.json +5 -5
  119. package/dist/enterprise/attestations/bundle/.claude-plugin/marketplace.json.minisig +3 -3
  120. package/dist/enterprise/attestations/bundle/.claude-plugin/marketplace.json.statement.json +6 -6
  121. package/dist/enterprise/attestations/bundle/.claude-plugin/mcp.json.minisig +3 -3
  122. package/dist/enterprise/attestations/bundle/.claude-plugin/mcp.json.statement.json +5 -5
  123. package/dist/enterprise/attestations/bundle/.claude-plugin/plugin.json.minisig +3 -3
  124. package/dist/enterprise/attestations/bundle/.claude-plugin/plugin.json.statement.json +6 -6
  125. package/dist/enterprise/attestations/bundle/.gemini/settings.json.minisig +3 -3
  126. package/dist/enterprise/attestations/bundle/.gemini/settings.json.statement.json +6 -6
  127. package/dist/enterprise/attestations/bundle/.kimi/mcp.json.minisig +3 -3
  128. package/dist/enterprise/attestations/bundle/.kimi/mcp.json.statement.json +6 -6
  129. package/dist/enterprise/attestations/bundle/.mcp.json.minisig +3 -3
  130. package/dist/enterprise/attestations/bundle/.mcp.json.statement.json +5 -5
  131. package/dist/enterprise/attestations/bundle/OMG_COMPAT_CONTRACT.md.minisig +3 -3
  132. package/dist/enterprise/attestations/bundle/OMG_COMPAT_CONTRACT.md.statement.json +6 -6
  133. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-code-review.md.minisig +4 -0
  134. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-code-review.md.statement.json +35 -0
  135. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-deep-plan.md.minisig +4 -0
  136. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-deep-plan.md.statement.json +35 -0
  137. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-handoff.md.minisig +4 -0
  138. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-handoff.md.statement.json +35 -0
  139. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-learn.md.minisig +4 -0
  140. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-learn.md.statement.json +35 -0
  141. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-maintainer.md.minisig +4 -0
  142. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-maintainer.md.statement.json +35 -0
  143. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ralph-start.md.minisig +4 -0
  144. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ralph-start.md.statement.json +35 -0
  145. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ralph-stop.md.minisig +4 -0
  146. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ralph-stop.md.statement.json +35 -0
  147. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-security-review.md.minisig +4 -0
  148. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-security-review.md.statement.json +35 -0
  149. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-sequential-thinking.md.minisig +4 -0
  150. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-sequential-thinking.md.statement.json +35 -0
  151. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ship.md.minisig +4 -0
  152. package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ship.md.statement.json +35 -0
  153. package/dist/enterprise/attestations/bundle/plugins/advanced/plugin.json.minisig +3 -3
  154. package/dist/enterprise/attestations/bundle/plugins/advanced/plugin.json.statement.json +6 -6
  155. package/dist/enterprise/attestations/bundle/registry/bundles/algorithms.yaml.minisig +3 -3
  156. package/dist/enterprise/attestations/bundle/registry/bundles/algorithms.yaml.statement.json +6 -6
  157. package/dist/enterprise/attestations/bundle/registry/bundles/api-twin.yaml.minisig +3 -3
  158. package/dist/enterprise/attestations/bundle/registry/bundles/api-twin.yaml.statement.json +6 -6
  159. package/dist/enterprise/attestations/bundle/registry/bundles/ast-pack.yaml.minisig +3 -3
  160. package/dist/enterprise/attestations/bundle/registry/bundles/ast-pack.yaml.statement.json +6 -6
  161. package/dist/enterprise/attestations/bundle/registry/bundles/claim-judge.yaml.minisig +3 -3
  162. package/dist/enterprise/attestations/bundle/registry/bundles/claim-judge.yaml.statement.json +6 -6
  163. package/dist/enterprise/attestations/bundle/registry/bundles/control-plane.yaml.minisig +3 -3
  164. package/dist/enterprise/attestations/bundle/registry/bundles/control-plane.yaml.statement.json +6 -6
  165. package/dist/enterprise/attestations/bundle/registry/bundles/data-lineage.yaml.minisig +3 -3
  166. package/dist/enterprise/attestations/bundle/registry/bundles/data-lineage.yaml.statement.json +6 -6
  167. package/dist/enterprise/attestations/bundle/registry/bundles/delta-classifier.yaml.minisig +3 -3
  168. package/dist/enterprise/attestations/bundle/registry/bundles/delta-classifier.yaml.statement.json +6 -6
  169. package/dist/enterprise/attestations/bundle/registry/bundles/eval-gate.yaml.minisig +3 -3
  170. package/dist/enterprise/attestations/bundle/registry/bundles/eval-gate.yaml.statement.json +6 -6
  171. package/dist/enterprise/attestations/bundle/registry/bundles/hash-edit.yaml.minisig +3 -3
  172. package/dist/enterprise/attestations/bundle/registry/bundles/hash-edit.yaml.statement.json +6 -6
  173. package/dist/enterprise/attestations/bundle/registry/bundles/health.yaml.minisig +3 -3
  174. package/dist/enterprise/attestations/bundle/registry/bundles/health.yaml.statement.json +6 -6
  175. package/dist/enterprise/attestations/bundle/registry/bundles/hook-governor.yaml.minisig +3 -3
  176. package/dist/enterprise/attestations/bundle/registry/bundles/hook-governor.yaml.statement.json +6 -6
  177. package/dist/enterprise/attestations/bundle/registry/bundles/incident-replay.yaml.minisig +3 -3
  178. package/dist/enterprise/attestations/bundle/registry/bundles/incident-replay.yaml.statement.json +6 -6
  179. package/dist/enterprise/attestations/bundle/registry/bundles/lsp-pack.yaml.minisig +3 -3
  180. package/dist/enterprise/attestations/bundle/registry/bundles/lsp-pack.yaml.statement.json +6 -6
  181. package/dist/enterprise/attestations/bundle/registry/bundles/mcp-fabric.yaml.minisig +3 -3
  182. package/dist/enterprise/attestations/bundle/registry/bundles/mcp-fabric.yaml.statement.json +6 -6
  183. package/dist/enterprise/attestations/bundle/registry/bundles/plan-council.yaml.minisig +3 -3
  184. package/dist/enterprise/attestations/bundle/registry/bundles/plan-council.yaml.statement.json +6 -6
  185. package/dist/enterprise/attestations/bundle/registry/bundles/preflight.yaml.minisig +3 -3
  186. package/dist/enterprise/attestations/bundle/registry/bundles/preflight.yaml.statement.json +6 -6
  187. package/dist/enterprise/attestations/bundle/registry/bundles/proof-gate.yaml.minisig +3 -3
  188. package/dist/enterprise/attestations/bundle/registry/bundles/proof-gate.yaml.statement.json +6 -6
  189. package/dist/enterprise/attestations/bundle/registry/bundles/remote-supervisor.yaml.minisig +3 -3
  190. package/dist/enterprise/attestations/bundle/registry/bundles/remote-supervisor.yaml.statement.json +6 -6
  191. package/dist/enterprise/attestations/bundle/registry/bundles/robotics.yaml.minisig +3 -3
  192. package/dist/enterprise/attestations/bundle/registry/bundles/robotics.yaml.statement.json +6 -6
  193. package/dist/enterprise/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.minisig +3 -3
  194. package/dist/enterprise/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.statement.json +6 -6
  195. package/dist/enterprise/attestations/bundle/registry/bundles/security-check.yaml.minisig +3 -3
  196. package/dist/enterprise/attestations/bundle/registry/bundles/security-check.yaml.statement.json +6 -6
  197. package/dist/enterprise/attestations/bundle/registry/bundles/terminal-lane.yaml.minisig +3 -3
  198. package/dist/enterprise/attestations/bundle/registry/bundles/terminal-lane.yaml.statement.json +6 -6
  199. package/dist/enterprise/attestations/bundle/registry/bundles/test-intent-lock.yaml.minisig +3 -3
  200. package/dist/enterprise/attestations/bundle/registry/bundles/test-intent-lock.yaml.statement.json +6 -6
  201. package/dist/enterprise/attestations/bundle/registry/bundles/tracebank.yaml.minisig +3 -3
  202. package/dist/enterprise/attestations/bundle/registry/bundles/tracebank.yaml.statement.json +6 -6
  203. package/dist/enterprise/attestations/bundle/registry/bundles/vision.yaml.minisig +3 -3
  204. package/dist/enterprise/attestations/bundle/registry/bundles/vision.yaml.statement.json +6 -6
  205. package/dist/enterprise/attestations/bundle/registry/omg-capability.schema.json.minisig +3 -3
  206. package/dist/enterprise/attestations/bundle/registry/omg-capability.schema.json.statement.json +6 -6
  207. package/dist/enterprise/attestations/bundle/settings.json.minisig +3 -3
  208. package/dist/enterprise/attestations/bundle/settings.json.statement.json +6 -6
  209. package/dist/enterprise/bundle/.claude-plugin/marketplace.json +3 -3
  210. package/dist/enterprise/bundle/.claude-plugin/plugin.json +1 -1
  211. package/dist/enterprise/bundle/.gemini/settings.json +2 -2
  212. package/dist/enterprise/bundle/.kimi/mcp.json +2 -2
  213. package/dist/enterprise/bundle/OMG_COMPAT_CONTRACT.md +19 -1
  214. package/dist/enterprise/bundle/plugins/advanced/plugin.json +1 -1
  215. package/dist/enterprise/bundle/registry/bundles/algorithms.yaml +1 -1
  216. package/dist/enterprise/bundle/registry/bundles/api-twin.yaml +1 -1
  217. package/dist/enterprise/bundle/registry/bundles/ast-pack.yaml +1 -1
  218. package/dist/enterprise/bundle/registry/bundles/claim-judge.yaml +1 -1
  219. package/dist/enterprise/bundle/registry/bundles/control-plane.yaml +1 -1
  220. package/dist/enterprise/bundle/registry/bundles/data-lineage.yaml +1 -1
  221. package/dist/enterprise/bundle/registry/bundles/delta-classifier.yaml +1 -1
  222. package/dist/enterprise/bundle/registry/bundles/eval-gate.yaml +1 -1
  223. package/dist/enterprise/bundle/registry/bundles/hash-edit.yaml +1 -1
  224. package/dist/enterprise/bundle/registry/bundles/health.yaml +1 -1
  225. package/dist/enterprise/bundle/registry/bundles/hook-governor.yaml +1 -1
  226. package/dist/enterprise/bundle/registry/bundles/incident-replay.yaml +1 -1
  227. package/dist/enterprise/bundle/registry/bundles/lsp-pack.yaml +1 -1
  228. package/dist/enterprise/bundle/registry/bundles/mcp-fabric.yaml +1 -1
  229. package/dist/enterprise/bundle/registry/bundles/plan-council.yaml +1 -1
  230. package/dist/enterprise/bundle/registry/bundles/preflight.yaml +1 -1
  231. package/dist/enterprise/bundle/registry/bundles/proof-gate.yaml +1 -1
  232. package/dist/enterprise/bundle/registry/bundles/remote-supervisor.yaml +1 -1
  233. package/dist/enterprise/bundle/registry/bundles/robotics.yaml +1 -1
  234. package/dist/enterprise/bundle/registry/bundles/secure-worktree-pipeline.yaml +1 -1
  235. package/dist/enterprise/bundle/registry/bundles/security-check.yaml +1 -1
  236. package/dist/enterprise/bundle/registry/bundles/terminal-lane.yaml +1 -1
  237. package/dist/enterprise/bundle/registry/bundles/test-intent-lock.yaml +1 -1
  238. package/dist/enterprise/bundle/registry/bundles/tracebank.yaml +1 -1
  239. package/dist/enterprise/bundle/registry/bundles/vision.yaml +1 -1
  240. package/dist/enterprise/bundle/registry/omg-capability.schema.json +1 -1
  241. package/dist/enterprise/bundle/settings.json +65 -8
  242. package/dist/enterprise/manifest.json +173 -173
  243. package/dist/oh_my_god-2.2.5-py3-none-any.whl +0 -0
  244. package/dist/public/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.minisig +3 -3
  245. package/dist/public/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.statement.json +5 -5
  246. package/dist/public/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.minisig +3 -3
  247. package/dist/public/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.statement.json +5 -5
  248. package/dist/public/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.minisig +3 -3
  249. package/dist/public/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.statement.json +5 -5
  250. package/dist/public/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.minisig +3 -3
  251. package/dist/public/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.statement.json +5 -5
  252. package/dist/public/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.minisig +3 -3
  253. package/dist/public/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.statement.json +5 -5
  254. package/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.minisig +3 -3
  255. package/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.statement.json +5 -5
  256. package/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.minisig +3 -3
  257. package/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.statement.json +5 -5
  258. package/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.minisig +3 -3
  259. package/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.statement.json +5 -5
  260. package/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.minisig +3 -3
  261. package/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.statement.json +5 -5
  262. package/dist/public/attestations/bundle/.agents/skills/omg/codex-mcp.toml.minisig +3 -3
  263. package/dist/public/attestations/bundle/.agents/skills/omg/codex-mcp.toml.statement.json +5 -5
  264. package/dist/public/attestations/bundle/.agents/skills/omg/codex-rules.md.minisig +3 -3
  265. package/dist/public/attestations/bundle/.agents/skills/omg/codex-rules.md.statement.json +5 -5
  266. package/dist/public/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.minisig +3 -3
  267. package/dist/public/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.statement.json +5 -5
  268. package/dist/public/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.minisig +3 -3
  269. package/dist/public/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.statement.json +5 -5
  270. package/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.minisig +3 -3
  271. package/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.statement.json +5 -5
  272. package/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.minisig +3 -3
  273. package/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.statement.json +5 -5
  274. package/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.minisig +3 -3
  275. package/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.statement.json +5 -5
  276. package/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.minisig +3 -3
  277. package/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.statement.json +5 -5
  278. package/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.minisig +3 -3
  279. package/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.statement.json +5 -5
  280. package/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.minisig +3 -3
  281. package/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.statement.json +5 -5
  282. package/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.minisig +3 -3
  283. package/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.statement.json +5 -5
  284. package/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.minisig +3 -3
  285. package/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.statement.json +5 -5
  286. package/dist/public/attestations/bundle/.agents/skills/omg/health/SKILL.md.minisig +3 -3
  287. package/dist/public/attestations/bundle/.agents/skills/omg/health/SKILL.md.statement.json +5 -5
  288. package/dist/public/attestations/bundle/.agents/skills/omg/health/openai.yaml.minisig +3 -3
  289. package/dist/public/attestations/bundle/.agents/skills/omg/health/openai.yaml.statement.json +5 -5
  290. package/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.minisig +3 -3
  291. package/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.statement.json +5 -5
  292. package/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.minisig +3 -3
  293. package/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.statement.json +5 -5
  294. package/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.minisig +3 -3
  295. package/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.statement.json +5 -5
  296. package/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.minisig +3 -3
  297. package/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.statement.json +5 -5
  298. package/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.minisig +3 -3
  299. package/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.statement.json +5 -5
  300. package/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.minisig +3 -3
  301. package/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.statement.json +5 -5
  302. package/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.minisig +3 -3
  303. package/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.statement.json +5 -5
  304. package/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.minisig +3 -3
  305. package/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.statement.json +5 -5
  306. package/dist/public/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.minisig +3 -3
  307. package/dist/public/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.statement.json +5 -5
  308. package/dist/public/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.minisig +3 -3
  309. package/dist/public/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.statement.json +5 -5
  310. package/dist/public/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.minisig +3 -3
  311. package/dist/public/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.statement.json +5 -5
  312. package/dist/public/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.minisig +3 -3
  313. package/dist/public/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.statement.json +5 -5
  314. package/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.minisig +3 -3
  315. package/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.statement.json +5 -5
  316. package/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.minisig +3 -3
  317. package/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.statement.json +5 -5
  318. package/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.minisig +3 -3
  319. package/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.statement.json +5 -5
  320. package/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.minisig +3 -3
  321. package/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.statement.json +5 -5
  322. package/dist/public/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.minisig +3 -3
  323. package/dist/public/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.statement.json +5 -5
  324. package/dist/public/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.minisig +3 -3
  325. package/dist/public/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.statement.json +5 -5
  326. package/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.minisig +3 -3
  327. package/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.statement.json +5 -5
  328. package/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.minisig +3 -3
  329. package/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.statement.json +5 -5
  330. package/dist/public/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.minisig +3 -3
  331. package/dist/public/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.statement.json +5 -5
  332. package/dist/public/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.minisig +3 -3
  333. package/dist/public/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.statement.json +5 -5
  334. package/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.minisig +3 -3
  335. package/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.statement.json +5 -5
  336. package/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.minisig +3 -3
  337. package/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.statement.json +5 -5
  338. package/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.minisig +3 -3
  339. package/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.statement.json +5 -5
  340. package/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.minisig +3 -3
  341. package/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.statement.json +5 -5
  342. package/dist/public/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.minisig +3 -3
  343. package/dist/public/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.statement.json +5 -5
  344. package/dist/public/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.minisig +3 -3
  345. package/dist/public/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.statement.json +5 -5
  346. package/dist/public/attestations/bundle/.agents/skills/omg/vision/SKILL.md.minisig +3 -3
  347. package/dist/public/attestations/bundle/.agents/skills/omg/vision/SKILL.md.statement.json +5 -5
  348. package/dist/public/attestations/bundle/.agents/skills/omg/vision/openai.yaml.minisig +3 -3
  349. package/dist/public/attestations/bundle/.agents/skills/omg/vision/openai.yaml.statement.json +5 -5
  350. package/dist/public/attestations/bundle/.claude-plugin/marketplace.json.minisig +3 -3
  351. package/dist/public/attestations/bundle/.claude-plugin/marketplace.json.statement.json +6 -6
  352. package/dist/public/attestations/bundle/.claude-plugin/mcp.json.minisig +3 -3
  353. package/dist/public/attestations/bundle/.claude-plugin/mcp.json.statement.json +5 -5
  354. package/dist/public/attestations/bundle/.claude-plugin/plugin.json.minisig +3 -3
  355. package/dist/public/attestations/bundle/.claude-plugin/plugin.json.statement.json +6 -6
  356. package/dist/public/attestations/bundle/.gemini/settings.json.minisig +3 -3
  357. package/dist/public/attestations/bundle/.gemini/settings.json.statement.json +6 -6
  358. package/dist/public/attestations/bundle/.kimi/mcp.json.minisig +3 -3
  359. package/dist/public/attestations/bundle/.kimi/mcp.json.statement.json +6 -6
  360. package/dist/public/attestations/bundle/.mcp.json.minisig +3 -3
  361. package/dist/public/attestations/bundle/.mcp.json.statement.json +5 -5
  362. package/dist/public/attestations/bundle/OMG_COMPAT_CONTRACT.md.minisig +3 -3
  363. package/dist/public/attestations/bundle/OMG_COMPAT_CONTRACT.md.statement.json +6 -6
  364. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-code-review.md.minisig +4 -0
  365. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-code-review.md.statement.json +35 -0
  366. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-deep-plan.md.minisig +4 -0
  367. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-deep-plan.md.statement.json +35 -0
  368. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-handoff.md.minisig +4 -0
  369. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-handoff.md.statement.json +35 -0
  370. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-learn.md.minisig +4 -0
  371. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-learn.md.statement.json +35 -0
  372. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-maintainer.md.minisig +4 -0
  373. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-maintainer.md.statement.json +35 -0
  374. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ralph-start.md.minisig +4 -0
  375. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ralph-start.md.statement.json +35 -0
  376. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ralph-stop.md.minisig +4 -0
  377. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ralph-stop.md.statement.json +35 -0
  378. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-security-review.md.minisig +4 -0
  379. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-security-review.md.statement.json +35 -0
  380. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-sequential-thinking.md.minisig +4 -0
  381. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-sequential-thinking.md.statement.json +35 -0
  382. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ship.md.minisig +4 -0
  383. package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ship.md.statement.json +35 -0
  384. package/dist/public/attestations/bundle/plugins/advanced/plugin.json.minisig +3 -3
  385. package/dist/public/attestations/bundle/plugins/advanced/plugin.json.statement.json +6 -6
  386. package/dist/public/attestations/bundle/registry/bundles/algorithms.yaml.minisig +3 -3
  387. package/dist/public/attestations/bundle/registry/bundles/algorithms.yaml.statement.json +6 -6
  388. package/dist/public/attestations/bundle/registry/bundles/api-twin.yaml.minisig +3 -3
  389. package/dist/public/attestations/bundle/registry/bundles/api-twin.yaml.statement.json +6 -6
  390. package/dist/public/attestations/bundle/registry/bundles/ast-pack.yaml.minisig +3 -3
  391. package/dist/public/attestations/bundle/registry/bundles/ast-pack.yaml.statement.json +6 -6
  392. package/dist/public/attestations/bundle/registry/bundles/claim-judge.yaml.minisig +3 -3
  393. package/dist/public/attestations/bundle/registry/bundles/claim-judge.yaml.statement.json +6 -6
  394. package/dist/public/attestations/bundle/registry/bundles/control-plane.yaml.minisig +3 -3
  395. package/dist/public/attestations/bundle/registry/bundles/control-plane.yaml.statement.json +6 -6
  396. package/dist/public/attestations/bundle/registry/bundles/data-lineage.yaml.minisig +3 -3
  397. package/dist/public/attestations/bundle/registry/bundles/data-lineage.yaml.statement.json +6 -6
  398. package/dist/public/attestations/bundle/registry/bundles/delta-classifier.yaml.minisig +3 -3
  399. package/dist/public/attestations/bundle/registry/bundles/delta-classifier.yaml.statement.json +6 -6
  400. package/dist/public/attestations/bundle/registry/bundles/eval-gate.yaml.minisig +3 -3
  401. package/dist/public/attestations/bundle/registry/bundles/eval-gate.yaml.statement.json +6 -6
  402. package/dist/public/attestations/bundle/registry/bundles/hash-edit.yaml.minisig +3 -3
  403. package/dist/public/attestations/bundle/registry/bundles/hash-edit.yaml.statement.json +6 -6
  404. package/dist/public/attestations/bundle/registry/bundles/health.yaml.minisig +3 -3
  405. package/dist/public/attestations/bundle/registry/bundles/health.yaml.statement.json +6 -6
  406. package/dist/public/attestations/bundle/registry/bundles/hook-governor.yaml.minisig +3 -3
  407. package/dist/public/attestations/bundle/registry/bundles/hook-governor.yaml.statement.json +6 -6
  408. package/dist/public/attestations/bundle/registry/bundles/incident-replay.yaml.minisig +3 -3
  409. package/dist/public/attestations/bundle/registry/bundles/incident-replay.yaml.statement.json +6 -6
  410. package/dist/public/attestations/bundle/registry/bundles/lsp-pack.yaml.minisig +3 -3
  411. package/dist/public/attestations/bundle/registry/bundles/lsp-pack.yaml.statement.json +6 -6
  412. package/dist/public/attestations/bundle/registry/bundles/mcp-fabric.yaml.minisig +3 -3
  413. package/dist/public/attestations/bundle/registry/bundles/mcp-fabric.yaml.statement.json +6 -6
  414. package/dist/public/attestations/bundle/registry/bundles/plan-council.yaml.minisig +3 -3
  415. package/dist/public/attestations/bundle/registry/bundles/plan-council.yaml.statement.json +6 -6
  416. package/dist/public/attestations/bundle/registry/bundles/preflight.yaml.minisig +3 -3
  417. package/dist/public/attestations/bundle/registry/bundles/preflight.yaml.statement.json +6 -6
  418. package/dist/public/attestations/bundle/registry/bundles/proof-gate.yaml.minisig +3 -3
  419. package/dist/public/attestations/bundle/registry/bundles/proof-gate.yaml.statement.json +6 -6
  420. package/dist/public/attestations/bundle/registry/bundles/remote-supervisor.yaml.minisig +3 -3
  421. package/dist/public/attestations/bundle/registry/bundles/remote-supervisor.yaml.statement.json +6 -6
  422. package/dist/public/attestations/bundle/registry/bundles/robotics.yaml.minisig +3 -3
  423. package/dist/public/attestations/bundle/registry/bundles/robotics.yaml.statement.json +6 -6
  424. package/dist/public/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.minisig +3 -3
  425. package/dist/public/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.statement.json +6 -6
  426. package/dist/public/attestations/bundle/registry/bundles/security-check.yaml.minisig +3 -3
  427. package/dist/public/attestations/bundle/registry/bundles/security-check.yaml.statement.json +6 -6
  428. package/dist/public/attestations/bundle/registry/bundles/terminal-lane.yaml.minisig +3 -3
  429. package/dist/public/attestations/bundle/registry/bundles/terminal-lane.yaml.statement.json +6 -6
  430. package/dist/public/attestations/bundle/registry/bundles/test-intent-lock.yaml.minisig +3 -3
  431. package/dist/public/attestations/bundle/registry/bundles/test-intent-lock.yaml.statement.json +6 -6
  432. package/dist/public/attestations/bundle/registry/bundles/tracebank.yaml.minisig +3 -3
  433. package/dist/public/attestations/bundle/registry/bundles/tracebank.yaml.statement.json +6 -6
  434. package/dist/public/attestations/bundle/registry/bundles/vision.yaml.minisig +3 -3
  435. package/dist/public/attestations/bundle/registry/bundles/vision.yaml.statement.json +6 -6
  436. package/dist/public/attestations/bundle/registry/omg-capability.schema.json.minisig +3 -3
  437. package/dist/public/attestations/bundle/registry/omg-capability.schema.json.statement.json +6 -6
  438. package/dist/public/attestations/bundle/settings.json.minisig +3 -3
  439. package/dist/public/attestations/bundle/settings.json.statement.json +6 -6
  440. package/dist/public/bundle/.claude-plugin/marketplace.json +3 -3
  441. package/dist/public/bundle/.claude-plugin/plugin.json +1 -1
  442. package/dist/public/bundle/.gemini/settings.json +2 -2
  443. package/dist/public/bundle/.kimi/mcp.json +2 -2
  444. package/dist/public/bundle/OMG_COMPAT_CONTRACT.md +19 -1
  445. package/dist/public/bundle/plugins/advanced/plugin.json +1 -1
  446. package/dist/public/bundle/registry/bundles/algorithms.yaml +1 -1
  447. package/dist/public/bundle/registry/bundles/api-twin.yaml +1 -1
  448. package/dist/public/bundle/registry/bundles/ast-pack.yaml +1 -1
  449. package/dist/public/bundle/registry/bundles/claim-judge.yaml +1 -1
  450. package/dist/public/bundle/registry/bundles/control-plane.yaml +1 -1
  451. package/dist/public/bundle/registry/bundles/data-lineage.yaml +1 -1
  452. package/dist/public/bundle/registry/bundles/delta-classifier.yaml +1 -1
  453. package/dist/public/bundle/registry/bundles/eval-gate.yaml +1 -1
  454. package/dist/public/bundle/registry/bundles/hash-edit.yaml +1 -1
  455. package/dist/public/bundle/registry/bundles/health.yaml +1 -1
  456. package/dist/public/bundle/registry/bundles/hook-governor.yaml +1 -1
  457. package/dist/public/bundle/registry/bundles/incident-replay.yaml +1 -1
  458. package/dist/public/bundle/registry/bundles/lsp-pack.yaml +1 -1
  459. package/dist/public/bundle/registry/bundles/mcp-fabric.yaml +1 -1
  460. package/dist/public/bundle/registry/bundles/plan-council.yaml +1 -1
  461. package/dist/public/bundle/registry/bundles/preflight.yaml +1 -1
  462. package/dist/public/bundle/registry/bundles/proof-gate.yaml +1 -1
  463. package/dist/public/bundle/registry/bundles/remote-supervisor.yaml +1 -1
  464. package/dist/public/bundle/registry/bundles/robotics.yaml +1 -1
  465. package/dist/public/bundle/registry/bundles/secure-worktree-pipeline.yaml +1 -1
  466. package/dist/public/bundle/registry/bundles/security-check.yaml +1 -1
  467. package/dist/public/bundle/registry/bundles/terminal-lane.yaml +1 -1
  468. package/dist/public/bundle/registry/bundles/test-intent-lock.yaml +1 -1
  469. package/dist/public/bundle/registry/bundles/tracebank.yaml +1 -1
  470. package/dist/public/bundle/registry/bundles/vision.yaml +1 -1
  471. package/dist/public/bundle/registry/omg-capability.schema.json +1 -1
  472. package/dist/public/bundle/settings.json +65 -8
  473. package/dist/public/manifest.json +173 -173
  474. package/docs/install/github-app-required-checks.md +103 -0
  475. package/hooks/_common.py +40 -17
  476. package/hooks/budget_governor.py +77 -8
  477. package/hooks/setup_wizard.py +26 -98
  478. package/hud/omg-hud.mjs +1 -1
  479. package/package.json +1 -1
  480. package/plugins/advanced/commands/OMG-code-review.md +114 -0
  481. package/plugins/advanced/commands/OMG-deep-plan.md +266 -0
  482. package/plugins/advanced/commands/OMG-handoff.md +115 -0
  483. package/plugins/advanced/commands/OMG-learn.md +110 -0
  484. package/plugins/advanced/commands/OMG-maintainer.md +31 -0
  485. package/plugins/advanced/commands/OMG-ralph-start.md +43 -0
  486. package/plugins/advanced/commands/OMG-ralph-stop.md +23 -0
  487. package/plugins/advanced/commands/OMG-security-review.md +16 -0
  488. package/plugins/advanced/commands/OMG-sequential-thinking.md +20 -0
  489. package/plugins/advanced/commands/OMG-ship.md +46 -0
  490. package/plugins/advanced/plugin.json +1 -1
  491. package/plugins/core/plugin.json +1 -1
  492. package/pyproject.toml +1 -1
  493. package/registry/bundles/algorithms.yaml +1 -1
  494. package/registry/bundles/api-twin.yaml +1 -1
  495. package/registry/bundles/ast-pack.yaml +1 -1
  496. package/registry/bundles/claim-judge.yaml +1 -1
  497. package/registry/bundles/control-plane.yaml +1 -1
  498. package/registry/bundles/data-lineage.yaml +1 -1
  499. package/registry/bundles/delta-classifier.yaml +1 -1
  500. package/registry/bundles/eval-gate.yaml +1 -1
  501. package/registry/bundles/hash-edit.yaml +1 -1
  502. package/registry/bundles/health.yaml +1 -1
  503. package/registry/bundles/hook-governor.yaml +1 -1
  504. package/registry/bundles/incident-replay.yaml +1 -1
  505. package/registry/bundles/lsp-pack.yaml +1 -1
  506. package/registry/bundles/mcp-fabric.yaml +1 -1
  507. package/registry/bundles/plan-council.yaml +1 -1
  508. package/registry/bundles/preflight.yaml +1 -1
  509. package/registry/bundles/proof-gate.yaml +1 -1
  510. package/registry/bundles/remote-supervisor.yaml +1 -1
  511. package/registry/bundles/robotics.yaml +1 -1
  512. package/registry/bundles/secure-worktree-pipeline.yaml +1 -1
  513. package/registry/bundles/security-check.yaml +1 -1
  514. package/registry/bundles/terminal-lane.yaml +1 -1
  515. package/registry/bundles/test-intent-lock.yaml +1 -1
  516. package/registry/bundles/tracebank.yaml +1 -1
  517. package/registry/bundles/vision.yaml +1 -1
  518. package/registry/omg-capability.schema.json +1 -1
  519. package/registry/policy-packs/airgapped.yaml +16 -0
  520. package/registry/policy-packs/fintech.yaml +15 -0
  521. package/registry/policy-packs/locked-prod.yaml +18 -0
  522. package/runtime/adoption.py +6 -3
  523. package/runtime/canonical_taxonomy.py +27 -0
  524. package/runtime/compat.py +215 -1
  525. package/runtime/config_transaction.py +304 -0
  526. package/runtime/contract_compiler.py +3 -1
  527. package/runtime/doc_generator.py +273 -0
  528. package/runtime/evidence_narrator.py +42 -0
  529. package/runtime/github_review_bot.py +88 -4
  530. package/runtime/github_review_formatter.py +24 -6
  531. package/runtime/install_planner.py +497 -0
  532. package/runtime/mcp_config_writers.py +198 -47
  533. package/runtime/omg_compat_contract_snapshot.json +1 -1
  534. package/runtime/omg_mcp_server.py +3 -1
  535. package/runtime/policy_pack_loader.py +143 -0
  536. package/runtime/subscription_tiers.py +258 -0
  537. package/runtime/verdict_schema.py +198 -0
  538. package/scripts/omg.py +230 -0
  539. package/scripts/settings-merge.py +16 -10
  540. package/settings.json +65 -18
  541. /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:code-review.md → OMG-code-review.md} +0 -0
  542. /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:deep-plan.md → OMG-deep-plan.md} +0 -0
  543. /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:handoff.md → OMG-handoff.md} +0 -0
  544. /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:learn.md → OMG-learn.md} +0 -0
  545. /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:maintainer.md → OMG-maintainer.md} +0 -0
  546. /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:ralph-start.md → OMG-ralph-start.md} +0 -0
  547. /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:ralph-stop.md → OMG-ralph-stop.md} +0 -0
  548. /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:security-review.md → OMG-security-review.md} +0 -0
  549. /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:sequential-thinking.md → OMG-sequential-thinking.md} +0 -0
  550. /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:ship.md → OMG-ship.md} +0 -0
  551. /package/dist/public/bundle/plugins/advanced/commands/{OMG:code-review.md → OMG-code-review.md} +0 -0
  552. /package/dist/public/bundle/plugins/advanced/commands/{OMG:deep-plan.md → OMG-deep-plan.md} +0 -0
  553. /package/dist/public/bundle/plugins/advanced/commands/{OMG:handoff.md → OMG-handoff.md} +0 -0
  554. /package/dist/public/bundle/plugins/advanced/commands/{OMG:learn.md → OMG-learn.md} +0 -0
  555. /package/dist/public/bundle/plugins/advanced/commands/{OMG:maintainer.md → OMG-maintainer.md} +0 -0
  556. /package/dist/public/bundle/plugins/advanced/commands/{OMG:ralph-start.md → OMG-ralph-start.md} +0 -0
  557. /package/dist/public/bundle/plugins/advanced/commands/{OMG:ralph-stop.md → OMG-ralph-stop.md} +0 -0
  558. /package/dist/public/bundle/plugins/advanced/commands/{OMG:security-review.md → OMG-security-review.md} +0 -0
  559. /package/dist/public/bundle/plugins/advanced/commands/{OMG:sequential-thinking.md → OMG-sequential-thinking.md} +0 -0
  560. /package/dist/public/bundle/plugins/advanced/commands/{OMG:ship.md → OMG-ship.md} +0 -0
@@ -0,0 +1,103 @@
1
+ # GitHub App Required Checks
2
+
3
+ ## Required Check Context Name
4
+
5
+ The OMG PR Reviewer creates a check-run with a deterministic name:
6
+
7
+ ```
8
+ OMG PR Reviewer
9
+ ```
10
+
11
+ This name is the **context** string used for required status checks in branch protection rules.
12
+
13
+ ## Pinning Required Checks to `app_id`
14
+
15
+ GitHub allows any integration or workflow to create a check-run with any name. To prevent spoofing of the `OMG PR Reviewer` check, pin the required check to the OMG GitHub App's `app_id` in your branch protection settings.
16
+
17
+ ### REST API (branch protection)
18
+
19
+ ```json
20
+ PUT /repos/{owner}/{repo}/branches/{branch}/protection
21
+ {
22
+ "required_status_checks": {
23
+ "strict": true,
24
+ "contexts": [],
25
+ "checks": [
26
+ {
27
+ "context": "OMG PR Reviewer",
28
+ "app_id": YOUR_OMG_APP_ID
29
+ }
30
+ ]
31
+ }
32
+ }
33
+ ```
34
+
35
+ When `app_id` is set, only check-runs created by that specific GitHub App are considered authoritative. A workflow or third-party App posting a check-run with the same name but a different `app_id` will not satisfy the requirement.
36
+
37
+ ### Repository Settings UI
38
+
39
+ 1. Go to **Settings > Branches > Branch protection rules**.
40
+ 2. Edit the rule for your default branch.
41
+ 3. Under **Require status checks to pass before merging**, search for `OMG PR Reviewer`.
42
+ 4. Select the entry that shows the OMG App icon (not the GitHub Actions icon).
43
+
44
+ ## Merge-Readiness Evaluation via `isRequired` GraphQL Field
45
+
46
+ Do **not** rely on the raw `mergeable` field from the REST API to determine merge readiness. The `mergeable` field conflates merge conflict status with required-check status and can produce false positives.
47
+
48
+ Instead, use the GraphQL `statusCheckRollup` with the `isRequired` field to query whether each required check has passed:
49
+
50
+ ```graphql
51
+ query MergeReadiness($owner: String!, $repo: String!, $pr: Int!) {
52
+ repository(owner: $owner, name: $repo) {
53
+ pullRequest(number: $pr) {
54
+ commits(last: 1) {
55
+ nodes {
56
+ commit {
57
+ statusCheckRollup {
58
+ contexts(first: 50) {
59
+ nodes {
60
+ ... on CheckRun {
61
+ name
62
+ conclusion
63
+ isRequired(pullRequestNumber: $pr)
64
+ }
65
+ ... on StatusContext {
66
+ context
67
+ state
68
+ isRequired(pullRequestNumber: $pr)
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ ```
80
+
81
+ The `isRequired` field returns `true` only for checks that are configured as required for the target branch. A PR is merge-ready when every context where `isRequired: true` also has `conclusion: "SUCCESS"` (for check-runs) or `state: "SUCCESS"` (for status contexts).
82
+
83
+ ## Split-Lane Security Model
84
+
85
+ The OMG CI pipeline uses a split-lane model to isolate untrusted analysis from trusted posting:
86
+
87
+ | Job | Permissions | Checkout | Purpose |
88
+ |---|---|---|---|
89
+ | `pr-analyze` | `contents: read` | PR head (default) | Runs analysis on PR code, produces review artifacts |
90
+ | `post-review` | `contents: read`, `pull-requests: write`, `checks: write` | **Base SHA** (`github.event.pull_request.base.sha`) | Posts review and check-run using App credentials |
91
+
92
+ The `post-review` job checks out the **base branch SHA**, not the PR head. This ensures the posting code is from the trusted base branch and cannot be tampered with by the PR author. App credentials (`OMG_APP_ID`, `OMG_APP_PRIVATE_KEY`, `OMG_APP_INSTALLATION_ID`) are only available in the trusted posting job.
93
+
94
+ ## Check-Run Conclusions
95
+
96
+ The OMG PR Reviewer maps verdict statuses to GitHub check-run conclusions:
97
+
98
+ | Verdict Status | GitHub Conclusion | PR UI Effect |
99
+ |---|---|---|
100
+ | `pass` | `success` | Green checkmark |
101
+ | `fail` | `failure` | Red X |
102
+ | `action_required` | `action_required` | "Take action" button |
103
+ | `pending` | `neutral` | Grey dash |
package/hooks/_common.py CHANGED
@@ -220,31 +220,54 @@ def log_hook_error(hook_name, error, context=None):
220
220
  pass
221
221
 
222
222
 
223
+ _O_NOFOLLOW_HOOKS: int = getattr(os, "O_NOFOLLOW", 0)
224
+
225
+
226
+ def _fsync_dir_hooks(dirpath):
227
+ fd = os.open(dirpath, os.O_RDONLY)
228
+ try:
229
+ os.fsync(fd)
230
+ finally:
231
+ os.close(fd)
232
+
233
+
223
234
  def atomic_json_write(path, data):
224
- """Atomically write JSON data to a file using temp + rename.
225
-
226
- Args:
227
- path: Target file path
228
- data: Data to write as JSON
229
-
230
- Creates parent directories if needed. Silently fails on error.
231
- """
232
235
  try:
233
- # Create parent dirs
234
236
  parent = os.path.dirname(path)
235
237
  if parent:
236
238
  os.makedirs(parent, exist_ok=True)
237
-
238
- # Write to temp file
239
+
240
+ if os.path.islink(path):
241
+ raise OSError(f"Symlink target rejected: {path}")
242
+
239
243
  tmp_path = path + ".tmp"
240
- with open(tmp_path, "w", encoding="utf-8") as f:
241
- json.dump(data, f, separators=(",", ":"))
242
-
243
- # Atomic rename
244
- os.rename(tmp_path, path)
244
+ if os.path.islink(tmp_path):
245
+ raise OSError(f"Symlink tmp path rejected: {tmp_path}")
246
+ if os.path.exists(tmp_path):
247
+ os.unlink(tmp_path)
248
+
249
+ content = json.dumps(data, separators=(",", ":")).encode("utf-8")
250
+ open_flags = os.O_WRONLY | os.O_CREAT | os.O_TRUNC | _O_NOFOLLOW_HOOKS
251
+ fd = os.open(tmp_path, open_flags, 0o600)
252
+ try:
253
+ written = 0
254
+ while written < len(content):
255
+ written += os.write(fd, content[written:])
256
+ os.fsync(fd)
257
+ except BaseException:
258
+ os.close(fd)
259
+ try:
260
+ os.unlink(tmp_path)
261
+ except OSError:
262
+ pass
263
+ raise
264
+ else:
265
+ os.close(fd)
266
+
267
+ os.replace(tmp_path, path)
268
+ _fsync_dir_hooks(parent or ".")
245
269
  except Exception as e:
246
270
  print(f"[OMG] _common.py: {type(e).__name__}: {e}", file=sys.stderr)
247
- pass
248
271
 
249
272
 
250
273
  # Feature flags cache — read settings.json once per hook invocation
@@ -50,10 +50,37 @@ def _safe_float(value, default: float) -> float:
50
50
  return default
51
51
 
52
52
 
53
- def _read_budget_config(project_dir: str) -> tuple[float, float, float]:
53
+ def _read_budget_config(project_dir: str) -> tuple[float, float, float, dict[str, Any]]:
54
54
  session_limit = DEFAULT_SESSION_LIMIT_USD
55
55
  input_per_mtok = DEFAULT_INPUT_PER_MTOK
56
56
  output_per_mtok = DEFAULT_OUTPUT_PER_MTOK
57
+ tier_info: dict[str, Any] = {
58
+ "tier": "free",
59
+ "tier_limit_usd": DEFAULT_SESSION_LIMIT_USD,
60
+ "tier_provenance": "default",
61
+ }
62
+
63
+ try:
64
+ parent = os.path.dirname(HOOKS_DIR)
65
+ if parent not in sys.path:
66
+ sys.path.insert(0, parent)
67
+ from runtime.subscription_tiers import detect_tier
68
+
69
+ provider = os.environ.get("OMG_PROVIDER", "claude")
70
+ tier_result = detect_tier(provider, project_dir=project_dir)
71
+ session_limit = _safe_float(
72
+ tier_result.get("budget_usd_per_session"),
73
+ DEFAULT_SESSION_LIMIT_USD,
74
+ )
75
+ tier_info = {
76
+ "tier": tier_result.get("tier", "free"),
77
+ "tier_limit_usd": float(
78
+ tier_result.get("budget_usd_per_session", DEFAULT_SESSION_LIMIT_USD)
79
+ ),
80
+ "tier_provenance": tier_result.get("provenance", "default"),
81
+ }
82
+ except Exception:
83
+ pass
57
84
 
58
85
  settings_path = os.path.join(project_dir, "settings.json")
59
86
  try:
@@ -61,13 +88,13 @@ def _read_budget_config(project_dir: str) -> tuple[float, float, float]:
61
88
  settings = json.load(f)
62
89
  budget_cfg = settings.get("_omg", {}).get("cost_budget", {})
63
90
  pricing = budget_cfg.get("pricing", {})
64
- session_limit = _safe_float(budget_cfg.get("session_limit_usd"), DEFAULT_SESSION_LIMIT_USD)
91
+ session_limit = _safe_float(budget_cfg.get("session_limit_usd"), session_limit)
65
92
  input_per_mtok = _safe_float(pricing.get("input_per_mtok"), DEFAULT_INPUT_PER_MTOK)
66
93
  output_per_mtok = _safe_float(pricing.get("output_per_mtok"), DEFAULT_OUTPUT_PER_MTOK)
67
94
  except Exception:
68
95
  pass
69
96
 
70
- return session_limit, input_per_mtok, output_per_mtok
97
+ return session_limit, input_per_mtok, output_per_mtok, tier_info
71
98
 
72
99
 
73
100
  def _to_text(value) -> str:
@@ -218,7 +245,7 @@ def main() -> None:
218
245
  sys.exit(0)
219
246
 
220
247
  project_dir = get_project_dir()
221
- session_limit_usd, input_per_mtok, output_per_mtok = _read_budget_config(project_dir)
248
+ session_limit_usd, input_per_mtok, output_per_mtok, tier_info = _read_budget_config(project_dir)
222
249
  summary = read_cost_summary(project_dir)
223
250
 
224
251
  estimated_current_cost = _estimate_call_cost(
@@ -228,8 +255,19 @@ def main() -> None:
228
255
  output_per_mtok,
229
256
  )
230
257
 
231
- used_cost_usd = float(summary.get("total_cost_usd", 0.0)) + estimated_current_cost
232
- used_calls = int(summary.get("entry_count", 0)) + 1
258
+ session_id = os.environ.get("CLAUDE_SESSION_ID", "")
259
+ by_session = summary.get("by_session", {})
260
+
261
+ if session_id and session_id in by_session:
262
+ session_data = by_session[session_id]
263
+ used_cost_usd = float(session_data.get("cost_usd", 0.0)) + estimated_current_cost
264
+ used_calls = int(session_data.get("count", 0)) + 1
265
+ provenance = "session"
266
+ else:
267
+ used_cost_usd = float(summary.get("total_cost_usd", 0.0)) + estimated_current_cost
268
+ used_calls = int(summary.get("entry_count", 0)) + 1
269
+ provenance = "default"
270
+
233
271
  projected_calls = _project_total_calls(used_cost_usd, used_calls, session_limit_usd)
234
272
 
235
273
  context = _build_context(
@@ -240,7 +278,6 @@ def main() -> None:
240
278
  )
241
279
 
242
280
  used_pct = (used_cost_usd / session_limit_usd * 100) if session_limit_usd > 0 else 0.0
243
- session_id = os.environ.get("CLAUDE_SESSION_ID", "")
244
281
  threshold_alerts = _check_thresholds(used_pct, project_dir, session_id)
245
282
  if threshold_alerts:
246
283
  context += "\n" + "\n".join(threshold_alerts)
@@ -249,7 +286,39 @@ def main() -> None:
249
286
  if envelope_context:
250
287
  context += "\n" + envelope_context
251
288
 
252
- json.dump({"additionalContext": context}, sys.stdout)
289
+ tier_limit_usd = tier_info["tier_limit_usd"]
290
+ near_limit = used_cost_usd > (0.80 * tier_limit_usd)
291
+ limit_reached = used_cost_usd >= tier_limit_usd
292
+
293
+ throttle_reason: str | None = None
294
+ if near_limit or limit_reached:
295
+ throttle_reason = (
296
+ f"tier={tier_info['tier']} limit={tier_limit_usd:.2f} "
297
+ f"used={used_cost_usd:.2f} provenance={tier_info['tier_provenance']}"
298
+ )
299
+
300
+ if limit_reached:
301
+ context += f"\n@tier-limit-reached: {throttle_reason}"
302
+ elif near_limit:
303
+ context += f"\n@tier-near-limit: {throttle_reason}"
304
+
305
+ output: dict[str, Any] = {
306
+ "additionalContext": context,
307
+ "provenance": provenance,
308
+ "tier": tier_info["tier"],
309
+ "tier_limit_usd": tier_limit_usd,
310
+ "near_limit": near_limit,
311
+ "limit_reached": limit_reached,
312
+ "throttle_reason": throttle_reason,
313
+ }
314
+
315
+ if tier_info["tier_provenance"] in ("cache", "default"):
316
+ output["tier_provenance_fallback"] = (
317
+ f"tier data from {tier_info['tier_provenance']} source "
318
+ "— may not reflect current subscription"
319
+ )
320
+
321
+ json.dump(output, sys.stdout)
253
322
  sys.exit(0)
254
323
 
255
324
 
@@ -5,6 +5,7 @@ Feature-gated: requires OMG_SETUP_ENABLED=1 (default off).
5
5
  from __future__ import annotations
6
6
 
7
7
  import json
8
+ import importlib
8
9
  import logging
9
10
  import os
10
11
  import re
@@ -27,16 +28,6 @@ from hooks._common import bootstrap_runtime_paths, get_feature_flag
27
28
  bootstrap_runtime_paths(__file__)
28
29
 
29
30
  from runtime.cli_provider import get_provider, list_available_providers # noqa: E402
30
- from runtime.mcp_config_writers import ( # noqa: E402
31
- write_claude_mcp_config,
32
- write_claude_mcp_stdio_config,
33
- write_codex_mcp_config,
34
- write_codex_mcp_stdio_config,
35
- write_gemini_mcp_config,
36
- write_gemini_mcp_stdio_config,
37
- write_kimi_mcp_config,
38
- write_kimi_mcp_stdio_config,
39
- )
40
31
 
41
32
  # Trigger provider auto-registration on import
42
33
  import runtime.providers.codex_provider # noqa: E402, F401
@@ -485,8 +476,6 @@ def check_auth() -> dict[str, Any]:
485
476
  return {"status": "pending", "results": {}}
486
477
 
487
478
 
488
- _HTTP_MEMORY_MIN_LEVEL: int = _PRESET_LEVEL["interop"]
489
-
490
479
  _PROFILE_ARCH_REQUEST_MAX = 8
491
480
  _PROFILE_TAG_MAX = 12
492
481
  _PROFILE_SUMMARY_MAX_CHARS = 240
@@ -541,100 +530,39 @@ def configure_mcp(
541
530
  - configured: List of CLI names that were successfully configured
542
531
  - errors: Dict of CLI name → error message for failures
543
532
  """
544
- configured: list[str] = []
545
- errors: dict[str, str] = {}
546
533
  resolved_control_args = list(control_args or OMG_CONTROL_ARGS)
547
- http_memory_allowed = _PRESET_LEVEL.get(preset, 0) >= _HTTP_MEMORY_MIN_LEVEL
548
534
  selected_config = select_mcps(selected_ids=selected_ids, preset=preset)
549
535
  selected_servers = cast(
550
536
  dict[str, dict[str, Any]],
551
537
  selected_config.get("mcpServers", {}),
552
538
  )
539
+ install_planner = importlib.import_module("runtime.install_planner")
540
+ plan = install_planner.compute_install_plan(
541
+ project_dir=project_dir,
542
+ detected_clis=detected_clis,
543
+ preset=preset,
544
+ mode="focused",
545
+ selected_ids=selected_ids,
546
+ server_url=server_url,
547
+ server_name=server_name,
548
+ control_command=control_command,
549
+ control_args=resolved_control_args,
550
+ control_server_name=control_server_name,
551
+ selected_servers=selected_servers,
552
+ source_root=_PROJECT_ROOT,
553
+ )
554
+ install_result = cast(dict[str, Any], install_planner.execute_plan(plan))
553
555
 
554
- try:
555
- config_path = os.path.join(project_dir, ".mcp.json")
556
- if os.path.exists(config_path):
557
- with open(config_path, "r", encoding="utf-8") as f:
558
- claude_config = json.load(f)
559
- if not isinstance(claude_config, dict):
560
- claude_config = {}
556
+ configured = [action.host for action in plan.actions if action.host != "claude"]
557
+ errors: dict[str, str] = {}
558
+ if install_result["errors"]:
559
+ joined = "; ".join(install_result["errors"])
560
+ if not configured:
561
+ errors["claude"] = joined
561
562
  else:
562
- claude_config = {}
563
-
564
- existing_servers = claude_config.get("mcpServers")
565
- if not isinstance(existing_servers, dict):
566
- existing_servers = {}
567
-
568
- managed_server_ids = {cast(str, m["id"]) for m in MCP_CATALOG}
569
- for managed_server_id in managed_server_ids:
570
- existing_servers.pop(managed_server_id, None)
571
- existing_servers.pop(server_name, None)
572
- existing_servers.pop(control_server_name, None)
573
-
574
- for selected_server_name, payload in selected_servers.items():
575
- if selected_server_name == "omg-memory":
576
- if not http_memory_allowed:
577
- continue
578
- target_name = server_name
579
- payload = {"type": "http", "url": server_url}
580
- elif selected_server_name == OMG_CONTROL_SERVER_NAME:
581
- target_name = control_server_name
582
- payload = {
583
- "command": control_command,
584
- "args": resolved_control_args,
585
- }
586
- else:
587
- target_name = selected_server_name
588
- existing_servers[target_name] = payload
589
-
590
- claude_config["mcpServers"] = existing_servers
591
- with open(config_path, "w", encoding="utf-8") as f:
592
- json.dump(claude_config, f, indent=2, ensure_ascii=True)
593
- f.write("\n")
594
- except Exception as exc:
595
- _logger.warning("Failed to write Claude MCP config: %s", exc)
596
- errors["claude"] = str(exc)
597
-
598
- cli_writers = {
599
- "codex": (write_codex_mcp_config, write_codex_mcp_stdio_config),
600
- "gemini": (write_gemini_mcp_config, write_gemini_mcp_stdio_config),
601
- "kimi": (write_kimi_mcp_config, write_kimi_mcp_stdio_config),
602
- }
603
-
604
- for cli_name, (http_writer, stdio_writer) in cli_writers.items():
605
- cli_info = detected_clis.get(cli_name, {})
606
- if not cli_info.get("detected", False):
607
- continue
608
-
609
- try:
610
- for selected_server_name, payload in selected_servers.items():
611
- if selected_server_name == "omg-memory":
612
- if not http_memory_allowed:
613
- continue
614
- http_writer(server_url, server_name)
615
- continue
616
-
617
- if selected_server_name == OMG_CONTROL_SERVER_NAME:
618
- stdio_writer(
619
- command=control_command,
620
- args=resolved_control_args,
621
- server_name=control_server_name,
622
- )
623
- continue
624
-
625
- if payload.get("type") == "http":
626
- http_writer(cast(str, payload["url"]), selected_server_name)
627
- continue
628
-
629
- stdio_writer(
630
- command=cast(str, payload["command"]),
631
- args=[str(arg) for arg in cast(list[Any], payload.get("args", []))],
632
- server_name=selected_server_name,
633
- )
634
- configured.append(cli_name)
635
- except Exception as exc:
636
- _logger.warning("Failed to write %s MCP config: %s", cli_name, exc)
637
- errors[cli_name] = str(exc)
563
+ for host in configured:
564
+ errors[host] = joined
565
+ configured = []
638
566
 
639
567
  return {
640
568
  "status": "ok",
package/hud/omg-hud.mjs CHANGED
@@ -87,7 +87,7 @@ function readOmgVersion() {
87
87
  // fall through to static fallback
88
88
  }
89
89
 
90
- return "2.2.4";
90
+ return "2.2.5";
91
91
  }
92
92
 
93
93
  const OMG_VERSION = readOmgVersion();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trac3er/oh-my-god",
3
- "version": "2.2.4",
3
+ "version": "2.2.5",
4
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": {
@@ -0,0 +1,114 @@
1
+ ---
2
+ description: Deep code review — reads file completely, checks line-by-line for issues, then analyzes whole-file structure. Enforces code hygiene.
3
+ allowed-tools: Read, Bash(cat:*), Bash(grep:*), Bash(wc:*), Bash(head:*), Bash(find:*), Bash(rg:*), Grep, Glob
4
+ argument-hint: "[file path or 'recent' for git-changed files]"
5
+ ---
6
+
7
+ # /OMG:code-review — Line-by-Line + Structural Review
8
+
9
+ ## Philosophy
10
+ Two passes: LINE-BY-LINE precision, then WHOLE-FILE understanding.
11
+ Don't just scan — READ and UNDERSTAND every line.
12
+
13
+ ## Step 1: Determine Scope
14
+
15
+ - If file specified: review that file
16
+ - If "recent" or no argument: review uncommitted changes
17
+ ```bash
18
+ git diff --name-only HEAD 2>/dev/null
19
+ git diff --cached --name-only 2>/dev/null
20
+ ```
21
+
22
+ ## Step 2: Read the FULL File First
23
+
24
+ Read the ENTIRE file. Not just the changed part. Not just a function.
25
+ Understanding comes from seeing the whole context.
26
+
27
+ Note:
28
+ - What does this file DO? (its purpose in the system)
29
+ - What are its DEPENDENCIES? (imports, calls)
30
+ - What does it EXPORT? (public API)
31
+
32
+ ## Step 3: Line-by-Line Scan
33
+
34
+ For each line, check:
35
+
36
+ **Correctness:**
37
+ - Logic errors (off-by-one, null checks, type mismatches)
38
+ - Missing error handling (unhandled promises, bare except, no null check)
39
+ - Race conditions (shared state, async without await, unchecked concurrent access)
40
+
41
+ **Security (if auth/payment/database):**
42
+ - Hardcoded secrets → CRITICAL
43
+ - SQL injection (string concatenation in queries) → CRITICAL
44
+ - XSS (innerHTML, dangerouslySetInnerHTML) → HIGH
45
+ - Missing input validation → MEDIUM
46
+ - Overly permissive CORS/cookies → MEDIUM
47
+
48
+ **Hygiene:**
49
+ - Dead code (unused imports, variables, unreachable branches)
50
+ - Noise comments ("increment i", "return result", "constructor")
51
+ - console.log/print left in production code
52
+ - TODO/FIXME/HACK without tracking
53
+ - Overly complex functions (>40 lines → suggest extract)
54
+ - Duplicated logic (same pattern in 2+ places → suggest DRY)
55
+
56
+ ## Step 4: Whole-File Structure Analysis
57
+
58
+ After line-by-line:
59
+ - Does the file do ONE thing well, or is it a dumping ground?
60
+ - Are functions ordered logically? (public first, helpers after, or lifecycle order)
61
+ - Is naming consistent? (camelCase throughout? PascalCase for classes?)
62
+ - Does it follow the project's domain pattern? (check .omg/knowledge/domain-patterns/)
63
+ - Any circular dependencies?
64
+ - Is error handling consistent across all functions?
65
+
66
+ ## Step 5: Report
67
+
68
+ ```
69
+ Code Review — [file]
70
+ ━━━━━━━━━━━━━━━━━━━━
71
+
72
+ Structure: [CLEAN | NEEDS_WORK | MESSY]
73
+ Security: [SAFE | REVIEW_NEEDED | CRITICAL]
74
+ Hygiene: [CLEAN | NEEDS_CLEANUP]
75
+
76
+ Issues:
77
+ [line:col] CRITICAL: [description]
78
+ [line:col] HIGH: [description]
79
+ [line:col] MEDIUM: [description]
80
+ [line:col] LOW: [description]
81
+
82
+ Dead Code:
83
+ [line] unused import: [name]
84
+ [line] unreachable after return
85
+
86
+ Noise Comments (remove these):
87
+ [line] "// increment counter"
88
+ [line] "// return the value"
89
+
90
+ Structural:
91
+ - [function] is [N] lines — consider extracting [suggestion]
92
+ - [pattern] duplicated at lines [X] and [Y]
93
+
94
+ Recommendation: [summary of what to fix, in priority order]
95
+ ```
96
+
97
+ ## Step 6: For Security-Critical Files
98
+
99
+ If the file touches auth, payment, or database:
100
+ ```
101
+ /OMG:escalate codex "Line-by-line security review of [file]. Check:
102
+ 1. Every input validation point
103
+ 2. Every database query for injection
104
+ 3. Every auth check for bypass
105
+ 4. Every secret reference for hardcoding
106
+ Report: line numbers + severity + fix suggestion"
107
+ ```
108
+
109
+ ## Anti-patterns
110
+ - DON'T skim and say "looks good" — read every line
111
+ - DON'T only check the diff — read the full file for context
112
+ - DON'T ignore test files — they can have real issues too
113
+ - DON'T add more noise comments as "fixes" — remove them instead
114
+ - DON'T suggest unnecessary code as improvements