@trac3r/oh-my-god 2.2.11

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 (638) hide show
  1. package/CHANGELOG.md +188 -0
  2. package/INSTALL-VERIFICATION-INDEX.md +51 -0
  3. package/LICENSE +21 -0
  4. package/OMG-setup.sh +2549 -0
  5. package/QUICK-REFERENCE.md +58 -0
  6. package/README.md +207 -0
  7. package/agents/__init__.py +1 -0
  8. package/agents/__pycache__/model_roles.cpython-313.pyc +0 -0
  9. package/agents/_model_roles.yaml +26 -0
  10. package/agents/designer.md +67 -0
  11. package/agents/explore.md +60 -0
  12. package/agents/model_roles.py +196 -0
  13. package/agents/omg-api-builder.md +23 -0
  14. package/agents/omg-architect-mode.md +41 -0
  15. package/agents/omg-architect.md +13 -0
  16. package/agents/omg-backend-engineer.md +41 -0
  17. package/agents/omg-critic.md +16 -0
  18. package/agents/omg-database-engineer.md +41 -0
  19. package/agents/omg-escalation-router.md +17 -0
  20. package/agents/omg-executor.md +12 -0
  21. package/agents/omg-frontend-designer.md +41 -0
  22. package/agents/omg-implement-mode.md +49 -0
  23. package/agents/omg-infra-engineer.md +41 -0
  24. package/agents/omg-qa-tester.md +16 -0
  25. package/agents/omg-research-mode.md +41 -0
  26. package/agents/omg-security-auditor.md +41 -0
  27. package/agents/omg-testing-engineer.md +41 -0
  28. package/agents/plan.md +80 -0
  29. package/agents/quick_task.md +64 -0
  30. package/agents/reviewer.md +83 -0
  31. package/agents/task.md +71 -0
  32. package/bin/omg +41 -0
  33. package/commands/OMG:ai-commit.md +113 -0
  34. package/commands/OMG:api-twin.md +22 -0
  35. package/commands/OMG:arch.md +313 -0
  36. package/commands/OMG:browser.md +29 -0
  37. package/commands/OMG:ccg.md +22 -0
  38. package/commands/OMG:compat.md +57 -0
  39. package/commands/OMG:cost.md +181 -0
  40. package/commands/OMG:crazy.md +125 -0
  41. package/commands/OMG:create-agent.md +183 -0
  42. package/commands/OMG:deep-plan.md +18 -0
  43. package/commands/OMG:deps.md +248 -0
  44. package/commands/OMG:diagnose-plugins.md +33 -0
  45. package/commands/OMG:doctor.md +37 -0
  46. package/commands/OMG:domain-init.md +11 -0
  47. package/commands/OMG:escalate.md +52 -0
  48. package/commands/OMG:forge.md +103 -0
  49. package/commands/OMG:health-check.md +48 -0
  50. package/commands/OMG:init.md +134 -0
  51. package/commands/OMG:issue.md +56 -0
  52. package/commands/OMG:mode.md +44 -0
  53. package/commands/OMG:playwright.md +17 -0
  54. package/commands/OMG:preflight.md +26 -0
  55. package/commands/OMG:preset.md +49 -0
  56. package/commands/OMG:profile-review.md +58 -0
  57. package/commands/OMG:project-init.md +11 -0
  58. package/commands/OMG:ralph-start.md +43 -0
  59. package/commands/OMG:ralph-stop.md +23 -0
  60. package/commands/OMG:security-check.md +28 -0
  61. package/commands/OMG:session-branch.md +101 -0
  62. package/commands/OMG:session-fork.md +57 -0
  63. package/commands/OMG:session-merge.md +138 -0
  64. package/commands/OMG:setup.md +82 -0
  65. package/commands/OMG:ship.md +18 -0
  66. package/commands/OMG:stats.md +225 -0
  67. package/commands/OMG:teams.md +54 -0
  68. package/commands/OMG:theme.md +44 -0
  69. package/commands/OMG:validate.md +59 -0
  70. package/commands/__init__.py +1 -0
  71. package/docs/command-surface.md +55 -0
  72. package/docs/install/claude-code.md +53 -0
  73. package/docs/install/codex.md +45 -0
  74. package/docs/install/gemini.md +43 -0
  75. package/docs/install/github-action.md +81 -0
  76. package/docs/install/github-app-required-checks.md +107 -0
  77. package/docs/install/github-app.md +161 -0
  78. package/docs/install/kimi.md +43 -0
  79. package/docs/install/opencode.md +38 -0
  80. package/docs/proof.md +182 -0
  81. package/hooks/__init__.py +0 -0
  82. package/hooks/__pycache__/__init__.cpython-313.pyc +0 -0
  83. package/hooks/__pycache__/_agent_registry.cpython-313.pyc +0 -0
  84. package/hooks/__pycache__/_analytics.cpython-313.pyc +0 -0
  85. package/hooks/__pycache__/_budget.cpython-313.pyc +0 -0
  86. package/hooks/__pycache__/_common.cpython-313.pyc +0 -0
  87. package/hooks/__pycache__/_compression_optimizer.cpython-313.pyc +0 -0
  88. package/hooks/__pycache__/_cost_ledger.cpython-313.pyc +0 -0
  89. package/hooks/__pycache__/_learnings.cpython-313.pyc +0 -0
  90. package/hooks/__pycache__/_memory.cpython-313.pyc +0 -0
  91. package/hooks/__pycache__/_post_write.cpython-313.pyc +0 -0
  92. package/hooks/__pycache__/_protected_context.cpython-313.pyc +0 -0
  93. package/hooks/__pycache__/_token_counter.cpython-313.pyc +0 -0
  94. package/hooks/__pycache__/branch_manager.cpython-313.pyc +0 -0
  95. package/hooks/__pycache__/budget_governor.cpython-313.pyc +0 -0
  96. package/hooks/__pycache__/circuit-breaker.cpython-313.pyc +0 -0
  97. package/hooks/__pycache__/compression_feedback.cpython-313.pyc +0 -0
  98. package/hooks/__pycache__/config-guard.cpython-313.pyc +0 -0
  99. package/hooks/__pycache__/context_pressure.cpython-313.pyc +0 -0
  100. package/hooks/__pycache__/credential_store.cpython-313.pyc +0 -0
  101. package/hooks/__pycache__/fetch-rate-limits.cpython-313.pyc +0 -0
  102. package/hooks/__pycache__/firewall.cpython-313.pyc +0 -0
  103. package/hooks/__pycache__/hashline-formatter-bridge.cpython-313.pyc +0 -0
  104. package/hooks/__pycache__/hashline-injector.cpython-313.pyc +0 -0
  105. package/hooks/__pycache__/hashline-validator.cpython-313.pyc +0 -0
  106. package/hooks/__pycache__/idle-detector.cpython-313.pyc +0 -0
  107. package/hooks/__pycache__/instructions-loaded.cpython-313.pyc +0 -0
  108. package/hooks/__pycache__/intentgate-keyword-detector.cpython-313.pyc +0 -0
  109. package/hooks/__pycache__/magic-keyword-router.cpython-313.pyc +0 -0
  110. package/hooks/__pycache__/policy_engine.cpython-313.pyc +0 -0
  111. package/hooks/__pycache__/post-tool-failure.cpython-313.pyc +0 -0
  112. package/hooks/__pycache__/post-write.cpython-313.pyc +0 -0
  113. package/hooks/__pycache__/post_write.cpython-313.pyc +0 -0
  114. package/hooks/__pycache__/pre-compact.cpython-313.pyc +0 -0
  115. package/hooks/__pycache__/pre-tool-inject.cpython-313.pyc +0 -0
  116. package/hooks/__pycache__/prompt-enhancer.cpython-313.pyc +0 -0
  117. package/hooks/__pycache__/quality-runner.cpython-313.pyc +0 -0
  118. package/hooks/__pycache__/query.cpython-313.pyc +0 -0
  119. package/hooks/__pycache__/secret-guard.cpython-313.pyc +0 -0
  120. package/hooks/__pycache__/secret_audit.cpython-313.pyc +0 -0
  121. package/hooks/__pycache__/security_validators.cpython-313.pyc +0 -0
  122. package/hooks/__pycache__/session-end-capture.cpython-313.pyc +0 -0
  123. package/hooks/__pycache__/session-start.cpython-313.pyc +0 -0
  124. package/hooks/__pycache__/setup_wizard.cpython-313.pyc +0 -0
  125. package/hooks/__pycache__/shadow_manager.cpython-313.pyc +0 -0
  126. package/hooks/__pycache__/state_migration.cpython-313.pyc +0 -0
  127. package/hooks/__pycache__/stop-gate.cpython-313.pyc +0 -0
  128. package/hooks/__pycache__/stop_dispatcher.cpython-313.pyc +0 -0
  129. package/hooks/__pycache__/tdd-gate.cpython-313.pyc +0 -0
  130. package/hooks/__pycache__/terms-guard.cpython-313.pyc +0 -0
  131. package/hooks/__pycache__/test-validator.cpython-313.pyc +0 -0
  132. package/hooks/__pycache__/test_generator_hook.cpython-313.pyc +0 -0
  133. package/hooks/__pycache__/todo-state-tracker.cpython-313.pyc +0 -0
  134. package/hooks/__pycache__/tool-ledger.cpython-313.pyc +0 -0
  135. package/hooks/__pycache__/trust_review.cpython-313.pyc +0 -0
  136. package/hooks/__pycache__/user-prompt-submit.cpython-313.pyc +0 -0
  137. package/hooks/_agent_registry.py +481 -0
  138. package/hooks/_analytics.py +291 -0
  139. package/hooks/_budget.py +31 -0
  140. package/hooks/_common.py +761 -0
  141. package/hooks/_compression_optimizer.py +119 -0
  142. package/hooks/_cost_ledger.py +176 -0
  143. package/hooks/_learnings.py +126 -0
  144. package/hooks/_memory.py +103 -0
  145. package/hooks/_post_write.py +46 -0
  146. package/hooks/_protected_context.py +150 -0
  147. package/hooks/_token_counter.py +221 -0
  148. package/hooks/branch_manager.py +255 -0
  149. package/hooks/budget_governor.py +326 -0
  150. package/hooks/circuit-breaker.py +270 -0
  151. package/hooks/compression_feedback.py +254 -0
  152. package/hooks/config-guard.py +193 -0
  153. package/hooks/context_pressure.py +119 -0
  154. package/hooks/credential_store.py +970 -0
  155. package/hooks/fetch-rate-limits.py +212 -0
  156. package/hooks/firewall.py +323 -0
  157. package/hooks/hashline-formatter-bridge.py +224 -0
  158. package/hooks/hashline-injector.py +273 -0
  159. package/hooks/hashline-validator.py +216 -0
  160. package/hooks/idle-detector.py +97 -0
  161. package/hooks/instructions-loaded.py +26 -0
  162. package/hooks/intentgate-keyword-detector.py +200 -0
  163. package/hooks/magic-keyword-router.py +195 -0
  164. package/hooks/policy_engine.py +767 -0
  165. package/hooks/post-tool-failure.py +19 -0
  166. package/hooks/post-write.py +233 -0
  167. package/hooks/pre-compact.py +470 -0
  168. package/hooks/pre-tool-inject.py +98 -0
  169. package/hooks/prompt-enhancer.py +879 -0
  170. package/hooks/quality-runner.py +191 -0
  171. package/hooks/query.py +512 -0
  172. package/hooks/secret-guard.py +120 -0
  173. package/hooks/secret_audit.py +144 -0
  174. package/hooks/security_validators.py +93 -0
  175. package/hooks/session-end-capture.py +505 -0
  176. package/hooks/session-start.py +261 -0
  177. package/hooks/setup_wizard.py +1101 -0
  178. package/hooks/shadow_manager.py +476 -0
  179. package/hooks/state_migration.py +228 -0
  180. package/hooks/stop-gate.py +7 -0
  181. package/hooks/stop_dispatcher.py +1259 -0
  182. package/hooks/tdd-gate.py +10 -0
  183. package/hooks/terms-guard.py +98 -0
  184. package/hooks/test-validator.py +462 -0
  185. package/hooks/test_generator_hook.py +123 -0
  186. package/hooks/todo-state-tracker.py +114 -0
  187. package/hooks/tool-ledger.py +165 -0
  188. package/hooks/trust_review.py +662 -0
  189. package/hooks/user-prompt-submit.py +12 -0
  190. package/hud/omg-hud.mjs +1571 -0
  191. package/lab/__init__.py +1 -0
  192. package/lab/__pycache__/__init__.cpython-313.pyc +0 -0
  193. package/lab/__pycache__/axolotl_adapter.cpython-313.pyc +0 -0
  194. package/lab/__pycache__/forge_runner.cpython-313.pyc +0 -0
  195. package/lab/__pycache__/gazebo_adapter.cpython-313.pyc +0 -0
  196. package/lab/__pycache__/isaac_gym_adapter.cpython-313.pyc +0 -0
  197. package/lab/__pycache__/mock_isaac_env.cpython-313.pyc +0 -0
  198. package/lab/__pycache__/pipeline.cpython-313.pyc +0 -0
  199. package/lab/__pycache__/policies.cpython-313.pyc +0 -0
  200. package/lab/__pycache__/pybullet_adapter.cpython-313.pyc +0 -0
  201. package/lab/axolotl_adapter.py +531 -0
  202. package/lab/forge_runner.py +103 -0
  203. package/lab/gazebo_adapter.py +168 -0
  204. package/lab/isaac_gym_adapter.py +190 -0
  205. package/lab/mock_isaac_env.py +47 -0
  206. package/lab/pipeline.py +712 -0
  207. package/lab/policies.py +52 -0
  208. package/lab/pybullet_adapter.py +192 -0
  209. package/package.json +61 -0
  210. package/plugins/README.md +78 -0
  211. package/plugins/__init__.py +1 -0
  212. package/plugins/__pycache__/__init__.cpython-313.pyc +0 -0
  213. package/plugins/advanced/commands/OMG-code-review.md +114 -0
  214. package/plugins/advanced/commands/OMG-deep-plan.md +266 -0
  215. package/plugins/advanced/commands/OMG-handoff.md +115 -0
  216. package/plugins/advanced/commands/OMG-learn.md +110 -0
  217. package/plugins/advanced/commands/OMG-maintainer.md +31 -0
  218. package/plugins/advanced/commands/OMG-ralph-start.md +43 -0
  219. package/plugins/advanced/commands/OMG-ralph-stop.md +23 -0
  220. package/plugins/advanced/commands/OMG-security-review.md +16 -0
  221. package/plugins/advanced/commands/OMG-sequential-thinking.md +20 -0
  222. package/plugins/advanced/commands/OMG-ship.md +46 -0
  223. package/plugins/advanced/commands/OMG:code-review.md +114 -0
  224. package/plugins/advanced/commands/OMG:deep-plan.md +266 -0
  225. package/plugins/advanced/commands/OMG:handoff.md +115 -0
  226. package/plugins/advanced/commands/OMG:learn.md +110 -0
  227. package/plugins/advanced/commands/OMG:maintainer.md +31 -0
  228. package/plugins/advanced/commands/OMG:ralph-start.md +43 -0
  229. package/plugins/advanced/commands/OMG:ralph-stop.md +23 -0
  230. package/plugins/advanced/commands/OMG:security-review.md +16 -0
  231. package/plugins/advanced/commands/OMG:sequential-thinking.md +20 -0
  232. package/plugins/advanced/commands/OMG:ship.md +46 -0
  233. package/plugins/advanced/plugin.json +104 -0
  234. package/plugins/core/plugin.json +204 -0
  235. package/plugins/dephealth/__init__.py +0 -0
  236. package/plugins/dephealth/__pycache__/__init__.cpython-313.pyc +0 -0
  237. package/plugins/dephealth/__pycache__/cve_scanner.cpython-313.pyc +0 -0
  238. package/plugins/dephealth/__pycache__/license_checker.cpython-313.pyc +0 -0
  239. package/plugins/dephealth/__pycache__/manifest_detector.cpython-313.pyc +0 -0
  240. package/plugins/dephealth/__pycache__/vuln_analyzer.cpython-313.pyc +0 -0
  241. package/plugins/dephealth/cve_scanner.py +279 -0
  242. package/plugins/dephealth/license_checker.py +135 -0
  243. package/plugins/dephealth/manifest_detector.py +423 -0
  244. package/plugins/dephealth/vuln_analyzer.py +176 -0
  245. package/plugins/testgen/__init__.py +0 -0
  246. package/plugins/testgen/__pycache__/__init__.cpython-313.pyc +0 -0
  247. package/plugins/testgen/__pycache__/codamosa_engine.cpython-313.pyc +0 -0
  248. package/plugins/testgen/__pycache__/edge_case_synthesizer.cpython-313.pyc +0 -0
  249. package/plugins/testgen/__pycache__/framework_detector.cpython-313.pyc +0 -0
  250. package/plugins/testgen/__pycache__/skeleton_generator.cpython-313.pyc +0 -0
  251. package/plugins/testgen/codamosa_engine.py +402 -0
  252. package/plugins/testgen/edge_case_synthesizer.py +184 -0
  253. package/plugins/testgen/framework_detector.py +271 -0
  254. package/plugins/testgen/skeleton_generator.py +219 -0
  255. package/plugins/viz/__init__.py +0 -0
  256. package/plugins/viz/__pycache__/__init__.cpython-313.pyc +0 -0
  257. package/plugins/viz/__pycache__/ast_parser.cpython-313.pyc +0 -0
  258. package/plugins/viz/__pycache__/diagram_generator.cpython-313.pyc +0 -0
  259. package/plugins/viz/__pycache__/graph_builder.cpython-313.pyc +0 -0
  260. package/plugins/viz/__pycache__/native_parsers.cpython-313.pyc +0 -0
  261. package/plugins/viz/__pycache__/regex_parser.cpython-313.pyc +0 -0
  262. package/plugins/viz/ast_parser.py +139 -0
  263. package/plugins/viz/diagram_generator.py +192 -0
  264. package/plugins/viz/graph_builder.py +444 -0
  265. package/plugins/viz/native_parsers.py +259 -0
  266. package/plugins/viz/regex_parser.py +112 -0
  267. package/pyproject.toml +143 -0
  268. package/registry/__init__.py +1 -0
  269. package/registry/__pycache__/__init__.cpython-313.pyc +0 -0
  270. package/registry/__pycache__/approval_artifact.cpython-313.pyc +0 -0
  271. package/registry/__pycache__/verify_artifact.cpython-313.pyc +0 -0
  272. package/registry/approval_artifact.py +236 -0
  273. package/registry/bundles/algorithms.yaml +45 -0
  274. package/registry/bundles/api-twin.yaml +48 -0
  275. package/registry/bundles/ast-pack.yaml +80 -0
  276. package/registry/bundles/claim-judge.yaml +49 -0
  277. package/registry/bundles/control-plane.yaml +192 -0
  278. package/registry/bundles/data-lineage.yaml +47 -0
  279. package/registry/bundles/delta-classifier.yaml +47 -0
  280. package/registry/bundles/eval-gate.yaml +47 -0
  281. package/registry/bundles/hash-edit.yaml +73 -0
  282. package/registry/bundles/health.yaml +45 -0
  283. package/registry/bundles/hook-governor.yaml +101 -0
  284. package/registry/bundles/incident-replay.yaml +47 -0
  285. package/registry/bundles/lsp-pack.yaml +80 -0
  286. package/registry/bundles/mcp-fabric.yaml +53 -0
  287. package/registry/bundles/plan-council.yaml +56 -0
  288. package/registry/bundles/preflight.yaml +48 -0
  289. package/registry/bundles/proof-gate.yaml +49 -0
  290. package/registry/bundles/remote-supervisor.yaml +49 -0
  291. package/registry/bundles/robotics.yaml +45 -0
  292. package/registry/bundles/secure-worktree-pipeline.yaml +69 -0
  293. package/registry/bundles/security-check.yaml +50 -0
  294. package/registry/bundles/terminal-lane.yaml +61 -0
  295. package/registry/bundles/test-intent-lock.yaml +49 -0
  296. package/registry/bundles/tracebank.yaml +47 -0
  297. package/registry/bundles/vision.yaml +45 -0
  298. package/registry/omg-capability.schema.json +378 -0
  299. package/registry/policy-packs/airgapped.lock.json +11 -0
  300. package/registry/policy-packs/airgapped.signature.json +10 -0
  301. package/registry/policy-packs/airgapped.yaml +16 -0
  302. package/registry/policy-packs/fintech.lock.json +11 -0
  303. package/registry/policy-packs/fintech.signature.json +10 -0
  304. package/registry/policy-packs/fintech.yaml +15 -0
  305. package/registry/policy-packs/locked-prod.lock.json +11 -0
  306. package/registry/policy-packs/locked-prod.signature.json +10 -0
  307. package/registry/policy-packs/locked-prod.yaml +18 -0
  308. package/registry/trusted_signers.json +44 -0
  309. package/registry/verify_artifact.py +493 -0
  310. package/runtime/__init__.py +36 -0
  311. package/runtime/__pycache__/__init__.cpython-313.pyc +0 -0
  312. package/runtime/__pycache__/adoption.cpython-313.pyc +0 -0
  313. package/runtime/__pycache__/agent_selector.cpython-313.pyc +0 -0
  314. package/runtime/__pycache__/api_twin.cpython-313.pyc +0 -0
  315. package/runtime/__pycache__/architecture_signal.cpython-313.pyc +0 -0
  316. package/runtime/__pycache__/artifact_parsers.cpython-313.pyc +0 -0
  317. package/runtime/__pycache__/asset_loader.cpython-313.pyc +0 -0
  318. package/runtime/__pycache__/background_verification.cpython-313.pyc +0 -0
  319. package/runtime/__pycache__/budget_envelopes.cpython-313.pyc +0 -0
  320. package/runtime/__pycache__/business_workflow.cpython-313.pyc +0 -0
  321. package/runtime/__pycache__/canonical_surface.cpython-313.pyc +0 -0
  322. package/runtime/__pycache__/canonical_taxonomy.cpython-313.pyc +0 -0
  323. package/runtime/__pycache__/claim_judge.cpython-313.pyc +0 -0
  324. package/runtime/__pycache__/cli_provider.cpython-313.pyc +0 -0
  325. package/runtime/__pycache__/compat.cpython-313.pyc +0 -0
  326. package/runtime/__pycache__/complexity_scorer.cpython-313.pyc +0 -0
  327. package/runtime/__pycache__/compliance_governor.cpython-313.pyc +0 -0
  328. package/runtime/__pycache__/config_transaction.cpython-313.pyc +0 -0
  329. package/runtime/__pycache__/context_compiler.cpython-313.pyc +0 -0
  330. package/runtime/__pycache__/context_engine.cpython-313.pyc +0 -0
  331. package/runtime/__pycache__/context_limits.cpython-313.pyc +0 -0
  332. package/runtime/__pycache__/contract_compiler.cpython-313.pyc +0 -0
  333. package/runtime/__pycache__/custom_agent_loader.cpython-313.pyc +0 -0
  334. package/runtime/__pycache__/data_lineage.cpython-313.pyc +0 -0
  335. package/runtime/__pycache__/defense_state.cpython-313.pyc +0 -0
  336. package/runtime/__pycache__/delta_classifier.cpython-313.pyc +0 -0
  337. package/runtime/__pycache__/dispatcher.cpython-313.pyc +0 -0
  338. package/runtime/__pycache__/doc_generator.cpython-313.pyc +0 -0
  339. package/runtime/__pycache__/domain_packs.cpython-313.pyc +0 -0
  340. package/runtime/__pycache__/ecosystem.cpython-313.pyc +0 -0
  341. package/runtime/__pycache__/equalizer.cpython-313.pyc +0 -0
  342. package/runtime/__pycache__/eval_gate.cpython-313.pyc +0 -0
  343. package/runtime/__pycache__/evidence_narrator.cpython-313.pyc +0 -0
  344. package/runtime/__pycache__/evidence_query.cpython-313.pyc +0 -0
  345. package/runtime/__pycache__/evidence_registry.cpython-313.pyc +0 -0
  346. package/runtime/__pycache__/evidence_requirements.cpython-313.pyc +0 -0
  347. package/runtime/__pycache__/exec_kernel.cpython-313.pyc +0 -0
  348. package/runtime/__pycache__/explainer_formatter.cpython-313.pyc +0 -0
  349. package/runtime/__pycache__/feature_registry.cpython-313.pyc +0 -0
  350. package/runtime/__pycache__/forge_agents.cpython-313.pyc +0 -0
  351. package/runtime/__pycache__/forge_contracts.cpython-313.pyc +0 -0
  352. package/runtime/__pycache__/forge_domains.cpython-313.pyc +0 -0
  353. package/runtime/__pycache__/forge_run_id.cpython-313.pyc +0 -0
  354. package/runtime/__pycache__/github_integration.cpython-313.pyc +0 -0
  355. package/runtime/__pycache__/github_review_bot.cpython-313.pyc +0 -0
  356. package/runtime/__pycache__/github_review_contract.cpython-313.pyc +0 -0
  357. package/runtime/__pycache__/github_review_formatter.cpython-313.pyc +0 -0
  358. package/runtime/__pycache__/guide_assert.cpython-313.pyc +0 -0
  359. package/runtime/__pycache__/hook_governor.cpython-313.pyc +0 -0
  360. package/runtime/__pycache__/host_parity.cpython-313.pyc +0 -0
  361. package/runtime/__pycache__/incident_replay.cpython-313.pyc +0 -0
  362. package/runtime/__pycache__/install_planner.cpython-313.pyc +0 -0
  363. package/runtime/__pycache__/interaction_journal.cpython-313.pyc +0 -0
  364. package/runtime/__pycache__/issue_surface.cpython-313.pyc +0 -0
  365. package/runtime/__pycache__/legacy_compat.cpython-313.pyc +0 -0
  366. package/runtime/__pycache__/mcp_config_writers.cpython-313.pyc +0 -0
  367. package/runtime/__pycache__/mcp_lifecycle.cpython-313.pyc +0 -0
  368. package/runtime/__pycache__/mcp_memory_server.cpython-313.pyc +0 -0
  369. package/runtime/__pycache__/memory_store.cpython-313.pyc +0 -0
  370. package/runtime/__pycache__/merge_writer.cpython-313.pyc +0 -0
  371. package/runtime/__pycache__/music_omr_testbed.cpython-313.pyc +0 -0
  372. package/runtime/__pycache__/mutation_gate.cpython-313.pyc +0 -0
  373. package/runtime/__pycache__/omc_compat.cpython-313.pyc +0 -0
  374. package/runtime/__pycache__/omg_browser_cli.cpython-313.pyc +0 -0
  375. package/runtime/__pycache__/omg_mcp_server.cpython-313.pyc +0 -0
  376. package/runtime/__pycache__/opus_plan.cpython-313.pyc +0 -0
  377. package/runtime/__pycache__/playwright_adapter.cpython-313.pyc +0 -0
  378. package/runtime/__pycache__/playwright_pack.cpython-313.pyc +0 -0
  379. package/runtime/__pycache__/plugin_diagnostics.cpython-313.pyc +0 -0
  380. package/runtime/__pycache__/plugin_interop.cpython-313.pyc +0 -0
  381. package/runtime/__pycache__/policy_pack_loader.cpython-313.pyc +0 -0
  382. package/runtime/__pycache__/preflight.cpython-313.pyc +0 -0
  383. package/runtime/__pycache__/profile_io.cpython-313.pyc +0 -0
  384. package/runtime/__pycache__/prompt_compiler.cpython-313.pyc +0 -0
  385. package/runtime/__pycache__/proof_chain.cpython-313.pyc +0 -0
  386. package/runtime/__pycache__/proof_gate.cpython-313.pyc +0 -0
  387. package/runtime/__pycache__/provider_parity_eval.cpython-313.pyc +0 -0
  388. package/runtime/__pycache__/release_artifact_audit.cpython-313.pyc +0 -0
  389. package/runtime/__pycache__/release_run_coordinator.cpython-313.pyc +0 -0
  390. package/runtime/__pycache__/release_surface_compiler.cpython-313.pyc +0 -0
  391. package/runtime/__pycache__/release_surface_registry.cpython-313.pyc +0 -0
  392. package/runtime/__pycache__/release_surfaces.cpython-313.pyc +0 -0
  393. package/runtime/__pycache__/remote_supervisor.cpython-313.pyc +0 -0
  394. package/runtime/__pycache__/repro_pack.cpython-313.pyc +0 -0
  395. package/runtime/__pycache__/rollback_manifest.cpython-313.pyc +0 -0
  396. package/runtime/__pycache__/router_critics.cpython-313.pyc +0 -0
  397. package/runtime/__pycache__/router_executor.cpython-313.pyc +0 -0
  398. package/runtime/__pycache__/router_selector.cpython-313.pyc +0 -0
  399. package/runtime/__pycache__/runtime_contracts.cpython-313.pyc +0 -0
  400. package/runtime/__pycache__/runtime_profile.cpython-313.pyc +0 -0
  401. package/runtime/__pycache__/security_check.cpython-313.pyc +0 -0
  402. package/runtime/__pycache__/session_health.cpython-313.pyc +0 -0
  403. package/runtime/__pycache__/skill_evolution.cpython-313.pyc +0 -0
  404. package/runtime/__pycache__/skill_registry.cpython-313.pyc +0 -0
  405. package/runtime/__pycache__/subagent_dispatcher.cpython-313.pyc +0 -0
  406. package/runtime/__pycache__/subscription_tiers.cpython-313.pyc +0 -0
  407. package/runtime/__pycache__/team_router.cpython-313.pyc +0 -0
  408. package/runtime/__pycache__/test_intent_lock.cpython-313-pytest-9.0.2.pyc +0 -0
  409. package/runtime/__pycache__/test_intent_lock.cpython-313.pyc +0 -0
  410. package/runtime/__pycache__/tmux_session_manager.cpython-313.pyc +0 -0
  411. package/runtime/__pycache__/tool_fabric.cpython-313.pyc +0 -0
  412. package/runtime/__pycache__/tool_plan_gate.cpython-313.pyc +0 -0
  413. package/runtime/__pycache__/tool_relevance.cpython-313.pyc +0 -0
  414. package/runtime/__pycache__/tracebank.cpython-313.pyc +0 -0
  415. package/runtime/__pycache__/untrusted_content.cpython-313.pyc +0 -0
  416. package/runtime/__pycache__/validate.cpython-313.pyc +0 -0
  417. package/runtime/__pycache__/verdict_schema.cpython-313.pyc +0 -0
  418. package/runtime/__pycache__/verification_controller.cpython-313.pyc +0 -0
  419. package/runtime/__pycache__/verification_loop.cpython-313.pyc +0 -0
  420. package/runtime/__pycache__/vision_artifacts.cpython-313.pyc +0 -0
  421. package/runtime/__pycache__/vision_cache.cpython-313.pyc +0 -0
  422. package/runtime/__pycache__/vision_jobs.cpython-313.pyc +0 -0
  423. package/runtime/__pycache__/worker_watchdog.cpython-313.pyc +0 -0
  424. package/runtime/adapters/__init__.py +13 -0
  425. package/runtime/adapters/__pycache__/__init__.cpython-313.pyc +0 -0
  426. package/runtime/adapters/__pycache__/claude.cpython-313.pyc +0 -0
  427. package/runtime/adapters/__pycache__/gpt.cpython-313.pyc +0 -0
  428. package/runtime/adapters/__pycache__/local.cpython-313.pyc +0 -0
  429. package/runtime/adapters/claude.py +63 -0
  430. package/runtime/adapters/gpt.py +56 -0
  431. package/runtime/adapters/local.py +56 -0
  432. package/runtime/adoption.py +280 -0
  433. package/runtime/api_twin.py +450 -0
  434. package/runtime/architecture_signal.py +226 -0
  435. package/runtime/artifact_parsers.py +161 -0
  436. package/runtime/asset_loader.py +62 -0
  437. package/runtime/background_verification.py +178 -0
  438. package/runtime/budget_envelopes.py +398 -0
  439. package/runtime/business_workflow.py +234 -0
  440. package/runtime/canonical_surface.py +53 -0
  441. package/runtime/canonical_taxonomy.py +27 -0
  442. package/runtime/claim_judge.py +648 -0
  443. package/runtime/cli_provider.py +105 -0
  444. package/runtime/compat.py +2222 -0
  445. package/runtime/complexity_scorer.py +148 -0
  446. package/runtime/compliance_governor.py +505 -0
  447. package/runtime/config_transaction.py +304 -0
  448. package/runtime/context_compiler.py +131 -0
  449. package/runtime/context_engine.py +708 -0
  450. package/runtime/context_limits.py +363 -0
  451. package/runtime/contract_compiler.py +3664 -0
  452. package/runtime/custom_agent_loader.py +366 -0
  453. package/runtime/data_lineage.py +244 -0
  454. package/runtime/defense_state.py +261 -0
  455. package/runtime/delta_classifier.py +231 -0
  456. package/runtime/dispatcher.py +47 -0
  457. package/runtime/doc_generator.py +319 -0
  458. package/runtime/domain_packs.py +75 -0
  459. package/runtime/ecosystem.py +371 -0
  460. package/runtime/equalizer.py +268 -0
  461. package/runtime/eval_gate.py +96 -0
  462. package/runtime/evidence_narrator.py +147 -0
  463. package/runtime/evidence_query.py +303 -0
  464. package/runtime/evidence_registry.py +16 -0
  465. package/runtime/evidence_requirements.py +157 -0
  466. package/runtime/exec_kernel.py +267 -0
  467. package/runtime/explainer_formatter.py +82 -0
  468. package/runtime/feature_registry.py +109 -0
  469. package/runtime/forge_agents.py +915 -0
  470. package/runtime/forge_contracts.py +519 -0
  471. package/runtime/forge_domains.py +68 -0
  472. package/runtime/forge_run_id.py +86 -0
  473. package/runtime/guide_assert.py +135 -0
  474. package/runtime/hook_governor.py +156 -0
  475. package/runtime/host_parity.py +373 -0
  476. package/runtime/incident_replay.py +310 -0
  477. package/runtime/install_planner.py +617 -0
  478. package/runtime/interaction_journal.py +566 -0
  479. package/runtime/issue_surface.py +472 -0
  480. package/runtime/legacy_compat.py +7 -0
  481. package/runtime/mcp_config_writers.py +360 -0
  482. package/runtime/mcp_lifecycle.py +175 -0
  483. package/runtime/mcp_memory_server.py +220 -0
  484. package/runtime/memory_parsers/__init__.py +0 -0
  485. package/runtime/memory_parsers/__pycache__/__init__.cpython-313.pyc +0 -0
  486. package/runtime/memory_parsers/__pycache__/chatgpt_parser.cpython-313.pyc +0 -0
  487. package/runtime/memory_parsers/__pycache__/claude_import.cpython-313.pyc +0 -0
  488. package/runtime/memory_parsers/__pycache__/export.cpython-313.pyc +0 -0
  489. package/runtime/memory_parsers/__pycache__/gemini_import.cpython-313.pyc +0 -0
  490. package/runtime/memory_parsers/__pycache__/kimi_import.cpython-313.pyc +0 -0
  491. package/runtime/memory_parsers/chatgpt_parser.py +257 -0
  492. package/runtime/memory_parsers/claude_import.py +107 -0
  493. package/runtime/memory_parsers/export.py +97 -0
  494. package/runtime/memory_parsers/gemini_import.py +91 -0
  495. package/runtime/memory_parsers/kimi_import.py +91 -0
  496. package/runtime/memory_store.py +1182 -0
  497. package/runtime/merge_writer.py +445 -0
  498. package/runtime/music_omr_testbed.py +336 -0
  499. package/runtime/mutation_gate.py +320 -0
  500. package/runtime/omc_compat.py +7 -0
  501. package/runtime/omg_browser_cli.py +95 -0
  502. package/runtime/omg_compat_contract_snapshot.json +936 -0
  503. package/runtime/omg_contract_snapshot.json +936 -0
  504. package/runtime/omg_mcp_server.py +306 -0
  505. package/runtime/playwright_adapter.py +39 -0
  506. package/runtime/playwright_pack.py +253 -0
  507. package/runtime/plugin_diagnostics.py +308 -0
  508. package/runtime/plugin_interop.py +1060 -0
  509. package/runtime/policy_pack_loader.py +147 -0
  510. package/runtime/preflight.py +135 -0
  511. package/runtime/profile_io.py +328 -0
  512. package/runtime/proof_chain.py +472 -0
  513. package/runtime/proof_gate.py +442 -0
  514. package/runtime/provider_parity_eval.py +109 -0
  515. package/runtime/providers/__init__.py +0 -0
  516. package/runtime/providers/__pycache__/__init__.cpython-313.pyc +0 -0
  517. package/runtime/providers/__pycache__/codex_provider.cpython-313.pyc +0 -0
  518. package/runtime/providers/__pycache__/gemini_provider.cpython-313.pyc +0 -0
  519. package/runtime/providers/__pycache__/kimi_provider.cpython-313.pyc +0 -0
  520. package/runtime/providers/__pycache__/opencode_provider.cpython-313.pyc +0 -0
  521. package/runtime/providers/codex_provider.py +129 -0
  522. package/runtime/providers/gemini_provider.py +143 -0
  523. package/runtime/providers/kimi_provider.py +167 -0
  524. package/runtime/providers/opencode_provider.py +99 -0
  525. package/runtime/release_artifact_audit.py +556 -0
  526. package/runtime/release_run_coordinator.py +574 -0
  527. package/runtime/release_surface_compiler.py +643 -0
  528. package/runtime/release_surface_registry.py +283 -0
  529. package/runtime/release_surfaces.py +320 -0
  530. package/runtime/remote_supervisor.py +79 -0
  531. package/runtime/repro_pack.py +398 -0
  532. package/runtime/rollback_manifest.py +143 -0
  533. package/runtime/router_critics.py +229 -0
  534. package/runtime/router_executor.py +142 -0
  535. package/runtime/router_selector.py +99 -0
  536. package/runtime/runtime_contracts.py +292 -0
  537. package/runtime/runtime_profile.py +133 -0
  538. package/runtime/security_check.py +1094 -0
  539. package/runtime/session_health.py +546 -0
  540. package/runtime/skill_evolution.py +221 -0
  541. package/runtime/skill_registry.py +53 -0
  542. package/runtime/subagent_dispatcher.py +604 -0
  543. package/runtime/subscription_tiers.py +258 -0
  544. package/runtime/team_router.py +1399 -0
  545. package/runtime/test_intent_lock.py +543 -0
  546. package/runtime/tmux_session_manager.py +172 -0
  547. package/runtime/tool_fabric.py +570 -0
  548. package/runtime/tool_plan_gate.py +460 -0
  549. package/runtime/tracebank.py +125 -0
  550. package/runtime/untrusted_content.py +360 -0
  551. package/runtime/validate.py +293 -0
  552. package/runtime/verdict_schema.py +198 -0
  553. package/runtime/verification_controller.py +235 -0
  554. package/runtime/verification_loop.py +73 -0
  555. package/runtime/vision_artifacts.py +31 -0
  556. package/runtime/vision_cache.py +38 -0
  557. package/runtime/vision_jobs.py +92 -0
  558. package/runtime/worker_watchdog.py +526 -0
  559. package/scripts/__pycache__/audit-published-artifact.cpython-313.pyc +0 -0
  560. package/scripts/__pycache__/check-doc-parity.cpython-313.pyc +0 -0
  561. package/scripts/__pycache__/check-omg-standalone-clean.cpython-313.pyc +0 -0
  562. package/scripts/__pycache__/github_review_helpers.cpython-313.pyc +0 -0
  563. package/scripts/__pycache__/omg.cpython-313.pyc +0 -0
  564. package/scripts/__pycache__/prepare-release-proof-fixtures.cpython-313.pyc +0 -0
  565. package/scripts/__pycache__/sync-release-identity.cpython-313.pyc +0 -0
  566. package/scripts/__pycache__/validate-release-identity.cpython-313.pyc +0 -0
  567. package/scripts/audit-published-artifact.py +59 -0
  568. package/scripts/check-omg-compat-contract-snapshot.py +137 -0
  569. package/scripts/check-omg-contract-snapshot.py +12 -0
  570. package/scripts/check-omg-public-ready.py +273 -0
  571. package/scripts/check-omg-standalone-clean.py +133 -0
  572. package/scripts/emit_host_parity.py +72 -0
  573. package/scripts/legacy_to_omg_migrate.py +29 -0
  574. package/scripts/migrate-legacy.py +464 -0
  575. package/scripts/omc_to_omg_migrate.py +12 -0
  576. package/scripts/omg.py +2962 -0
  577. package/scripts/pre-release-check.sh +38 -0
  578. package/scripts/prepare-release-proof-fixtures.py +602 -0
  579. package/scripts/print-canonical-version.py +80 -0
  580. package/scripts/settings-merge.py +289 -0
  581. package/scripts/sync-release-identity.py +481 -0
  582. package/scripts/validate-release-identity.py +632 -0
  583. package/scripts/verify-no-omc.sh +5 -0
  584. package/scripts/verify-standalone.sh +35 -0
  585. package/settings.json +751 -0
  586. package/tools/__init__.py +2 -0
  587. package/tools/__pycache__/__init__.cpython-313.pyc +0 -0
  588. package/tools/__pycache__/browser_consent.cpython-313.pyc +0 -0
  589. package/tools/__pycache__/browser_stealth.cpython-313.pyc +0 -0
  590. package/tools/__pycache__/browser_tool.cpython-313.pyc +0 -0
  591. package/tools/__pycache__/changelog_generator.cpython-313.pyc +0 -0
  592. package/tools/__pycache__/commit_splitter.cpython-313.pyc +0 -0
  593. package/tools/__pycache__/config_discovery.cpython-313.pyc +0 -0
  594. package/tools/__pycache__/config_merger.cpython-313.pyc +0 -0
  595. package/tools/__pycache__/dashboard_generator.cpython-313.pyc +0 -0
  596. package/tools/__pycache__/git_inspector.cpython-313.pyc +0 -0
  597. package/tools/__pycache__/lsp_client.cpython-313.pyc +0 -0
  598. package/tools/__pycache__/lsp_operations.cpython-313.pyc +0 -0
  599. package/tools/__pycache__/pr_generator.cpython-313.pyc +0 -0
  600. package/tools/__pycache__/python_repl.cpython-313.pyc +0 -0
  601. package/tools/__pycache__/python_sandbox.cpython-313.pyc +0 -0
  602. package/tools/__pycache__/session_snapshot.cpython-313.pyc +0 -0
  603. package/tools/__pycache__/ssh_manager.cpython-313.pyc +0 -0
  604. package/tools/__pycache__/theme_engine.cpython-313.pyc +0 -0
  605. package/tools/__pycache__/theme_selector.cpython-313.pyc +0 -0
  606. package/tools/__pycache__/web_search.cpython-313.pyc +0 -0
  607. package/tools/browser_consent.py +289 -0
  608. package/tools/browser_stealth.py +481 -0
  609. package/tools/browser_tool.py +448 -0
  610. package/tools/changelog_generator.py +347 -0
  611. package/tools/commit_splitter.py +749 -0
  612. package/tools/config_discovery.py +151 -0
  613. package/tools/config_merger.py +449 -0
  614. package/tools/dashboard_generator.py +300 -0
  615. package/tools/git_inspector.py +298 -0
  616. package/tools/lsp_client.py +275 -0
  617. package/tools/lsp_discovery.py +231 -0
  618. package/tools/lsp_operations.py +392 -0
  619. package/tools/pr_generator.py +404 -0
  620. package/tools/python_repl.py +712 -0
  621. package/tools/python_sandbox.py +768 -0
  622. package/tools/search_providers/__init__.py +77 -0
  623. package/tools/search_providers/__pycache__/__init__.cpython-313.pyc +0 -0
  624. package/tools/search_providers/__pycache__/brave.cpython-313.pyc +0 -0
  625. package/tools/search_providers/__pycache__/exa.cpython-313.pyc +0 -0
  626. package/tools/search_providers/__pycache__/jina.cpython-313.pyc +0 -0
  627. package/tools/search_providers/__pycache__/perplexity.cpython-313.pyc +0 -0
  628. package/tools/search_providers/__pycache__/synthetic.cpython-313.pyc +0 -0
  629. package/tools/search_providers/brave.py +115 -0
  630. package/tools/search_providers/exa.py +116 -0
  631. package/tools/search_providers/jina.py +104 -0
  632. package/tools/search_providers/perplexity.py +139 -0
  633. package/tools/search_providers/synthetic.py +74 -0
  634. package/tools/session_snapshot.py +851 -0
  635. package/tools/ssh_manager.py +912 -0
  636. package/tools/theme_engine.py +296 -0
  637. package/tools/theme_selector.py +137 -0
  638. package/tools/web_search.py +675 -0
@@ -0,0 +1,58 @@
1
+ <!-- GENERATED: DO NOT EDIT MANUALLY -->
2
+ # OMG CLI Adapter Quick Reference
3
+
4
+ ## 🎯 Core Integration Points
5
+
6
+ ### Canonical Hosts
7
+
8
+ <!-- OMG:GENERATED:quick-reference-hosts -->
9
+ ### Host Targets
10
+
11
+ | host | role | config |
12
+ | :--- | :--- | :--- |
13
+ | claude | canonical | `.mcp.json` |
14
+ | codex | canonical | `~/.codex/config.toml` |
15
+ | gemini | canonical | `~/.gemini/settings.json` |
16
+ | kimi | canonical | `~/.kimi/mcp.json` |
17
+ | opencode | compatibility | `~/.config/opencode/opencode.json` |
18
+
19
+ <!-- /OMG:GENERATED:quick-reference-hosts -->
20
+
21
+ | Host | Config File |
22
+ | :--- | :--- |
23
+ | claude | `.mcp.json` |
24
+ | codex | `~/.codex/config.toml` |
25
+ | gemini | `~/.gemini/settings.json` |
26
+ | kimi | `~/.kimi/mcp.json` |
27
+
28
+ ### Release Channels
29
+
30
+ - `public`
31
+ - `enterprise`
32
+
33
+ ### Preset Quick Reference
34
+
35
+ | Preset | Key Features |
36
+ | :--- | :--- |
37
+ | safe | None |
38
+ | balanced | SETUP, SETUP_WIZARD, MEMORY_AUTOSTART, SESSION_ANALYTICS, CONTEXT_MANAGER... |
39
+ | interop | SETUP, SETUP_WIZARD, MEMORY_AUTOSTART, SESSION_ANALYTICS, CONTEXT_MANAGER... |
40
+ | labs | SETUP, SETUP_WIZARD, MEMORY_AUTOSTART, SESSION_ANALYTICS, CONTEXT_MANAGER... |
41
+ | buffet | SETUP, SETUP_WIZARD, MEMORY_AUTOSTART, SESSION_ANALYTICS, CONTEXT_MANAGER... |
42
+ | production | SETUP, SETUP_WIZARD, MEMORY_AUTOSTART, SESSION_ANALYTICS, CONTEXT_MANAGER... |
43
+
44
+ ### Quick Commands
45
+
46
+ | Task | Command |
47
+ | :--- | :--- |
48
+ | Install (preview) | `npx omg install --plan` |
49
+ | Install (apply) | `npx omg install --apply` |
50
+ | Diagnostics | `npx omg doctor` |
51
+ | Environment check | `npx omg env doctor` |
52
+ | Ship | `npx omg ship` |
53
+ | Release audit | `npx omg release audit --artifact` |
54
+ | Proof dashboard | `npx omg proof open --html` |
55
+ | Explain run | `npx omg explain run --run-id <id>` |
56
+ | Blocked inspection | `npx omg blocked --last` |
57
+ | Validate | `npx omg validate` |
58
+ | Contract validate | `npx omg contract validate` |
package/README.md ADDED
@@ -0,0 +1,207 @@
1
+ # OMG
2
+
3
+ [![Compat Gate](https://github.com/trac3r00/OMG/actions/workflows/omg-compat-gate.yml/badge.svg)](https://github.com/trac3r00/OMG/actions/workflows/omg-compat-gate.yml)
4
+ [![npm version](https://img.shields.io/npm/v/%40trac3r%2Foh-my-god)](https://www.npmjs.com/package/@trac3r/oh-my-god)
5
+ [![License](https://img.shields.io/github/license/trac3r00/OMG)](LICENSE)
6
+
7
+ OMG upgrades your agent host instead of replacing it. It gives Claude Code, Codex, and other supported CLIs a tighter setup flow, stronger orchestration, native adoption from older plugin stacks, and proof-backed verification.
8
+
9
+ ## The Problem
10
+
11
+ Agent hosts like Claude Code and Codex are powerful but lack governance, mutation safety, and evidence-backed verification. They often operate in a "trust me" mode where changes happen without a clear audit trail or safety gates. This leads to risky mutations, lack of interoperability between different agent stacks, and difficulty in verifying that a task was actually completed correctly.
12
+
13
+ ## The Solution
14
+
15
+ OMG (Oh My God) provides a governance and orchestration layer that sits on top of existing agent hosts. It introduces:
16
+
17
+ - **Hooks**: Pre-tool and post-tool execution gates for security and validation.
18
+ - **Governance Payload**: Structured metadata for every action.
19
+ - **Mutation Gate**: Prevents or warns about risky file system changes.
20
+ - **Session Health**: Monitors the state of the session and requires review for risky states.
21
+ - **Forge**: A modular orchestration engine for complex tasks.
22
+ - **Memory**: A secure, namespaced, and encrypted state store.
23
+ - **Evidence-Backed Verification**: Machine-generated proof for every claim.
24
+
25
+ ## Real-World Example
26
+
27
+ Imagine an agent trying to delete a critical configuration file. Without OMG, the agent might just do it. With OMG's **Mutation Gate**, the action is intercepted, a warning is generated, and the user is prompted for approval. Or, when an agent claims a feature is "done", OMG's **Claim Judge** and **Proof Gate** require actual test results and build logs as evidence before the claim is accepted.
28
+
29
+ ## Architecture
30
+
31
+ OMG operates as a middleware layer between the agent host and the underlying tools.
32
+
33
+ ```mermaid
34
+ graph TD
35
+ Host[Agent Host: Claude Code / Codex] -->|Tool Call| Hooks[OMG Hooks]
36
+ Hooks -->|Security Check| Security[Security Guard / Firewall]
37
+ Hooks -->|Governance| ControlPlane[OMG Control Plane]
38
+ ControlPlane -->|State| Memory[OMG Memory]
39
+ ControlPlane -->|Verification| Proof[Proof Gate / Claim Judge]
40
+ ControlPlane -->|Orchestration| Forge[OMG Forge]
41
+ Hooks -->|Execution| Tool[Actual Tool Execution]
42
+ Tool -->|Result| Hooks
43
+ Hooks -->|Evidence| Proof
44
+ ```
45
+
46
+ ## Comparison
47
+
48
+ | Feature | Raw Claude Code | Superpowers | OMG |
49
+ | :--- | :---: | :---: | :---: |
50
+ | **Governance** | Minimal | Plugin-based | Native Control Plane |
51
+ | **Mutation Safety** | Basic | None | Hard Gates + Warnings |
52
+ | **Verification** | Manual | None | Evidence-Backed Proof |
53
+ | **Interoperability** | Single Host | Multi-Host | Universal MCP + Registry |
54
+ | **State Management** | Volatile | Local Files | Encrypted + Namespaced |
55
+ | **Orchestration** | Linear | Scripted | Modular Forge |
56
+
57
+ ## Limitations
58
+
59
+ - **Not a Base Model**: OMG does not train or provide its own LLMs; it orchestrates existing ones.
60
+ - **Local-Only**: Designed for same-machine production; no cloud-sync for state by design.
61
+ - **Advisory-First**: In v1, many gates are advisory (warnings) rather than hard-blocking to avoid breaking workflows.
62
+ - **Host Dependent**: Capabilities are limited by what the underlying agent host supports.
63
+
64
+ - Brand: `OMG`
65
+ - Repo: `https://github.com/trac3r00/OMG`
66
+ - npm: `@trac3r/oh-my-god`
67
+ - Plugin id: `omg`
68
+ - Marketplace id: `omg`
69
+
70
+ ## Why OMG
71
+
72
+ <!-- OMG:GENERATED:why-omg -->
73
+ OMG keeps the host you already use, then adds governed install, proof, and release surfaces on top.
74
+
75
+ - Canonical host parity targets are Claude, Codex, Gemini, and Kimi.
76
+ - OpenCode remains a supported compatibility host for teams that need it.
77
+ - Install and verification stay explicit: doctor first, preview second, apply last.
78
+
79
+ > Legacy Claude compatibility commands such as `/OMG:setup` and `/OMG:crazy <goal>` remain documented as footnotes only.
80
+ <!-- /OMG:GENERATED:why-omg -->
81
+
82
+ - Claude front door: run `npx omg env doctor`, then `npx omg install --plan`, then `npx omg install --apply`.
83
+ - Browser front door: run `/OMG:browser <goal>` for browser automation and verification, with `/OMG:playwright` kept as a compatibility alias and the upstream Playwright CLI handling browser execution.
84
+ - Multi-host support: Claude Code, Codex, Gemini CLI, and Kimi CLI are canonical behavior-parity hosts; OpenCode is compatibility-only.
85
+ - Compiled planning: advanced planning is now compiled into the `plan-council` bundle for deterministic execution.
86
+ - Native adoption: setup detects OMC, OMX, and Superpowers-style environments without exposing copycat public migration commands.
87
+ - Proof-first delivery: verification, provider coverage, HUD artifacts, and transcripts are published instead of implied.
88
+
89
+ ## Canonical Contract
90
+
91
+ OMG now ships a production control-plane contract and generated host artifacts. Same-machine production support is anchored by the stdio-first `omg-control` MCP. HTTP control-plane exposure is intended for development and local HUD use only.
92
+
93
+ - Normative spec: `OMG_COMPAT_CONTRACT.md`
94
+ - Executable registry: `registry/omg-capability.schema.json` and `registry/bundles/*.yaml`
95
+ - Generated Codex pack: `.agents/skills/omg/`
96
+ - Validation: `npx omg contract validate`
97
+ - Compilation: `npx omg contract compile --host claude --host codex --host gemini --host kimi --channel public`
98
+ - Release gate: `npx omg release readiness --channel dual`
99
+
100
+ ![OMG HUD](docs/assets/omg-hud.svg)
101
+
102
+ ## Quickstart
103
+
104
+ <!-- OMG:GENERATED:install-intro -->
105
+ > **Prerequisites**: macOS or Linux, Node >=18, Python >=3.10
106
+
107
+ ```bash
108
+ npx omg env doctor
109
+ npx omg install --plan
110
+ # confirm preview output before applying
111
+ npx omg install --apply
112
+ npx omg ship
113
+ ```
114
+
115
+ Local package-manager installs only link `omg` into `node_modules/.bin/`; they do not mutate configuration.
116
+
117
+ The package postinstall runs `npx omg install --plan` as a preview, so it makes no mutations until you explicitly run `npx omg install --apply`.
118
+ <!-- /OMG:GENERATED:install-intro -->
119
+
120
+ On non-Claude hosts, verify native MCP registration after `npx omg install --apply`:
121
+
122
+ - `codex mcp list`
123
+ - `gemini mcp list`
124
+ - `kimi mcp list`
125
+
126
+ Success looks like:
127
+
128
+ - supported hosts are detected
129
+ - Claude Code sees `omg@omg` as enabled instead of `failed to load`
130
+ - Claude Code's plugin bundle owns `omg-control` via `.claude-plugin/mcp.json`; project or user `.mcp.json` entries can keep `filesystem` without collisions
131
+ - `~/.claude/settings.json` has a `statusLine` command for `~/.claude/hud/omg-hud.mjs`
132
+ - `~/.codex/config.toml`, `~/.gemini/settings.json`, and `~/.kimi/mcp.json` receive `omg-control` after `npx omg install --apply` when those CLIs are on `PATH`
133
+ - additional MCP servers are added when a broader preset is selected (`balanced` adds `context7`; `interop` adds `websearch` and `omg-memory`; `labs` adds browser automation)
134
+ - `.omg/state/adoption-report.json` is written when another ecosystem is present
135
+ - OMG reports the selected preset and next step
136
+ - narrowed defaults keep the required control plane small while optional capabilities such as browser automation remain opt-in
137
+
138
+ > Restricted environments / air-gapped fallback only: clone-and-setup flows plus Claude slash commands such as `/OMG:setup` and `/OMG:crazy <goal>` remain available when launcher-first install cannot modify the host directly.
139
+
140
+ ## Install Guides
141
+
142
+ - Claude Code: [docs/install/claude-code.md](docs/install/claude-code.md)
143
+ - Codex: [docs/install/codex.md](docs/install/codex.md)
144
+ - OpenCode: [docs/install/opencode.md](docs/install/opencode.md)
145
+ - Gemini: [docs/install/gemini.md](docs/install/gemini.md)
146
+ - Kimi: [docs/install/kimi.md](docs/install/kimi.md)
147
+ ## Native Adoption
148
+
149
+ OMG uses native setup language instead of public migration commands.
150
+
151
+ - `OMG-only`: recommended. OMG becomes the primary hooks, HUD, MCP, and orchestration layer.
152
+ - `coexist`: advanced. OMG preserves non-conflicting third-party surfaces and records overlap instead of overwriting it.
153
+ - Modes: `chill`, `focused`, `exploratory`. `focused` is the production default.
154
+ - Presets: `safe`, `balanced`, `interop`, `labs`, `production` (all governed flags on).
155
+
156
+ ## Security Notes
157
+
158
+ - The shipped `safe` preset now registers pre-tool security hooks before the planning helper.
159
+ - `Bash` requests are screened by `firewall.py`, and file reads or edits are screened by `secret-guard.py`.
160
+ - Raw environment dumps, interpreters, and permission-changing commands such as `env`, `node`, `python`, `python3`, `chmod`, and `chown` now require approval instead of being silently allowed.
161
+
162
+ Compatibility references to OMC, OMX, and Superpowers are documented here: [docs/migration/native-adoption.md](docs/migration/native-adoption.md)
163
+
164
+ ## Proof
165
+
166
+ Current local verification for this release: See `.omg/evidence/` for machine-generated verification artifacts.
167
+
168
+ - Truth bundles: `claim-judge`, `test-intent-lock`, `proof-gate`
169
+ - Execution Kernel: `exec-kernel` facade with `worker-watchdog` stall detection and `merge-writer` provenance
170
+ - Governed Tool Fabric: Lane-based tool governance with signed approval and ledgering
171
+ - Budget Envelopes: Multi-dimensional resource tracking (CPU, memory, wall time, tokens, network)
172
+ - Host Parity: Semantic host parity normalization across canonical providers
173
+ - Issue Surface: Active red-team and diagnostic surface via `/OMG:issue`
174
+ - Certification Lane 1 and permanent flagship gate: Music OMR daily verification for deterministic OMR and live transposition under the hardest real-time domain constraints in the stack
175
+ - Evidence profiles: `browser-flow`, `forge-cybersecurity`, `interop-diagnosis`, `install-validation`, `buffet`
176
+ - Verification and provider matrix: [docs/proof.md](docs/proof.md)
177
+ - Sample setup transcript: [docs/transcripts/setup.md](docs/transcripts/setup.md)
178
+ - Sample crazy transcript: [docs/transcripts/crazy.md](docs/transcripts/crazy.md)
179
+ - Release process: [docs/release-checklist.md](docs/release-checklist.md)
180
+
181
+ ## Command Surface
182
+
183
+ Primary launcher entry points:
184
+
185
+ - `npx omg env doctor`
186
+ - `npx omg install --plan`
187
+ - `npx omg install --apply`
188
+ - `npx omg ship`
189
+ - `npx omg proof open --html`
190
+ - `npx omg blocked --last`
191
+
192
+ > **Legacy/advanced aliases**: `/OMG:setup`, `/OMG:browser`, `/OMG:crazy`, `/OMG:deep-plan`
193
+ > (compatibility path to `plan-council`),
194
+ > `/OMG:playwright`, `/OMG:security-check`, `/OMG:api-twin`, `/OMG:preflight`, `/OMG:teams`,
195
+ > `/OMG:ccg`, `/OMG:compat`, `/OMG:ship`
196
+
197
+ ## Contributing
198
+
199
+ Public contributions are welcome.
200
+
201
+ - Contribution guide: [CONTRIBUTING.md](CONTRIBUTING.md)
202
+ - Security reporting: [SECURITY.md](SECURITY.md)
203
+ - Changelog: [CHANGELOG.md](CHANGELOG.md)
204
+
205
+ ## Positioning
206
+
207
+ OMG is a plugin and orchestration layer for supported CLIs. It is not a base-model training project. The goal is to make frontier agent hosts tighter, safer, more interoperable, and more verifiable than the default experience.
@@ -0,0 +1 @@
1
+ """OMG agents module."""
@@ -0,0 +1,26 @@
1
+ roles:
2
+ default:
3
+ model: "claude-opus-4-5"
4
+ temperature: 1.0
5
+ max_tokens: 8192
6
+ description: "Default balanced model for general tasks"
7
+ smol:
8
+ model: "claude-haiku-4-5"
9
+ temperature: 0.7
10
+ max_tokens: 4096
11
+ description: "Fast cheap model for simple/trivial tasks"
12
+ slow:
13
+ model: "claude-opus-4-5"
14
+ temperature: 0.5
15
+ max_tokens: 16384
16
+ description: "Careful deliberate model for complex reasoning"
17
+ plan:
18
+ model: "claude-sonnet-4-5"
19
+ temperature: 0.8
20
+ max_tokens: 8192
21
+ description: "Planning and architecture model"
22
+ commit:
23
+ model: "claude-haiku-4-5"
24
+ temperature: 0.3
25
+ max_tokens: 2048
26
+ description: "Concise model for git commits and short summaries"
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: designer
3
+ description: UI/UX design agent — component design, layout, accessibility, responsive design
4
+ model: claude-opus-4-5
5
+ tools: Read, Grep, Glob, Bash, Write, Edit
6
+ bundled: true
7
+ ---
8
+
9
+ # Agent: Designer
10
+
11
+ ## Role
12
+
13
+ Frontend-focused UI/UX design agent. Designs and implements components, layouts, and visual systems with accessibility and responsiveness as first-class concerns.
14
+
15
+ ## Model
16
+
17
+ `default` (claude-opus-4-5) — balanced capability for design reasoning and implementation.
18
+
19
+ ## Capabilities
20
+
21
+ - Component design and implementation (React, Vue, HTML/CSS)
22
+ - Layout systems (flexbox, grid, responsive breakpoints)
23
+ - Accessibility (ARIA, keyboard navigation, color contrast, screen readers)
24
+ - Responsive design (mobile-first, breakpoint strategy)
25
+ - CSS and Tailwind utility class usage
26
+ - Design system adherence and token usage
27
+ - Animation and micro-interaction design
28
+ - Visual hierarchy and typography
29
+
30
+ ## Instructions
31
+
32
+ You are a frontend design agent. You design and build UI components.
33
+
34
+ **Core rules:**
35
+ - MUST NOT modify backend/API code (routes, controllers, database)
36
+ - MUST check accessibility on every component (ARIA labels, keyboard nav, contrast)
37
+ - MUST verify responsive behavior at 375px, 768px, and 1280px
38
+ - MUST NOT introduce inline styles when a design system or utility classes exist
39
+ - ALWAYS run the frontend linter/build before claiming completion
40
+
41
+ **Design process:**
42
+ 1. Understand the user need — what problem does this UI solve?
43
+ 2. Check existing design system tokens, components, and patterns
44
+ 3. Design the component structure (props, state, layout)
45
+ 4. Implement with accessibility built in from the start
46
+ 5. Verify at all breakpoints
47
+ 6. Run linter and build
48
+
49
+ **Accessibility checklist (every component):**
50
+ - [ ] Semantic HTML elements used correctly
51
+ - [ ] ARIA labels on interactive elements without visible text
52
+ - [ ] Keyboard navigation works (Tab, Enter, Escape, Arrow keys)
53
+ - [ ] Color contrast meets WCAG AA (4.5:1 for text, 3:1 for UI)
54
+ - [ ] Focus indicators visible
55
+
56
+ **When to defer:**
57
+ - Backend data fetching logic → `omg-backend-engineer`
58
+ - Complex state management → coordinate with backend agent
59
+ - Security-sensitive forms → recommend `/OMG:escalate codex`
60
+
61
+ ## Example Prompts
62
+
63
+ - "Design a responsive navigation component with mobile hamburger menu"
64
+ - "Build an accessible modal dialog with focus trap"
65
+ - "Create a data table component with sorting and pagination"
66
+ - "Improve the color contrast on the dashboard cards"
67
+ - "Design a multi-step form wizard with progress indicator"
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: explore
3
+ description: Fast codebase search agent — grep, glob, file reading, pattern matching
4
+ model: claude-haiku-4-5
5
+ tools: Read, Grep, Glob
6
+ bundled: true
7
+ ---
8
+
9
+ # Agent: Explore
10
+
11
+ ## Role
12
+
13
+ Fast, read-only codebase search agent. Finds code, files, and patterns without modifying anything.
14
+
15
+ ## Model
16
+
17
+ `smol` (claude-haiku-4-5) — speed-optimized for quick lookups and pattern matching.
18
+
19
+ ## Capabilities
20
+
21
+ - Grep for patterns across files and directories
22
+ - Glob to find files by name or extension
23
+ - Read file contents and extract relevant sections
24
+ - Pattern matching across multiple files simultaneously
25
+ - Symbol and reference discovery
26
+ - Dependency tracing (imports, requires, includes)
27
+ - Find all usages of a function, class, or variable
28
+
29
+ ## Instructions
30
+
31
+ You are a read-only search agent. Your job is to find things, not change them.
32
+
33
+ **Core rules:**
34
+ - NEVER write, edit, or delete files
35
+ - NEVER run commands that modify state (no git commits, no npm install, no file writes)
36
+ - ALWAYS return file paths with line numbers when reporting findings
37
+ - ALWAYS summarize what you found at the end
38
+
39
+ **Search strategy:**
40
+ 1. Start broad with glob to find candidate files
41
+ 2. Narrow with grep to find exact patterns
42
+ 3. Read relevant sections for context
43
+ 4. Report findings with file:line references
44
+
45
+ **Output format:**
46
+ - List each finding as `file.ext:LINE — description`
47
+ - Group related findings together
48
+ - End with a summary count: "Found N occurrences in M files"
49
+
50
+ **When to stop:**
51
+ - Once you've found what was asked for
52
+ - If a pattern doesn't exist, say so clearly — don't keep searching
53
+
54
+ ## Example Prompts
55
+
56
+ - "Find all usages of `fetchUser` across the codebase"
57
+ - "Which files import from `@/lib/auth`?"
58
+ - "Show me all TODO comments in the src/ directory"
59
+ - "Find every place we call `console.error`"
60
+ - "What files define a `handleSubmit` function?"
@@ -0,0 +1,196 @@
1
+ #!/usr/bin/env python3
2
+ """Model roles loader — defines role configurations for model selection.
3
+
4
+ Loads role definitions from _model_roles.yaml and provides utilities for
5
+ role-based model selection, CLI argument parsing, and feature flag control.
6
+ """
7
+ import os
8
+ import sys
9
+ from pathlib import Path
10
+ from typing import Optional
11
+
12
+ # Try to import yaml; fall back to json if not available
13
+ try:
14
+ import yaml
15
+ HAS_YAML = True
16
+ except ImportError:
17
+ HAS_YAML = False
18
+ import json
19
+
20
+ # Add parent directory to path for importing from hooks
21
+ _AGENTS_DIR = Path(__file__).parent
22
+ _HOOKS_DIR = _AGENTS_DIR.parent / "hooks"
23
+ if str(_HOOKS_DIR) not in sys.path:
24
+ sys.path.insert(0, str(_HOOKS_DIR))
25
+
26
+ try:
27
+ from _common import get_feature_flag, get_project_dir
28
+ except ImportError:
29
+ # Fallback if _common is not available
30
+ def get_feature_flag(flag_name, default=True):
31
+ env_key = f"OMG_{flag_name.upper()}_ENABLED"
32
+ env_val = os.environ.get(env_key, "").lower()
33
+ if env_val in ("0", "false", "no"):
34
+ return False
35
+ if env_val in ("1", "true", "yes"):
36
+ return True
37
+ return default
38
+
39
+ def get_project_dir():
40
+ return os.environ.get("CLAUDE_PROJECT_DIR", os.getcwd())
41
+
42
+
43
+ # Global roles dictionary
44
+ ROLES: dict = {}
45
+
46
+
47
+ def _load_roles() -> dict:
48
+ """Load role definitions from _model_roles.yaml.
49
+
50
+ Returns:
51
+ Dictionary mapping role names to role configurations.
52
+ Falls back to default roles if YAML cannot be loaded.
53
+ """
54
+ roles_file = _AGENTS_DIR / "_model_roles.yaml"
55
+
56
+ if not roles_file.exists():
57
+ return _get_default_roles()
58
+
59
+ try:
60
+ if HAS_YAML:
61
+ with open(roles_file, "r") as f:
62
+ data = yaml.safe_load(f)
63
+ if data and "roles" in data:
64
+ return data["roles"]
65
+ except Exception as e:
66
+ print(f"[OMG] Warning: Failed to load roles from {roles_file}: {e}", file=sys.stderr)
67
+
68
+
69
+ return _get_default_roles()
70
+
71
+
72
+ def _get_default_roles() -> dict:
73
+ """Return hardcoded default roles if YAML cannot be loaded."""
74
+ return {
75
+ "default": {
76
+ "model": "claude-opus-4-5",
77
+ "temperature": 1.0,
78
+ "max_tokens": 8192,
79
+ "description": "Default balanced model for general tasks"
80
+ },
81
+ "smol": {
82
+ "model": "claude-haiku-4-5",
83
+ "temperature": 0.7,
84
+ "max_tokens": 4096,
85
+ "description": "Fast cheap model for simple/trivial tasks"
86
+ },
87
+ "slow": {
88
+ "model": "claude-opus-4-5",
89
+ "temperature": 0.5,
90
+ "max_tokens": 16384,
91
+ "description": "Careful deliberate model for complex reasoning"
92
+ },
93
+ "plan": {
94
+ "model": "claude-sonnet-4-5",
95
+ "temperature": 0.8,
96
+ "max_tokens": 8192,
97
+ "description": "Planning and architecture model"
98
+ },
99
+ "commit": {
100
+ "model": "claude-haiku-4-5",
101
+ "temperature": 0.3,
102
+ "max_tokens": 2048,
103
+ "description": "Concise model for git commits and short summaries"
104
+ }
105
+ }
106
+
107
+
108
+ def get_role(name: str) -> dict:
109
+ """Get role configuration by name.
110
+
111
+ Args:
112
+ name: Role name (e.g., 'smol', 'slow', 'plan', 'commit', 'default')
113
+
114
+ Returns:
115
+ Role configuration dictionary. Returns 'default' role if name not found.
116
+ """
117
+ if not ROLES:
118
+ _init_roles()
119
+
120
+ return ROLES.get(name, ROLES.get("default", {}))
121
+
122
+
123
+ def list_roles() -> list[str]:
124
+ """Get list of all available role names.
125
+
126
+ Returns:
127
+ List of role names in order they appear in configuration.
128
+ """
129
+ if not ROLES:
130
+ _init_roles()
131
+
132
+ return list(ROLES.keys())
133
+
134
+
135
+ def parse_role_args(argv: list[str]) -> Optional[str]:
136
+ """Parse command-line arguments to detect role selection.
137
+
138
+ Detects: --smol, --slow, --plan, --commit
139
+
140
+ Args:
141
+ argv: Command-line arguments (typically sys.argv[1:])
142
+
143
+ Returns:
144
+ Role name if detected, None otherwise.
145
+ """
146
+ role_map = {
147
+ "--smol": "smol",
148
+ "--slow": "slow",
149
+ "--plan": "plan",
150
+ "--commit": "commit",
151
+ }
152
+
153
+ for arg in argv:
154
+ if arg in role_map:
155
+ return role_map[arg]
156
+
157
+ return None
158
+
159
+
160
+ def _init_roles() -> None:
161
+ """Initialize the global ROLES dictionary."""
162
+ global ROLES
163
+ ROLES = _load_roles()
164
+
165
+
166
+ # Initialize on module import
167
+ _init_roles()
168
+
169
+
170
+ if __name__ == "__main__":
171
+ # CLI for testing/inspection
172
+ import json as json_module
173
+
174
+ if len(sys.argv) > 1:
175
+ if sys.argv[1] == "list":
176
+ print("Available roles:")
177
+ for role_name in list_roles():
178
+ print(f" - {role_name}")
179
+ elif sys.argv[1] == "get":
180
+ if len(sys.argv) > 2:
181
+ role_name = sys.argv[2]
182
+ role = get_role(role_name)
183
+ print(json_module.dumps(role, indent=2))
184
+ else:
185
+ print("Usage: python3 model_roles.py get <role_name>")
186
+ elif sys.argv[1] == "parse":
187
+ detected = parse_role_args(sys.argv[2:])
188
+ if detected:
189
+ print(f"Detected role: {detected}")
190
+ else:
191
+ print("No role detected")
192
+ else:
193
+ print("Usage: python3 model_roles.py [list|get <role>|parse <args...>]")
194
+ else:
195
+ # Default: print all roles
196
+ print(json_module.dumps(ROLES, indent=2))
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: api-builder
3
+ description: API-builder specialist - API contracts, endpoint design, versioning, and integration boundaries
4
+ model: claude-sonnet-4-5
5
+ tools: Read, Grep, Glob, Bash, Write, Edit
6
+ ---
7
+ API-builder specialist. Designs and implements API contracts with stable request/response schemas and explicit validation.
8
+
9
+ Example tasks: define OpenAPI specs, design REST/GraphQL endpoints, add pagination/filtering conventions, version API changes, and align handlers with contract-first patterns.
10
+
11
+ ## Preferred Tools
12
+
13
+ - Claude Sonnet (claude-sonnet-4-5): deep API design reasoning and schema correctness
14
+ - Read/Grep: trace endpoint usage and downstream dependencies
15
+ - LSP: map symbol references and validate interface impact
16
+ - Bash: run API tests and contract verification commands
17
+
18
+ ## Guardrails
19
+
20
+ - Must keep backward compatibility unless version bump is explicit.
21
+ - Must validate input/output schemas at API boundaries.
22
+ - Must include explicit error response shape and status code rationale.
23
+ - Must run relevant API tests before completion claims.