@trac3er/oh-my-god 2.0.9 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/mcp.json +11 -0
- package/.claude-plugin/plugin.json +2 -2
- package/.claude-plugin/scripts/uninstall.sh +2 -2
- package/CHANGELOG.md +8 -0
- package/CLI-ADAPTER-MAP.md +380 -0
- package/INSTALL-VERIFICATION-INDEX.md +354 -0
- package/OMG-setup.sh +546 -19
- package/OMG_COMPAT_CONTRACT.md +1 -1
- package/QUICK-REFERENCE.md +222 -0
- package/README.md +23 -2
- package/artifacts/release/.claude-plugin/marketplace.json +3 -3
- package/artifacts/release/.claude-plugin/mcp.json +11 -0
- package/artifacts/release/.claude-plugin/plugin.json +2 -2
- package/artifacts/release/.gemini/settings.json +11 -0
- package/artifacts/release/.kimi/mcp.json +11 -0
- package/artifacts/release/OMG_COMPAT_CONTRACT.md +10 -4
- package/artifacts/release/dist/enterprise/bundle/.claude-plugin/marketplace.json +3 -3
- package/artifacts/release/dist/enterprise/bundle/.claude-plugin/mcp.json +11 -0
- package/artifacts/release/dist/enterprise/bundle/.claude-plugin/plugin.json +2 -2
- package/artifacts/release/dist/enterprise/bundle/.gemini/settings.json +11 -0
- package/artifacts/release/dist/enterprise/bundle/.kimi/mcp.json +11 -0
- package/artifacts/release/dist/enterprise/bundle/OMG_COMPAT_CONTRACT.md +10 -4
- package/artifacts/release/dist/enterprise/bundle/plugins/advanced/plugin.json +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/algorithms.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/api-twin.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/claim-judge.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/control-plane.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/data-lineage.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/delta-classifier.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/eval-gate.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/health.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/hook-governor.yaml +9 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/incident-replay.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/lsp-pack.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/mcp-fabric.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/plan-council.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/preflight.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/proof-gate.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/remote-supervisor.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/robotics.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/secure-worktree-pipeline.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/security-check.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/test-intent-lock.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/tracebank.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/bundles/vision.yaml +1 -1
- package/artifacts/release/dist/enterprise/bundle/registry/omg-capability.schema.json +84 -2
- package/artifacts/release/dist/enterprise/bundle/settings.json +15 -4
- package/artifacts/release/dist/enterprise/manifest.json +47 -29
- package/artifacts/release/dist/public/bundle/.claude-plugin/marketplace.json +3 -3
- package/artifacts/release/dist/public/bundle/.claude-plugin/mcp.json +11 -0
- package/artifacts/release/dist/public/bundle/.claude-plugin/plugin.json +2 -2
- package/artifacts/release/dist/public/bundle/.gemini/settings.json +11 -0
- package/artifacts/release/dist/public/bundle/.kimi/mcp.json +11 -0
- package/artifacts/release/dist/public/bundle/OMG_COMPAT_CONTRACT.md +10 -4
- package/artifacts/release/dist/public/bundle/plugins/advanced/plugin.json +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/algorithms.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/api-twin.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/claim-judge.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/control-plane.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/data-lineage.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/delta-classifier.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/eval-gate.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/health.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/hook-governor.yaml +9 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/incident-replay.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/lsp-pack.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/mcp-fabric.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/plan-council.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/preflight.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/proof-gate.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/remote-supervisor.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/robotics.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/secure-worktree-pipeline.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/security-check.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/test-intent-lock.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/tracebank.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/bundles/vision.yaml +1 -1
- package/artifacts/release/dist/public/bundle/registry/omg-capability.schema.json +84 -2
- package/artifacts/release/dist/public/bundle/settings.json +15 -4
- package/artifacts/release/dist/public/manifest.json +47 -29
- package/artifacts/release/plugins/advanced/plugin.json +1 -1
- package/artifacts/release/registry/bundles/algorithms.yaml +1 -1
- package/artifacts/release/registry/bundles/api-twin.yaml +1 -1
- package/artifacts/release/registry/bundles/claim-judge.yaml +1 -1
- package/artifacts/release/registry/bundles/control-plane.yaml +1 -1
- package/artifacts/release/registry/bundles/data-lineage.yaml +1 -1
- package/artifacts/release/registry/bundles/delta-classifier.yaml +1 -1
- package/artifacts/release/registry/bundles/eval-gate.yaml +1 -1
- package/artifacts/release/registry/bundles/health.yaml +1 -1
- package/artifacts/release/registry/bundles/hook-governor.yaml +9 -1
- package/artifacts/release/registry/bundles/incident-replay.yaml +1 -1
- package/artifacts/release/registry/bundles/lsp-pack.yaml +1 -1
- package/artifacts/release/registry/bundles/mcp-fabric.yaml +1 -1
- package/artifacts/release/registry/bundles/plan-council.yaml +1 -1
- package/artifacts/release/registry/bundles/preflight.yaml +1 -1
- package/artifacts/release/registry/bundles/proof-gate.yaml +1 -1
- package/artifacts/release/registry/bundles/remote-supervisor.yaml +1 -1
- package/artifacts/release/registry/bundles/robotics.yaml +1 -1
- package/artifacts/release/registry/bundles/secure-worktree-pipeline.yaml +1 -1
- package/artifacts/release/registry/bundles/security-check.yaml +1 -1
- package/artifacts/release/registry/bundles/test-intent-lock.yaml +1 -1
- package/artifacts/release/registry/bundles/tracebank.yaml +1 -1
- package/artifacts/release/registry/bundles/vision.yaml +1 -1
- package/artifacts/release/registry/omg-capability.schema.json +84 -2
- package/artifacts/release/settings.json +15 -4
- package/build/lib/commands/OMG:browser.md +29 -0
- package/build/lib/commands/OMG:playwright.md +17 -0
- package/build/lib/control_plane/server.py +2 -0
- package/build/lib/control_plane/service.py +29 -0
- package/build/lib/hooks/_agent_registry.py +60 -6
- package/build/lib/hooks/instructions-loaded.py +26 -0
- package/build/lib/hooks/prompt-enhancer.py +5 -0
- package/build/lib/hooks/secret-guard.py +36 -2
- package/build/lib/hooks/setup_wizard.py +127 -18
- package/build/lib/hooks/tdd-gate.py +10 -0
- package/build/lib/hooks/user-prompt-submit.py +12 -0
- package/build/lib/plugins/README.md +4 -0
- package/build/lib/plugins/advanced/plugin.json +1 -1
- package/build/lib/plugins/core/plugin.json +10 -1
- package/build/lib/registry/bundles/algorithms.yaml +1 -1
- package/build/lib/registry/bundles/api-twin.yaml +1 -1
- package/build/lib/registry/bundles/claim-judge.yaml +1 -1
- package/build/lib/registry/bundles/control-plane.yaml +1 -1
- package/build/lib/registry/bundles/data-lineage.yaml +1 -1
- package/build/lib/registry/bundles/delta-classifier.yaml +1 -1
- package/build/lib/registry/bundles/eval-gate.yaml +1 -1
- package/build/lib/registry/bundles/health.yaml +1 -1
- package/build/lib/registry/bundles/hook-governor.yaml +9 -1
- package/build/lib/registry/bundles/incident-replay.yaml +1 -1
- package/build/lib/registry/bundles/lsp-pack.yaml +1 -1
- package/build/lib/registry/bundles/mcp-fabric.yaml +1 -1
- package/build/lib/registry/bundles/plan-council.yaml +1 -1
- package/build/lib/registry/bundles/preflight.yaml +1 -1
- package/build/lib/registry/bundles/proof-gate.yaml +1 -1
- package/build/lib/registry/bundles/remote-supervisor.yaml +1 -1
- package/build/lib/registry/bundles/robotics.yaml +1 -1
- package/build/lib/registry/bundles/secure-worktree-pipeline.yaml +1 -1
- package/build/lib/registry/bundles/security-check.yaml +1 -1
- package/build/lib/registry/bundles/test-intent-lock.yaml +1 -1
- package/build/lib/registry/bundles/tracebank.yaml +1 -1
- package/build/lib/registry/bundles/vision.yaml +1 -1
- package/build/lib/registry/omg-capability.schema.json +1 -1
- package/build/lib/runtime/adoption.py +1 -1
- package/build/lib/runtime/architecture_signal.py +226 -0
- package/build/lib/runtime/context_engine.py +194 -0
- package/build/lib/runtime/contract_compiler.py +13 -1
- package/build/lib/runtime/defense_state.py +190 -0
- package/build/lib/runtime/equalizer.py +254 -0
- package/build/lib/runtime/feature_registry.py +109 -0
- package/build/lib/runtime/forge_agents.py +164 -0
- package/build/lib/runtime/forge_contracts.py +88 -0
- package/build/lib/runtime/hook_governor.py +138 -0
- package/build/lib/runtime/interaction_journal.py +224 -0
- package/build/lib/runtime/mutation_gate.py +82 -0
- package/build/lib/runtime/omg_browser_cli.py +95 -0
- package/build/lib/runtime/omg_compat_contract_snapshot.json +2 -2
- package/build/lib/runtime/omg_mcp_server.py +39 -0
- package/build/lib/runtime/playwright_pack.py +51 -0
- package/build/lib/runtime/proof_chain.py +2 -0
- package/build/lib/runtime/router_critics.py +179 -0
- package/build/lib/runtime/router_executor.py +142 -0
- package/build/lib/runtime/router_selector.py +99 -0
- package/build/lib/runtime/runtime_contracts.py +142 -0
- package/build/lib/runtime/session_health.py +194 -0
- package/build/lib/runtime/skill_evolution.py +221 -0
- package/build/lib/runtime/skill_registry.py +53 -0
- package/build/lib/runtime/team_router.py +81 -162
- package/build/lib/runtime/test_intent_lock.py +200 -1
- package/build/lib/runtime/tool_plan_gate.py +203 -0
- package/build/lib/runtime/untrusted_content.py +8 -0
- package/build/lib/runtime/verification_controller.py +185 -0
- package/commands/OMG:browser.md +29 -0
- package/commands/OMG:playwright.md +17 -0
- package/control_plane/server.py +2 -0
- package/control_plane/service.py +29 -0
- package/dist/enterprise/bundle/.claude-plugin/marketplace.json +3 -3
- package/dist/enterprise/bundle/.claude-plugin/mcp.json +11 -0
- package/dist/enterprise/bundle/.claude-plugin/plugin.json +2 -2
- package/dist/enterprise/bundle/OMG_COMPAT_CONTRACT.md +1 -1
- package/dist/enterprise/bundle/plugins/advanced/plugin.json +1 -1
- package/dist/enterprise/bundle/registry/bundles/algorithms.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/api-twin.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/claim-judge.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/control-plane.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/data-lineage.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/delta-classifier.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/eval-gate.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/health.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/hook-governor.yaml +9 -1
- package/dist/enterprise/bundle/registry/bundles/incident-replay.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/lsp-pack.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/mcp-fabric.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/plan-council.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/preflight.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/proof-gate.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/remote-supervisor.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/robotics.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/secure-worktree-pipeline.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/security-check.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/test-intent-lock.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/tracebank.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/vision.yaml +1 -1
- package/dist/enterprise/bundle/registry/omg-capability.schema.json +1 -1
- package/dist/enterprise/bundle/settings.json +14 -4
- package/dist/enterprise/manifest.json +33 -29
- package/dist/public/bundle/.agents/skills/omg/incident-replay/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/incident-replay/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/lsp-pack/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/lsp-pack/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/mcp-fabric/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/mcp-fabric/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/plan-council/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/plan-council/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/preflight/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/preflight/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/proof-gate/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/proof-gate/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/remote-supervisor/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/remote-supervisor/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/robotics/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/robotics/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/security-check/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/security-check/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/test-intent-lock/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/test-intent-lock/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/tracebank/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/tracebank/openai.yaml +1 -1
- package/dist/public/bundle/.agents/skills/omg/vision/SKILL.md +1 -1
- package/dist/public/bundle/.agents/skills/omg/vision/openai.yaml +1 -1
- package/dist/public/bundle/.claude-plugin/marketplace.json +3 -3
- package/dist/public/bundle/.claude-plugin/mcp.json +11 -0
- package/dist/public/bundle/.claude-plugin/plugin.json +2 -2
- package/dist/public/bundle/OMG_COMPAT_CONTRACT.md +1 -1
- package/dist/public/bundle/plugins/advanced/plugin.json +1 -1
- package/dist/public/bundle/registry/bundles/algorithms.yaml +1 -1
- package/dist/public/bundle/registry/bundles/api-twin.yaml +1 -1
- package/dist/public/bundle/registry/bundles/claim-judge.yaml +1 -1
- package/dist/public/bundle/registry/bundles/control-plane.yaml +1 -1
- package/dist/public/bundle/registry/bundles/data-lineage.yaml +1 -1
- package/dist/public/bundle/registry/bundles/delta-classifier.yaml +1 -1
- package/dist/public/bundle/registry/bundles/eval-gate.yaml +1 -1
- package/dist/public/bundle/registry/bundles/health.yaml +1 -1
- package/dist/public/bundle/registry/bundles/hook-governor.yaml +9 -1
- package/dist/public/bundle/registry/bundles/incident-replay.yaml +1 -1
- package/dist/public/bundle/registry/bundles/lsp-pack.yaml +1 -1
- package/dist/public/bundle/registry/bundles/mcp-fabric.yaml +1 -1
- package/dist/public/bundle/registry/bundles/plan-council.yaml +1 -1
- package/dist/public/bundle/registry/bundles/preflight.yaml +1 -1
- package/dist/public/bundle/registry/bundles/proof-gate.yaml +1 -1
- package/dist/public/bundle/registry/bundles/remote-supervisor.yaml +1 -1
- package/dist/public/bundle/registry/bundles/robotics.yaml +1 -1
- package/dist/public/bundle/registry/bundles/secure-worktree-pipeline.yaml +1 -1
- package/dist/public/bundle/registry/bundles/security-check.yaml +1 -1
- package/dist/public/bundle/registry/bundles/test-intent-lock.yaml +1 -1
- package/dist/public/bundle/registry/bundles/tracebank.yaml +1 -1
- package/dist/public/bundle/registry/bundles/vision.yaml +1 -1
- package/dist/public/bundle/registry/omg-capability.schema.json +1 -1
- package/dist/public/bundle/settings.json +15 -5
- package/dist/public/manifest.json +59 -55
- package/docs/install/claude-code.md +27 -14
- package/docs/install/codex.md +16 -10
- package/docs/install/gemini.md +35 -0
- package/docs/install/kimi.md +35 -0
- package/docs/proof.md +1 -0
- package/hooks/_agent_registry.py +60 -6
- package/hooks/instructions-loaded.py +26 -0
- package/hooks/prompt-enhancer.py +5 -0
- package/hooks/secret-guard.py +36 -2
- package/hooks/setup_wizard.py +127 -18
- package/hooks/tdd-gate.py +10 -0
- package/hooks/user-prompt-submit.py +12 -0
- package/hud/omg-hud.mjs +101 -1
- package/lab/pipeline.py +11 -0
- package/package.json +1 -1
- package/plugins/README.md +4 -0
- package/plugins/advanced/plugin.json +1 -1
- package/plugins/core/plugin.json +10 -1
- package/pyproject.toml +1 -1
- package/registry/bundles/algorithms.yaml +1 -1
- package/registry/bundles/api-twin.yaml +1 -1
- package/registry/bundles/claim-judge.yaml +1 -1
- package/registry/bundles/control-plane.yaml +1 -1
- package/registry/bundles/data-lineage.yaml +1 -1
- package/registry/bundles/delta-classifier.yaml +1 -1
- package/registry/bundles/eval-gate.yaml +1 -1
- package/registry/bundles/health.yaml +1 -1
- package/registry/bundles/hook-governor.yaml +9 -1
- package/registry/bundles/incident-replay.yaml +1 -1
- package/registry/bundles/lsp-pack.yaml +1 -1
- package/registry/bundles/mcp-fabric.yaml +1 -1
- package/registry/bundles/plan-council.yaml +1 -1
- package/registry/bundles/preflight.yaml +1 -1
- package/registry/bundles/proof-gate.yaml +1 -1
- package/registry/bundles/remote-supervisor.yaml +1 -1
- package/registry/bundles/robotics.yaml +1 -1
- package/registry/bundles/secure-worktree-pipeline.yaml +1 -1
- package/registry/bundles/security-check.yaml +1 -1
- package/registry/bundles/test-intent-lock.yaml +1 -1
- package/registry/bundles/tracebank.yaml +1 -1
- package/registry/bundles/vision.yaml +1 -1
- package/registry/omg-capability.schema.json +1 -1
- package/runtime/adoption.py +1 -1
- package/runtime/architecture_signal.py +226 -0
- package/runtime/context_engine.py +194 -0
- package/runtime/contract_compiler.py +13 -1
- package/runtime/defense_state.py +190 -0
- package/runtime/equalizer.py +254 -0
- package/runtime/feature_registry.py +109 -0
- package/runtime/forge_agents.py +164 -0
- package/runtime/forge_contracts.py +88 -0
- package/runtime/hook_governor.py +138 -0
- package/runtime/interaction_journal.py +224 -0
- package/runtime/mutation_gate.py +82 -0
- package/runtime/omg_browser_cli.py +95 -0
- package/runtime/omg_compat_contract_snapshot.json +2 -2
- package/runtime/omg_mcp_server.py +39 -0
- package/runtime/playwright_pack.py +51 -0
- package/runtime/proof_chain.py +2 -0
- package/runtime/router_critics.py +179 -0
- package/runtime/router_executor.py +142 -0
- package/runtime/router_selector.py +99 -0
- package/runtime/runtime_contracts.py +142 -0
- package/runtime/session_health.py +194 -0
- package/runtime/skill_evolution.py +221 -0
- package/runtime/skill_registry.py +53 -0
- package/runtime/team_router.py +75 -156
- package/runtime/test_intent_lock.py +200 -1
- package/runtime/tool_plan_gate.py +203 -0
- package/runtime/untrusted_content.py +8 -0
- package/runtime/verification_controller.py +185 -0
- package/scripts/omg.py +92 -2
- package/scripts/prepare-release-proof-fixtures.py +152 -0
- package/scripts/verify-standalone.sh +2 -1
- package/settings.json +14 -4
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "OMG - Oh-My-God for Claude Code and supported agent hosts",
|
|
9
|
-
"version": "2.0
|
|
9
|
+
"version": "2.1.0",
|
|
10
10
|
"homepage": "https://github.com/trac3er00/OMG",
|
|
11
11
|
"repository": "https://github.com/trac3er00/OMG"
|
|
12
12
|
},
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
{
|
|
15
15
|
"name": "omg",
|
|
16
16
|
"description": "OMG plugin layer for Claude Code and supported agent hosts with native setup, orchestration, and interop.",
|
|
17
|
-
|
|
17
|
+
"version": "2.1.0",
|
|
18
18
|
"source": "./",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "trac3er00"
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
]
|
|
33
33
|
}
|
|
34
34
|
],
|
|
35
|
-
"version": "2.0
|
|
35
|
+
"version": "2.1.0"
|
|
36
36
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omg",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "OMG plugin layer for Claude Code with native setup, orchestration, and interop.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "trac3er00"
|
|
@@ -19,5 +19,5 @@
|
|
|
19
19
|
"crazy-mode",
|
|
20
20
|
"escalation"
|
|
21
21
|
],
|
|
22
|
-
"mcpServers": "./.mcp.json"
|
|
22
|
+
"mcpServers": "./.claude-plugin/mcp.json"
|
|
23
23
|
}
|
|
@@ -19,7 +19,7 @@ error() { echo -e "${RED}✗${NC} $1"; }
|
|
|
19
19
|
echo ""
|
|
20
20
|
echo -e "${BLUE}╔═══════════════════════════════════════════════════════════════╗${NC}"
|
|
21
21
|
echo -e "${BLUE}║ ║${NC}"
|
|
22
|
-
echo -e "${BLUE}║ OMG Plugin Uninstaller v2.0
|
|
22
|
+
echo -e "${BLUE}║ OMG Plugin Uninstaller v2.1.0 ║${NC}"
|
|
23
23
|
echo -e "${BLUE}║ ║${NC}"
|
|
24
24
|
echo -e "${BLUE}╚═══════════════════════════════════════════════════════════════╝${NC}"
|
|
25
25
|
echo ""
|
|
@@ -32,7 +32,7 @@ OMG_ROOT="$(dirname "$PLUGIN_DIR")"
|
|
|
32
32
|
if [ -f "$OMG_ROOT/OMG-setup.sh" ]; then
|
|
33
33
|
info "Running uninstall via OMG-setup.sh..."
|
|
34
34
|
echo ""
|
|
35
|
-
bash "$OMG_ROOT/OMG-setup.sh" uninstall
|
|
35
|
+
bash "$OMG_ROOT/OMG-setup.sh" uninstall --non-interactive
|
|
36
36
|
else
|
|
37
37
|
warning "OMG-setup.sh not found, performing manual cleanup..."
|
|
38
38
|
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 2.1.0 - 2026-03-08
|
|
6
|
+
|
|
7
|
+
- promoted the execution-primitives and browser-surface wave into the v2.1.0 release train
|
|
8
|
+
- aligned package, plugin, HUD, contract, snapshot, and compiled manifest identity on v2.1.0
|
|
9
|
+
- regenerated public and enterprise release manifests and bundles for the new canonical version
|
|
10
|
+
- expanded version-drift coverage to include committed release manifests and the HUD fallback path
|
|
11
|
+
- restored public-release readiness by removing internal planning docs from the branch and installing runtime dependencies in CI workflows
|
|
12
|
+
|
|
5
13
|
## 2.0.9 - 2026-03-08
|
|
6
14
|
|
|
7
15
|
- added scan-first evidence query layer for read-only trust artifact lookup
|
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
# OMG CLI Adapter/Integration Installer & Config Writer Map
|
|
2
|
+
|
|
3
|
+
## Executive Summary
|
|
4
|
+
OMG supports 4 canonical CLI targets with dedicated provider implementations and config writers. Plugin bundle installation, marketplace integration, and MCP registration are handled by the setup shell script with atomic file operations.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. CLI PROVIDER IMPLEMENTATIONS
|
|
9
|
+
|
|
10
|
+
### A. Claude Code (Canonical)
|
|
11
|
+
**File:** `runtime/providers/claude.py` (stub adapter only)
|
|
12
|
+
**Config Writer:** `runtime/mcp_config_writers.py::write_claude_mcp_config()`
|
|
13
|
+
**Config Writer (stdio):** `runtime/mcp_config_writers.py::write_claude_mcp_stdio_config()`
|
|
14
|
+
|
|
15
|
+
- **Detection:** Binary not auto-detected (Claude is the default host)
|
|
16
|
+
- **Auth Check:** N/A (implicit via plugin installation)
|
|
17
|
+
- **Config Path:** `.mcp.json` in project root
|
|
18
|
+
- **MCP Format:** JSON with `mcpServers` object
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"mcpServers": {
|
|
22
|
+
"omg-control": {
|
|
23
|
+
"command": "python3",
|
|
24
|
+
"args": ["-m", "runtime.omg_mcp_server"]
|
|
25
|
+
},
|
|
26
|
+
"filesystem": {
|
|
27
|
+
"command": "npx",
|
|
28
|
+
"args": ["@modelcontextprotocol/server-filesystem@2026.1.14", "."]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
- **CLAUDE_CONFIG_DIR:** `~/.claude` (env var override)
|
|
34
|
+
- **Install Method:** Plugin bundle + .mcp.json merge
|
|
35
|
+
- **Install Doc:** `docs/install/claude-code.md`
|
|
36
|
+
|
|
37
|
+
### B. Codex (Canonical)
|
|
38
|
+
**File:** `runtime/providers/codex_provider.py`
|
|
39
|
+
**Class:** `CodexProvider`
|
|
40
|
+
**Config Writer:** `runtime/mcp_config_writers.py::write_codex_mcp_config()`
|
|
41
|
+
**Config Writer (stdio):** `runtime/mcp_config_writers.py::write_codex_mcp_stdio_config()`
|
|
42
|
+
|
|
43
|
+
- **Detection:** `shutil.which("codex")` checks PATH
|
|
44
|
+
- **Auth Check:** `codex auth status` command
|
|
45
|
+
- **Config Path:** `~/.codex/config.toml`
|
|
46
|
+
- **MCP Format:** TOML with `[mcp_servers.SERVER_NAME]` sections
|
|
47
|
+
```toml
|
|
48
|
+
[mcp_servers.omg-control]
|
|
49
|
+
command = "python3"
|
|
50
|
+
args = ["-m", "runtime.omg_mcp_server"]
|
|
51
|
+
```
|
|
52
|
+
- **Write Strategy:**
|
|
53
|
+
- Loads existing TOML (if present)
|
|
54
|
+
- Finds or creates `[mcp_servers.SERVER_NAME]` header
|
|
55
|
+
- Appends or updates block atomically via `_atomic_write_text()`
|
|
56
|
+
- **Invocation:** `codex exec --json <prompt>`
|
|
57
|
+
- **Invocation (tmux):** Via `TmuxSessionManager` session persistence
|
|
58
|
+
- **Install Method:** Plugin bundle + MCP merge
|
|
59
|
+
- **Install Doc:** `docs/install/codex.md`
|
|
60
|
+
- **Preset Recommendation:** `interop` (multi-host workflow)
|
|
61
|
+
|
|
62
|
+
### C. Gemini CLI (Compatibility)
|
|
63
|
+
**File:** `runtime/providers/gemini_provider.py`
|
|
64
|
+
**Class:** `GeminiProvider`
|
|
65
|
+
**Config Writer:** `runtime/mcp_config_writers.py::write_gemini_mcp_config()`
|
|
66
|
+
**Config Writer (stdio):** `runtime/mcp_config_writers.py::write_gemini_mcp_stdio_config()`
|
|
67
|
+
|
|
68
|
+
- **Detection:** `shutil.which("gemini")` checks PATH
|
|
69
|
+
- **Auth Check:** `gemini auth status` command
|
|
70
|
+
- **Config Path:** `~/.gemini/settings.json`
|
|
71
|
+
- **MCP Format:** JSON with `mcpServers` object
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"mcpServers": {
|
|
75
|
+
"omg-control": {
|
|
76
|
+
"command": "python3",
|
|
77
|
+
"args": ["-m", "runtime.omg_mcp_server"]
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
- **Invocation:** `gemini -p <prompt>` (no --json flag, plain text output)
|
|
83
|
+
- **Invocation (tmux):** Via `TmuxSessionManager` session persistence
|
|
84
|
+
- **HOST_RULES** (from file):
|
|
85
|
+
- `compilation_targets`: `[".gemini/settings.json"]`
|
|
86
|
+
- `mcp`: `["omg-control"]`
|
|
87
|
+
- `skills`: `["omg/control-plane", "omg/mcp-fabric"]`
|
|
88
|
+
- `automations`: `["contract-validate", "provider-routing"]`
|
|
89
|
+
|
|
90
|
+
### D. Kimi Code CLI (Compatibility)
|
|
91
|
+
**File:** `runtime/providers/kimi_provider.py`
|
|
92
|
+
**Class:** `KimiCodeProvider`
|
|
93
|
+
**Config Writer:** `runtime/mcp_config_writers.py::write_kimi_mcp_config()`
|
|
94
|
+
**Config Writer (stdio):** `runtime/mcp_config_writers.py::write_kimi_mcp_stdio_config()`
|
|
95
|
+
|
|
96
|
+
- **Detection:** `shutil.which("kimi")` checks PATH
|
|
97
|
+
- **Auth Check:** Parses `~/.kimi/config.toml` for `token` entry
|
|
98
|
+
- **Config Path:** `~/.kimi/mcp.json`
|
|
99
|
+
- **MCP Format:** JSON with `mcpServers` object (type: "http", url: string)
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"mcpServers": {
|
|
103
|
+
"omg-control": {
|
|
104
|
+
"type": "http",
|
|
105
|
+
"url": "http://localhost:3000"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
- **Invocation:** `kimi --print -p <prompt>`
|
|
111
|
+
- **Invocation (JSON):** `kimi --print --output-format stream-json -p <prompt>`
|
|
112
|
+
- **Invocation (tmux):** Via `TmuxSessionManager` session persistence
|
|
113
|
+
- **HOST_RULES** (from file):
|
|
114
|
+
- `compilation_targets`: `[".kimi/mcp.json"]`
|
|
115
|
+
- `mcp`: `["omg-control"]`
|
|
116
|
+
- `skills`: `["omg/control-plane", "omg/mcp-fabric"]`
|
|
117
|
+
- `automations`: `["contract-validate", "provider-routing"]`
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 2. CONFIG WRITER FUNCTIONS (Core Integration Points)
|
|
122
|
+
|
|
123
|
+
**File:** `runtime/mcp_config_writers.py` (233 lines)
|
|
124
|
+
|
|
125
|
+
### Functions for Each Target
|
|
126
|
+
|
|
127
|
+
| Function | Target | Format | Config Location | Special Notes |
|
|
128
|
+
|----------|--------|--------|-----------------|---------------|
|
|
129
|
+
| `write_claude_mcp_config(project_dir, server_url, server_name="memory-server")` | Claude | JSON | `.mcp.json` (project root) | HTTP-only server type |
|
|
130
|
+
| `write_claude_mcp_stdio_config(project_dir, *, command, args, server_name="omg-control")` | Claude | JSON | `.mcp.json` (project root) | Stdio server type |
|
|
131
|
+
| `write_codex_mcp_config(server_url, server_name="memory-server", config_path=None)` | Codex | TOML | `~/.codex/config.toml` | Header + block replacement |
|
|
132
|
+
| `write_codex_mcp_stdio_config(*, command, args, server_name="omg-control", config_path=None)` | Codex | TOML | `~/.codex/config.toml` | Header + block replacement |
|
|
133
|
+
| `write_gemini_mcp_config(server_url, server_name="memory-server", config_path=None)` | Gemini | JSON | `~/.gemini/settings.json` | `mcpServers` with `httpUrl` field |
|
|
134
|
+
| `write_gemini_mcp_stdio_config(*, command, args, server_name="omg-control", config_path=None)` | Gemini | JSON | `~/.gemini/settings.json` | Command + args array |
|
|
135
|
+
| `write_kimi_mcp_config(server_url, server_name="memory-server", config_path=None)` | Kimi | JSON | `~/.kimi/mcp.json` | Type + URL standard |
|
|
136
|
+
| `write_kimi_mcp_stdio_config(*, command, args, server_name="omg-control", config_path=None)` | Kimi | JSON | `~/.kimi/mcp.json` | Command + args array |
|
|
137
|
+
|
|
138
|
+
### Shared Utilities
|
|
139
|
+
- `get_managed_python_path(claude_config_dir=None)` → Path to managed venv Python interpreter
|
|
140
|
+
- `_atomic_write_text(path, content)` → Atomic file write with temp file + rename
|
|
141
|
+
- `_load_json(path)` → Safe JSON load with fallback to empty dict
|
|
142
|
+
- `_write_json(path, data)` → Atomic JSON write
|
|
143
|
+
- `_validated_server_input(server_url, server_name)` → Validate and quote server URL/name
|
|
144
|
+
- `_validated_stdio_input(command, args, server_name)` → Validate command, args (no newlines)
|
|
145
|
+
- `_write_json_mcp_server(path, server_name, payload)` → Merge MCP server into JSON config
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 3. PLUGIN BUNDLE INSTALLATION (OMG-setup.sh)
|
|
150
|
+
|
|
151
|
+
**File:** `OMG-setup.sh` (1333 lines)
|
|
152
|
+
|
|
153
|
+
### Plugin Registry & Installation Functions
|
|
154
|
+
|
|
155
|
+
#### A. Detection
|
|
156
|
+
- `is_standalone_installed()` → Checks for `.omg-version` or `omg-runtime/` dir
|
|
157
|
+
- `is_plugin_installed()` → Checks marker file or `installed_plugins.json`
|
|
158
|
+
|
|
159
|
+
#### B. Plugin Registration (Lines 570-629)
|
|
160
|
+
- **Function:** `register_plugin_in_registry(plugin_ref, install_path, version)`
|
|
161
|
+
- **Outputs:**
|
|
162
|
+
- `~/.claude/settings.json` → `enabledPlugins[plugin_ref] = true`
|
|
163
|
+
- `~/.claude/plugins/installed_plugins.json` → Plugin metadata with installed path, version, timestamp
|
|
164
|
+
- **Plugin Ref Format:** `omg@omg` (name@marketplace_id)
|
|
165
|
+
- **Version:** `2.1.0` (from package.json)
|
|
166
|
+
|
|
167
|
+
#### C. Plugin Unregistration (Lines 631-669)
|
|
168
|
+
- **Function:** `unregister_plugin_from_registry(plugin_ref)`
|
|
169
|
+
- **Removes:** Entry from `enabledPlugins` and `plugins` registry
|
|
170
|
+
|
|
171
|
+
#### D. Plugin Bundle Installation (Lines 820-878)
|
|
172
|
+
- **Function:** `install_plugin_bundle()`
|
|
173
|
+
- **Files Copied:**
|
|
174
|
+
- `$SCRIPT_DIR/.claude-plugin/plugin.json` → `$PLUGIN_CACHE_DIR/$VERSION/.claude-plugin/plugin.json`
|
|
175
|
+
- `$SCRIPT_DIR/hud/omg-hud.mjs` → `~/.claude/hud/omg-hud.mjs`
|
|
176
|
+
- MCP config → `$PLUGIN_CACHE_DIR/$VERSION/.mcp.json`
|
|
177
|
+
- **Marker File:** `.omg-plugin-bundle` in cache dir
|
|
178
|
+
- **MCP Merge:** `merge_plugin_mcp_into_settings()` merges plugin's `.mcp.json` into `~/.claude/.mcp.json`
|
|
179
|
+
- **Fallback MCP:** If no `.mcp.json` shipped, generates default with `filesystem` + `omg-control`
|
|
180
|
+
|
|
181
|
+
### MCP Configuration Writers (within setup.sh)
|
|
182
|
+
|
|
183
|
+
#### `merge_plugin_mcp_into_settings()` (Lines 501-541)
|
|
184
|
+
- Reads `~/.claude/.mcp.json` and `$SCRIPT_DIR/.mcp.json`
|
|
185
|
+
- Merges `mcpServers` entries from source into target
|
|
186
|
+
- Atomic JSON write
|
|
187
|
+
- **Returns:** Count of merged servers
|
|
188
|
+
|
|
189
|
+
#### `write_plugin_mcp_file()` (Lines 543-568)
|
|
190
|
+
- Copies MCP config to plugin cache directory
|
|
191
|
+
- Creates plugin-specific `.mcp.json` at `$PLUGIN_CACHE_DIR/$VERSION/.mcp.json`
|
|
192
|
+
- Atomic JSON write
|
|
193
|
+
- **Returns:** Count of MCP servers written
|
|
194
|
+
|
|
195
|
+
#### `prune_plugin_mcp_from_settings()` (Lines 466-499)
|
|
196
|
+
- Removes plugin-managed MCP servers from `~/.claude/.mcp.json`
|
|
197
|
+
- Removes keys: `context7`, `filesystem`, `websearch`, `chrome-devtools`
|
|
198
|
+
- **Returns:** Count of removed entries
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 4. MARKETPLACE & REGISTRY INTEGRATION
|
|
203
|
+
|
|
204
|
+
### Package.json Integration
|
|
205
|
+
**File:** `package.json`
|
|
206
|
+
```json
|
|
207
|
+
{
|
|
208
|
+
"name": "@trac3er/oh-my-god",
|
|
209
|
+
"version": "2.1.0",
|
|
210
|
+
"scripts": {
|
|
211
|
+
"postinstall": "./OMG-setup.sh install --non-interactive",
|
|
212
|
+
"update": "./OMG-setup.sh update",
|
|
213
|
+
"uninstall": "./OMG-setup.sh uninstall"
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
- **npm install hook:** `postinstall` triggers `./OMG-setup.sh install --non-interactive`
|
|
219
|
+
- **Auto-plugin mode:** npm lifecycle detected → `INSTALL_AS_PLUGIN=true`
|
|
220
|
+
- **CI/automation context detection:** `$npm_lifecycle_event` or `$npm_execpath` set → `NON_INTERACTIVE=true`
|
|
221
|
+
|
|
222
|
+
### Plugin Marketplace Metadata
|
|
223
|
+
**Constants (OMG-setup.sh, Lines 10-16):**
|
|
224
|
+
```bash
|
|
225
|
+
PLUGIN_NAME="omg"
|
|
226
|
+
PLUGIN_MARKETPLACE="omg"
|
|
227
|
+
LEGACY_PLUGIN_MARKETPLACE="oh-advanced-layer"
|
|
228
|
+
PLUGIN_REF="${PLUGIN_NAME}@${PLUGIN_MARKETPLACE}"
|
|
229
|
+
LEGACY_PLUGIN_REF="${PLUGIN_NAME}@${LEGACY_PLUGIN_MARKETPLACE}"
|
|
230
|
+
PLUGIN_CACHE_DIR="$CLAUDE_DIR/plugins/cache/$PLUGIN_MARKETPLACE/$PLUGIN_NAME"
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Adoption Constants
|
|
234
|
+
**File:** `runtime/adoption.py`
|
|
235
|
+
```python
|
|
236
|
+
CANONICAL_BRAND = "OMG"
|
|
237
|
+
CANONICAL_REPO_URL = "https://github.com/trac3er00/OMG"
|
|
238
|
+
CANONICAL_PACKAGE_NAME = "@trac3er/oh-my-god"
|
|
239
|
+
CANONICAL_PLUGIN_ID = "omg"
|
|
240
|
+
CANONICAL_MARKETPLACE_ID = "omg"
|
|
241
|
+
CANONICAL_VERSION = "2.1.0"
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## 5. INSTALL COMMANDS & PATHS (by Target)
|
|
247
|
+
|
|
248
|
+
### Installation Entry Points
|
|
249
|
+
|
|
250
|
+
| Target | Fast Path | Manual Path | Preset | Mode |
|
|
251
|
+
|--------|-----------|-------------|--------|------|
|
|
252
|
+
| **Claude Code** | `npm install @trac3er/oh-my-god` | `git clone + ./OMG-setup.sh install --mode=omg-only --preset=balanced` | `balanced` | `omg-only` |
|
|
253
|
+
| **Codex** | `npm install @trac3er/oh-my-god` | `git clone + ./OMG-setup.sh install --mode=omg-only --preset=interop` | `interop` | `omg-only` |
|
|
254
|
+
| **Gemini** | Not documented | Via provider registry detect + setup | N/A | Via adoption |
|
|
255
|
+
| **Kimi** | Not documented | Via provider registry detect + setup | N/A | Via adoption |
|
|
256
|
+
|
|
257
|
+
### OMG-setup.sh Main Actions
|
|
258
|
+
```bash
|
|
259
|
+
./OMG-setup.sh <action> [OPTIONS]
|
|
260
|
+
|
|
261
|
+
Actions:
|
|
262
|
+
install Install or upgrade OMG components
|
|
263
|
+
update Explicit update mode
|
|
264
|
+
reinstall Clean reinstall
|
|
265
|
+
uninstall Remove OMG files
|
|
266
|
+
|
|
267
|
+
Key Options:
|
|
268
|
+
--install-as-plugin Install as plugin bundle (Claude plugin system)
|
|
269
|
+
--mode=omg-only|coexist Adoption mode
|
|
270
|
+
--preset=safe|balanced|interop|labs Feature set
|
|
271
|
+
--merge-policy=ask|apply|skip Settings merge behavior
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 6. CRITICAL ASSUMPTIONS & BREAKAGE POINTS
|
|
277
|
+
|
|
278
|
+
### Path Assumptions
|
|
279
|
+
1. **`$CLAUDE_CONFIG_DIR`** (default: `~/.claude`)
|
|
280
|
+
- **Risk:** If env var is set to non-existent dir → plugin install fails silently
|
|
281
|
+
- **Assumption:** Unix home directory structure exists
|
|
282
|
+
|
|
283
|
+
2. **`~/.codex/config.toml`**
|
|
284
|
+
- **Risk:** If TOML parser fails or file is corrupted → MCP config not written
|
|
285
|
+
- **Assumption:** TOML file can be parsed line-by-line with regex section matching
|
|
286
|
+
|
|
287
|
+
3. **`~/.gemini/settings.json` and `~/.kimi/mcp.json`**
|
|
288
|
+
- **Risk:** If JSON is malformed → entire config can be lost (before safety patch)
|
|
289
|
+
- **Assumption:** JSON is valid and properly formatted
|
|
290
|
+
|
|
291
|
+
### Atomic Write Assumptions
|
|
292
|
+
- **`_atomic_write_text()`** uses `os.replace()` (atomic on POSIX)
|
|
293
|
+
- **Risk:** On Windows, `os.replace()` may not be fully atomic if interrupted
|
|
294
|
+
- **Assumption:** Filesystem supports atomic rename
|
|
295
|
+
|
|
296
|
+
### Provider Detection Assumptions
|
|
297
|
+
- **`shutil.which()`** searches PATH
|
|
298
|
+
- **Risk:** If CLI binary is in non-standard location or PATH is corrupted → detection fails
|
|
299
|
+
- **Assumption:** Binary is installed and in PATH
|
|
300
|
+
|
|
301
|
+
### Python Version Requirement
|
|
302
|
+
- **Preflight check (OMG-setup.sh, Line 272-277):** Python 3.10+ required
|
|
303
|
+
- **Risk:** fastmcp >=2.0 dependency requires Python 3.10+
|
|
304
|
+
- **Assumption:** System has compatible Python 3 available
|
|
305
|
+
|
|
306
|
+
### npm Lifecycle Detection
|
|
307
|
+
- **Condition:** If `$npm_lifecycle_event` or `$npm_execpath` is set → auto-enable plugin mode
|
|
308
|
+
- **Risk:** May incorrectly trigger plugin mode in CI systems with npm env vars
|
|
309
|
+
- **Assumption:** npm environment variables accurately indicate npm invocation context
|
|
310
|
+
|
|
311
|
+
### Settings Merge Assumptions
|
|
312
|
+
- **`settings-merge.py` script must exist** at `$SCRIPT_DIR/scripts/settings-merge.py`
|
|
313
|
+
- **Risk:** If script missing → settings.json merge silently skipped or fails
|
|
314
|
+
- **Assumption:** Script is present and executable
|
|
315
|
+
|
|
316
|
+
### Manifest File Assumptions (Lines 425-458)
|
|
317
|
+
- **`$OMG_MANIFEST` file** tracks installed files for cleanup
|
|
318
|
+
- **Risk:** If manifest corrupted or out-of-sync → stale files may not be cleaned
|
|
319
|
+
- **Assumption:** Manifest is accurate and parseable (one file per line)
|
|
320
|
+
|
|
321
|
+
### Symlink Mode Assumptions
|
|
322
|
+
- **`--symlink` flag** creates symlinks instead of copies (dev mode)
|
|
323
|
+
- **Risk:** If source repo is deleted or moved → symlinks break
|
|
324
|
+
- **Assumption:** Repository remains at same path during development
|
|
325
|
+
|
|
326
|
+
### Venv Python Path Assumptions
|
|
327
|
+
- **`patch_omg_control_mcp_python()` (Line 301-331)** updates `.mcp.json` command from `python3` to venv path
|
|
328
|
+
- **Risk:** If venv Python path changes or venv is deleted → MCP server won't start
|
|
329
|
+
- **Assumption:** Venv is installed and Python at patched path exists
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## 7. VERIFICATION CHECKLIST FOR EACH TARGET
|
|
334
|
+
|
|
335
|
+
### Claude Code
|
|
336
|
+
- [ ] `.mcp.json` exists in project root with `omg-control` + `filesystem` servers
|
|
337
|
+
- [ ] `~/.claude/plugins/installed_plugins.json` has `omg@omg` entry
|
|
338
|
+
- [ ] `~/.claude/settings.json` has `enabledPlugins["omg@omg"] = true`
|
|
339
|
+
- [ ] `~/.claude/hud/omg-hud.mjs` installed
|
|
340
|
+
- [ ] `~/.claude/omg-runtime/` has hooks, runtime, plugins dirs
|
|
341
|
+
- [ ] Run `/OMG:setup` command works
|
|
342
|
+
- [ ] `.omg/state/adoption-report.json` generated if existing plugins detected
|
|
343
|
+
|
|
344
|
+
### Codex
|
|
345
|
+
- [ ] `~/.codex/config.toml` has `[mcp_servers.omg-control]` section
|
|
346
|
+
- [ ] `codex auth status` returns authenticated
|
|
347
|
+
- [ ] `~/.claude/.mcp.json` merged with Codex MCP config (if coexist mode)
|
|
348
|
+
- [ ] `/OMG:setup` command executes and detects `codex` CLI
|
|
349
|
+
- [ ] `.codex/` skills directory configured if applicable
|
|
350
|
+
|
|
351
|
+
### Gemini
|
|
352
|
+
- [ ] `~/.gemini/settings.json` has `mcpServers["omg-control"]`
|
|
353
|
+
- [ ] `gemini auth status` returns authenticated
|
|
354
|
+
- [ ] Host rules met: compilation_targets, mcp, skills, automations
|
|
355
|
+
- [ ] Provider detected via `shutil.which("gemini")`
|
|
356
|
+
|
|
357
|
+
### Kimi
|
|
358
|
+
- [ ] `~/.kimi/mcp.json` has `mcpServers["omg-control"]`
|
|
359
|
+
- [ ] `~/.kimi/config.toml` has valid token
|
|
360
|
+
- [ ] Provider detected via `shutil.which("kimi")`
|
|
361
|
+
- [ ] Host rules met: compilation_targets, mcp, skills, automations
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## 8. KEY FILES REFERENCE
|
|
366
|
+
|
|
367
|
+
| File | Purpose | Lines |
|
|
368
|
+
|------|---------|-------|
|
|
369
|
+
| `OMG-setup.sh` | Main installation orchestrator | 1333 |
|
|
370
|
+
| `runtime/mcp_config_writers.py` | Config writer functions for all targets | 233 |
|
|
371
|
+
| `runtime/providers/codex_provider.py` | Codex CLI integration | 102 |
|
|
372
|
+
| `runtime/providers/gemini_provider.py` | Gemini CLI integration | 116 |
|
|
373
|
+
| `runtime/providers/kimi_provider.py` | Kimi CLI integration | 139 |
|
|
374
|
+
| `runtime/cli_provider.py` | Abstract CLIProvider base class | 85 |
|
|
375
|
+
| `runtime/adoption.py` | Brand, version, preset constants | 220 |
|
|
376
|
+
| `package.json` | npm postinstall hook entry point | 35 |
|
|
377
|
+
| `OMG_COMPAT_CONTRACT.md` | Host compilation rules contract | 105 |
|
|
378
|
+
| `docs/install/claude-code.md` | Claude Code install guide | 31 |
|
|
379
|
+
| `docs/install/codex.md` | Codex install guide | 29 |
|
|
380
|
+
|