@trac3er/oh-my-god 2.2.3 → 2.3.0

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 (1047) 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 +14 -1
  7. package/CLI-ADAPTER-MAP.md +3 -3
  8. package/OMG-setup.sh +7 -6
  9. package/OMG_COMPAT_CONTRACT.md +1 -1
  10. package/README.md +4 -2
  11. package/artifacts/public/dist/public/manifest.json +2 -2
  12. package/commands/OMG:validate.md +1 -1
  13. package/dist/enterprise/manifest.json +2 -2
  14. package/dist/public/manifest.json +2 -2
  15. package/docs/install/github-app.md +8 -7
  16. package/hooks/_common.py +20 -6
  17. package/hooks/secret-guard.py +3 -2
  18. package/hooks/stop_dispatcher.py +20 -2
  19. package/hooks/terms-guard.py +96 -0
  20. package/hooks/test-validator.py +36 -4
  21. package/hud/omg-hud.mjs +1 -1
  22. package/package.json +1 -1
  23. package/plugins/advanced/plugin.json +1 -1
  24. package/plugins/core/plugin.json +1 -1
  25. package/pyproject.toml +1 -1
  26. package/registry/bundles/algorithms.yaml +1 -1
  27. package/registry/bundles/api-twin.yaml +1 -1
  28. package/registry/bundles/ast-pack.yaml +1 -1
  29. package/registry/bundles/claim-judge.yaml +1 -1
  30. package/registry/bundles/control-plane.yaml +1 -1
  31. package/registry/bundles/data-lineage.yaml +1 -1
  32. package/registry/bundles/delta-classifier.yaml +1 -1
  33. package/registry/bundles/eval-gate.yaml +1 -1
  34. package/registry/bundles/hash-edit.yaml +1 -1
  35. package/registry/bundles/health.yaml +1 -1
  36. package/registry/bundles/hook-governor.yaml +1 -1
  37. package/registry/bundles/incident-replay.yaml +1 -1
  38. package/registry/bundles/lsp-pack.yaml +1 -1
  39. package/registry/bundles/mcp-fabric.yaml +1 -1
  40. package/registry/bundles/plan-council.yaml +1 -1
  41. package/registry/bundles/preflight.yaml +1 -1
  42. package/registry/bundles/proof-gate.yaml +1 -1
  43. package/registry/bundles/remote-supervisor.yaml +1 -1
  44. package/registry/bundles/robotics.yaml +1 -1
  45. package/registry/bundles/secure-worktree-pipeline.yaml +1 -1
  46. package/registry/bundles/security-check.yaml +1 -1
  47. package/registry/bundles/terminal-lane.yaml +1 -1
  48. package/registry/bundles/test-intent-lock.yaml +1 -1
  49. package/registry/bundles/tracebank.yaml +1 -1
  50. package/registry/bundles/vision.yaml +1 -1
  51. package/registry/omg-capability.schema.json +1 -1
  52. package/runtime/adoption.py +3 -2
  53. package/runtime/compliance_governor.py +28 -2
  54. package/runtime/context_compiler.py +131 -0
  55. package/runtime/contract_compiler.py +120 -25
  56. package/runtime/delta_classifier.py +68 -0
  57. package/runtime/github_review_bot.py +2 -2
  58. package/runtime/github_review_formatter.py +14 -0
  59. package/runtime/mutation_gate.py +38 -9
  60. package/runtime/omg_compat_contract_snapshot.json +1 -1
  61. package/runtime/provider_parity_eval.py +109 -0
  62. package/runtime/test_intent_lock.py +24 -2
  63. package/scripts/omg.py +63 -6
  64. package/settings.json +13 -3
  65. package/artifacts/release/.agents/skills/omg/AGENTS.fragment.md +0 -75
  66. package/artifacts/release/.agents/skills/omg/algorithms/SKILL.md +0 -11
  67. package/artifacts/release/.agents/skills/omg/algorithms/openai.yaml +0 -11
  68. package/artifacts/release/.agents/skills/omg/api-twin/SKILL.md +0 -11
  69. package/artifacts/release/.agents/skills/omg/api-twin/openai.yaml +0 -12
  70. package/artifacts/release/.agents/skills/omg/ast-pack/SKILL.md +0 -11
  71. package/artifacts/release/.agents/skills/omg/ast-pack/openai.yaml +0 -12
  72. package/artifacts/release/.agents/skills/omg/claim-judge/SKILL.md +0 -11
  73. package/artifacts/release/.agents/skills/omg/claim-judge/openai.yaml +0 -13
  74. package/artifacts/release/.agents/skills/omg/codex-mcp.toml +0 -4
  75. package/artifacts/release/.agents/skills/omg/codex-rules.md +0 -38
  76. package/artifacts/release/.agents/skills/omg/control-plane/SKILL.md +0 -11
  77. package/artifacts/release/.agents/skills/omg/control-plane/openai.yaml +0 -14
  78. package/artifacts/release/.agents/skills/omg/data-lineage/SKILL.md +0 -11
  79. package/artifacts/release/.agents/skills/omg/data-lineage/openai.yaml +0 -12
  80. package/artifacts/release/.agents/skills/omg/delta-classifier/SKILL.md +0 -11
  81. package/artifacts/release/.agents/skills/omg/delta-classifier/openai.yaml +0 -12
  82. package/artifacts/release/.agents/skills/omg/eval-gate/SKILL.md +0 -11
  83. package/artifacts/release/.agents/skills/omg/eval-gate/openai.yaml +0 -12
  84. package/artifacts/release/.agents/skills/omg/hash-edit/SKILL.md +0 -11
  85. package/artifacts/release/.agents/skills/omg/hash-edit/openai.yaml +0 -11
  86. package/artifacts/release/.agents/skills/omg/health/SKILL.md +0 -11
  87. package/artifacts/release/.agents/skills/omg/health/openai.yaml +0 -11
  88. package/artifacts/release/.agents/skills/omg/hook-governor/SKILL.md +0 -11
  89. package/artifacts/release/.agents/skills/omg/hook-governor/openai.yaml +0 -11
  90. package/artifacts/release/.agents/skills/omg/incident-replay/SKILL.md +0 -11
  91. package/artifacts/release/.agents/skills/omg/incident-replay/openai.yaml +0 -12
  92. package/artifacts/release/.agents/skills/omg/lsp-pack/SKILL.md +0 -11
  93. package/artifacts/release/.agents/skills/omg/lsp-pack/openai.yaml +0 -12
  94. package/artifacts/release/.agents/skills/omg/mcp-fabric/SKILL.md +0 -11
  95. package/artifacts/release/.agents/skills/omg/mcp-fabric/openai.yaml +0 -13
  96. package/artifacts/release/.agents/skills/omg/plan-council/SKILL.md +0 -11
  97. package/artifacts/release/.agents/skills/omg/plan-council/openai.yaml +0 -12
  98. package/artifacts/release/.agents/skills/omg/preflight/SKILL.md +0 -11
  99. package/artifacts/release/.agents/skills/omg/preflight/openai.yaml +0 -12
  100. package/artifacts/release/.agents/skills/omg/proof-gate/SKILL.md +0 -11
  101. package/artifacts/release/.agents/skills/omg/proof-gate/openai.yaml +0 -13
  102. package/artifacts/release/.agents/skills/omg/remote-supervisor/SKILL.md +0 -11
  103. package/artifacts/release/.agents/skills/omg/remote-supervisor/openai.yaml +0 -12
  104. package/artifacts/release/.agents/skills/omg/robotics/SKILL.md +0 -11
  105. package/artifacts/release/.agents/skills/omg/robotics/openai.yaml +0 -11
  106. package/artifacts/release/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +0 -11
  107. package/artifacts/release/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +0 -12
  108. package/artifacts/release/.agents/skills/omg/security-check/SKILL.md +0 -11
  109. package/artifacts/release/.agents/skills/omg/security-check/openai.yaml +0 -13
  110. package/artifacts/release/.agents/skills/omg/terminal-lane/SKILL.md +0 -11
  111. package/artifacts/release/.agents/skills/omg/terminal-lane/openai.yaml +0 -11
  112. package/artifacts/release/.agents/skills/omg/test-intent-lock/SKILL.md +0 -11
  113. package/artifacts/release/.agents/skills/omg/test-intent-lock/openai.yaml +0 -13
  114. package/artifacts/release/.agents/skills/omg/tracebank/SKILL.md +0 -11
  115. package/artifacts/release/.agents/skills/omg/tracebank/openai.yaml +0 -12
  116. package/artifacts/release/.agents/skills/omg/vision/SKILL.md +0 -11
  117. package/artifacts/release/.agents/skills/omg/vision/openai.yaml +0 -11
  118. package/artifacts/release/.claude-plugin/marketplace.json +0 -36
  119. package/artifacts/release/.claude-plugin/mcp.json +0 -11
  120. package/artifacts/release/.claude-plugin/plugin.json +0 -23
  121. package/artifacts/release/.gemini/settings.json +0 -72
  122. package/artifacts/release/.kimi/mcp.json +0 -72
  123. package/artifacts/release/.mcp.json +0 -18
  124. package/artifacts/release/OMG_COMPAT_CONTRACT.md +0 -111
  125. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.minisig +0 -4
  126. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.statement.json +0 -35
  127. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.minisig +0 -4
  128. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.statement.json +0 -35
  129. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.minisig +0 -4
  130. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.statement.json +0 -35
  131. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.minisig +0 -4
  132. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.statement.json +0 -35
  133. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.minisig +0 -4
  134. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.statement.json +0 -35
  135. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.minisig +0 -4
  136. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.statement.json +0 -35
  137. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.minisig +0 -4
  138. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.statement.json +0 -35
  139. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.minisig +0 -4
  140. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.statement.json +0 -35
  141. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.minisig +0 -4
  142. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.statement.json +0 -35
  143. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-mcp.toml.minisig +0 -4
  144. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-mcp.toml.statement.json +0 -35
  145. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-rules.md.minisig +0 -4
  146. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-rules.md.statement.json +0 -35
  147. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.minisig +0 -4
  148. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.statement.json +0 -35
  149. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.minisig +0 -4
  150. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.statement.json +0 -35
  151. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.minisig +0 -4
  152. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.statement.json +0 -35
  153. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.minisig +0 -4
  154. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.statement.json +0 -35
  155. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.minisig +0 -4
  156. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.statement.json +0 -35
  157. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.minisig +0 -4
  158. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.statement.json +0 -35
  159. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.minisig +0 -4
  160. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.statement.json +0 -35
  161. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.minisig +0 -4
  162. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.statement.json +0 -35
  163. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.minisig +0 -4
  164. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.statement.json +0 -35
  165. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.minisig +0 -4
  166. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.statement.json +0 -35
  167. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/health/SKILL.md.minisig +0 -4
  168. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/health/SKILL.md.statement.json +0 -35
  169. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/health/openai.yaml.minisig +0 -4
  170. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/health/openai.yaml.statement.json +0 -35
  171. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.minisig +0 -4
  172. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.statement.json +0 -35
  173. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.minisig +0 -4
  174. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.statement.json +0 -35
  175. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.minisig +0 -4
  176. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.statement.json +0 -35
  177. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.minisig +0 -4
  178. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.statement.json +0 -35
  179. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.minisig +0 -4
  180. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.statement.json +0 -35
  181. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.minisig +0 -4
  182. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.statement.json +0 -35
  183. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.minisig +0 -4
  184. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.statement.json +0 -35
  185. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.minisig +0 -4
  186. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.statement.json +0 -35
  187. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.minisig +0 -4
  188. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.statement.json +0 -35
  189. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.minisig +0 -4
  190. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.statement.json +0 -35
  191. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.minisig +0 -4
  192. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.statement.json +0 -35
  193. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.minisig +0 -4
  194. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.statement.json +0 -35
  195. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.minisig +0 -4
  196. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.statement.json +0 -35
  197. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.minisig +0 -4
  198. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.statement.json +0 -35
  199. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.minisig +0 -4
  200. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.statement.json +0 -35
  201. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.minisig +0 -4
  202. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.statement.json +0 -35
  203. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.minisig +0 -4
  204. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.statement.json +0 -35
  205. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.minisig +0 -4
  206. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.statement.json +0 -35
  207. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.minisig +0 -4
  208. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.statement.json +0 -35
  209. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.minisig +0 -4
  210. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.statement.json +0 -35
  211. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.minisig +0 -4
  212. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.statement.json +0 -35
  213. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.minisig +0 -4
  214. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.statement.json +0 -35
  215. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.minisig +0 -4
  216. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.statement.json +0 -35
  217. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.minisig +0 -4
  218. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.statement.json +0 -35
  219. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.minisig +0 -4
  220. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.statement.json +0 -35
  221. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.minisig +0 -4
  222. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.statement.json +0 -35
  223. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.minisig +0 -4
  224. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.statement.json +0 -35
  225. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.minisig +0 -4
  226. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.statement.json +0 -35
  227. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/SKILL.md.minisig +0 -4
  228. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/SKILL.md.statement.json +0 -35
  229. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/openai.yaml.minisig +0 -4
  230. package/artifacts/release/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/openai.yaml.statement.json +0 -35
  231. package/artifacts/release/dist/enterprise/attestations/bundle/.claude-plugin/marketplace.json.minisig +0 -4
  232. package/artifacts/release/dist/enterprise/attestations/bundle/.claude-plugin/marketplace.json.statement.json +0 -35
  233. package/artifacts/release/dist/enterprise/attestations/bundle/.claude-plugin/mcp.json.minisig +0 -4
  234. package/artifacts/release/dist/enterprise/attestations/bundle/.claude-plugin/mcp.json.statement.json +0 -35
  235. package/artifacts/release/dist/enterprise/attestations/bundle/.claude-plugin/plugin.json.minisig +0 -4
  236. package/artifacts/release/dist/enterprise/attestations/bundle/.claude-plugin/plugin.json.statement.json +0 -35
  237. package/artifacts/release/dist/enterprise/attestations/bundle/.gemini/settings.json.minisig +0 -4
  238. package/artifacts/release/dist/enterprise/attestations/bundle/.gemini/settings.json.statement.json +0 -35
  239. package/artifacts/release/dist/enterprise/attestations/bundle/.kimi/mcp.json.minisig +0 -4
  240. package/artifacts/release/dist/enterprise/attestations/bundle/.kimi/mcp.json.statement.json +0 -35
  241. package/artifacts/release/dist/enterprise/attestations/bundle/.mcp.json.minisig +0 -4
  242. package/artifacts/release/dist/enterprise/attestations/bundle/.mcp.json.statement.json +0 -35
  243. package/artifacts/release/dist/enterprise/attestations/bundle/OMG_COMPAT_CONTRACT.md.minisig +0 -4
  244. package/artifacts/release/dist/enterprise/attestations/bundle/OMG_COMPAT_CONTRACT.md.statement.json +0 -35
  245. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:code-review.md.minisig +0 -4
  246. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:code-review.md.statement.json +0 -35
  247. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:deep-plan.md.minisig +0 -4
  248. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:deep-plan.md.statement.json +0 -35
  249. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:handoff.md.minisig +0 -4
  250. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:handoff.md.statement.json +0 -35
  251. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:learn.md.minisig +0 -4
  252. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:learn.md.statement.json +0 -35
  253. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:maintainer.md.minisig +0 -4
  254. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:maintainer.md.statement.json +0 -35
  255. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:ralph-start.md.minisig +0 -4
  256. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:ralph-start.md.statement.json +0 -35
  257. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:ralph-stop.md.minisig +0 -4
  258. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:ralph-stop.md.statement.json +0 -35
  259. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:security-review.md.minisig +0 -4
  260. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:security-review.md.statement.json +0 -35
  261. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:sequential-thinking.md.minisig +0 -4
  262. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:sequential-thinking.md.statement.json +0 -35
  263. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:ship.md.minisig +0 -4
  264. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG:ship.md.statement.json +0 -35
  265. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/plugin.json.minisig +0 -4
  266. package/artifacts/release/dist/enterprise/attestations/bundle/plugins/advanced/plugin.json.statement.json +0 -35
  267. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/algorithms.yaml.minisig +0 -4
  268. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/algorithms.yaml.statement.json +0 -35
  269. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/api-twin.yaml.minisig +0 -4
  270. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/api-twin.yaml.statement.json +0 -35
  271. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/ast-pack.yaml.minisig +0 -4
  272. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/ast-pack.yaml.statement.json +0 -35
  273. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/claim-judge.yaml.minisig +0 -4
  274. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/claim-judge.yaml.statement.json +0 -35
  275. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/control-plane.yaml.minisig +0 -4
  276. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/control-plane.yaml.statement.json +0 -35
  277. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/data-lineage.yaml.minisig +0 -4
  278. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/data-lineage.yaml.statement.json +0 -35
  279. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/delta-classifier.yaml.minisig +0 -4
  280. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/delta-classifier.yaml.statement.json +0 -35
  281. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/eval-gate.yaml.minisig +0 -4
  282. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/eval-gate.yaml.statement.json +0 -35
  283. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/hash-edit.yaml.minisig +0 -4
  284. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/hash-edit.yaml.statement.json +0 -35
  285. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/health.yaml.minisig +0 -4
  286. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/health.yaml.statement.json +0 -35
  287. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/hook-governor.yaml.minisig +0 -4
  288. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/hook-governor.yaml.statement.json +0 -35
  289. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/incident-replay.yaml.minisig +0 -4
  290. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/incident-replay.yaml.statement.json +0 -35
  291. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/lsp-pack.yaml.minisig +0 -4
  292. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/lsp-pack.yaml.statement.json +0 -35
  293. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/mcp-fabric.yaml.minisig +0 -4
  294. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/mcp-fabric.yaml.statement.json +0 -35
  295. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/plan-council.yaml.minisig +0 -4
  296. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/plan-council.yaml.statement.json +0 -35
  297. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/preflight.yaml.minisig +0 -4
  298. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/preflight.yaml.statement.json +0 -35
  299. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/proof-gate.yaml.minisig +0 -4
  300. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/proof-gate.yaml.statement.json +0 -35
  301. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/remote-supervisor.yaml.minisig +0 -4
  302. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/remote-supervisor.yaml.statement.json +0 -35
  303. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/robotics.yaml.minisig +0 -4
  304. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/robotics.yaml.statement.json +0 -35
  305. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.minisig +0 -4
  306. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.statement.json +0 -35
  307. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/security-check.yaml.minisig +0 -4
  308. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/security-check.yaml.statement.json +0 -35
  309. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/terminal-lane.yaml.minisig +0 -4
  310. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/terminal-lane.yaml.statement.json +0 -35
  311. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/test-intent-lock.yaml.minisig +0 -4
  312. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/test-intent-lock.yaml.statement.json +0 -35
  313. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/tracebank.yaml.minisig +0 -4
  314. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/tracebank.yaml.statement.json +0 -35
  315. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/vision.yaml.minisig +0 -4
  316. package/artifacts/release/dist/enterprise/attestations/bundle/registry/bundles/vision.yaml.statement.json +0 -35
  317. package/artifacts/release/dist/enterprise/attestations/bundle/registry/omg-capability.schema.json.minisig +0 -4
  318. package/artifacts/release/dist/enterprise/attestations/bundle/registry/omg-capability.schema.json.statement.json +0 -35
  319. package/artifacts/release/dist/enterprise/attestations/bundle/settings.json.minisig +0 -4
  320. package/artifacts/release/dist/enterprise/attestations/bundle/settings.json.statement.json +0 -35
  321. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/AGENTS.fragment.md +0 -75
  322. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/algorithms/SKILL.md +0 -11
  323. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/algorithms/openai.yaml +0 -11
  324. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/api-twin/SKILL.md +0 -11
  325. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/api-twin/openai.yaml +0 -12
  326. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/ast-pack/SKILL.md +0 -11
  327. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/ast-pack/openai.yaml +0 -12
  328. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/claim-judge/SKILL.md +0 -11
  329. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/claim-judge/openai.yaml +0 -13
  330. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/codex-mcp.toml +0 -4
  331. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/codex-rules.md +0 -38
  332. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/control-plane/SKILL.md +0 -11
  333. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/control-plane/openai.yaml +0 -14
  334. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/data-lineage/SKILL.md +0 -11
  335. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/data-lineage/openai.yaml +0 -12
  336. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/delta-classifier/SKILL.md +0 -11
  337. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/delta-classifier/openai.yaml +0 -12
  338. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/eval-gate/SKILL.md +0 -11
  339. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/eval-gate/openai.yaml +0 -12
  340. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/hash-edit/SKILL.md +0 -11
  341. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/hash-edit/openai.yaml +0 -11
  342. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/health/SKILL.md +0 -11
  343. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/health/openai.yaml +0 -11
  344. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/hook-governor/SKILL.md +0 -11
  345. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/hook-governor/openai.yaml +0 -11
  346. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/incident-replay/SKILL.md +0 -11
  347. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/incident-replay/openai.yaml +0 -12
  348. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/lsp-pack/SKILL.md +0 -11
  349. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/lsp-pack/openai.yaml +0 -12
  350. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/mcp-fabric/SKILL.md +0 -11
  351. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/mcp-fabric/openai.yaml +0 -13
  352. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/plan-council/SKILL.md +0 -11
  353. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/plan-council/openai.yaml +0 -12
  354. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/preflight/SKILL.md +0 -11
  355. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/preflight/openai.yaml +0 -12
  356. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/proof-gate/SKILL.md +0 -11
  357. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/proof-gate/openai.yaml +0 -13
  358. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/remote-supervisor/SKILL.md +0 -11
  359. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/remote-supervisor/openai.yaml +0 -12
  360. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/robotics/SKILL.md +0 -11
  361. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/robotics/openai.yaml +0 -11
  362. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +0 -11
  363. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +0 -12
  364. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/security-check/SKILL.md +0 -11
  365. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/security-check/openai.yaml +0 -13
  366. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/terminal-lane/SKILL.md +0 -11
  367. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/terminal-lane/openai.yaml +0 -11
  368. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/test-intent-lock/SKILL.md +0 -11
  369. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/test-intent-lock/openai.yaml +0 -13
  370. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/tracebank/SKILL.md +0 -11
  371. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/tracebank/openai.yaml +0 -12
  372. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/vision/SKILL.md +0 -11
  373. package/artifacts/release/dist/enterprise/bundle/.agents/skills/omg/vision/openai.yaml +0 -11
  374. package/artifacts/release/dist/enterprise/bundle/.claude-plugin/marketplace.json +0 -36
  375. package/artifacts/release/dist/enterprise/bundle/.claude-plugin/mcp.json +0 -11
  376. package/artifacts/release/dist/enterprise/bundle/.claude-plugin/plugin.json +0 -23
  377. package/artifacts/release/dist/enterprise/bundle/.gemini/settings.json +0 -72
  378. package/artifacts/release/dist/enterprise/bundle/.kimi/mcp.json +0 -72
  379. package/artifacts/release/dist/enterprise/bundle/.mcp.json +0 -18
  380. package/artifacts/release/dist/enterprise/bundle/OMG_COMPAT_CONTRACT.md +0 -111
  381. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/commands/OMG:code-review.md +0 -114
  382. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/commands/OMG:deep-plan.md +0 -266
  383. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/commands/OMG:handoff.md +0 -115
  384. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/commands/OMG:learn.md +0 -110
  385. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/commands/OMG:maintainer.md +0 -31
  386. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/commands/OMG:ralph-start.md +0 -43
  387. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/commands/OMG:ralph-stop.md +0 -23
  388. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/commands/OMG:security-review.md +0 -16
  389. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/commands/OMG:sequential-thinking.md +0 -20
  390. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/commands/OMG:ship.md +0 -46
  391. package/artifacts/release/dist/enterprise/bundle/plugins/advanced/plugin.json +0 -104
  392. package/artifacts/release/dist/enterprise/bundle/registry/bundles/algorithms.yaml +0 -45
  393. package/artifacts/release/dist/enterprise/bundle/registry/bundles/api-twin.yaml +0 -48
  394. package/artifacts/release/dist/enterprise/bundle/registry/bundles/ast-pack.yaml +0 -80
  395. package/artifacts/release/dist/enterprise/bundle/registry/bundles/claim-judge.yaml +0 -49
  396. package/artifacts/release/dist/enterprise/bundle/registry/bundles/control-plane.yaml +0 -192
  397. package/artifacts/release/dist/enterprise/bundle/registry/bundles/data-lineage.yaml +0 -47
  398. package/artifacts/release/dist/enterprise/bundle/registry/bundles/delta-classifier.yaml +0 -47
  399. package/artifacts/release/dist/enterprise/bundle/registry/bundles/eval-gate.yaml +0 -47
  400. package/artifacts/release/dist/enterprise/bundle/registry/bundles/hash-edit.yaml +0 -73
  401. package/artifacts/release/dist/enterprise/bundle/registry/bundles/health.yaml +0 -45
  402. package/artifacts/release/dist/enterprise/bundle/registry/bundles/hook-governor.yaml +0 -101
  403. package/artifacts/release/dist/enterprise/bundle/registry/bundles/incident-replay.yaml +0 -47
  404. package/artifacts/release/dist/enterprise/bundle/registry/bundles/lsp-pack.yaml +0 -80
  405. package/artifacts/release/dist/enterprise/bundle/registry/bundles/mcp-fabric.yaml +0 -53
  406. package/artifacts/release/dist/enterprise/bundle/registry/bundles/plan-council.yaml +0 -56
  407. package/artifacts/release/dist/enterprise/bundle/registry/bundles/preflight.yaml +0 -48
  408. package/artifacts/release/dist/enterprise/bundle/registry/bundles/proof-gate.yaml +0 -49
  409. package/artifacts/release/dist/enterprise/bundle/registry/bundles/remote-supervisor.yaml +0 -49
  410. package/artifacts/release/dist/enterprise/bundle/registry/bundles/robotics.yaml +0 -45
  411. package/artifacts/release/dist/enterprise/bundle/registry/bundles/secure-worktree-pipeline.yaml +0 -69
  412. package/artifacts/release/dist/enterprise/bundle/registry/bundles/security-check.yaml +0 -50
  413. package/artifacts/release/dist/enterprise/bundle/registry/bundles/terminal-lane.yaml +0 -61
  414. package/artifacts/release/dist/enterprise/bundle/registry/bundles/test-intent-lock.yaml +0 -49
  415. package/artifacts/release/dist/enterprise/bundle/registry/bundles/tracebank.yaml +0 -47
  416. package/artifacts/release/dist/enterprise/bundle/registry/bundles/vision.yaml +0 -45
  417. package/artifacts/release/dist/enterprise/bundle/registry/omg-capability.schema.json +0 -378
  418. package/artifacts/release/dist/enterprise/bundle/settings.json +0 -694
  419. package/artifacts/release/dist/enterprise/manifest.json +0 -1093
  420. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.minisig +0 -4
  421. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.statement.json +0 -35
  422. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.minisig +0 -4
  423. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.statement.json +0 -35
  424. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.minisig +0 -4
  425. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.statement.json +0 -35
  426. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.minisig +0 -4
  427. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.statement.json +0 -35
  428. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.minisig +0 -4
  429. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.statement.json +0 -35
  430. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.minisig +0 -4
  431. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.statement.json +0 -35
  432. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.minisig +0 -4
  433. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.statement.json +0 -35
  434. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.minisig +0 -4
  435. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.statement.json +0 -35
  436. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.minisig +0 -4
  437. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.statement.json +0 -35
  438. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/codex-mcp.toml.minisig +0 -4
  439. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/codex-mcp.toml.statement.json +0 -35
  440. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/codex-rules.md.minisig +0 -4
  441. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/codex-rules.md.statement.json +0 -35
  442. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.minisig +0 -4
  443. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.statement.json +0 -35
  444. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.minisig +0 -4
  445. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.statement.json +0 -35
  446. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.minisig +0 -4
  447. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.statement.json +0 -35
  448. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.minisig +0 -4
  449. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.statement.json +0 -35
  450. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.minisig +0 -4
  451. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.statement.json +0 -35
  452. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.minisig +0 -4
  453. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.statement.json +0 -35
  454. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.minisig +0 -4
  455. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.statement.json +0 -35
  456. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.minisig +0 -4
  457. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.statement.json +0 -35
  458. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.minisig +0 -4
  459. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.statement.json +0 -35
  460. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.minisig +0 -4
  461. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.statement.json +0 -35
  462. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/health/SKILL.md.minisig +0 -4
  463. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/health/SKILL.md.statement.json +0 -35
  464. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/health/openai.yaml.minisig +0 -4
  465. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/health/openai.yaml.statement.json +0 -35
  466. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.minisig +0 -4
  467. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.statement.json +0 -35
  468. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.minisig +0 -4
  469. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.statement.json +0 -35
  470. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.minisig +0 -4
  471. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.statement.json +0 -35
  472. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.minisig +0 -4
  473. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.statement.json +0 -35
  474. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.minisig +0 -4
  475. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.statement.json +0 -35
  476. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.minisig +0 -4
  477. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.statement.json +0 -35
  478. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.minisig +0 -4
  479. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.statement.json +0 -35
  480. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.minisig +0 -4
  481. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.statement.json +0 -35
  482. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.minisig +0 -4
  483. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.statement.json +0 -35
  484. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.minisig +0 -4
  485. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.statement.json +0 -35
  486. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.minisig +0 -4
  487. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.statement.json +0 -35
  488. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.minisig +0 -4
  489. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.statement.json +0 -35
  490. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.minisig +0 -4
  491. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.statement.json +0 -35
  492. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.minisig +0 -4
  493. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.statement.json +0 -35
  494. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.minisig +0 -4
  495. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.statement.json +0 -35
  496. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.minisig +0 -4
  497. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.statement.json +0 -35
  498. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.minisig +0 -4
  499. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.statement.json +0 -35
  500. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.minisig +0 -4
  501. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.statement.json +0 -35
  502. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.minisig +0 -4
  503. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.statement.json +0 -35
  504. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.minisig +0 -4
  505. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.statement.json +0 -35
  506. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.minisig +0 -4
  507. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.statement.json +0 -35
  508. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.minisig +0 -4
  509. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.statement.json +0 -35
  510. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.minisig +0 -4
  511. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.statement.json +0 -35
  512. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.minisig +0 -4
  513. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.statement.json +0 -35
  514. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.minisig +0 -4
  515. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.statement.json +0 -35
  516. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.minisig +0 -4
  517. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.statement.json +0 -35
  518. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.minisig +0 -4
  519. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.statement.json +0 -35
  520. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.minisig +0 -4
  521. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.statement.json +0 -35
  522. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/vision/SKILL.md.minisig +0 -4
  523. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/vision/SKILL.md.statement.json +0 -35
  524. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/vision/openai.yaml.minisig +0 -4
  525. package/artifacts/release/dist/public/attestations/bundle/.agents/skills/omg/vision/openai.yaml.statement.json +0 -35
  526. package/artifacts/release/dist/public/attestations/bundle/.claude-plugin/marketplace.json.minisig +0 -4
  527. package/artifacts/release/dist/public/attestations/bundle/.claude-plugin/marketplace.json.statement.json +0 -35
  528. package/artifacts/release/dist/public/attestations/bundle/.claude-plugin/mcp.json.minisig +0 -4
  529. package/artifacts/release/dist/public/attestations/bundle/.claude-plugin/mcp.json.statement.json +0 -35
  530. package/artifacts/release/dist/public/attestations/bundle/.claude-plugin/plugin.json.minisig +0 -4
  531. package/artifacts/release/dist/public/attestations/bundle/.claude-plugin/plugin.json.statement.json +0 -35
  532. package/artifacts/release/dist/public/attestations/bundle/.gemini/settings.json.minisig +0 -4
  533. package/artifacts/release/dist/public/attestations/bundle/.gemini/settings.json.statement.json +0 -35
  534. package/artifacts/release/dist/public/attestations/bundle/.kimi/mcp.json.minisig +0 -4
  535. package/artifacts/release/dist/public/attestations/bundle/.kimi/mcp.json.statement.json +0 -35
  536. package/artifacts/release/dist/public/attestations/bundle/.mcp.json.minisig +0 -4
  537. package/artifacts/release/dist/public/attestations/bundle/.mcp.json.statement.json +0 -35
  538. package/artifacts/release/dist/public/attestations/bundle/OMG_COMPAT_CONTRACT.md.minisig +0 -4
  539. package/artifacts/release/dist/public/attestations/bundle/OMG_COMPAT_CONTRACT.md.statement.json +0 -35
  540. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:code-review.md.minisig +0 -4
  541. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:code-review.md.statement.json +0 -35
  542. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:deep-plan.md.minisig +0 -4
  543. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:deep-plan.md.statement.json +0 -35
  544. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:handoff.md.minisig +0 -4
  545. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:handoff.md.statement.json +0 -35
  546. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:learn.md.minisig +0 -4
  547. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:learn.md.statement.json +0 -35
  548. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:maintainer.md.minisig +0 -4
  549. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:maintainer.md.statement.json +0 -35
  550. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:ralph-start.md.minisig +0 -4
  551. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:ralph-start.md.statement.json +0 -35
  552. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:ralph-stop.md.minisig +0 -4
  553. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:ralph-stop.md.statement.json +0 -35
  554. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:security-review.md.minisig +0 -4
  555. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:security-review.md.statement.json +0 -35
  556. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:sequential-thinking.md.minisig +0 -4
  557. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:sequential-thinking.md.statement.json +0 -35
  558. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:ship.md.minisig +0 -4
  559. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/commands/OMG:ship.md.statement.json +0 -35
  560. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/plugin.json.minisig +0 -4
  561. package/artifacts/release/dist/public/attestations/bundle/plugins/advanced/plugin.json.statement.json +0 -35
  562. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/algorithms.yaml.minisig +0 -4
  563. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/algorithms.yaml.statement.json +0 -35
  564. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/api-twin.yaml.minisig +0 -4
  565. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/api-twin.yaml.statement.json +0 -35
  566. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/ast-pack.yaml.minisig +0 -4
  567. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/ast-pack.yaml.statement.json +0 -35
  568. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/claim-judge.yaml.minisig +0 -4
  569. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/claim-judge.yaml.statement.json +0 -35
  570. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/control-plane.yaml.minisig +0 -4
  571. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/control-plane.yaml.statement.json +0 -35
  572. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/data-lineage.yaml.minisig +0 -4
  573. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/data-lineage.yaml.statement.json +0 -35
  574. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/delta-classifier.yaml.minisig +0 -4
  575. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/delta-classifier.yaml.statement.json +0 -35
  576. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/eval-gate.yaml.minisig +0 -4
  577. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/eval-gate.yaml.statement.json +0 -35
  578. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/hash-edit.yaml.minisig +0 -4
  579. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/hash-edit.yaml.statement.json +0 -35
  580. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/health.yaml.minisig +0 -4
  581. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/health.yaml.statement.json +0 -35
  582. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/hook-governor.yaml.minisig +0 -4
  583. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/hook-governor.yaml.statement.json +0 -35
  584. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/incident-replay.yaml.minisig +0 -4
  585. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/incident-replay.yaml.statement.json +0 -35
  586. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/lsp-pack.yaml.minisig +0 -4
  587. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/lsp-pack.yaml.statement.json +0 -35
  588. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/mcp-fabric.yaml.minisig +0 -4
  589. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/mcp-fabric.yaml.statement.json +0 -35
  590. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/plan-council.yaml.minisig +0 -4
  591. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/plan-council.yaml.statement.json +0 -35
  592. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/preflight.yaml.minisig +0 -4
  593. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/preflight.yaml.statement.json +0 -35
  594. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/proof-gate.yaml.minisig +0 -4
  595. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/proof-gate.yaml.statement.json +0 -35
  596. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/remote-supervisor.yaml.minisig +0 -4
  597. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/remote-supervisor.yaml.statement.json +0 -35
  598. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/robotics.yaml.minisig +0 -4
  599. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/robotics.yaml.statement.json +0 -35
  600. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.minisig +0 -4
  601. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.statement.json +0 -35
  602. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/security-check.yaml.minisig +0 -4
  603. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/security-check.yaml.statement.json +0 -35
  604. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/terminal-lane.yaml.minisig +0 -4
  605. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/terminal-lane.yaml.statement.json +0 -35
  606. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/test-intent-lock.yaml.minisig +0 -4
  607. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/test-intent-lock.yaml.statement.json +0 -35
  608. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/tracebank.yaml.minisig +0 -4
  609. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/tracebank.yaml.statement.json +0 -35
  610. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/vision.yaml.minisig +0 -4
  611. package/artifacts/release/dist/public/attestations/bundle/registry/bundles/vision.yaml.statement.json +0 -35
  612. package/artifacts/release/dist/public/attestations/bundle/registry/omg-capability.schema.json.minisig +0 -4
  613. package/artifacts/release/dist/public/attestations/bundle/registry/omg-capability.schema.json.statement.json +0 -35
  614. package/artifacts/release/dist/public/attestations/bundle/settings.json.minisig +0 -4
  615. package/artifacts/release/dist/public/attestations/bundle/settings.json.statement.json +0 -35
  616. package/artifacts/release/dist/public/bundle/.agents/skills/omg/AGENTS.fragment.md +0 -75
  617. package/artifacts/release/dist/public/bundle/.agents/skills/omg/algorithms/SKILL.md +0 -11
  618. package/artifacts/release/dist/public/bundle/.agents/skills/omg/algorithms/openai.yaml +0 -11
  619. package/artifacts/release/dist/public/bundle/.agents/skills/omg/api-twin/SKILL.md +0 -11
  620. package/artifacts/release/dist/public/bundle/.agents/skills/omg/api-twin/openai.yaml +0 -12
  621. package/artifacts/release/dist/public/bundle/.agents/skills/omg/ast-pack/SKILL.md +0 -11
  622. package/artifacts/release/dist/public/bundle/.agents/skills/omg/ast-pack/openai.yaml +0 -12
  623. package/artifacts/release/dist/public/bundle/.agents/skills/omg/claim-judge/SKILL.md +0 -11
  624. package/artifacts/release/dist/public/bundle/.agents/skills/omg/claim-judge/openai.yaml +0 -13
  625. package/artifacts/release/dist/public/bundle/.agents/skills/omg/codex-mcp.toml +0 -4
  626. package/artifacts/release/dist/public/bundle/.agents/skills/omg/codex-rules.md +0 -38
  627. package/artifacts/release/dist/public/bundle/.agents/skills/omg/control-plane/SKILL.md +0 -11
  628. package/artifacts/release/dist/public/bundle/.agents/skills/omg/control-plane/openai.yaml +0 -14
  629. package/artifacts/release/dist/public/bundle/.agents/skills/omg/data-lineage/SKILL.md +0 -11
  630. package/artifacts/release/dist/public/bundle/.agents/skills/omg/data-lineage/openai.yaml +0 -12
  631. package/artifacts/release/dist/public/bundle/.agents/skills/omg/delta-classifier/SKILL.md +0 -11
  632. package/artifacts/release/dist/public/bundle/.agents/skills/omg/delta-classifier/openai.yaml +0 -12
  633. package/artifacts/release/dist/public/bundle/.agents/skills/omg/eval-gate/SKILL.md +0 -11
  634. package/artifacts/release/dist/public/bundle/.agents/skills/omg/eval-gate/openai.yaml +0 -12
  635. package/artifacts/release/dist/public/bundle/.agents/skills/omg/hash-edit/SKILL.md +0 -11
  636. package/artifacts/release/dist/public/bundle/.agents/skills/omg/hash-edit/openai.yaml +0 -11
  637. package/artifacts/release/dist/public/bundle/.agents/skills/omg/health/SKILL.md +0 -11
  638. package/artifacts/release/dist/public/bundle/.agents/skills/omg/health/openai.yaml +0 -11
  639. package/artifacts/release/dist/public/bundle/.agents/skills/omg/hook-governor/SKILL.md +0 -11
  640. package/artifacts/release/dist/public/bundle/.agents/skills/omg/hook-governor/openai.yaml +0 -11
  641. package/artifacts/release/dist/public/bundle/.agents/skills/omg/incident-replay/SKILL.md +0 -11
  642. package/artifacts/release/dist/public/bundle/.agents/skills/omg/incident-replay/openai.yaml +0 -12
  643. package/artifacts/release/dist/public/bundle/.agents/skills/omg/lsp-pack/SKILL.md +0 -11
  644. package/artifacts/release/dist/public/bundle/.agents/skills/omg/lsp-pack/openai.yaml +0 -12
  645. package/artifacts/release/dist/public/bundle/.agents/skills/omg/mcp-fabric/SKILL.md +0 -11
  646. package/artifacts/release/dist/public/bundle/.agents/skills/omg/mcp-fabric/openai.yaml +0 -13
  647. package/artifacts/release/dist/public/bundle/.agents/skills/omg/plan-council/SKILL.md +0 -11
  648. package/artifacts/release/dist/public/bundle/.agents/skills/omg/plan-council/openai.yaml +0 -12
  649. package/artifacts/release/dist/public/bundle/.agents/skills/omg/preflight/SKILL.md +0 -11
  650. package/artifacts/release/dist/public/bundle/.agents/skills/omg/preflight/openai.yaml +0 -12
  651. package/artifacts/release/dist/public/bundle/.agents/skills/omg/proof-gate/SKILL.md +0 -11
  652. package/artifacts/release/dist/public/bundle/.agents/skills/omg/proof-gate/openai.yaml +0 -13
  653. package/artifacts/release/dist/public/bundle/.agents/skills/omg/remote-supervisor/SKILL.md +0 -11
  654. package/artifacts/release/dist/public/bundle/.agents/skills/omg/remote-supervisor/openai.yaml +0 -12
  655. package/artifacts/release/dist/public/bundle/.agents/skills/omg/robotics/SKILL.md +0 -11
  656. package/artifacts/release/dist/public/bundle/.agents/skills/omg/robotics/openai.yaml +0 -11
  657. package/artifacts/release/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +0 -11
  658. package/artifacts/release/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +0 -12
  659. package/artifacts/release/dist/public/bundle/.agents/skills/omg/security-check/SKILL.md +0 -11
  660. package/artifacts/release/dist/public/bundle/.agents/skills/omg/security-check/openai.yaml +0 -13
  661. package/artifacts/release/dist/public/bundle/.agents/skills/omg/terminal-lane/SKILL.md +0 -11
  662. package/artifacts/release/dist/public/bundle/.agents/skills/omg/terminal-lane/openai.yaml +0 -11
  663. package/artifacts/release/dist/public/bundle/.agents/skills/omg/test-intent-lock/SKILL.md +0 -11
  664. package/artifacts/release/dist/public/bundle/.agents/skills/omg/test-intent-lock/openai.yaml +0 -13
  665. package/artifacts/release/dist/public/bundle/.agents/skills/omg/tracebank/SKILL.md +0 -11
  666. package/artifacts/release/dist/public/bundle/.agents/skills/omg/tracebank/openai.yaml +0 -12
  667. package/artifacts/release/dist/public/bundle/.agents/skills/omg/vision/SKILL.md +0 -11
  668. package/artifacts/release/dist/public/bundle/.agents/skills/omg/vision/openai.yaml +0 -11
  669. package/artifacts/release/dist/public/bundle/.claude-plugin/marketplace.json +0 -36
  670. package/artifacts/release/dist/public/bundle/.claude-plugin/mcp.json +0 -11
  671. package/artifacts/release/dist/public/bundle/.claude-plugin/plugin.json +0 -23
  672. package/artifacts/release/dist/public/bundle/.gemini/settings.json +0 -72
  673. package/artifacts/release/dist/public/bundle/.kimi/mcp.json +0 -72
  674. package/artifacts/release/dist/public/bundle/.mcp.json +0 -18
  675. package/artifacts/release/dist/public/bundle/OMG_COMPAT_CONTRACT.md +0 -111
  676. package/artifacts/release/dist/public/bundle/plugins/advanced/commands/OMG:code-review.md +0 -114
  677. package/artifacts/release/dist/public/bundle/plugins/advanced/commands/OMG:deep-plan.md +0 -266
  678. package/artifacts/release/dist/public/bundle/plugins/advanced/commands/OMG:handoff.md +0 -115
  679. package/artifacts/release/dist/public/bundle/plugins/advanced/commands/OMG:learn.md +0 -110
  680. package/artifacts/release/dist/public/bundle/plugins/advanced/commands/OMG:maintainer.md +0 -31
  681. package/artifacts/release/dist/public/bundle/plugins/advanced/commands/OMG:ralph-start.md +0 -43
  682. package/artifacts/release/dist/public/bundle/plugins/advanced/commands/OMG:ralph-stop.md +0 -23
  683. package/artifacts/release/dist/public/bundle/plugins/advanced/commands/OMG:security-review.md +0 -16
  684. package/artifacts/release/dist/public/bundle/plugins/advanced/commands/OMG:sequential-thinking.md +0 -20
  685. package/artifacts/release/dist/public/bundle/plugins/advanced/commands/OMG:ship.md +0 -46
  686. package/artifacts/release/dist/public/bundle/plugins/advanced/plugin.json +0 -104
  687. package/artifacts/release/dist/public/bundle/registry/bundles/algorithms.yaml +0 -45
  688. package/artifacts/release/dist/public/bundle/registry/bundles/api-twin.yaml +0 -48
  689. package/artifacts/release/dist/public/bundle/registry/bundles/ast-pack.yaml +0 -80
  690. package/artifacts/release/dist/public/bundle/registry/bundles/claim-judge.yaml +0 -49
  691. package/artifacts/release/dist/public/bundle/registry/bundles/control-plane.yaml +0 -192
  692. package/artifacts/release/dist/public/bundle/registry/bundles/data-lineage.yaml +0 -47
  693. package/artifacts/release/dist/public/bundle/registry/bundles/delta-classifier.yaml +0 -47
  694. package/artifacts/release/dist/public/bundle/registry/bundles/eval-gate.yaml +0 -47
  695. package/artifacts/release/dist/public/bundle/registry/bundles/hash-edit.yaml +0 -73
  696. package/artifacts/release/dist/public/bundle/registry/bundles/health.yaml +0 -45
  697. package/artifacts/release/dist/public/bundle/registry/bundles/hook-governor.yaml +0 -101
  698. package/artifacts/release/dist/public/bundle/registry/bundles/incident-replay.yaml +0 -47
  699. package/artifacts/release/dist/public/bundle/registry/bundles/lsp-pack.yaml +0 -80
  700. package/artifacts/release/dist/public/bundle/registry/bundles/mcp-fabric.yaml +0 -53
  701. package/artifacts/release/dist/public/bundle/registry/bundles/plan-council.yaml +0 -56
  702. package/artifacts/release/dist/public/bundle/registry/bundles/preflight.yaml +0 -48
  703. package/artifacts/release/dist/public/bundle/registry/bundles/proof-gate.yaml +0 -49
  704. package/artifacts/release/dist/public/bundle/registry/bundles/remote-supervisor.yaml +0 -49
  705. package/artifacts/release/dist/public/bundle/registry/bundles/robotics.yaml +0 -45
  706. package/artifacts/release/dist/public/bundle/registry/bundles/secure-worktree-pipeline.yaml +0 -69
  707. package/artifacts/release/dist/public/bundle/registry/bundles/security-check.yaml +0 -50
  708. package/artifacts/release/dist/public/bundle/registry/bundles/terminal-lane.yaml +0 -61
  709. package/artifacts/release/dist/public/bundle/registry/bundles/test-intent-lock.yaml +0 -49
  710. package/artifacts/release/dist/public/bundle/registry/bundles/tracebank.yaml +0 -47
  711. package/artifacts/release/dist/public/bundle/registry/bundles/vision.yaml +0 -45
  712. package/artifacts/release/dist/public/bundle/registry/omg-capability.schema.json +0 -378
  713. package/artifacts/release/dist/public/bundle/settings.json +0 -694
  714. package/artifacts/release/dist/public/manifest.json +0 -1093
  715. package/artifacts/release/evidence/music-omr-run-1.json +0 -16
  716. package/artifacts/release/plugins/advanced/commands/OMG:code-review.md +0 -114
  717. package/artifacts/release/plugins/advanced/commands/OMG:deep-plan.md +0 -266
  718. package/artifacts/release/plugins/advanced/commands/OMG:handoff.md +0 -115
  719. package/artifacts/release/plugins/advanced/commands/OMG:learn.md +0 -110
  720. package/artifacts/release/plugins/advanced/commands/OMG:maintainer.md +0 -31
  721. package/artifacts/release/plugins/advanced/commands/OMG:ralph-start.md +0 -43
  722. package/artifacts/release/plugins/advanced/commands/OMG:ralph-stop.md +0 -23
  723. package/artifacts/release/plugins/advanced/commands/OMG:security-review.md +0 -16
  724. package/artifacts/release/plugins/advanced/commands/OMG:sequential-thinking.md +0 -20
  725. package/artifacts/release/plugins/advanced/commands/OMG:ship.md +0 -46
  726. package/artifacts/release/plugins/advanced/plugin.json +0 -104
  727. package/artifacts/release/registry/bundles/algorithms.yaml +0 -45
  728. package/artifacts/release/registry/bundles/api-twin.yaml +0 -48
  729. package/artifacts/release/registry/bundles/ast-pack.yaml +0 -80
  730. package/artifacts/release/registry/bundles/claim-judge.yaml +0 -49
  731. package/artifacts/release/registry/bundles/control-plane.yaml +0 -192
  732. package/artifacts/release/registry/bundles/data-lineage.yaml +0 -47
  733. package/artifacts/release/registry/bundles/delta-classifier.yaml +0 -47
  734. package/artifacts/release/registry/bundles/eval-gate.yaml +0 -47
  735. package/artifacts/release/registry/bundles/hash-edit.yaml +0 -73
  736. package/artifacts/release/registry/bundles/health.yaml +0 -45
  737. package/artifacts/release/registry/bundles/hook-governor.yaml +0 -101
  738. package/artifacts/release/registry/bundles/incident-replay.yaml +0 -47
  739. package/artifacts/release/registry/bundles/lsp-pack.yaml +0 -80
  740. package/artifacts/release/registry/bundles/mcp-fabric.yaml +0 -53
  741. package/artifacts/release/registry/bundles/plan-council.yaml +0 -56
  742. package/artifacts/release/registry/bundles/preflight.yaml +0 -48
  743. package/artifacts/release/registry/bundles/proof-gate.yaml +0 -49
  744. package/artifacts/release/registry/bundles/remote-supervisor.yaml +0 -49
  745. package/artifacts/release/registry/bundles/robotics.yaml +0 -45
  746. package/artifacts/release/registry/bundles/secure-worktree-pipeline.yaml +0 -69
  747. package/artifacts/release/registry/bundles/security-check.yaml +0 -50
  748. package/artifacts/release/registry/bundles/terminal-lane.yaml +0 -61
  749. package/artifacts/release/registry/bundles/test-intent-lock.yaml +0 -49
  750. package/artifacts/release/registry/bundles/tracebank.yaml +0 -47
  751. package/artifacts/release/registry/bundles/vision.yaml +0 -45
  752. package/artifacts/release/registry/omg-capability.schema.json +0 -378
  753. package/artifacts/release/settings.json +0 -694
  754. package/build/lib/agents/__init__.py +0 -1
  755. package/build/lib/agents/designer.md +0 -67
  756. package/build/lib/agents/explore.md +0 -60
  757. package/build/lib/agents/model_roles.py +0 -196
  758. package/build/lib/agents/omg-api-builder.md +0 -23
  759. package/build/lib/agents/omg-architect-mode.md +0 -41
  760. package/build/lib/agents/omg-architect.md +0 -13
  761. package/build/lib/agents/omg-backend-engineer.md +0 -41
  762. package/build/lib/agents/omg-critic.md +0 -16
  763. package/build/lib/agents/omg-database-engineer.md +0 -41
  764. package/build/lib/agents/omg-escalation-router.md +0 -17
  765. package/build/lib/agents/omg-executor.md +0 -12
  766. package/build/lib/agents/omg-frontend-designer.md +0 -41
  767. package/build/lib/agents/omg-implement-mode.md +0 -49
  768. package/build/lib/agents/omg-infra-engineer.md +0 -41
  769. package/build/lib/agents/omg-qa-tester.md +0 -16
  770. package/build/lib/agents/omg-research-mode.md +0 -41
  771. package/build/lib/agents/omg-security-auditor.md +0 -41
  772. package/build/lib/agents/omg-testing-engineer.md +0 -41
  773. package/build/lib/agents/plan.md +0 -80
  774. package/build/lib/agents/quick_task.md +0 -64
  775. package/build/lib/agents/reviewer.md +0 -83
  776. package/build/lib/agents/task.md +0 -71
  777. package/build/lib/commands/OMG:ai-commit.md +0 -113
  778. package/build/lib/commands/OMG:api-twin.md +0 -22
  779. package/build/lib/commands/OMG:arch.md +0 -313
  780. package/build/lib/commands/OMG:browser.md +0 -29
  781. package/build/lib/commands/OMG:ccg.md +0 -22
  782. package/build/lib/commands/OMG:compat.md +0 -57
  783. package/build/lib/commands/OMG:cost.md +0 -181
  784. package/build/lib/commands/OMG:crazy.md +0 -125
  785. package/build/lib/commands/OMG:create-agent.md +0 -183
  786. package/build/lib/commands/OMG:deep-plan.md +0 -18
  787. package/build/lib/commands/OMG:deps.md +0 -248
  788. package/build/lib/commands/OMG:diagnose-plugins.md +0 -33
  789. package/build/lib/commands/OMG:doctor.md +0 -37
  790. package/build/lib/commands/OMG:domain-init.md +0 -11
  791. package/build/lib/commands/OMG:escalate.md +0 -52
  792. package/build/lib/commands/OMG:forge.md +0 -103
  793. package/build/lib/commands/OMG:health-check.md +0 -48
  794. package/build/lib/commands/OMG:init.md +0 -134
  795. package/build/lib/commands/OMG:issue.md +0 -56
  796. package/build/lib/commands/OMG:mode.md +0 -44
  797. package/build/lib/commands/OMG:playwright.md +0 -17
  798. package/build/lib/commands/OMG:preflight.md +0 -26
  799. package/build/lib/commands/OMG:preset.md +0 -49
  800. package/build/lib/commands/OMG:profile-review.md +0 -58
  801. package/build/lib/commands/OMG:project-init.md +0 -11
  802. package/build/lib/commands/OMG:ralph-start.md +0 -43
  803. package/build/lib/commands/OMG:ralph-stop.md +0 -23
  804. package/build/lib/commands/OMG:security-check.md +0 -28
  805. package/build/lib/commands/OMG:session-branch.md +0 -101
  806. package/build/lib/commands/OMG:session-fork.md +0 -57
  807. package/build/lib/commands/OMG:session-merge.md +0 -138
  808. package/build/lib/commands/OMG:setup.md +0 -82
  809. package/build/lib/commands/OMG:stats.md +0 -225
  810. package/build/lib/commands/OMG:teams.md +0 -54
  811. package/build/lib/commands/OMG:theme.md +0 -44
  812. package/build/lib/commands/OMG:validate.md +0 -59
  813. package/build/lib/commands/__init__.py +0 -1
  814. package/build/lib/control_plane/__init__.py +0 -2
  815. package/build/lib/control_plane/openapi.yaml +0 -277
  816. package/build/lib/control_plane/server.py +0 -155
  817. package/build/lib/control_plane/service.py +0 -456
  818. package/build/lib/hooks/__init__.py +0 -0
  819. package/build/lib/hooks/_agent_registry.py +0 -479
  820. package/build/lib/hooks/_analytics.py +0 -291
  821. package/build/lib/hooks/_budget.py +0 -31
  822. package/build/lib/hooks/_common.py +0 -647
  823. package/build/lib/hooks/_compression_optimizer.py +0 -119
  824. package/build/lib/hooks/_cost_ledger.py +0 -176
  825. package/build/lib/hooks/_learnings.py +0 -126
  826. package/build/lib/hooks/_memory.py +0 -103
  827. package/build/lib/hooks/_protected_context.py +0 -150
  828. package/build/lib/hooks/_token_counter.py +0 -221
  829. package/build/lib/hooks/branch_manager.py +0 -253
  830. package/build/lib/hooks/budget_governor.py +0 -257
  831. package/build/lib/hooks/circuit-breaker.py +0 -270
  832. package/build/lib/hooks/compression_feedback.py +0 -254
  833. package/build/lib/hooks/config-guard.py +0 -216
  834. package/build/lib/hooks/context_pressure.py +0 -119
  835. package/build/lib/hooks/credential_store.py +0 -970
  836. package/build/lib/hooks/fetch-rate-limits.py +0 -212
  837. package/build/lib/hooks/firewall.py +0 -301
  838. package/build/lib/hooks/hashline-formatter-bridge.py +0 -224
  839. package/build/lib/hooks/hashline-injector.py +0 -273
  840. package/build/lib/hooks/hashline-validator.py +0 -216
  841. package/build/lib/hooks/idle-detector.py +0 -95
  842. package/build/lib/hooks/instructions-loaded.py +0 -26
  843. package/build/lib/hooks/intentgate-keyword-detector.py +0 -200
  844. package/build/lib/hooks/magic-keyword-router.py +0 -195
  845. package/build/lib/hooks/policy_engine.py +0 -718
  846. package/build/lib/hooks/post-tool-failure.py +0 -19
  847. package/build/lib/hooks/post-write.py +0 -219
  848. package/build/lib/hooks/post_write.py +0 -46
  849. package/build/lib/hooks/pre-compact.py +0 -470
  850. package/build/lib/hooks/pre-tool-inject.py +0 -98
  851. package/build/lib/hooks/prompt-enhancer.py +0 -877
  852. package/build/lib/hooks/quality-runner.py +0 -191
  853. package/build/lib/hooks/query.py +0 -512
  854. package/build/lib/hooks/secret-guard.py +0 -99
  855. package/build/lib/hooks/secret_audit.py +0 -144
  856. package/build/lib/hooks/security_validators.py +0 -75
  857. package/build/lib/hooks/session-end-capture.py +0 -505
  858. package/build/lib/hooks/session-start.py +0 -259
  859. package/build/lib/hooks/setup_wizard.py +0 -1132
  860. package/build/lib/hooks/shadow_manager.py +0 -476
  861. package/build/lib/hooks/state_migration.py +0 -228
  862. package/build/lib/hooks/stop-gate.py +0 -7
  863. package/build/lib/hooks/stop_dispatcher.py +0 -1130
  864. package/build/lib/hooks/tdd-gate.py +0 -10
  865. package/build/lib/hooks/test-validator.py +0 -430
  866. package/build/lib/hooks/test_generator_hook.py +0 -123
  867. package/build/lib/hooks/todo-state-tracker.py +0 -114
  868. package/build/lib/hooks/tool-ledger.py +0 -165
  869. package/build/lib/hooks/trust_review.py +0 -585
  870. package/build/lib/hooks/user-prompt-submit.py +0 -12
  871. package/build/lib/plugins/README.md +0 -64
  872. package/build/lib/plugins/__init__.py +0 -1
  873. package/build/lib/plugins/advanced/commands/OMG:code-review.md +0 -114
  874. package/build/lib/plugins/advanced/commands/OMG:deep-plan.md +0 -266
  875. package/build/lib/plugins/advanced/commands/OMG:handoff.md +0 -115
  876. package/build/lib/plugins/advanced/commands/OMG:learn.md +0 -110
  877. package/build/lib/plugins/advanced/commands/OMG:maintainer.md +0 -31
  878. package/build/lib/plugins/advanced/commands/OMG:ralph-start.md +0 -43
  879. package/build/lib/plugins/advanced/commands/OMG:ralph-stop.md +0 -23
  880. package/build/lib/plugins/advanced/commands/OMG:security-review.md +0 -16
  881. package/build/lib/plugins/advanced/commands/OMG:sequential-thinking.md +0 -20
  882. package/build/lib/plugins/advanced/commands/OMG:ship.md +0 -46
  883. package/build/lib/plugins/advanced/plugin.json +0 -104
  884. package/build/lib/plugins/core/plugin.json +0 -199
  885. package/build/lib/plugins/dephealth/__init__.py +0 -0
  886. package/build/lib/plugins/dephealth/cve_scanner.py +0 -279
  887. package/build/lib/plugins/dephealth/license_checker.py +0 -135
  888. package/build/lib/plugins/dephealth/manifest_detector.py +0 -423
  889. package/build/lib/plugins/dephealth/vuln_analyzer.py +0 -176
  890. package/build/lib/plugins/testgen/__init__.py +0 -0
  891. package/build/lib/plugins/testgen/codamosa_engine.py +0 -402
  892. package/build/lib/plugins/testgen/edge_case_synthesizer.py +0 -184
  893. package/build/lib/plugins/testgen/framework_detector.py +0 -271
  894. package/build/lib/plugins/testgen/skeleton_generator.py +0 -219
  895. package/build/lib/plugins/viz/__init__.py +0 -0
  896. package/build/lib/plugins/viz/ast_parser.py +0 -139
  897. package/build/lib/plugins/viz/diagram_generator.py +0 -192
  898. package/build/lib/plugins/viz/graph_builder.py +0 -444
  899. package/build/lib/plugins/viz/native_parsers.py +0 -259
  900. package/build/lib/plugins/viz/regex_parser.py +0 -112
  901. package/build/lib/registry/__init__.py +0 -1
  902. package/build/lib/registry/approval_artifact.py +0 -236
  903. package/build/lib/registry/bundles/algorithms.yaml +0 -45
  904. package/build/lib/registry/bundles/api-twin.yaml +0 -48
  905. package/build/lib/registry/bundles/ast-pack.yaml +0 -80
  906. package/build/lib/registry/bundles/claim-judge.yaml +0 -49
  907. package/build/lib/registry/bundles/control-plane.yaml +0 -192
  908. package/build/lib/registry/bundles/data-lineage.yaml +0 -47
  909. package/build/lib/registry/bundles/delta-classifier.yaml +0 -47
  910. package/build/lib/registry/bundles/eval-gate.yaml +0 -47
  911. package/build/lib/registry/bundles/hash-edit.yaml +0 -73
  912. package/build/lib/registry/bundles/health.yaml +0 -45
  913. package/build/lib/registry/bundles/hook-governor.yaml +0 -101
  914. package/build/lib/registry/bundles/incident-replay.yaml +0 -47
  915. package/build/lib/registry/bundles/lsp-pack.yaml +0 -80
  916. package/build/lib/registry/bundles/mcp-fabric.yaml +0 -53
  917. package/build/lib/registry/bundles/plan-council.yaml +0 -56
  918. package/build/lib/registry/bundles/preflight.yaml +0 -48
  919. package/build/lib/registry/bundles/proof-gate.yaml +0 -49
  920. package/build/lib/registry/bundles/remote-supervisor.yaml +0 -49
  921. package/build/lib/registry/bundles/robotics.yaml +0 -45
  922. package/build/lib/registry/bundles/secure-worktree-pipeline.yaml +0 -69
  923. package/build/lib/registry/bundles/security-check.yaml +0 -50
  924. package/build/lib/registry/bundles/terminal-lane.yaml +0 -61
  925. package/build/lib/registry/bundles/test-intent-lock.yaml +0 -49
  926. package/build/lib/registry/bundles/tracebank.yaml +0 -47
  927. package/build/lib/registry/bundles/vision.yaml +0 -45
  928. package/build/lib/registry/omg-capability.schema.json +0 -378
  929. package/build/lib/registry/trusted_signers.json +0 -19
  930. package/build/lib/registry/verify_artifact.py +0 -493
  931. package/build/lib/runtime/__init__.py +0 -36
  932. package/build/lib/runtime/adapters/__init__.py +0 -13
  933. package/build/lib/runtime/adapters/claude.py +0 -63
  934. package/build/lib/runtime/adapters/gpt.py +0 -56
  935. package/build/lib/runtime/adapters/local.py +0 -56
  936. package/build/lib/runtime/adoption.py +0 -276
  937. package/build/lib/runtime/api_twin.py +0 -450
  938. package/build/lib/runtime/architecture_signal.py +0 -226
  939. package/build/lib/runtime/artifact_parsers.py +0 -161
  940. package/build/lib/runtime/asset_loader.py +0 -62
  941. package/build/lib/runtime/background_verification.py +0 -178
  942. package/build/lib/runtime/budget_envelopes.py +0 -358
  943. package/build/lib/runtime/business_workflow.py +0 -234
  944. package/build/lib/runtime/canonical_surface.py +0 -53
  945. package/build/lib/runtime/claim_judge.py +0 -648
  946. package/build/lib/runtime/cli_provider.py +0 -105
  947. package/build/lib/runtime/compat.py +0 -1515
  948. package/build/lib/runtime/complexity_scorer.py +0 -148
  949. package/build/lib/runtime/compliance_governor.py +0 -479
  950. package/build/lib/runtime/context_engine.py +0 -708
  951. package/build/lib/runtime/context_limits.py +0 -363
  952. package/build/lib/runtime/contract_compiler.py +0 -3202
  953. package/build/lib/runtime/custom_agent_loader.py +0 -366
  954. package/build/lib/runtime/data_lineage.py +0 -244
  955. package/build/lib/runtime/defense_state.py +0 -261
  956. package/build/lib/runtime/delta_classifier.py +0 -163
  957. package/build/lib/runtime/dispatcher.py +0 -47
  958. package/build/lib/runtime/domain_packs.py +0 -75
  959. package/build/lib/runtime/ecosystem.py +0 -371
  960. package/build/lib/runtime/equalizer.py +0 -265
  961. package/build/lib/runtime/eval_gate.py +0 -96
  962. package/build/lib/runtime/evidence_query.py +0 -303
  963. package/build/lib/runtime/evidence_registry.py +0 -16
  964. package/build/lib/runtime/evidence_requirements.py +0 -157
  965. package/build/lib/runtime/exec_kernel.py +0 -267
  966. package/build/lib/runtime/feature_registry.py +0 -109
  967. package/build/lib/runtime/forge_agents.py +0 -915
  968. package/build/lib/runtime/forge_contracts.py +0 -519
  969. package/build/lib/runtime/forge_domains.py +0 -68
  970. package/build/lib/runtime/forge_run_id.py +0 -86
  971. package/build/lib/runtime/github_integration.py +0 -255
  972. package/build/lib/runtime/github_review_bot.py +0 -290
  973. package/build/lib/runtime/github_review_contract.py +0 -65
  974. package/build/lib/runtime/github_review_formatter.py +0 -165
  975. package/build/lib/runtime/guide_assert.py +0 -135
  976. package/build/lib/runtime/hook_governor.py +0 -156
  977. package/build/lib/runtime/host_parity.py +0 -373
  978. package/build/lib/runtime/incident_replay.py +0 -310
  979. package/build/lib/runtime/interaction_journal.py +0 -503
  980. package/build/lib/runtime/issue_surface.py +0 -362
  981. package/build/lib/runtime/legacy_compat.py +0 -7
  982. package/build/lib/runtime/mcp_config_writers.py +0 -233
  983. package/build/lib/runtime/mcp_lifecycle.py +0 -175
  984. package/build/lib/runtime/mcp_memory_server.py +0 -220
  985. package/build/lib/runtime/memory_parsers/__init__.py +0 -0
  986. package/build/lib/runtime/memory_parsers/chatgpt_parser.py +0 -257
  987. package/build/lib/runtime/memory_parsers/claude_import.py +0 -107
  988. package/build/lib/runtime/memory_parsers/export.py +0 -97
  989. package/build/lib/runtime/memory_parsers/gemini_import.py +0 -91
  990. package/build/lib/runtime/memory_parsers/kimi_import.py +0 -91
  991. package/build/lib/runtime/memory_store.py +0 -1182
  992. package/build/lib/runtime/merge_writer.py +0 -408
  993. package/build/lib/runtime/music_omr_testbed.py +0 -333
  994. package/build/lib/runtime/mutation_gate.py +0 -258
  995. package/build/lib/runtime/omc_compat.py +0 -7
  996. package/build/lib/runtime/omg_browser_cli.py +0 -95
  997. package/build/lib/runtime/omg_compat_contract_snapshot.json +0 -916
  998. package/build/lib/runtime/omg_contract_snapshot.json +0 -916
  999. package/build/lib/runtime/omg_mcp_server.py +0 -304
  1000. package/build/lib/runtime/playwright_adapter.py +0 -39
  1001. package/build/lib/runtime/playwright_pack.py +0 -253
  1002. package/build/lib/runtime/plugin_diagnostics.py +0 -248
  1003. package/build/lib/runtime/plugin_interop.py +0 -1035
  1004. package/build/lib/runtime/preflight.py +0 -135
  1005. package/build/lib/runtime/profile_io.py +0 -328
  1006. package/build/lib/runtime/proof_chain.py +0 -472
  1007. package/build/lib/runtime/proof_gate.py +0 -442
  1008. package/build/lib/runtime/providers/__init__.py +0 -0
  1009. package/build/lib/runtime/providers/codex_provider.py +0 -127
  1010. package/build/lib/runtime/providers/gemini_provider.py +0 -141
  1011. package/build/lib/runtime/providers/kimi_provider.py +0 -166
  1012. package/build/lib/runtime/providers/opencode_provider.py +0 -99
  1013. package/build/lib/runtime/release_run_coordinator.py +0 -547
  1014. package/build/lib/runtime/release_surfaces.py +0 -313
  1015. package/build/lib/runtime/remote_supervisor.py +0 -79
  1016. package/build/lib/runtime/repro_pack.py +0 -398
  1017. package/build/lib/runtime/rollback_manifest.py +0 -136
  1018. package/build/lib/runtime/router_critics.py +0 -229
  1019. package/build/lib/runtime/router_executor.py +0 -142
  1020. package/build/lib/runtime/router_selector.py +0 -99
  1021. package/build/lib/runtime/runtime_contracts.py +0 -292
  1022. package/build/lib/runtime/runtime_profile.py +0 -133
  1023. package/build/lib/runtime/security_check.py +0 -1064
  1024. package/build/lib/runtime/session_health.py +0 -524
  1025. package/build/lib/runtime/skill_evolution.py +0 -221
  1026. package/build/lib/runtime/skill_registry.py +0 -53
  1027. package/build/lib/runtime/subagent_dispatcher.py +0 -604
  1028. package/build/lib/runtime/team_router.py +0 -1374
  1029. package/build/lib/runtime/test_intent_lock.py +0 -521
  1030. package/build/lib/runtime/tmux_session_manager.py +0 -172
  1031. package/build/lib/runtime/tool_fabric.py +0 -570
  1032. package/build/lib/runtime/tool_plan_gate.py +0 -452
  1033. package/build/lib/runtime/tracebank.py +0 -125
  1034. package/build/lib/runtime/untrusted_content.py +0 -307
  1035. package/build/lib/runtime/validate.py +0 -293
  1036. package/build/lib/runtime/verification_controller.py +0 -235
  1037. package/build/lib/runtime/verification_loop.py +0 -73
  1038. package/build/lib/runtime/vision_artifacts.py +0 -31
  1039. package/build/lib/runtime/vision_cache.py +0 -38
  1040. package/build/lib/runtime/vision_jobs.py +0 -89
  1041. package/build/lib/runtime/worker_watchdog.py +0 -482
  1042. package/dist/oh_my_god-2.1.4-py3-none-any.whl +0 -0
  1043. package/dist/oh_my_god-2.1.4.tar.gz +0 -0
  1044. package/dist/oh_my_god-2.1.7-py3-none-any.whl +0 -0
  1045. package/dist/oh_my_god-2.1.8-py3-none-any.whl +0 -0
  1046. package/dist/oh_my_god-2.1.9-py3-none-any.whl +0 -0
  1047. package/dist/oh_my_god-2.2.2-py3-none-any.whl +0 -0
@@ -1,1130 +0,0 @@
1
- #!/usr/bin/env python3
2
- """Stop Hook Dispatcher — Priority-based multiplexer for stop checks."""
3
-
4
- import json
5
- import importlib.util
6
- import os
7
- import re
8
- import subprocess
9
- import sys
10
- import time
11
- from datetime import datetime, timedelta, timezone
12
- from pathlib import Path
13
- import warnings
14
-
15
- HOOKS_DIR = str(Path(__file__).resolve().parent)
16
- PROJECT_ROOT = str(Path(HOOKS_DIR).parent)
17
- PORTABLE_RUNTIME_ROOT = str(Path(PROJECT_ROOT) / "omg-runtime")
18
- for path in (HOOKS_DIR, PROJECT_ROOT, PORTABLE_RUNTIME_ROOT):
19
- if path not in sys.path:
20
- sys.path.insert(0, path)
21
-
22
- from hooks._common import ( # noqa: E402
23
- atomic_json_write,
24
- block_decision,
25
- bootstrap_runtime_paths,
26
- check_performance_budget,
27
- get_feature_flag,
28
- get_project_dir,
29
- json_input,
30
- log_hook_error,
31
- record_stop_block,
32
- reset_stop_block_tracker,
33
- _resolve_project_dir,
34
- setup_crash_handler,
35
- should_skip_stop_hooks,
36
- STOP_CHECK_MAX_MS,
37
- STOP_DISPATCHER_TOTAL_MAX_MS,
38
- )
39
- from hooks.state_migration import resolve_state_file # noqa: E402
40
-
41
- bootstrap_runtime_paths(__file__)
42
-
43
- from runtime.release_run_coordinator import resolve_current_run_id # noqa: E402
44
- from runtime import test_intent_lock # noqa: E402
45
-
46
-
47
- setup_crash_handler("stop_dispatcher")
48
-
49
-
50
- NON_SOURCE_PATTERNS = [
51
- ".test.",
52
- "__test",
53
- "_test.",
54
- "/tests/",
55
- "tests/",
56
- "/test/",
57
- "test/",
58
- "spec",
59
- "__tests__",
60
- ".spec.",
61
- "script/",
62
- "scripts/",
63
- "/config/",
64
- ".config.",
65
- "package.json",
66
- "tsconfig",
67
- "eslint",
68
- "prettier",
69
- ".env",
70
- "mock",
71
- "fixture",
72
- "snapshot",
73
- "__mocks__",
74
- "jest.",
75
- "vitest.",
76
- "setup.",
77
- ".omg/",
78
- ".omc/",
79
- "omg-",
80
- "CLAUDE.md",
81
- "AGENTS.md",
82
- "readme",
83
- "changelog",
84
- "license",
85
- ".gitignore",
86
- ".dockerignore",
87
- "dockerfile",
88
- "docker-compose",
89
- "makefile",
90
- ".github/",
91
- ".vscode/",
92
- ".idea/",
93
- ]
94
-
95
- INTERNAL_CONTROL_PATH_PATTERNS = [
96
- ".omg/",
97
- ".omc/",
98
- "hooks/",
99
- "CLAUDE.md",
100
- "AGENTS.md",
101
- ]
102
-
103
-
104
- def _to_bool(value: str | None, default: bool) -> bool:
105
- if value is None:
106
- return default
107
- normalized = value.strip().lower()
108
- if normalized in {"1", "true", "yes", "on"}:
109
- return True
110
- if normalized in {"0", "false", "no", "off"}:
111
- return False
112
- return default
113
-
114
-
115
- def _read_policy_flags(project_root: str) -> tuple[str, bool]:
116
- mode = "warn_and_run"
117
- require_evidence_pack = False
118
- policy_path = os.path.join(project_root, ".omg", "policy.yaml")
119
- if not os.path.exists(policy_path):
120
- return mode, require_evidence_pack
121
-
122
- try:
123
- with open(policy_path, "r", encoding="utf-8", errors="ignore") as f:
124
- for raw in f:
125
- line = raw.strip()
126
- if not line or line.startswith("#"):
127
- continue
128
- if line.startswith("mode:"):
129
- mode = line.split(":", 1)[1].strip().strip("'\"") or mode
130
- elif line.startswith("require_evidence_pack:"):
131
- value = line.split(":", 1)[1].strip().strip("'\"")
132
- require_evidence_pack = _to_bool(value, require_evidence_pack)
133
- except Exception as e: # security: policy enforcement
134
- print(f"[OMG] stop_dispatcher: {type(e).__name__}: {e}", file=sys.stderr)
135
- return mode, require_evidence_pack
136
-
137
-
138
- def _is_non_source_path(file_path: str) -> bool:
139
- fl = str(file_path).lower()
140
- return any(p in fl for p in NON_SOURCE_PATTERNS)
141
-
142
-
143
- def _is_internal_control_path(file_path: str) -> bool:
144
- fl = str(file_path).lower()
145
- return any(p.lower() in fl for p in INTERNAL_CONTROL_PATH_PATTERNS)
146
-
147
-
148
- _RALPH_DEFAULT_TIMEOUT_MINUTES = 10
149
-
150
-
151
- def _watchdog_check(start_time):
152
- """Return True if the dispatcher has exceeded its wall-clock budget."""
153
- return (time.time() - start_time) >= (STOP_DISPATCHER_TOTAL_MAX_MS / 1000)
154
-
155
-
156
- try:
157
- from hooks.shadow_manager import has_recent_evidence # type: ignore
158
- except Exception: # intentional: optional feature — shadow_manager may not exist
159
- has_recent_evidence = None
160
-
161
- # Import hyphenated modules via importlib
162
- _test_validator_check = None
163
- _quality_runner_check = None
164
- try:
165
- _tv_spec = importlib.util.spec_from_file_location(
166
- "test_validator", os.path.join(os.path.dirname(__file__), "test-validator.py"))
167
- if _tv_spec and _tv_spec.loader:
168
- _tv_mod = importlib.util.module_from_spec(_tv_spec)
169
- _tv_spec.loader.exec_module(_tv_mod)
170
- _test_validator_check = getattr(_tv_mod, "check_test_quality", None)
171
- except Exception: # intentional: crash isolation for optional module
172
- pass
173
- try:
174
- _qr_spec = importlib.util.spec_from_file_location(
175
- "quality_runner", os.path.join(os.path.dirname(__file__), "quality-runner.py"))
176
- if _qr_spec and _qr_spec.loader:
177
- _qr_mod = importlib.util.module_from_spec(_qr_spec)
178
- _qr_spec.loader.exec_module(_qr_mod)
179
- _quality_runner_check = getattr(_qr_mod, "check_quality_runner", None)
180
- except Exception: # intentional: crash isolation for optional module
181
- pass
182
-
183
- def _build_context(project_dir: str) -> dict[str, object]:
184
- ledger_path = resolve_state_file(
185
- project_dir,
186
- "state/ledger/tool-ledger.jsonl",
187
- "ledger/tool-ledger.jsonl",
188
- )
189
- ledger_entries = []
190
- if os.path.exists(ledger_path):
191
- try:
192
- with open(ledger_path, "r", encoding="utf-8", errors="ignore") as f:
193
- for line in f:
194
- line = line.strip()
195
- if not line:
196
- continue
197
- try:
198
- entry = json.loads(line)
199
- ledger_entries.append(entry)
200
- except json.JSONDecodeError:
201
- pass # intentional: skip malformed ledger lines
202
- except Exception as e: # security: dispatch context building
203
- print(f"[OMG] stop_dispatcher: {type(e).__name__}: {e}", file=sys.stderr)
204
-
205
- cutoff = (datetime.now(timezone.utc) - timedelta(hours=2)).isoformat()
206
- recent_entries = []
207
- for entry in ledger_entries:
208
- ts = entry.get("ts", "")
209
- if ts >= cutoff:
210
- recent_entries.append(entry)
211
-
212
- recent_commands = [
213
- e.get("command", "").lower()[:300]
214
- for e in recent_entries
215
- if e.get("command")
216
- ]
217
- recent_tools = {e.get("tool", "") for e in recent_entries}
218
- recent_exit_codes = [
219
- (e.get("command", ""), e.get("exit_code"))
220
- for e in recent_entries
221
- if e.get("exit_code") is not None
222
- ]
223
- write_entries = [
224
- e
225
- for e in recent_entries
226
- if e.get("tool") in ("Write", "Edit", "MultiEdit")
227
- ]
228
- material_write_entries = [
229
- e for e in write_entries if not _is_internal_control_path(str(e.get("file", "")))
230
- ]
231
- source_write_entries = [
232
- e for e in material_write_entries if not _is_non_source_path(str(e.get("file", "")))
233
- ]
234
-
235
- return {
236
- "ledger_path": ledger_path,
237
- "ledger_entries": ledger_entries,
238
- "recent_entries": recent_entries,
239
- "recent_commands": recent_commands,
240
- "recent_tools": recent_tools,
241
- "recent_exit_codes": recent_exit_codes,
242
- "write_entries": write_entries,
243
- "material_write_entries": material_write_entries,
244
- "source_write_entries": source_write_entries,
245
- "has_writes": bool(write_entries),
246
- "has_material_writes": bool(material_write_entries),
247
- "has_source_writes": bool(source_write_entries),
248
- }
249
-
250
-
251
- def check_verification(data, project_dir):
252
- if not get_feature_flag("verification", True):
253
- return []
254
-
255
- context = data["_stop_ctx"]
256
- blocks = []
257
- advisories = data.setdefault("_stop_advisories", [])
258
-
259
- recent_commands = context["recent_commands"]
260
- has_source_writes = context["has_source_writes"]
261
-
262
- has_test = any(
263
- any(kw in cmd for kw in ["test", "jest", "vitest", "pytest", "cargo test", "go test"])
264
- for cmd in recent_commands
265
- )
266
- has_lint = any(
267
- any(kw in cmd for kw in ["lint", "eslint", "ruff check", "golint", "clippy"])
268
- for cmd in recent_commands
269
- )
270
- has_build = any(
271
- any(kw in cmd for kw in ["build", "compile", "tsc", "cargo build", "go build", "make"])
272
- for cmd in recent_commands
273
- )
274
- has_any_verification = has_test or has_lint or has_build
275
-
276
- data["_has_test"] = has_test
277
-
278
- qg_path = resolve_state_file(project_dir, "state/quality-gate.json", "quality-gate.json")
279
- expected_checks = []
280
- if os.path.exists(qg_path):
281
- try:
282
- with open(qg_path, "r", encoding="utf-8", errors="ignore") as f:
283
- qg = json.load(f)
284
- for step in ["format", "lint", "typecheck", "test"]:
285
- cmd = qg.get(step)
286
- if isinstance(cmd, str) and cmd.strip():
287
- expected_checks.append(step)
288
- except Exception as e: # security: quality gate loading
289
- print(f"[OMG] stop_dispatcher: {type(e).__name__}: {e}", file=sys.stderr)
290
-
291
- if has_source_writes and not has_any_verification:
292
- if expected_checks:
293
- blocks.append(
294
- "Code was modified but NO verification commands were run.\n"
295
- f"Quality gate expects: {', '.join(expected_checks)}.\n"
296
- "Run your verification commands before completing.\n"
297
- "If you can't run them, explicitly state what is **Unverified** and why."
298
- )
299
- else:
300
- blocks.append(
301
- "Code was modified but NO verification commands were run.\n"
302
- "No quality-gate.json configured, but at minimum run lint/test/build.\n"
303
- "Run /OMG:init to configure quality gates, or explicitly state\n"
304
- "what is **Unverified** and why."
305
- )
306
-
307
- policy_mode, policy_require_evidence = _read_policy_flags(project_dir)
308
- env_evidence_required = os.environ.get("OMG_EVIDENCE_REQUIRED")
309
- evidence_required = _to_bool(env_evidence_required, policy_require_evidence)
310
- strict_evidence_gate = policy_mode.strip().lower() not in {
311
- "warn_and_run",
312
- "warn",
313
- "advisory",
314
- "report_only",
315
- }
316
-
317
- if has_source_writes and evidence_required:
318
- has_ev = False
319
- if has_recent_evidence is not None:
320
- try:
321
- has_ev = bool(has_recent_evidence(project_dir, hours=24))
322
- except Exception as e: # security: evidence verification
323
- print(f"[OMG] stop_dispatcher: {type(e).__name__}: {e}", file=sys.stderr)
324
- has_ev = False
325
- else:
326
- ev_dir = os.path.join(project_dir, ".omg", "evidence")
327
- has_ev = os.path.isdir(ev_dir) and any(n.endswith(".json") for n in os.listdir(ev_dir))
328
-
329
- if not has_ev:
330
- message = (
331
- "OMG v1 evidence gate: source code was modified but no EvidencePack was found.\n"
332
- "Create .omg/evidence/<run-id>.json before completing.\n"
333
- "Required fields: tests, security_scans, diff_summary, reproducibility, unresolved_risks."
334
- )
335
- if strict_evidence_gate:
336
- blocks.append(message)
337
- else:
338
- advisories.append(
339
- f"[OMG advisory] {message} (policy mode: {policy_mode or 'warn_and_run'})"
340
- )
341
-
342
- return blocks
343
-
344
-
345
- def check_diff_budget(data, project_dir):
346
- if not get_feature_flag("diff_budget", True):
347
- return []
348
-
349
- blocks = []
350
- changed_files = []
351
- try:
352
- max_files, max_loc = 3, 120
353
- plan_path = resolve_state_file(project_dir, "state/_plan.md", "_plan.md")
354
- if os.path.exists(plan_path):
355
- with open(plan_path, "r", encoding="utf-8", errors="ignore") as f:
356
- plan = f.read()
357
- if "CHANGE_BUDGET=large" in plan:
358
- max_files, max_loc = 999, 999999
359
- elif "CHANGE_BUDGET=medium" in plan:
360
- max_files, max_loc = 8, 400
361
-
362
- result = subprocess.run(
363
- ["git", "diff", "--name-only"],
364
- capture_output=True,
365
- text=True,
366
- timeout=10,
367
- cwd=project_dir,
368
- )
369
- changed_files = [line for line in result.stdout.strip().split("\n") if line]
370
- files_changed = len(changed_files)
371
-
372
- result2 = subprocess.run(
373
- ["git", "diff", "--numstat"],
374
- capture_output=True,
375
- text=True,
376
- timeout=10,
377
- cwd=project_dir,
378
- )
379
- total_loc = 0
380
- for line in result2.stdout.strip().split("\n"):
381
- parts = line.split("\t")
382
- if len(parts) >= 2:
383
- try:
384
- added = int(parts[0]) if parts[0] != "-" else 0
385
- removed = int(parts[1]) if parts[1] != "-" else 0
386
- total_loc += added + removed
387
- except ValueError:
388
- pass # intentional: skip unparseable numstat lines
389
-
390
- if files_changed > max_files or total_loc > max_loc:
391
- blocks.append(
392
- f"Diff exceeds budget: {files_changed} files / {total_loc} LOC "
393
- f"(limit: {max_files} / {max_loc}).\n"
394
- "Reduce scope OR set CHANGE_BUDGET=medium/large in .omg/state/_plan.md."
395
- )
396
- except Exception as e: # security: diff budget enforcement
397
- print(f"[OMG] stop_dispatcher: {type(e).__name__}: {e}", file=sys.stderr)
398
-
399
- data["_changed_files"] = changed_files
400
- return blocks
401
-
402
-
403
- def check_recent_failures(data, project_dir):
404
- if not get_feature_flag("recent_failures", True):
405
- return []
406
-
407
- del project_dir
408
-
409
- recent_entries = data["_stop_ctx"]["recent_entries"]
410
- blocks = []
411
- recent_bash = [
412
- (e.get("command", "")[:80], e.get("exit_code"))
413
- for e in recent_entries
414
- if e.get("tool") == "Bash" and e.get("exit_code") is not None
415
- ]
416
- if len(recent_bash) >= 3:
417
- last_three = recent_bash[-3:]
418
- all_failed = all(exit_code != 0 for _, exit_code in last_three)
419
- if all_failed:
420
- cmds = [f" {cmd} (exit {exit_code})" for cmd, exit_code in last_three]
421
- blocks.append(
422
- "Last 3 commands ALL FAILED:\n"
423
- + "\n".join(cmds)
424
- + "\n"
425
- + "Do not claim completion with unresolved failures.\n"
426
- + "Fix the failures, or document them as **Unverified**."
427
- )
428
- return blocks
429
-
430
-
431
- def check_test_execution(data, project_dir):
432
- if not get_feature_flag("test_execution", True):
433
- return []
434
-
435
- del project_dir
436
-
437
- context = data["_stop_ctx"]
438
- has_material_writes = context["has_material_writes"]
439
- has_test = bool(data.get("_has_test", False))
440
- changed_files = data.get("_changed_files", [])
441
- blocks = []
442
-
443
- if has_material_writes:
444
- test_files_modified = False
445
- try:
446
- for file_path in changed_files:
447
- fl = file_path.lower()
448
- if any(p in fl for p in ["test", "spec", "__tests__", ".test.", ".spec.", "_test."]):
449
- test_files_modified = True
450
- break
451
- except Exception as e: # security: test execution check
452
- print(f"[OMG] stop_dispatcher: {type(e).__name__}: {e}", file=sys.stderr)
453
-
454
- if test_files_modified and not has_test:
455
- blocks.append(
456
- "Test files were modified but test suite was never executed.\n"
457
- "Run your test command to verify the tests actually pass."
458
- )
459
-
460
- return blocks
461
-
462
-
463
- def check_test_validator_coverage(data, project_dir):
464
- if not get_feature_flag("test_validator_coverage", True):
465
- return []
466
-
467
- del project_dir
468
-
469
- has_source_writes = data["_stop_ctx"]["has_source_writes"]
470
- changed_files = data.get("_changed_files", [])
471
- if not has_source_writes or not changed_files:
472
- return []
473
-
474
- source_changed = False
475
- test_or_qa_changed = False
476
- for file_path in changed_files:
477
- fl = file_path.lower()
478
- is_test_like = any(
479
- token in fl
480
- for token in (
481
- "test",
482
- "spec",
483
- "__tests__",
484
- ".test.",
485
- ".spec.",
486
- "qa",
487
- "quality",
488
- "e2e",
489
- )
490
- )
491
- if is_test_like:
492
- test_or_qa_changed = True
493
- elif not _is_non_source_path(fl):
494
- source_changed = True
495
-
496
- if source_changed and not test_or_qa_changed:
497
- return [
498
- "TEST-VALIDATOR: Source changes detected without test/QA updates.\n"
499
- "Add or update user-journey tests (including edge/error cases) for every new behavior."
500
- ]
501
- return []
502
-
503
-
504
- def check_false_fix(data, project_dir):
505
- if not get_feature_flag("false_fix", True):
506
- return []
507
-
508
- del project_dir
509
-
510
- has_material_writes = data["_stop_ctx"]["has_material_writes"]
511
- changed_files = data.get("_changed_files", [])
512
- blocks = []
513
-
514
- if has_material_writes:
515
- non_source_only = True
516
- try:
517
- for file_path in changed_files:
518
- fl = file_path.lower()
519
- is_non_source = any(p in fl for p in NON_SOURCE_PATTERNS)
520
- if not is_non_source:
521
- non_source_only = False
522
- break
523
- except Exception as e: # security: false fix detection
524
- print(f"[OMG] stop_dispatcher: {type(e).__name__}: {e}", file=sys.stderr)
525
- non_source_only = False
526
-
527
- if non_source_only and has_material_writes and len(changed_files) > 0:
528
- blocks.append(
529
- "⚠ FALSE FIX DETECTED: Only test/script/config files were modified.\n"
530
- "No actual source code was changed. If the task was to fix a bug or\n"
531
- "implement a feature, you likely changed test expectations to match\n"
532
- "broken behavior instead of fixing the real code.\n\n"
533
- "Go back and modify the actual SOURCE files, not just tests/configs."
534
- )
535
-
536
- return blocks
537
-
538
-
539
- def check_write_failures(data, project_dir):
540
- if not get_feature_flag("write_failures", True):
541
- return []
542
-
543
- del project_dir
544
-
545
- recent_entries = data["_stop_ctx"]["recent_entries"]
546
- has_material_writes = data["_stop_ctx"]["has_material_writes"]
547
- blocks = []
548
-
549
- if has_material_writes:
550
- failed_writes = []
551
- for entry in recent_entries[-30:]:
552
- if entry.get("tool") in ("Write", "Edit", "MultiEdit"):
553
- success = entry.get("success")
554
- file_path = entry.get("file", "unknown")
555
- if _is_internal_control_path(str(file_path)):
556
- continue
557
- if success is False:
558
- failed_writes.append(file_path)
559
- if failed_writes:
560
- unique_fails = list(dict.fromkeys(failed_writes))[:5]
561
- blocks.append(
562
- "⚠ WRITE/EDIT FAILURE DETECTED:\n"
563
- f"These file operations may have failed: {', '.join(unique_fails)}\n\n"
564
- "Before claiming success, you MUST:\n"
565
- "1. Read the file to verify your changes are actually there\n"
566
- "2. If the file wasn't updated, retry with a different method:\n"
567
- " - If Write failed (file exists): use Edit or Bash heredoc\n"
568
- " - If Edit failed (hook error): verify file, then retry\n"
569
- " - If hook error from external plugin: the write may have succeeded —\n"
570
- " READ the file to check before retrying\n"
571
- "3. Report honestly: 'Write failed' not 'Updated successfully'"
572
- )
573
-
574
- return blocks
575
-
576
-
577
- def check_bare_done(data, project_dir):
578
- """CHECK: Bare completion detection — blocks lazy 'Done.' responses."""
579
- if not get_feature_flag("bare_done", True):
580
- return []
581
-
582
- del project_dir
583
-
584
- transcript_path = data.get("transcript_path", "")
585
- if not transcript_path or not os.path.isfile(transcript_path):
586
- return []
587
-
588
- # Find the last assistant message in the transcript
589
- last_assistant_text = ""
590
- try:
591
- with open(transcript_path, "r", encoding="utf-8", errors="ignore") as f:
592
- for line in f:
593
- line = line.strip()
594
- if not line:
595
- continue
596
- try:
597
- entry = json.loads(line)
598
- except (json.JSONDecodeError, ValueError):
599
- continue
600
- if entry.get("type") != "assistant":
601
- continue
602
- msg = entry.get("message", {})
603
- content = msg.get("content", "")
604
- if isinstance(content, str):
605
- last_assistant_text = content
606
- elif isinstance(content, list):
607
- for block in content:
608
- if isinstance(block, dict) and block.get("type") == "text":
609
- last_assistant_text = block.get("text", "")
610
- elif isinstance(block, str):
611
- last_assistant_text = block
612
- except Exception:
613
- return []
614
-
615
- if not last_assistant_text:
616
- return []
617
-
618
- # Only flag short responses
619
- if len(last_assistant_text) >= 200:
620
- return []
621
-
622
- # Check for structured content markers — these indicate a real report
623
- structured_markers = ["##", "- ", "```", "**Checks**", "**Files**"]
624
- for marker in structured_markers:
625
- if marker in last_assistant_text:
626
- return []
627
-
628
- # Check for bare completion patterns
629
- bare_patterns = [
630
- r"^\s*done\.?\s*$",
631
- r"^\s*complete\.?\s*$",
632
- r"^\s*completed\.?\s*$",
633
- r"^\s*finished\.?\s*$",
634
- r"^\s*all\s+done\.?\s*$",
635
- ]
636
- text_lower = last_assistant_text.strip()
637
- for pat in bare_patterns:
638
- if re.match(pat, text_lower, re.IGNORECASE):
639
- return [
640
- "Bare completion detected. Provide a structured report with: "
641
- "files modified, checks run, and confidence level."
642
- ]
643
-
644
- return []
645
-
646
-
647
- def _proof_chain_strict_enabled() -> bool:
648
- return os.environ.get("OMG_PROOF_CHAIN_STRICT", "1").strip() != "0"
649
-
650
-
651
- def _load_test_delta_from_evidence(project_dir: str, run_id: str | None) -> dict[str, object]:
652
- evidence_dir = os.path.join(project_dir, ".omg", "evidence")
653
- if not os.path.isdir(evidence_dir):
654
- return {}
655
-
656
- candidates = sorted(
657
- [
658
- os.path.join(evidence_dir, name)
659
- for name in os.listdir(evidence_dir)
660
- if name.endswith(".json")
661
- ],
662
- key=os.path.getmtime,
663
- reverse=True,
664
- )
665
- for path in candidates:
666
- try:
667
- with open(path, "r", encoding="utf-8", errors="ignore") as handle:
668
- payload = json.load(handle)
669
- except (OSError, json.JSONDecodeError):
670
- continue
671
- if not isinstance(payload, dict):
672
- continue
673
- if payload.get("schema") != "EvidencePack":
674
- continue
675
- payload_run_id = str(payload.get("run_id", "")).strip()
676
- if run_id and payload_run_id and payload_run_id != run_id:
677
- continue
678
- test_delta = payload.get("test_delta")
679
- if isinstance(test_delta, dict):
680
- return test_delta
681
- return {}
682
-
683
-
684
- def _has_waiver_artifact(delta_summary: dict[str, object]) -> bool:
685
- waiver = delta_summary.get("waiver_artifact")
686
- if isinstance(waiver, dict):
687
- for field in ("artifact_path", "path", "id", "reason"):
688
- if str(waiver.get(field, "")).strip():
689
- return True
690
- return False
691
-
692
-
693
- def _has_weakened_or_drift(delta_summary: dict[str, object]) -> bool:
694
- flags = delta_summary.get("flags")
695
- if not isinstance(flags, list):
696
- return False
697
- risk_flags = {
698
- "weakened_assertions",
699
- "tests_mismatch",
700
- "selector_drift",
701
- "removed_touched_area_coverage",
702
- "integration_to_mock_downgrade",
703
- "snapshot_only_refresh",
704
- }
705
- normalized = {str(item).strip().lower() for item in flags if str(item).strip()}
706
- return bool(normalized & risk_flags)
707
-
708
-
709
- def check_tdd_proof_chain(data, project_dir):
710
- if not get_feature_flag("tdd_proof_chain", True):
711
- return []
712
-
713
- context = data["_stop_ctx"]
714
- if not context.get("has_source_writes", False):
715
- return []
716
-
717
- run_id = resolve_current_run_id(project_dir=project_dir)
718
- lock_verdict = test_intent_lock.verify_lock(project_dir, run_id=run_id)
719
- delta_summary = data.get("_test_delta") if isinstance(data.get("_test_delta"), dict) else {}
720
- if not delta_summary:
721
- delta_summary = _load_test_delta_from_evidence(project_dir, run_id)
722
-
723
- lock_missing = str(lock_verdict.get("status", "")).strip() != "ok"
724
- weakened_without_waiver = _has_weakened_or_drift(delta_summary) and not _has_waiver_artifact(delta_summary)
725
- if not lock_missing and not weakened_without_waiver:
726
- return []
727
-
728
- strict_mode = _proof_chain_strict_enabled()
729
- if strict_mode:
730
- return [json.dumps({"status": "blocked", "reason": "tdd_proof_chain_incomplete"}, sort_keys=True)]
731
-
732
- warnings.warn(
733
- "tdd_proof_chain_incomplete_permissive",
734
- RuntimeWarning,
735
- stacklevel=2,
736
- )
737
- advisories = data.setdefault("_stop_advisories", [])
738
- advisories.append(
739
- "[OMG advisory] tdd proof chain incomplete: active lock evidence or waiver artifact is missing. "
740
- "Production default is fail-closed; OMG_PROOF_CHAIN_STRICT=0 downgrades to advisory."
741
- )
742
- return []
743
-
744
- def check_simplifier(data, project_dir):
745
- """CHECK 7: Code simplifier — advisory only, never blocks."""
746
- if not get_feature_flag("simplifier", True):
747
- return []
748
-
749
- context = data["_stop_ctx"]
750
- source_write_entries = context.get("source_write_entries", [])
751
- if not source_write_entries:
752
- return []
753
-
754
- generic_name_re = re.compile(
755
- r'\b(data|result|item|temp|val|obj|info|stuff|thing)\b'
756
- )
757
- noise_comment_re = re.compile(
758
- r'^\s*(#|//) (get|set|return|check|create|update|delete) '
759
- )
760
- def_line_re = re.compile(r'^\s*(def |let |const |var )')
761
-
762
- advisories = []
763
- seen = set()
764
-
765
- for entry in source_write_entries:
766
- file_path = str(entry.get("file", ""))
767
- if not file_path or file_path in seen:
768
- continue
769
- seen.add(file_path)
770
-
771
- full_path = (
772
- file_path
773
- if os.path.isabs(file_path)
774
- else os.path.join(project_dir, file_path)
775
- )
776
-
777
- try:
778
- size = os.path.getsize(full_path)
779
- if size > 10240: # Skip files >10KB
780
- continue
781
- with open(full_path, "r", encoding="utf-8", errors="ignore") as f:
782
- lines = f.readlines()
783
- except (OSError, IOError):
784
- continue # intentional: skip unreadable files
785
-
786
- if not lines:
787
- continue
788
-
789
- total = len(lines)
790
- comment_count = sum(
791
- 1 for line in lines
792
- if line.strip() and re.match(r'^\s*(#|//|/\*|\*)', line)
793
- )
794
-
795
- if total > 0 and comment_count / total > 0.40:
796
- pct = comment_count * 100 // total
797
- advisories.append(
798
- f"@simplifier: {file_path} — {pct}% comment lines ({comment_count}/{total})"
799
- )
800
-
801
- for line in lines:
802
- if def_line_re.match(line) and generic_name_re.search(line):
803
- advisories.append(
804
- f"@simplifier: {file_path} — generic name: {line.strip()[:80]}"
805
- )
806
- break
807
-
808
- for line in lines:
809
- if noise_comment_re.match(line):
810
- advisories.append(
811
- f"@simplifier: {file_path} — noise comment: {line.strip()[:60]}"
812
- )
813
- break
814
-
815
- if advisories:
816
- for adv in advisories:
817
- print(adv, file=sys.stderr)
818
-
819
- return [] # Never blocks
820
-
821
-
822
- def format_ralph_block_reason(state, project_dir):
823
- """Build the rich reason string that Claude sees as its next prompt."""
824
- original = state.get('original_prompt', '')
825
- iteration = state.get('iteration', 0)
826
- max_iter = state.get('max_iterations', 50)
827
- checklist_path = state.get('checklist_path', '')
828
-
829
- progress = ''
830
- if checklist_path:
831
- full = os.path.join(project_dir, checklist_path)
832
- if os.path.exists(full):
833
- try:
834
- with open(full) as f:
835
- lines = f.readlines()
836
- done = sum(1 for l in lines if re.search(r'\[x\]', l, re.IGNORECASE))
837
- total = sum(1 for l in lines if re.search(r'^\s*-\s*\[[ x!]\]', l))
838
- progress = f' | Progress: {done}/{total}'
839
- except OSError:
840
- pass # intentional: progress display is optional
841
-
842
- return (
843
- f"Ralph loop iteration {iteration}/{max_iter}{progress}. "
844
- f"Continue working on: {original}\n"
845
- f"If truly done, run: /OMG:ralph-stop"
846
- )
847
-
848
- def persist_ralph_question(project_dir, question_text):
849
- """Persist a pending clarification question in the Ralph loop state.
850
-
851
- Called when any hook or the context engine detects ambiguity during a
852
- Ralph iteration. The next stop-hook check will emit the question via
853
- block_decision and end the turn — no tool action may proceed.
854
- """
855
- ralph_path = os.path.join(project_dir, ".omg", "state", "ralph-loop.json")
856
- if not os.path.exists(ralph_path):
857
- return
858
- try:
859
- with open(ralph_path, "r", encoding="utf-8") as f:
860
- state = json.load(f)
861
- except (json.JSONDecodeError, OSError):
862
- return
863
- state["question_pending"] = True
864
- state["question_text"] = str(question_text).strip()[:500]
865
- state["question_emitted_at"] = datetime.now(timezone.utc).isoformat()
866
- atomic_json_write(ralph_path, state)
867
-
868
-
869
- def check_ralph_loop(project_dir, data):
870
- """Check Ralph loop state and return (block_reasons, advisories, is_question).
871
-
872
- When *is_question* is True the block is a clarification question and the
873
- caller MUST use block_reason="clarification_required" so that the turn
874
- ends without any further tool action.
875
- """
876
- del data
877
-
878
- if not get_feature_flag("ralph_loop"):
879
- return [], [], False
880
- ralph_path = os.path.join(project_dir, ".omg", "state", "ralph-loop.json")
881
- if not os.path.exists(ralph_path):
882
- return [], [], False
883
- try:
884
- with open(ralph_path, "r", encoding="utf-8") as f:
885
- state = json.load(f)
886
- except (json.JSONDecodeError, OSError):
887
- return [], [], False
888
- if not state.get("active"):
889
- return [], [], False
890
-
891
- # --- Pending clarification question: block and end turn immediately ---
892
- if state.get("question_pending"):
893
- question_text = str(state.get("question_text", "")).strip()
894
- if not question_text:
895
- question_text = "Clarification required before continuing Ralph loop"
896
- # Do NOT increment iteration — the loop is paused on the question
897
- return [question_text], [], True
898
-
899
- # Check if Ralph loop has expired
900
- _raw_timeout = os.environ.get("OMG_RALPH_TIMEOUT_MINUTES", "")
901
- try:
902
- timeout_minutes = int(_raw_timeout) if _raw_timeout.strip() else _RALPH_DEFAULT_TIMEOUT_MINUTES
903
- except (ValueError, TypeError):
904
- timeout_minutes = _RALPH_DEFAULT_TIMEOUT_MINUTES
905
- started_at_str = state.get("started_at")
906
- if started_at_str:
907
- try:
908
- started_at = datetime.fromisoformat(started_at_str.replace("Z", "+00:00"))
909
- now = datetime.now(timezone.utc)
910
- elapsed = now - started_at
911
- if elapsed.total_seconds() > timeout_minutes * 60:
912
- state["active"] = False
913
- atomic_json_write(ralph_path, state)
914
- return [], [f"Ralph loop expired after {timeout_minutes} minutes. Stopping."], False
915
- except (ValueError, TypeError):
916
- pass
917
-
918
- iteration = state.get("iteration", 0)
919
- max_iter = state.get("max_iterations", 50)
920
- if iteration >= max_iter:
921
- state["active"] = False
922
- atomic_json_write(ralph_path, state)
923
- return [], ["Ralph loop reached max iterations. Stopping."], False
924
- state["iteration"] = iteration + 1
925
- atomic_json_write(ralph_path, state)
926
- reason = format_ralph_block_reason(state, project_dir)
927
- return [reason], [], False
928
-
929
-
930
- def check_planning_gate(project_dir):
931
- if not get_feature_flag("planning_enforcement"):
932
- return [], []
933
- checklist = resolve_state_file(project_dir, "state/_checklist.md", "_checklist.md")
934
- if not os.path.exists(checklist):
935
- return [], []
936
- try:
937
- with open(checklist, "r", encoding="utf-8") as f:
938
- lines = f.readlines()
939
- except OSError:
940
- return [], []
941
- total = sum(1 for l in lines if re.search(r"^\s*-\s*\[[ x!]\]", l))
942
- done = sum(1 for l in lines if re.search(r"^\s*-\s*\[x\]", l, re.IGNORECASE))
943
- blocked = sum(1 for l in lines if re.search(r"^\s*-\s*\[!\]", l))
944
- pending = total - done - blocked
945
- if pending > 0:
946
- # Check context pressure — demote to advisory if high
947
- _pressure_path = os.path.join(project_dir, ".omg", "state", ".context-pressure.json")
948
- _is_high_pressure = False
949
- try:
950
- if os.path.exists(_pressure_path):
951
- with open(_pressure_path, "r") as _f:
952
- _pressure = json.load(_f)
953
- _is_high_pressure = _pressure.get("is_high", False)
954
- except Exception:
955
- pass
956
-
957
- if _is_high_pressure:
958
- # Demote to advisory — don't block when context is exhausted
959
- return [], [f"[OMG advisory] Planning gate: {done}/{total} complete, {pending} pending. (demoted: context pressure high)"]
960
-
961
- return [
962
- f"Planning gate: {done}/{total} complete, {pending} pending. Complete checklist before finishing."
963
- ], []
964
- return [], []
965
-
966
-
967
- def check_scope_drift(project_dir):
968
- try:
969
- result = subprocess.run(
970
- ["git", "diff", "--name-only", "HEAD"],
971
- capture_output=True,
972
- text=True,
973
- timeout=5,
974
- cwd=project_dir,
975
- )
976
- changed_files = [f.strip() for f in result.stdout.splitlines() if f.strip()]
977
- if not changed_files:
978
- return []
979
- plan_path = resolve_state_file(project_dir, "state/_plan.md", "_plan.md")
980
- if not os.path.exists(plan_path):
981
- return []
982
- with open(plan_path, "r", encoding="utf-8") as f:
983
- plan_content = f.read()
984
- mentioned = sum(1 for f in changed_files if os.path.basename(f) in plan_content)
985
- outside = len(changed_files) - mentioned
986
- if changed_files and (outside / len(changed_files)) > 0.3:
987
- return [f"Scope drift: {outside}/{len(changed_files)} changed files not in plan."]
988
- except Exception as e: # security: scope drift detection
989
- print(f"[OMG] stop_dispatcher: {type(e).__name__}: {e}", file=sys.stderr)
990
- return []
991
-
992
-
993
-
994
- def check_todo_continuation(data: dict[str, object]) -> dict[str, str] | None:
995
- """Check if agent should continue due to incomplete todos.
996
- Returns a dict with continuation response if idle, None otherwise.
997
- Budget: STOP_CHECK_MAX_MS (15s)
998
- Feature flag: OMG_TODO_ENFORCEMENT_ENABLED
999
- """
1000
- if not get_feature_flag("TODO_ENFORCEMENT", default=False):
1001
- return None
1002
-
1003
- project_dir = get_project_dir()
1004
- signal_path = os.path.join(project_dir, ".omg", "state", "idle_signal.json")
1005
-
1006
- if not os.path.exists(signal_path):
1007
- return None
1008
-
1009
- try:
1010
- with open(signal_path, "r", encoding="utf-8") as f:
1011
- idle_signal = json.load(f)
1012
- except (json.JSONDecodeError, OSError):
1013
- return None
1014
-
1015
- if not isinstance(idle_signal, dict):
1016
- return None
1017
-
1018
- if not idle_signal.get("idle_detected", False):
1019
- return None
1020
-
1021
- incomplete_count = idle_signal.get("incomplete_count", 0)
1022
- incomplete_items = idle_signal.get("incomplete_items", [])
1023
-
1024
- return {
1025
- "decision": "block",
1026
- "reason": f"Incomplete todos detected ({incomplete_count} items). Please complete: {', '.join(incomplete_items[:3])}"
1027
- }
1028
-
1029
-
1030
- def main():
1031
- _watchdog_start = time.time()
1032
-
1033
- data = json_input()
1034
-
1035
- # Unified guard: stop-hook loop, context-limit, and re-entry detection
1036
- if should_skip_stop_hooks(data):
1037
- sys.exit(0)
1038
-
1039
- # Watchdog: bail out if we already burned too much wall-clock time
1040
- if _watchdog_check(_watchdog_start):
1041
- print("[OMG] stop_dispatcher: wall-clock watchdog expired", file=sys.stderr)
1042
- sys.exit(0)
1043
-
1044
- project_dir = _resolve_project_dir()
1045
- data["_stop_ctx"] = _build_context(project_dir)
1046
- data["_stop_advisories"] = []
1047
-
1048
- # P1: Ralph loop check (implemented in Task 18)
1049
- block_reasons, advisories, is_question = check_ralph_loop(project_dir, data)
1050
- if advisories:
1051
- data["_stop_advisories"].extend(advisories)
1052
- if block_reasons:
1053
- # Clarification questions use a distinct block_reason so the turn
1054
- # ends cleanly — no tool action may follow a question emission.
1055
- br = "clarification_required" if is_question else "ralph_loop"
1056
- block_decision(block_reasons[0], block_reason=br, project_dir=project_dir)
1057
- return
1058
-
1059
- if _watchdog_check(_watchdog_start):
1060
- print("[OMG] stop_dispatcher: wall-clock watchdog expired", file=sys.stderr)
1061
- sys.exit(0)
1062
-
1063
- # P2: Planning enforcement (implemented in Task 22)
1064
- block_reasons, advisories = check_planning_gate(project_dir)
1065
- if block_reasons:
1066
- block_decision(block_reasons[0], block_reason="planning_gate", project_dir=project_dir)
1067
- return
1068
- advisories.extend(check_scope_drift(project_dir))
1069
- if advisories:
1070
- data["_stop_advisories"].extend(advisories)
1071
-
1072
- if _watchdog_check(_watchdog_start):
1073
- print("[OMG] stop_dispatcher: wall-clock watchdog expired", file=sys.stderr)
1074
- sys.exit(0)
1075
-
1076
- # P3: Todo continuation enforcement (Task 1.6)
1077
- _p3_start = time.monotonic()
1078
- todo_result = check_todo_continuation(data)
1079
- _p3_elapsed = (time.monotonic() - _p3_start) * 1000
1080
- check_performance_budget("check_todo_continuation", _p3_elapsed, STOP_CHECK_MAX_MS)
1081
- if todo_result and todo_result.get("decision") == "block":
1082
- block_decision(todo_result["reason"], block_reason="todo_continuation", project_dir=project_dir)
1083
- return
1084
-
1085
- if _watchdog_check(_watchdog_start):
1086
- print("[OMG] stop_dispatcher: wall-clock watchdog expired", file=sys.stderr)
1087
- sys.exit(0)
1088
-
1089
- blocks = []
1090
- for check_fn in [
1091
- check_verification,
1092
- check_diff_budget,
1093
- check_recent_failures,
1094
- check_test_execution,
1095
- check_tdd_proof_chain,
1096
- check_test_validator_coverage,
1097
- check_false_fix,
1098
- check_write_failures,
1099
- check_bare_done,
1100
- _test_validator_check,
1101
- _quality_runner_check,
1102
- ]:
1103
- if _watchdog_check(_watchdog_start):
1104
- print("[OMG] stop_dispatcher: wall-clock watchdog expired during quality checks", file=sys.stderr)
1105
- sys.exit(0)
1106
- if check_fn is None:
1107
- continue
1108
- try:
1109
- result = check_fn(data, project_dir)
1110
- if result:
1111
- blocks.extend(result)
1112
- except Exception as exc:
1113
- name = getattr(check_fn, "__name__", str(check_fn))
1114
- log_hook_error("stop_dispatcher", exc, {"check": name})
1115
-
1116
- advisories = data.get("_stop_advisories", [])
1117
- if advisories:
1118
- print("\n".join(advisories), file=sys.stderr)
1119
-
1120
- if blocks:
1121
- block_decision("\n\n---\n\n".join(blocks), block_reason="quality_check", project_dir=project_dir)
1122
- return
1123
-
1124
- check_simplifier(data, project_dir)
1125
- reset_stop_block_tracker(project_dir)
1126
- sys.exit(0)
1127
-
1128
-
1129
- if __name__ == "__main__":
1130
- main()