@trac3er/oh-my-god 2.2.3 → 2.2.4

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,1374 +0,0 @@
1
- """Internal team router for OMG standalone operation."""
2
- from __future__ import annotations
3
-
4
- from dataclasses import dataclass, asdict
5
- from datetime import datetime, timezone
6
- from concurrent.futures import ThreadPoolExecutor, as_completed
7
- import glob
8
- import json
9
- import logging
10
- import os
11
- import re
12
- import shlex
13
- import shutil
14
- import subprocess
15
- import threading
16
- import uuid
17
- from pathlib import Path
18
- from typing import Any
19
- from typing import cast
20
-
21
- # --- Path resolution (never relies on CWD) ---
22
- _ROUTER_DIR = os.path.dirname(os.path.abspath(__file__))
23
- _OMG_ROOT = os.path.dirname(_ROUTER_DIR)
24
-
25
- _logger = logging.getLogger(__name__)
26
- _ROUTING_MODE_DEFAULT = "normal"
27
- _ROUTING_MODE_CLARIFICATION = "planning_read_only"
28
- _TEAM_STAGED_FLOW = ["team-plan", "team-exec", "team-verify", "team-fix"]
29
- _TEAM_COMMAND_ALIASES = {
30
- "canonical": "/OMG:team",
31
- "compatibility": ["/OMG:teams"],
32
- }
33
-
34
- # Import providers to trigger auto-registration in provider registry
35
- try:
36
- import runtime.providers.codex_provider # noqa: F401 # pyright: ignore[reportUnusedImport]
37
- import runtime.providers.gemini_provider # noqa: F401 # pyright: ignore[reportUnusedImport]
38
- import runtime.providers.kimi_provider # noqa: F401 # pyright: ignore[reportUnusedImport]
39
- except ImportError:
40
- pass
41
-
42
- from runtime.runtime_profile import resolve_parallel_workers
43
- from runtime.runtime_contracts import write_run_state
44
- from runtime.release_run_coordinator import resolve_current_run_id as resolve_coordinator_run_id
45
- from runtime.exec_kernel import get_exec_kernel
46
- from runtime.context_engine import ContextEngine
47
- from runtime.context_engine import _extract_clarification
48
- from runtime.context_engine import render_profile_digest_text
49
- from runtime.defense_state import DefenseState
50
- from runtime.equalizer import select_provider
51
- from runtime.router_executor import WorkerTask, execute_workers
52
- from runtime.router_critics import run_critics
53
- from runtime.router_selector import collect_cli_health as _selector_collect_cli_health
54
- from runtime.router_selector import infer_target as _selector_infer_target
55
- from runtime.router_selector import select_target
56
- from runtime.session_health import compute_session_health
57
-
58
- @dataclass
59
- class TeamDispatchRequest:
60
- target: str # codex | gemini | ccg | auto
61
- problem: str
62
- context: str = ""
63
- context_packet: dict[str, Any] | None = None
64
- files: list[str] | None = None
65
- expected_outcome: str = ""
66
-
67
-
68
- @dataclass
69
- class TeamDispatchResult:
70
- status: str
71
- findings: list[str]
72
- actions: list[str]
73
- evidence: dict[str, Any]
74
-
75
- def to_dict(self) -> dict[str, Any]:
76
- out = asdict(self)
77
- out["schema"] = "TeamDispatchResult"
78
- return out
79
-
80
-
81
- def _infer_target(problem: str) -> str:
82
- return _selector_infer_target(problem)
83
-
84
-
85
- def _check_tool_available(tool_name: str) -> bool:
86
- """Return True if *tool_name* is on PATH, else log a warning."""
87
- if shutil.which(tool_name) is not None:
88
- return True
89
- _logger.warning("Tool %r not found on PATH — skipping %s dispatch", tool_name, tool_name)
90
- return False
91
-
92
-
93
- def _run_tool(
94
- cmd: list[str],
95
- *,
96
- timeout: int = 30,
97
- cwd: str | None = None,
98
- env: dict[str, str] | None = None,
99
- ) -> subprocess.CompletedProcess[str]:
100
- """Run an external tool with a mandatory timeout.
101
-
102
- Every subprocess call in the team router MUST go through this helper
103
- to guarantee the ``timeout`` parameter is always set.
104
- """
105
- proc_env = os.environ.copy()
106
- if env:
107
- proc_env.update({key: str(value) for key, value in env.items()})
108
- return subprocess.run(
109
- cmd,
110
- capture_output=True,
111
- text=True,
112
- check=False,
113
- timeout=timeout,
114
- cwd=cwd,
115
- env=proc_env,
116
- )
117
-
118
-
119
- _TOOL_MAP: dict[str, str] = {
120
- "codex": "codex",
121
- "gemini": "gemini",
122
- }
123
-
124
- _INSTALL_HINTS: dict[str, str] = {
125
- "codex": "Install Codex CLI: npm install -g @openai/codex",
126
- "gemini": "Install Gemini CLI: npm install -g @google/gemini-cli",
127
- }
128
-
129
-
130
- _tmux_mgr: Any = None
131
-
132
-
133
- def _get_tmux_mgr() -> Any:
134
- """Return the module-level TmuxSessionManager singleton (lazy init)."""
135
- global _tmux_mgr
136
- if _tmux_mgr is None:
137
- try:
138
- from runtime.tmux_session_manager import TmuxSessionManager # pyright: ignore[reportMissingImports]
139
-
140
- _tmux_mgr = TmuxSessionManager()
141
- except ImportError:
142
- class _FallbackMgr: # type: ignore[no-redef]
143
- def is_tmux_available(self):
144
- return False
145
-
146
- _tmux_mgr = _FallbackMgr()
147
- return _tmux_mgr
148
-
149
-
150
- def _should_use_tmux() -> bool:
151
- """Return True only when tmux is usable in this execution context.
152
-
153
- Returns False if:
154
- - tmux is not installed
155
- - TERM env var is 'dumb' or empty (non-interactive terminal)
156
- - Running inside a ThreadPoolExecutor worker thread
157
- """
158
- try:
159
- if not _get_tmux_mgr().is_tmux_available():
160
- return False
161
- term = os.environ.get("TERM", "")
162
- if term in ("dumb", ""):
163
- return False
164
- # Detect ThreadPoolExecutor worker threads (named 'ThreadPoolExecutor-N_N')
165
- thread_name = threading.current_thread().name
166
- if "ThreadPoolExecutor" in thread_name:
167
- return False
168
- return True
169
- except Exception:
170
- return False
171
-
172
-
173
- def _auth_status_command(tool_name: str) -> list[str] | None:
174
- if tool_name == "codex":
175
- return ["codex", "auth", "status"]
176
- if tool_name == "gemini":
177
- return ["gemini", "auth", "status"]
178
- return None
179
-
180
-
181
- def _check_tool_auth(tool_name: str) -> tuple[bool | None, str]:
182
- cmd = _auth_status_command(tool_name)
183
- if cmd is None:
184
- return None, "auth status check not supported"
185
- try:
186
- probe = _run_tool(cmd, timeout=15)
187
- except subprocess.TimeoutExpired:
188
- return None, "auth status check timed out"
189
- except FileNotFoundError:
190
- return False, "CLI is not installed"
191
- except Exception as exc:
192
- return None, f"auth status check failed: {exc}"
193
-
194
- output = f"{probe.stdout}\n{probe.stderr}".lower()
195
- if probe.returncode == 0:
196
- if "not logged" in output or "not authenticated" in output or "login required" in output:
197
- return False, "CLI is installed but not authenticated"
198
- return True, "CLI is authenticated"
199
-
200
- unsupported_markers = ("unknown command", "unrecognized", "invalid choice", "did you mean")
201
- if any(marker in output for marker in unsupported_markers):
202
- return None, "auth status subcommand is unavailable"
203
- if "not logged" in output or "not authenticated" in output or "login" in output:
204
- return False, "CLI is installed but not authenticated"
205
- return None, f"unable to verify auth status (exit={probe.returncode})"
206
-
207
-
208
- def _collect_cli_health(target: str) -> dict[str, dict[str, Any]]:
209
- return _selector_collect_cli_health(
210
- target,
211
- check_tool_available=_check_tool_available,
212
- check_tool_auth=_check_tool_auth,
213
- install_hints=_INSTALL_HINTS,
214
- )
215
-
216
-
217
- def dispatch_team(req: TeamDispatchRequest) -> TeamDispatchResult:
218
- target = req.target.lower().strip()
219
- if target == "auto":
220
- selected = select_target(req.problem, req.context)
221
- target = selected["target"]
222
-
223
- clarification_status = _extract_clarification_status(req.context_packet)
224
- clarification_required = bool(clarification_status.get("requires_clarification") is True)
225
-
226
- findings = [f"Target router selected: {target}", f"Problem: {req.problem}"]
227
- if req.files:
228
- findings.append(f"Focus files: {', '.join(req.files[:8])}")
229
- if req.expected_outcome:
230
- findings.append(f"Expected: {req.expected_outcome}")
231
-
232
- cli_health = _collect_cli_health(target)
233
- equalizer_decision = select_provider(
234
- task_text=req.problem,
235
- project_dir=_OMG_ROOT,
236
- context_packet={"summary": req.context},
237
- )
238
- findings.append(
239
- "Equalizer preferred provider: "
240
- f"{equalizer_decision['provider']} ({equalizer_decision['reason']})"
241
- )
242
- for provider, info in cli_health.items():
243
- if info.get("live_connection"):
244
- findings.append(f"{provider} live connection: ready")
245
- continue
246
- if not info.get("available"):
247
- findings.append(f"{provider} live connection: missing CLI ({info.get('install_hint', '').strip()})")
248
- continue
249
- findings.append(f"{provider} live connection: unavailable ({info.get('status_message', 'unknown status')})")
250
-
251
- actions = []
252
- if target == "codex":
253
- actions.extend(
254
- [
255
- "Perform deep code-level analysis",
256
- "Prioritize security and root-cause checks",
257
- "Return fix strategy with verification commands",
258
- ]
259
- )
260
- elif target == "gemini":
261
- actions.extend(
262
- [
263
- "Perform UI/UX and visual structure review",
264
- "Return accessibility and responsive design improvements",
265
- "Return component-level edit suggestions",
266
- ]
267
- )
268
- else:
269
- actions.extend(
270
- [
271
- "Run parallel backend and frontend review tracks",
272
- "Synthesize cross-cutting findings",
273
- "Return merged action plan with dependency order",
274
- ]
275
- )
276
-
277
- # --- Native question: block the turn when clarification is required ---
278
- if clarification_required:
279
- prompt = str(clarification_status.get("clarification_prompt", "")).strip()
280
- if prompt:
281
- findings.append(f"Clarification required: {prompt}")
282
- else:
283
- findings.append("Clarification required before dispatch")
284
- return TeamDispatchResult(
285
- status="clarification_required",
286
- findings=findings,
287
- actions=["Resolve the clarification question before dispatch"],
288
- evidence={
289
- "target": target,
290
- "staged_flow": list(_TEAM_STAGED_FLOW),
291
- "command_aliases": dict(_TEAM_COMMAND_ALIASES),
292
- "clarification_status": clarification_status,
293
- "routing_mode": _ROUTING_MODE_CLARIFICATION,
294
- "generated_at": datetime.now(timezone.utc).isoformat(),
295
- },
296
- )
297
-
298
- evidence = {
299
- "target": target,
300
- "staged_flow": list(_TEAM_STAGED_FLOW),
301
- "command_aliases": dict(_TEAM_COMMAND_ALIASES),
302
- "equalizer": equalizer_decision,
303
- "generated_at": datetime.now(timezone.utc).isoformat(),
304
- "context_length": len(req.context or ""),
305
- "file_count": len(req.files or []),
306
- "routing_mode": _ROUTING_MODE_DEFAULT,
307
- "clarification_status": clarification_status,
308
- "cli_health": cli_health,
309
- "live_connection": all(h.get("live_connection") for h in cli_health.values()) if cli_health else True,
310
- "exec_kernel": {
311
- "enabled": get_exec_kernel(_OMG_ROOT).enabled,
312
- "run_id": resolve_coordinator_run_id(project_dir=_OMG_ROOT),
313
- },
314
- }
315
-
316
- return TeamDispatchResult(status="ok", findings=findings, actions=actions, evidence=evidence)
317
-
318
-
319
- def package_prompt(agent_name: str, user_prompt: str, project_dir: str) -> str:
320
- """Build structured prompt for external CLI dispatch with rich context.
321
-
322
- Enriches prompt with:
323
- - Agent description from registry
324
- - Working memory excerpt (if .omg/state/working-memory.md exists)
325
- - Profile context (if .omg/state/profile.yaml exists)
326
- - Recent failure history (if .omg/state/ledger/ exists)
327
-
328
- Total prompt capped at 4000 chars (default), configurable via OMG_PROMPT_MAX_CHARS.
329
- """
330
- import sys as _sys
331
-
332
- _hooks_dir = os.path.join(
333
- os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
334
- "hooks",
335
- )
336
- if _hooks_dir not in _sys.path:
337
- _sys.path.insert(0, _hooks_dir)
338
-
339
- max_chars = int(os.environ.get("OMG_PROMPT_MAX_CHARS", "4000"))
340
- sections = []
341
-
342
- try:
343
- from _agent_registry import AGENT_REGISTRY # pyright: ignore[reportMissingImports]
344
-
345
- agent = AGENT_REGISTRY.get(agent_name, {})
346
- description = agent.get("description", f"{agent_name} specialist")
347
- model_version = agent.get("model_version", "not specified")
348
-
349
- sections.append(f"You are a {description}")
350
- sections.append(f"Model: {model_version}")
351
-
352
- except Exception:
353
- sections.append(f"Agent: {agent_name}")
354
-
355
- sections.append(f"Project: {project_dir}")
356
-
357
- working_memory_excerpt = _read_working_memory(project_dir)
358
- if working_memory_excerpt:
359
- sections.append(f"Working Memory:\n{working_memory_excerpt}")
360
-
361
- profile_context = _read_profile_context(project_dir)
362
- if profile_context:
363
- sections.append(f"Profile:\n{profile_context}")
364
-
365
- failure_history = _read_failure_history(project_dir)
366
- if failure_history:
367
- sections.append(f"Recent Failures:\n{failure_history}")
368
-
369
- sections.append(f"Task: {user_prompt}")
370
-
371
- sections.append("Constraints: Follow existing patterns. No hardcoded secrets. Verify changes.")
372
-
373
- result = "\n\n".join(sections)
374
-
375
- if len(result) > max_chars:
376
- result = result[:max_chars].rstrip()
377
-
378
- return result
379
-
380
-
381
- def _read_working_memory(project_dir: str) -> str:
382
- """Read working memory excerpt from .omg/state/working-memory.md."""
383
- working_memory_path = os.path.join(project_dir, ".omg", "state", "working-memory.md")
384
- if not os.path.exists(working_memory_path):
385
- return ""
386
-
387
- try:
388
- with open(working_memory_path, "r", encoding="utf-8", errors="replace") as f:
389
- content = f.read()
390
- if len(content) > 500:
391
- content = content[:500] + "..."
392
- return content
393
- except (OSError, UnicodeDecodeError):
394
- return ""
395
-
396
-
397
- def _read_profile_context(project_dir: str) -> str:
398
- profile_path = os.path.join(project_dir, ".omg", "state", "profile.yaml")
399
- if not os.path.exists(profile_path):
400
- return ""
401
-
402
- try:
403
- return render_profile_digest_text(project_dir, max_chars=300)
404
- except (OSError, UnicodeDecodeError):
405
- return ""
406
- except Exception:
407
- return ""
408
-
409
-
410
- def _read_failure_history(project_dir: str) -> str:
411
- """Read recent failures from .omg/state/ledger/."""
412
- ledger_dir = os.path.join(project_dir, ".omg", "state", "ledger")
413
- if not os.path.exists(ledger_dir):
414
- return ""
415
-
416
- try:
417
- failure_files = sorted(glob.glob(os.path.join(ledger_dir, "failure-*.jsonl")))
418
- if not failure_files:
419
- return ""
420
-
421
- failures = []
422
- for file_path in failure_files[-5:]:
423
- try:
424
- with open(file_path, "r", encoding="utf-8", errors="replace") as f:
425
- for line in f:
426
- if line.strip():
427
- entry = json.loads(line)
428
- error_msg = entry.get("error", "Unknown error")
429
- failures.append(f"- {error_msg}")
430
- if len(failures) >= 5:
431
- break
432
- except (OSError, UnicodeDecodeError, json.JSONDecodeError):
433
- continue
434
-
435
- if failures:
436
- return "\n".join(failures[:5])
437
- return ""
438
- except Exception:
439
- return ""
440
-
441
-
442
- def invoke_codex(prompt: str, project_dir: str, timeout: int = 120) -> dict[str, Any]:
443
- """Invoke codex-cli as subprocess. Returns result dict with model/output/exit_code or error/fallback."""
444
- if not _check_tool_available("codex"):
445
- return {"error": "codex-cli not found", "fallback": "claude"}
446
- try:
447
- result = _run_tool(
448
- ["codex", "exec", "--json", prompt],
449
- timeout=timeout,
450
- cwd=project_dir,
451
- env={"CLAUDE_PROJECT_DIR": project_dir},
452
- )
453
- return {
454
- "model": "codex-cli",
455
- "output": result.stdout,
456
- "exit_code": result.returncode,
457
- }
458
- except subprocess.TimeoutExpired:
459
- return {"error": "codex-cli timeout", "fallback": "claude"}
460
- except FileNotFoundError:
461
- return {"error": "codex-cli not found", "fallback": "claude"}
462
- except Exception as exc:
463
- return {"error": str(exc), "fallback": "claude"}
464
-
465
-
466
- _TMUX_EXIT_MARKER = "__OMG_TMUX_EXIT_CODE__"
467
- _TMUX_EXIT_CODE_RE = re.compile(r"(?:\r?\n)?__OMG_TMUX_EXIT_CODE__:(\d+)\s*$")
468
-
469
-
470
- def _parse_tmux_command_result(output: str) -> tuple[str, int]:
471
- """Extract exit code marker from tmux output and return cleaned output + exit code."""
472
- match = _TMUX_EXIT_CODE_RE.search(output)
473
- if not match:
474
- raise RuntimeError("tmux output missing exit code marker")
475
- exit_code = int(match.group(1))
476
- cleaned = _TMUX_EXIT_CODE_RE.sub("", output).rstrip()
477
- return cleaned, exit_code
478
-
479
-
480
- def invoke_codex_tmux(prompt: str, project_dir: str, timeout: int = 120) -> dict[str, Any]:
481
- """Invoke codex-cli via persistent tmux session. Falls back to subprocess on error."""
482
- if not _check_tool_available("codex"):
483
- return {"error": "codex-cli not found", "fallback": "claude"}
484
-
485
- mgr = _get_tmux_mgr()
486
- session: str | None = None
487
- try:
488
- session_name = mgr.make_session_name("codex", unique_id=str(uuid.uuid4())[:8])
489
- session = mgr.get_or_create_session(session_name, cwd=project_dir)
490
- quoted_prompt = shlex.quote(prompt)
491
- cmd = (
492
- f"env CLAUDE_PROJECT_DIR={shlex.quote(project_dir)} "
493
- f"codex exec --json {quoted_prompt}; "
494
- f"printf '\\n{_TMUX_EXIT_MARKER}:%s\\n' \"$?\""
495
- )
496
- raw_output = mgr.send_command(session, cmd, timeout=timeout)
497
- output, exit_code = _parse_tmux_command_result(raw_output)
498
- return {"model": "codex-cli", "output": output, "exit_code": exit_code}
499
- except Exception as exc:
500
- _logger.warning("tmux codex invocation failed, falling back to subprocess: %s", exc)
501
- return invoke_codex(prompt, project_dir, timeout=timeout)
502
- finally:
503
- if session:
504
- mgr.kill_session(session)
505
-
506
-
507
- def invoke_gemini(prompt: str, project_dir: str, timeout: int = 120) -> dict[str, Any]:
508
- """Invoke gemini-cli as subprocess. Returns result dict with model/output/exit_code or error/fallback."""
509
- if not _check_tool_available("gemini"):
510
- return {"error": "gemini-cli not found", "fallback": "claude"}
511
- try:
512
- result = _run_tool(
513
- ["gemini", "-p", prompt],
514
- timeout=timeout,
515
- cwd=project_dir,
516
- env={"CLAUDE_PROJECT_DIR": project_dir},
517
- )
518
- return {
519
- "model": "gemini-cli",
520
- "output": result.stdout,
521
- "exit_code": result.returncode,
522
- }
523
- except subprocess.TimeoutExpired:
524
- return {"error": "gemini-cli timeout", "fallback": "claude"}
525
- except FileNotFoundError:
526
- return {"error": "gemini-cli not found", "fallback": "claude"}
527
- except Exception as exc:
528
- return {"error": str(exc), "fallback": "claude"}
529
-
530
-
531
- def invoke_gemini_tmux(prompt: str, project_dir: str, timeout: int = 120) -> dict[str, Any]:
532
- """Invoke gemini-cli via persistent tmux session. Falls back to subprocess on error."""
533
- if not _check_tool_available("gemini"):
534
- return {"error": "gemini-cli not found", "fallback": "claude"}
535
-
536
- mgr = _get_tmux_mgr()
537
- session: str | None = None
538
- try:
539
- session_name = mgr.make_session_name("gemini", unique_id=str(uuid.uuid4())[:8])
540
- session = mgr.get_or_create_session(session_name, cwd=project_dir)
541
- quoted_prompt = shlex.quote(prompt)
542
- cmd = (
543
- f"env CLAUDE_PROJECT_DIR={shlex.quote(project_dir)} "
544
- f"gemini -p {quoted_prompt}; "
545
- f"printf '\\n{_TMUX_EXIT_MARKER}:%s\\n' \"$?\""
546
- )
547
- raw_output = mgr.send_command(session, cmd, timeout=timeout)
548
- output, exit_code = _parse_tmux_command_result(raw_output)
549
- return {"model": "gemini-cli", "output": output, "exit_code": exit_code}
550
- except Exception as exc:
551
- _logger.warning("tmux gemini invocation failed, falling back to subprocess: %s", exc)
552
- return invoke_gemini(prompt, project_dir, timeout=timeout)
553
- finally:
554
- if session:
555
- mgr.kill_session(session)
556
-
557
-
558
- def dispatch_to_model(agent_name: str, user_prompt: str, project_dir: str) -> dict[str, Any]:
559
- """Dispatch a task to the preferred model for this agent.
560
-
561
- Returns result dict. If preferred model unavailable, returns fallback dict.
562
- """
563
- import sys as _sys
564
-
565
- _hooks_dir = os.path.join(
566
- os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
567
- "hooks",
568
- )
569
- if _hooks_dir not in _sys.path:
570
- _sys.path.insert(0, _hooks_dir)
571
- try:
572
- import importlib
573
-
574
- agent_registry = importlib.import_module("_agent_registry")
575
- AGENT_REGISTRY = getattr(agent_registry, "AGENT_REGISTRY", {})
576
- detect_available_models = getattr(agent_registry, "detect_available_models", lambda: {"claude": True})
577
- get_provider_with_equalizer = getattr(agent_registry, "get_provider_with_equalizer", None)
578
-
579
- agent_obj = AGENT_REGISTRY.get(agent_name)
580
- if not isinstance(agent_obj, dict):
581
- return {"error": f"Unknown agent: {agent_name}", "fallback": "claude"}
582
- agent = agent_obj
583
-
584
- available = detect_available_models()
585
- preferred = agent.get("preferred_model", "claude")
586
- if callable(get_provider_with_equalizer):
587
- equalizer_info = get_provider_with_equalizer(
588
- task_text=user_prompt,
589
- project_dir=project_dir,
590
- agent_name=agent_name,
591
- )
592
- if isinstance(equalizer_info, dict):
593
- preferred = str(equalizer_info.get("preferred_model", preferred))
594
- packaged = package_prompt(agent_name, user_prompt, project_dir)
595
-
596
- provider_name_map = {
597
- "codex-cli": "codex",
598
- "gemini-cli": "gemini",
599
- "kimi-cli": "kimi",
600
- }
601
- provider_name = provider_name_map.get(preferred)
602
-
603
- if provider_name and available.get(preferred, True):
604
- from runtime.cli_provider import get_provider
605
-
606
- provider = get_provider(provider_name)
607
- if provider and provider.detect():
608
- if _should_use_tmux():
609
- return provider.invoke_tmux(packaged, project_dir)
610
- return provider.invoke(packaged, project_dir)
611
-
612
- if preferred == "codex-cli" and available.get("codex-cli"):
613
- if _should_use_tmux():
614
- return invoke_codex_tmux(packaged, project_dir)
615
- return invoke_codex(packaged, project_dir)
616
- if preferred == "gemini-cli" and available.get("gemini-cli"):
617
- if _should_use_tmux():
618
- return invoke_gemini_tmux(packaged, project_dir)
619
- return invoke_gemini(packaged, project_dir)
620
- # Fallback: use Claude native task() dispatch
621
- return {
622
- "fallback": "claude",
623
- "category": agent.get("task_category", "deep"),
624
- "skills": agent.get("skills", []),
625
- "model_version": agent.get("model_version", "unknown"),
626
- }
627
- except Exception as exc:
628
- return {"error": str(exc), "fallback": "claude"}
629
-
630
-
631
- def get_core_agent_model(agent_name: str) -> dict[str, Any] | None:
632
- """Get model preference for a core (non-keyword-matched) agent."""
633
- import sys as _sys
634
- _hooks_dir = os.path.join(
635
- os.path.dirname(os.path.dirname(os.path.abspath(__file__))),
636
- "hooks",
637
- )
638
- if _hooks_dir not in _sys.path:
639
- _sys.path.insert(0, _hooks_dir)
640
- try:
641
- from _agent_registry import CORE_AGENT_MODELS # pyright: ignore[reportMissingImports]
642
- return CORE_AGENT_MODELS.get(agent_name)
643
- except Exception:
644
- return None
645
-
646
-
647
-
648
- def execute_agents_sequentially(
649
- agent_tasks: list[dict[str, Any]],
650
- project_dir: str,
651
- timeout_per_agent: int = 120
652
- ) -> list[dict[str, Any]]:
653
- return execute_workers(
654
- cast(list[WorkerTask], agent_tasks),
655
- False,
656
- project_dir=project_dir,
657
- dispatch_fn=dispatch_to_model,
658
- timeout_per_worker=timeout_per_agent,
659
- resolve_workers_fn=lambda router_project_dir, requested_workers: resolve_parallel_workers(
660
- router_project_dir,
661
- requested_workers=requested_workers,
662
- ),
663
- thread_pool_cls=ThreadPoolExecutor,
664
- )
665
-
666
-
667
- def execute_agents_parallel(
668
- agent_tasks: list[dict[str, Any]],
669
- project_dir: str,
670
- timeout_per_agent: int = 120,
671
- ) -> list[dict[str, Any]]:
672
- return execute_workers(
673
- cast(list[WorkerTask], agent_tasks),
674
- True,
675
- project_dir=project_dir,
676
- dispatch_fn=dispatch_to_model,
677
- timeout_per_worker=timeout_per_agent,
678
- resolve_workers_fn=lambda router_project_dir, requested_workers: resolve_parallel_workers(
679
- router_project_dir,
680
- requested_workers=requested_workers,
681
- ),
682
- thread_pool_cls=ThreadPoolExecutor,
683
- )
684
-
685
-
686
- def execute_crazy_mode(
687
- problem: str,
688
- project_dir: str,
689
- context: str | None = None,
690
- files: list[str] | None = None
691
- ) -> dict[str, Any]:
692
- print("[CRAZY] Starting parallel agent execution...")
693
- print(f"[CRAZY] Problem: {problem[:100]}...")
694
-
695
- # Build context package
696
- context_parts = []
697
- if context:
698
- context_parts.append(context)
699
- if files:
700
- context_parts.append(f"Focus files: {', '.join(files[:8])}")
701
- full_context = "\n\n".join(context_parts) if context_parts else ""
702
-
703
- run_id = resolve_coordinator_run_id(project_dir=project_dir)
704
- kernel = get_exec_kernel(project_dir)
705
- if run_id:
706
- kernel.register_run(run_id, source="team_router.execute_crazy_mode", reason="crazy_mode")
707
- context_packet = _build_router_context_packet(
708
- project_dir=project_dir,
709
- run_id=run_id,
710
- summary=full_context,
711
- files=files,
712
- )
713
- clarification_status = _extract_clarification_status(context_packet)
714
- if clarification_status.get("requires_clarification") is True:
715
- return _build_clarification_blocked_result(
716
- mode="crazy",
717
- target_worker_count=5,
718
- run_id=run_id,
719
- clarification_status=clarification_status,
720
- problem=problem,
721
- project_dir=project_dir,
722
- )
723
-
724
- worker_tasks = [
725
- {
726
- "agent_name": "architect-mode",
727
- "prompt": (
728
- f"Plan decomposition for: {problem}\n\n"
729
- f"Focus: scope, sequencing, dependency ordering, risk control.\n\n"
730
- f"Context:\n{full_context}"
731
- ),
732
- "order": 1,
733
- },
734
- {
735
- "agent_name": "backend-engineer",
736
- "prompt": (
737
- f"Backend implementation strategy for: {problem}\n\n"
738
- f"Focus: APIs, data flow, failure handling, performance.\n\n"
739
- f"Context:\n{full_context}"
740
- ),
741
- "order": 2,
742
- },
743
- {
744
- "agent_name": "frontend-designer",
745
- "prompt": (
746
- f"Frontend/UI strategy for: {problem}\n\n"
747
- f"Focus: UX, accessibility, responsive behavior, component structure.\n\n"
748
- f"Context:\n{full_context}"
749
- ),
750
- "order": 3,
751
- },
752
- {
753
- "agent_name": "security-auditor",
754
- "prompt": (
755
- f"Security review strategy for: {problem}\n\n"
756
- f"Focus: auth, secrets, input validation, abuse vectors.\n\n"
757
- f"Context:\n{full_context}"
758
- ),
759
- "order": 4,
760
- },
761
- {
762
- "agent_name": "testing-engineer",
763
- "prompt": (
764
- f"Verification strategy for: {problem}\n\n"
765
- f"Focus: unit/integration/e2e coverage and failure reproduction.\n\n"
766
- f"Context:\n{full_context}"
767
- ),
768
- "order": 5,
769
- },
770
- ]
771
-
772
- results = execute_agents_parallel(worker_tasks, project_dir)
773
-
774
- result_blocks: list[str] = []
775
- for r in results:
776
- result_blocks.append(
777
- f"**{r.get('agent', 'unknown')} [{r.get('status', 'unknown')}]:**\n"
778
- f"{r.get('output', r.get('error', 'No output'))}"
779
- )
780
-
781
- synthesis_prompt = (
782
- "Synthesize results from five specialized tracks:\n\n"
783
- + "\n\n".join(result_blocks)
784
- + "\n\nProvide a unified action plan with dependency ordering."
785
- )
786
-
787
- council_verdicts = run_critics(
788
- candidate={"output": synthesis_prompt},
789
- context_packet=context_packet,
790
- project_dir=project_dir,
791
- )
792
- _persist_council_verdicts(project_dir, run_id, council_verdicts)
793
- _update_post_council_state(project_dir=project_dir, run_id=run_id)
794
- council_status = _council_status(council_verdicts)
795
-
796
- model_mix = {
797
- "gpt": [r.get("agent") for r in results if r.get("model") == "codex-cli"],
798
- "gemini": [r.get("agent") for r in results if r.get("model") == "gemini-cli"],
799
- "claude": [r.get("agent") for r in results if r.get("fallback") == "claude"],
800
- }
801
-
802
- return {
803
- "status": "ok",
804
- "stages": list(_TEAM_STAGED_FLOW),
805
- "current_stage": "team-fix",
806
- "phases": [
807
- {"phase": 1, "agent": "claude-orchestrator", "status": "completed"},
808
- *[
809
- {
810
- "phase": idx,
811
- "agent": r.get("agent"),
812
- "status": r.get("status", "unknown"),
813
- "model": r.get("model", r.get("fallback", "unknown")),
814
- "output": r.get("output", ""),
815
- }
816
- for idx, r in enumerate(results, start=2)
817
- ],
818
- {"phase": 7, "agent": "claude-synthesis", "prompt": synthesis_prompt},
819
- ],
820
- "parallel_execution": True,
821
- "sequential_execution": False,
822
- "worker_count": len(results),
823
- "target_worker_count": 5,
824
- "model_mix": model_mix,
825
- "findings": [
826
- f"Workers launched: {len(results)}/5",
827
- f"GPT tracks: {len(model_mix['gpt'])}",
828
- f"Gemini tracks: {len(model_mix['gemini'])}",
829
- f"Claude tracks: {len(model_mix['claude'])}",
830
- f"Council status: {council_status}",
831
- ],
832
- "council_verdicts": council_verdicts,
833
- "exec_kernel": {
834
- "enabled": kernel.enabled,
835
- "run_id": run_id,
836
- "attach_log": kernel.attach_log(run_id) if run_id else "",
837
- },
838
- }
839
-
840
-
841
- def execute_ccg_mode(
842
- problem: str,
843
- project_dir: str,
844
- context: str | None = None,
845
- files: list[str] | None = None,
846
- ) -> dict[str, Any]:
847
- """CCG (Claude-Codex-Gemini) execution mode — 2-track parallel analysis.
848
-
849
- Track 1: backend-engineer (Codex path) — backend/code analysis
850
- Track 2: frontend-designer (Gemini path) — UI/UX analysis
851
- Then synthesises both tracks into unified output.
852
- """
853
- print("[CCG] Starting 2-track parallel agent execution...")
854
- print(f"[CCG] Problem: {problem[:100]}...")
855
-
856
- # Build context package
857
- context_parts: list[str] = []
858
- if context:
859
- context_parts.append(context)
860
- if files:
861
- context_parts.append(f"Focus files: {', '.join(files[:8])}")
862
- full_context = "\n\n".join(context_parts) if context_parts else ""
863
-
864
- run_id = resolve_coordinator_run_id(project_dir=project_dir)
865
- kernel = get_exec_kernel(project_dir)
866
- if run_id:
867
- kernel.register_run(run_id, source="team_router.execute_ccg_mode", reason="ccg_mode")
868
- context_packet = _build_router_context_packet(
869
- project_dir=project_dir,
870
- run_id=run_id,
871
- summary=full_context,
872
- files=files,
873
- )
874
- clarification_status = _extract_clarification_status(context_packet)
875
- if clarification_status.get("requires_clarification") is True:
876
- return _build_clarification_blocked_result(
877
- mode="ccg",
878
- target_worker_count=2,
879
- run_id=run_id,
880
- clarification_status=clarification_status,
881
- problem=problem,
882
- project_dir=project_dir,
883
- )
884
-
885
- worker_tasks = [
886
- {
887
- "agent_name": "backend-engineer",
888
- "prompt": (
889
- f"Backend implementation strategy for: {problem}\n\n"
890
- f"Focus: APIs, data flow, failure handling, performance.\n\n"
891
- f"Context:\n{full_context}"
892
- ),
893
- "order": 1,
894
- },
895
- {
896
- "agent_name": "frontend-designer",
897
- "prompt": (
898
- f"Frontend/UI strategy for: {problem}\n\n"
899
- f"Focus: UX, accessibility, responsive behavior, component structure.\n\n"
900
- f"Context:\n{full_context}"
901
- ),
902
- "order": 2,
903
- },
904
- ]
905
-
906
- results = execute_agents_parallel(worker_tasks, project_dir)
907
-
908
- result_blocks: list[str] = []
909
- for r in results:
910
- result_blocks.append(
911
- f"**{r.get('agent', 'unknown')} [{r.get('status', 'unknown')}]:**\n"
912
- f"{r.get('output', r.get('error', 'No output'))}"
913
- )
914
-
915
- synthesis_prompt = (
916
- "Synthesize results from two specialized CCG tracks:\n\n"
917
- + "\n\n".join(result_blocks)
918
- + "\n\nProvide a unified action plan merging backend and frontend perspectives."
919
- )
920
-
921
- council_verdicts = run_critics(
922
- candidate={"output": synthesis_prompt},
923
- context_packet=context_packet,
924
- project_dir=project_dir,
925
- )
926
- _persist_council_verdicts(project_dir, run_id, council_verdicts)
927
- _update_post_council_state(project_dir=project_dir, run_id=run_id)
928
- council_status = _council_status(council_verdicts)
929
-
930
- model_mix = {
931
- "gpt": [r.get("agent") for r in results if r.get("model") == "codex-cli"],
932
- "gemini": [r.get("agent") for r in results if r.get("model") == "gemini-cli"],
933
- "claude": [r.get("agent") for r in results if r.get("fallback") == "claude"],
934
- }
935
-
936
- return {
937
- "status": "ok",
938
- "stages": list(_TEAM_STAGED_FLOW),
939
- "current_stage": "team-fix",
940
- "phases": [
941
- {"phase": 1, "agent": "claude-orchestrator", "status": "completed"},
942
- *[
943
- {
944
- "phase": idx,
945
- "agent": r.get("agent"),
946
- "status": r.get("status", "unknown"),
947
- "model": r.get("model", r.get("fallback", "unknown")),
948
- "output": r.get("output", ""),
949
- }
950
- for idx, r in enumerate(results, start=2)
951
- ],
952
- {"phase": len(results) + 2, "agent": "claude-synthesis", "prompt": synthesis_prompt},
953
- ],
954
- "parallel_execution": True,
955
- "sequential_execution": False,
956
- "worker_count": len(results),
957
- "target_worker_count": 2,
958
- "model_mix": model_mix,
959
- "findings": [
960
- f"Workers launched: {len(results)}/2",
961
- f"GPT tracks: {len(model_mix['gpt'])}",
962
- f"Gemini tracks: {len(model_mix['gemini'])}",
963
- f"Claude tracks: {len(model_mix['claude'])}",
964
- f"Council status: {council_status}",
965
- ],
966
- "council_verdicts": council_verdicts,
967
- "exec_kernel": {
968
- "enabled": kernel.enabled,
969
- "run_id": run_id,
970
- "attach_log": kernel.attach_log(run_id) if run_id else "",
971
- },
972
- }
973
-
974
-
975
- def _persist_question_state(
976
- project_dir: str,
977
- run_id: str,
978
- question_text: str,
979
- mode: str,
980
- problem: str,
981
- ) -> None:
982
- """Write minimal question state to the run-state directory.
983
-
984
- This is NOT a new schema — it is a flat file under .omg/state/ that
985
- records which question is pending so the session can resume or reject.
986
- """
987
- state_dir = Path(project_dir) / ".omg" / "state" / "pending_question"
988
- state_dir.mkdir(parents=True, exist_ok=True)
989
- payload = {
990
- "question_pending": True,
991
- "question_text": str(question_text).strip()[:500],
992
- "mode": mode,
993
- "problem": str(problem).strip()[:200],
994
- "run_id": run_id,
995
- "emitted_at": datetime.now(timezone.utc).isoformat(),
996
- }
997
- target = state_dir / f"{run_id}.json"
998
- tmp = target.with_suffix(".tmp")
999
- tmp.write_text(json.dumps(payload, indent=2), encoding="utf-8")
1000
- os.rename(tmp, target)
1001
-
1002
-
1003
- def _build_clarification_blocked_result(
1004
- *,
1005
- mode: str,
1006
- target_worker_count: int,
1007
- run_id: str | None,
1008
- clarification_status: dict[str, Any],
1009
- problem: str,
1010
- project_dir: str = "",
1011
- ) -> dict[str, Any]:
1012
- """Build a blocked result when clarification is required.
1013
-
1014
- The returned dict signals ``status='clarification_required'`` which
1015
- guarantees the turn ends — no worker dispatch or tool action follows.
1016
- Minimal question state is persisted via the run-state directory so the
1017
- session can resume or reject the question later.
1018
- """
1019
- prompt = str(clarification_status.get("clarification_prompt", "")).strip()
1020
- findings = [
1021
- f"Staged flow halted at team-plan for {mode} routing",
1022
- "Clarification unresolved before worker dispatch",
1023
- ]
1024
- if prompt:
1025
- findings.append(f"Clarification request: {prompt}")
1026
-
1027
- # Persist minimal run-scoped question state for resume / reject
1028
- if run_id and project_dir:
1029
- _persist_question_state(project_dir, run_id, prompt, mode, problem)
1030
-
1031
- return {
1032
- "status": "clarification_required",
1033
- "stages": list(_TEAM_STAGED_FLOW),
1034
- "current_stage": "team-plan",
1035
- "parallel_execution": False,
1036
- "sequential_execution": False,
1037
- "worker_count": 0,
1038
- "target_worker_count": target_worker_count,
1039
- "findings": findings,
1040
- "actions": [
1041
- "Clarify intent and acceptance criteria",
1042
- "Confirm required files and expected outcome",
1043
- "Re-run /OMG:team once clarification is resolved",
1044
- ],
1045
- "clarification_status": clarification_status,
1046
- "problem": problem,
1047
- "run_id": run_id,
1048
- }
1049
-
1050
-
1051
- def _build_router_context_packet(
1052
- *,
1053
- project_dir: str,
1054
- run_id: str | None,
1055
- summary: str,
1056
- files: list[str] | None,
1057
- ) -> dict[str, object]:
1058
- if run_id:
1059
- packet = ContextEngine(project_dir).build_packet(run_id=run_id, delta_only=True)
1060
- if summary and not str(packet.get("summary", "")).strip():
1061
- packet["summary"] = summary
1062
- if _requires_clarification(packet):
1063
- packet["routing_mode"] = _ROUTING_MODE_CLARIFICATION
1064
- return packet
1065
- return {
1066
- "summary": summary,
1067
- "artifact_pointers": [],
1068
- "clarification_status": {
1069
- "requires_clarification": False,
1070
- "intent_class": "",
1071
- "clarification_prompt": "",
1072
- "confidence": 0.0,
1073
- },
1074
- "routing_mode": _ROUTING_MODE_DEFAULT,
1075
- "files": list(files or []),
1076
- }
1077
-
1078
-
1079
- def _extract_clarification_status(context_packet: dict[str, Any] | None) -> dict[str, Any]:
1080
- status = _extract_clarification(context_packet)
1081
- return {
1082
- "requires_clarification": bool(status.get("requires_clarification") is True),
1083
- "intent_class": str(status.get("intent_class", "")).strip(),
1084
- "clarification_prompt": str(status.get("clarification_prompt", "")).strip(),
1085
- "confidence": round(float(status.get("confidence", 0.0)), 2),
1086
- }
1087
-
1088
-
1089
- def _requires_clarification(context_packet: dict[str, object]) -> bool:
1090
- status = _extract_clarification_status(cast(dict[str, Any], context_packet))
1091
- return bool(status.get("requires_clarification") is True)
1092
-
1093
-
1094
- def _persist_council_verdicts(project_dir: str, run_id: str | None, verdicts: dict[str, dict[str, Any]]) -> None:
1095
- if not run_id:
1096
- return
1097
-
1098
- payload: dict[str, object] = {
1099
- "status": _council_status(verdicts),
1100
- "verification_status": _council_status(verdicts),
1101
- "verdicts": verdicts,
1102
- }
1103
- write_run_state(project_dir, "council_verdicts", run_id, payload)
1104
-
1105
-
1106
- def _update_post_council_state(*, project_dir: str, run_id: str | None) -> None:
1107
- DefenseState(project_dir).update()
1108
- compute_session_health(project_dir, run_id=run_id or "default")
1109
-
1110
-
1111
- def _council_status(verdicts: dict[str, dict[str, Any]]) -> str:
1112
- verdict_tokens = {
1113
- str(item.get("verdict", "")).strip().lower()
1114
- for item in verdicts.values()
1115
- if isinstance(item, dict)
1116
- }
1117
- if "fail" in verdict_tokens:
1118
- return "blocked"
1119
- if "warn" in verdict_tokens:
1120
- return "running"
1121
- if "pass" in verdict_tokens:
1122
- return "ok"
1123
- return "pending"
1124
-
1125
-
1126
- # =============================================================================
1127
- # Round-Robin Credential Distribution (Feature: OMG_ROUND_ROBIN_ENABLED)
1128
- # =============================================================================
1129
-
1130
-
1131
- def _fnv1a_hash(data: str) -> int:
1132
- """FNV-1a 32-bit hash for session-stable key assignment.
1133
-
1134
- Deterministic: same input always produces the same hash.
1135
- Used to pin a session to a consistent starting key index.
1136
- """
1137
- h = 2166136261
1138
- for c in data.encode():
1139
- h ^= c
1140
- h = (h * 16777619) & 0xFFFFFFFF
1141
- return h
1142
-
1143
-
1144
- def _get_hooks_imports():
1145
- """Lazy-import credential_store and get_feature_flag.
1146
-
1147
- Returns (credential_store_module, get_feature_flag_func) or (None, None).
1148
- Adds hooks dir to sys.path if needed (same pattern as package_prompt).
1149
- """
1150
- import sys as _sys
1151
-
1152
- _hooks_dir = os.path.join(_OMG_ROOT, "hooks")
1153
- if _hooks_dir not in _sys.path:
1154
- _sys.path.insert(0, _hooks_dir)
1155
- try:
1156
- from _common import get_feature_flag # pyright: ignore[reportMissingImports]
1157
- import credential_store # pyright: ignore[reportMissingImports]
1158
-
1159
- return credential_store, get_feature_flag
1160
- except ImportError:
1161
- return None, None
1162
-
1163
-
1164
- def get_active_credential(provider: str, session_id: str | None = None) -> str | None:
1165
- """Get active API key for provider via round-robin.
1166
-
1167
- Returns key string or None if credential store disabled/unavailable.
1168
- Feature flag: OMG_ROUND_ROBIN_ENABLED
1169
-
1170
- Args:
1171
- provider: Provider name (e.g., 'anthropic', 'openai')
1172
- session_id: Optional session ID for deterministic key assignment via FNV-1a hash
1173
- """
1174
- cred_mod, get_flag = _get_hooks_imports()
1175
- if cred_mod is None or get_flag is None:
1176
- return None
1177
-
1178
- if not get_flag("ROUND_ROBIN", default=False):
1179
- return None
1180
-
1181
- passphrase = os.environ.get("OMG_CREDENTIAL_PASSPHRASE")
1182
- if not passphrase:
1183
- return None
1184
-
1185
- try:
1186
- store = cred_mod.load_store(passphrase)
1187
- except (ValueError, OSError, RuntimeError):
1188
- return None
1189
-
1190
- providers = store.get("providers", {})
1191
- if provider not in providers:
1192
- return None
1193
-
1194
- pdata = providers[provider]
1195
- keys = pdata.get("keys", [])
1196
- if not keys:
1197
- return None
1198
-
1199
- # Pick key index: session-stable via FNV-1a or current active_index
1200
- if session_id:
1201
- idx = _fnv1a_hash(session_id) % len(keys)
1202
- else:
1203
- idx = pdata.get("active_index", 0)
1204
- if idx < 0 or idx >= len(keys):
1205
- idx = 0
1206
-
1207
- # Track usage on selected key
1208
- keys[idx]["usage_count"] = keys[idx].get("usage_count", 0) + 1
1209
- keys[idx]["last_used"] = datetime.now(timezone.utc).isoformat()
1210
-
1211
- # Advance active_index for next non-session call (round-robin)
1212
- if not session_id:
1213
- pdata["active_index"] = (idx + 1) % len(keys)
1214
-
1215
- # Persist updated stats (best-effort)
1216
- try:
1217
- cred_mod.save_store(store, passphrase)
1218
- except (ValueError, OSError, RuntimeError):
1219
- pass
1220
-
1221
- return keys[idx].get("key")
1222
-
1223
-
1224
- def on_rate_limit(provider: str, session_id: str | None = None) -> str | None:
1225
- """Advance to next credential for provider on 429. Returns new active key.
1226
-
1227
- Called when a rate limit (HTTP 429) is encountered. Advances to the next
1228
- available key in the rotation and returns it.
1229
-
1230
- Args:
1231
- provider: Provider name (e.g., 'anthropic', 'openai')
1232
- session_id: Optional session ID (currently unused, reserved for future)
1233
- """
1234
- cred_mod, get_flag = _get_hooks_imports()
1235
- if cred_mod is None or get_flag is None:
1236
- return None
1237
-
1238
- if not get_flag("ROUND_ROBIN", default=False):
1239
- return None
1240
-
1241
- passphrase = os.environ.get("OMG_CREDENTIAL_PASSPHRASE")
1242
- if not passphrase:
1243
- return None
1244
-
1245
- try:
1246
- store = cred_mod.load_store(passphrase)
1247
- except (ValueError, OSError, RuntimeError):
1248
- return None
1249
-
1250
- providers = store.get("providers", {})
1251
- if provider not in providers:
1252
- return None
1253
-
1254
- pdata = providers[provider]
1255
- keys = pdata.get("keys", [])
1256
- if not keys:
1257
- return None
1258
-
1259
- current_idx = pdata.get("active_index", 0)
1260
- if current_idx < 0 or current_idx >= len(keys):
1261
- current_idx = 0
1262
-
1263
- # Advance to next key
1264
- new_idx = (current_idx + 1) % len(keys)
1265
- pdata["active_index"] = new_idx
1266
-
1267
- # Persist (best-effort)
1268
- try:
1269
- cred_mod.save_store(store, passphrase)
1270
- except (ValueError, OSError, RuntimeError):
1271
- pass
1272
-
1273
- return keys[new_idx].get("key")
1274
-
1275
-
1276
- # =============================================================================
1277
- # Role-Based Routing (Feature: OMG_ROLE_ROUTING_ENABLED)
1278
- # =============================================================================
1279
-
1280
-
1281
- def get_role_from_env() -> str | None:
1282
- """Read the active role from OMG_ACTIVE_ROLE environment variable.
1283
-
1284
- Returns:
1285
- Role name string (e.g., 'smol', 'slow') or None if not set.
1286
- """
1287
- val = os.environ.get("OMG_ACTIVE_ROLE", "").strip().lower()
1288
- return val if val else None
1289
-
1290
-
1291
- def route_with_role(task_text: str, role: str | None = None) -> dict[str, Any]:
1292
- """Select model based on role + task classification.
1293
-
1294
- Resolution order for role:
1295
- 1. Explicit `role` parameter
1296
- 2. OMG_ACTIVE_ROLE env var (via get_role_from_env())
1297
- 3. CLI args (--smol, --slow, --plan, --commit) via parse_role_args()
1298
- 4. None → fall back to existing routing
1299
-
1300
- Feature flag: OMG_ROLE_ROUTING_ENABLED (default: False)
1301
- When disabled, returns a baseline dict from existing _infer_target().
1302
-
1303
- Args:
1304
- task_text: Description of the task to route.
1305
- role: Optional explicit role name override.
1306
-
1307
- Returns:
1308
- Dict with keys: model, provider, role, reason
1309
- """
1310
- import sys as _sys
1311
-
1312
- # Baseline: always compute the existing routing target
1313
- existing_target = _infer_target(task_text)
1314
- baseline = {
1315
- "model": None,
1316
- "provider": existing_target,
1317
- "role": None,
1318
- "reason": f"intent-based routing to {existing_target}",
1319
- }
1320
-
1321
- # Check feature flag via lazy import
1322
- _hooks_dir = os.path.join(_OMG_ROOT, "hooks")
1323
- if _hooks_dir not in _sys.path:
1324
- _sys.path.insert(0, _hooks_dir)
1325
- try:
1326
- from _common import get_feature_flag # pyright: ignore[reportMissingImports]
1327
- except ImportError:
1328
- # If _common unavailable, check env var directly
1329
- env_val = os.environ.get("OMG_ROLE_ROUTING_ENABLED", "").lower()
1330
- if env_val not in ("1", "true", "yes"):
1331
- return baseline
1332
- get_feature_flag = None # type: ignore[assignment]
1333
-
1334
- if get_feature_flag is not None and not get_feature_flag("ROLE_ROUTING", default=False):
1335
- return baseline
1336
-
1337
- # Resolve role: explicit param → env var → CLI args
1338
- resolved_role = role
1339
- if resolved_role is None:
1340
- resolved_role = get_role_from_env()
1341
- if resolved_role is None:
1342
- # Lazy import parse_role_args from agents.model_roles
1343
- _agents_dir = os.path.join(_OMG_ROOT, "agents")
1344
- if _agents_dir not in _sys.path:
1345
- _sys.path.insert(0, _agents_dir)
1346
- try:
1347
- from model_roles import parse_role_args # pyright: ignore[reportMissingImports]
1348
- resolved_role = parse_role_args(_sys.argv[1:])
1349
- except ImportError:
1350
- pass
1351
-
1352
- # No role resolved → return baseline
1353
- if resolved_role is None:
1354
- return baseline
1355
-
1356
- # Get role config via lazy import
1357
- _agents_dir = os.path.join(_OMG_ROOT, "agents")
1358
- if _agents_dir not in _sys.path:
1359
- _sys.path.insert(0, _agents_dir)
1360
- try:
1361
- from model_roles import get_role # pyright: ignore[reportMissingImports]
1362
- role_config = get_role(resolved_role)
1363
- except ImportError:
1364
- return baseline
1365
-
1366
- if not role_config:
1367
- return baseline
1368
-
1369
- return {
1370
- "model": role_config.get("model"),
1371
- "provider": role_config.get("model", existing_target),
1372
- "role": resolved_role,
1373
- "reason": f"role-based routing: {resolved_role} → {role_config.get('model', 'unknown')}",
1374
- }