@trac3er/oh-my-god 2.2.4 → 2.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +1 -1
- package/.claude-plugin/scripts/install.sh +1 -1
- package/.gemini/settings.json +2 -2
- package/.kimi/mcp.json +2 -2
- package/CHANGELOG.md +1 -1
- package/CLI-ADAPTER-MAP.md +3 -3
- package/INSTALL-VERIFICATION-INDEX.md +19 -324
- package/OMG-setup.sh +29 -31
- package/OMG_COMPAT_CONTRACT.md +19 -1
- package/QUICK-REFERENCE.md +27 -211
- package/commands/OMG:validate.md +1 -1
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-mcp.toml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-mcp.toml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-rules.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/codex-rules.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/health/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/health/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/health/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/health/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/SKILL.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/SKILL.md.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/openai.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.agents/skills/omg/vision/openai.yaml.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.claude-plugin/marketplace.json.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.claude-plugin/marketplace.json.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/.claude-plugin/mcp.json.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.claude-plugin/mcp.json.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/.claude-plugin/plugin.json.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.claude-plugin/plugin.json.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/.gemini/settings.json.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.gemini/settings.json.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/.kimi/mcp.json.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.kimi/mcp.json.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/.mcp.json.minisig +3 -3
- package/dist/enterprise/attestations/bundle/.mcp.json.statement.json +5 -5
- package/dist/enterprise/attestations/bundle/OMG_COMPAT_CONTRACT.md.minisig +3 -3
- package/dist/enterprise/attestations/bundle/OMG_COMPAT_CONTRACT.md.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-code-review.md.minisig +4 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-code-review.md.statement.json +35 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-deep-plan.md.minisig +4 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-deep-plan.md.statement.json +35 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-handoff.md.minisig +4 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-handoff.md.statement.json +35 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-learn.md.minisig +4 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-learn.md.statement.json +35 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-maintainer.md.minisig +4 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-maintainer.md.statement.json +35 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ralph-start.md.minisig +4 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ralph-start.md.statement.json +35 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ralph-stop.md.minisig +4 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ralph-stop.md.statement.json +35 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-security-review.md.minisig +4 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-security-review.md.statement.json +35 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-sequential-thinking.md.minisig +4 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-sequential-thinking.md.statement.json +35 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ship.md.minisig +4 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/commands/OMG-ship.md.statement.json +35 -0
- package/dist/enterprise/attestations/bundle/plugins/advanced/plugin.json.minisig +3 -3
- package/dist/enterprise/attestations/bundle/plugins/advanced/plugin.json.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/algorithms.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/algorithms.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/api-twin.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/api-twin.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/ast-pack.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/ast-pack.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/claim-judge.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/claim-judge.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/control-plane.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/control-plane.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/data-lineage.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/data-lineage.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/delta-classifier.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/delta-classifier.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/eval-gate.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/eval-gate.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/hash-edit.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/hash-edit.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/health.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/health.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/hook-governor.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/hook-governor.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/incident-replay.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/incident-replay.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/lsp-pack.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/lsp-pack.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/mcp-fabric.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/mcp-fabric.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/plan-council.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/plan-council.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/preflight.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/preflight.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/proof-gate.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/proof-gate.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/remote-supervisor.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/remote-supervisor.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/robotics.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/robotics.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/security-check.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/security-check.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/terminal-lane.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/terminal-lane.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/test-intent-lock.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/test-intent-lock.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/tracebank.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/tracebank.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/bundles/vision.yaml.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/bundles/vision.yaml.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/registry/omg-capability.schema.json.minisig +3 -3
- package/dist/enterprise/attestations/bundle/registry/omg-capability.schema.json.statement.json +6 -6
- package/dist/enterprise/attestations/bundle/settings.json.minisig +3 -3
- package/dist/enterprise/attestations/bundle/settings.json.statement.json +6 -6
- package/dist/enterprise/bundle/.claude-plugin/marketplace.json +3 -3
- package/dist/enterprise/bundle/.claude-plugin/plugin.json +1 -1
- package/dist/enterprise/bundle/.gemini/settings.json +2 -2
- package/dist/enterprise/bundle/.kimi/mcp.json +2 -2
- package/dist/enterprise/bundle/OMG_COMPAT_CONTRACT.md +19 -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/ast-pack.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/hash-edit.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/health.yaml +1 -1
- package/dist/enterprise/bundle/registry/bundles/hook-governor.yaml +1 -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/terminal-lane.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 +65 -8
- package/dist/enterprise/manifest.json +173 -173
- package/dist/oh_my_god-2.2.5-py3-none-any.whl +0 -0
- package/dist/public/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/AGENTS.fragment.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/algorithms/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/algorithms/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/api-twin/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/api-twin/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/ast-pack/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/claim-judge/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/codex-mcp.toml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/codex-mcp.toml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/codex-rules.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/codex-rules.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/control-plane/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/control-plane/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/data-lineage/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/delta-classifier/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/eval-gate/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/hash-edit/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/health/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/health/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/health/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/health/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/hook-governor/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/incident-replay/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/lsp-pack/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/mcp-fabric/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/plan-council/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/plan-council/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/preflight/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/preflight/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/proof-gate/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/remote-supervisor/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/robotics/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/robotics/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/secure-worktree-pipeline/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/security-check/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/security-check/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/terminal-lane/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/test-intent-lock/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/tracebank/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/tracebank/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/vision/SKILL.md.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/vision/SKILL.md.statement.json +5 -5
- package/dist/public/attestations/bundle/.agents/skills/omg/vision/openai.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/.agents/skills/omg/vision/openai.yaml.statement.json +5 -5
- package/dist/public/attestations/bundle/.claude-plugin/marketplace.json.minisig +3 -3
- package/dist/public/attestations/bundle/.claude-plugin/marketplace.json.statement.json +6 -6
- package/dist/public/attestations/bundle/.claude-plugin/mcp.json.minisig +3 -3
- package/dist/public/attestations/bundle/.claude-plugin/mcp.json.statement.json +5 -5
- package/dist/public/attestations/bundle/.claude-plugin/plugin.json.minisig +3 -3
- package/dist/public/attestations/bundle/.claude-plugin/plugin.json.statement.json +6 -6
- package/dist/public/attestations/bundle/.gemini/settings.json.minisig +3 -3
- package/dist/public/attestations/bundle/.gemini/settings.json.statement.json +6 -6
- package/dist/public/attestations/bundle/.kimi/mcp.json.minisig +3 -3
- package/dist/public/attestations/bundle/.kimi/mcp.json.statement.json +6 -6
- package/dist/public/attestations/bundle/.mcp.json.minisig +3 -3
- package/dist/public/attestations/bundle/.mcp.json.statement.json +5 -5
- package/dist/public/attestations/bundle/OMG_COMPAT_CONTRACT.md.minisig +3 -3
- package/dist/public/attestations/bundle/OMG_COMPAT_CONTRACT.md.statement.json +6 -6
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-code-review.md.minisig +4 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-code-review.md.statement.json +35 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-deep-plan.md.minisig +4 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-deep-plan.md.statement.json +35 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-handoff.md.minisig +4 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-handoff.md.statement.json +35 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-learn.md.minisig +4 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-learn.md.statement.json +35 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-maintainer.md.minisig +4 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-maintainer.md.statement.json +35 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ralph-start.md.minisig +4 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ralph-start.md.statement.json +35 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ralph-stop.md.minisig +4 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ralph-stop.md.statement.json +35 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-security-review.md.minisig +4 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-security-review.md.statement.json +35 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-sequential-thinking.md.minisig +4 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-sequential-thinking.md.statement.json +35 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ship.md.minisig +4 -0
- package/dist/public/attestations/bundle/plugins/advanced/commands/OMG-ship.md.statement.json +35 -0
- package/dist/public/attestations/bundle/plugins/advanced/plugin.json.minisig +3 -3
- package/dist/public/attestations/bundle/plugins/advanced/plugin.json.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/algorithms.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/algorithms.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/api-twin.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/api-twin.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/ast-pack.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/ast-pack.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/claim-judge.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/claim-judge.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/control-plane.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/control-plane.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/data-lineage.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/data-lineage.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/delta-classifier.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/delta-classifier.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/eval-gate.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/eval-gate.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/hash-edit.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/hash-edit.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/health.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/health.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/hook-governor.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/hook-governor.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/incident-replay.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/incident-replay.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/lsp-pack.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/lsp-pack.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/mcp-fabric.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/mcp-fabric.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/plan-council.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/plan-council.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/preflight.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/preflight.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/proof-gate.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/proof-gate.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/remote-supervisor.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/remote-supervisor.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/robotics.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/robotics.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/secure-worktree-pipeline.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/security-check.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/security-check.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/terminal-lane.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/terminal-lane.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/test-intent-lock.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/test-intent-lock.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/tracebank.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/tracebank.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/bundles/vision.yaml.minisig +3 -3
- package/dist/public/attestations/bundle/registry/bundles/vision.yaml.statement.json +6 -6
- package/dist/public/attestations/bundle/registry/omg-capability.schema.json.minisig +3 -3
- package/dist/public/attestations/bundle/registry/omg-capability.schema.json.statement.json +6 -6
- package/dist/public/attestations/bundle/settings.json.minisig +3 -3
- package/dist/public/attestations/bundle/settings.json.statement.json +6 -6
- package/dist/public/bundle/.claude-plugin/marketplace.json +3 -3
- package/dist/public/bundle/.claude-plugin/plugin.json +1 -1
- package/dist/public/bundle/.gemini/settings.json +2 -2
- package/dist/public/bundle/.kimi/mcp.json +2 -2
- package/dist/public/bundle/OMG_COMPAT_CONTRACT.md +19 -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/ast-pack.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/hash-edit.yaml +1 -1
- package/dist/public/bundle/registry/bundles/health.yaml +1 -1
- package/dist/public/bundle/registry/bundles/hook-governor.yaml +1 -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/terminal-lane.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 +65 -8
- package/dist/public/manifest.json +173 -173
- package/docs/install/github-app-required-checks.md +103 -0
- package/hooks/_common.py +40 -17
- package/hooks/budget_governor.py +77 -8
- package/hooks/setup_wizard.py +26 -98
- package/hud/omg-hud.mjs +1 -1
- package/package.json +1 -1
- package/plugins/advanced/commands/OMG-code-review.md +114 -0
- package/plugins/advanced/commands/OMG-deep-plan.md +266 -0
- package/plugins/advanced/commands/OMG-handoff.md +115 -0
- package/plugins/advanced/commands/OMG-learn.md +110 -0
- package/plugins/advanced/commands/OMG-maintainer.md +31 -0
- package/plugins/advanced/commands/OMG-ralph-start.md +43 -0
- package/plugins/advanced/commands/OMG-ralph-stop.md +23 -0
- package/plugins/advanced/commands/OMG-security-review.md +16 -0
- package/plugins/advanced/commands/OMG-sequential-thinking.md +20 -0
- package/plugins/advanced/commands/OMG-ship.md +46 -0
- package/plugins/advanced/plugin.json +1 -1
- package/plugins/core/plugin.json +1 -1
- package/pyproject.toml +1 -1
- package/registry/bundles/algorithms.yaml +1 -1
- package/registry/bundles/api-twin.yaml +1 -1
- package/registry/bundles/ast-pack.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/hash-edit.yaml +1 -1
- package/registry/bundles/health.yaml +1 -1
- package/registry/bundles/hook-governor.yaml +1 -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/terminal-lane.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/registry/policy-packs/airgapped.yaml +16 -0
- package/registry/policy-packs/fintech.yaml +15 -0
- package/registry/policy-packs/locked-prod.yaml +18 -0
- package/runtime/adoption.py +6 -3
- package/runtime/canonical_taxonomy.py +27 -0
- package/runtime/compat.py +215 -1
- package/runtime/config_transaction.py +304 -0
- package/runtime/contract_compiler.py +3 -1
- package/runtime/doc_generator.py +273 -0
- package/runtime/evidence_narrator.py +42 -0
- package/runtime/github_review_bot.py +88 -4
- package/runtime/github_review_formatter.py +24 -6
- package/runtime/install_planner.py +497 -0
- package/runtime/mcp_config_writers.py +198 -47
- package/runtime/omg_compat_contract_snapshot.json +1 -1
- package/runtime/omg_mcp_server.py +3 -1
- package/runtime/policy_pack_loader.py +143 -0
- package/runtime/subscription_tiers.py +258 -0
- package/runtime/verdict_schema.py +198 -0
- package/scripts/omg.py +230 -0
- package/scripts/settings-merge.py +16 -10
- package/settings.json +65 -18
- /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:code-review.md → OMG-code-review.md} +0 -0
- /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:deep-plan.md → OMG-deep-plan.md} +0 -0
- /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:handoff.md → OMG-handoff.md} +0 -0
- /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:learn.md → OMG-learn.md} +0 -0
- /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:maintainer.md → OMG-maintainer.md} +0 -0
- /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:ralph-start.md → OMG-ralph-start.md} +0 -0
- /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:ralph-stop.md → OMG-ralph-stop.md} +0 -0
- /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:security-review.md → OMG-security-review.md} +0 -0
- /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:sequential-thinking.md → OMG-sequential-thinking.md} +0 -0
- /package/dist/enterprise/bundle/plugins/advanced/commands/{OMG:ship.md → OMG-ship.md} +0 -0
- /package/dist/public/bundle/plugins/advanced/commands/{OMG:code-review.md → OMG-code-review.md} +0 -0
- /package/dist/public/bundle/plugins/advanced/commands/{OMG:deep-plan.md → OMG-deep-plan.md} +0 -0
- /package/dist/public/bundle/plugins/advanced/commands/{OMG:handoff.md → OMG-handoff.md} +0 -0
- /package/dist/public/bundle/plugins/advanced/commands/{OMG:learn.md → OMG-learn.md} +0 -0
- /package/dist/public/bundle/plugins/advanced/commands/{OMG:maintainer.md → OMG-maintainer.md} +0 -0
- /package/dist/public/bundle/plugins/advanced/commands/{OMG:ralph-start.md → OMG-ralph-start.md} +0 -0
- /package/dist/public/bundle/plugins/advanced/commands/{OMG:ralph-stop.md → OMG-ralph-stop.md} +0 -0
- /package/dist/public/bundle/plugins/advanced/commands/{OMG:security-review.md → OMG-security-review.md} +0 -0
- /package/dist/public/bundle/plugins/advanced/commands/{OMG:sequential-thinking.md → OMG-sequential-thinking.md} +0 -0
- /package/dist/public/bundle/plugins/advanced/commands/{OMG:ship.md → OMG-ship.md} +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# GitHub App Required Checks
|
|
2
|
+
|
|
3
|
+
## Required Check Context Name
|
|
4
|
+
|
|
5
|
+
The OMG PR Reviewer creates a check-run with a deterministic name:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
OMG PR Reviewer
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
This name is the **context** string used for required status checks in branch protection rules.
|
|
12
|
+
|
|
13
|
+
## Pinning Required Checks to `app_id`
|
|
14
|
+
|
|
15
|
+
GitHub allows any integration or workflow to create a check-run with any name. To prevent spoofing of the `OMG PR Reviewer` check, pin the required check to the OMG GitHub App's `app_id` in your branch protection settings.
|
|
16
|
+
|
|
17
|
+
### REST API (branch protection)
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
PUT /repos/{owner}/{repo}/branches/{branch}/protection
|
|
21
|
+
{
|
|
22
|
+
"required_status_checks": {
|
|
23
|
+
"strict": true,
|
|
24
|
+
"contexts": [],
|
|
25
|
+
"checks": [
|
|
26
|
+
{
|
|
27
|
+
"context": "OMG PR Reviewer",
|
|
28
|
+
"app_id": YOUR_OMG_APP_ID
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
When `app_id` is set, only check-runs created by that specific GitHub App are considered authoritative. A workflow or third-party App posting a check-run with the same name but a different `app_id` will not satisfy the requirement.
|
|
36
|
+
|
|
37
|
+
### Repository Settings UI
|
|
38
|
+
|
|
39
|
+
1. Go to **Settings > Branches > Branch protection rules**.
|
|
40
|
+
2. Edit the rule for your default branch.
|
|
41
|
+
3. Under **Require status checks to pass before merging**, search for `OMG PR Reviewer`.
|
|
42
|
+
4. Select the entry that shows the OMG App icon (not the GitHub Actions icon).
|
|
43
|
+
|
|
44
|
+
## Merge-Readiness Evaluation via `isRequired` GraphQL Field
|
|
45
|
+
|
|
46
|
+
Do **not** rely on the raw `mergeable` field from the REST API to determine merge readiness. The `mergeable` field conflates merge conflict status with required-check status and can produce false positives.
|
|
47
|
+
|
|
48
|
+
Instead, use the GraphQL `statusCheckRollup` with the `isRequired` field to query whether each required check has passed:
|
|
49
|
+
|
|
50
|
+
```graphql
|
|
51
|
+
query MergeReadiness($owner: String!, $repo: String!, $pr: Int!) {
|
|
52
|
+
repository(owner: $owner, name: $repo) {
|
|
53
|
+
pullRequest(number: $pr) {
|
|
54
|
+
commits(last: 1) {
|
|
55
|
+
nodes {
|
|
56
|
+
commit {
|
|
57
|
+
statusCheckRollup {
|
|
58
|
+
contexts(first: 50) {
|
|
59
|
+
nodes {
|
|
60
|
+
... on CheckRun {
|
|
61
|
+
name
|
|
62
|
+
conclusion
|
|
63
|
+
isRequired(pullRequestNumber: $pr)
|
|
64
|
+
}
|
|
65
|
+
... on StatusContext {
|
|
66
|
+
context
|
|
67
|
+
state
|
|
68
|
+
isRequired(pullRequestNumber: $pr)
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
The `isRequired` field returns `true` only for checks that are configured as required for the target branch. A PR is merge-ready when every context where `isRequired: true` also has `conclusion: "SUCCESS"` (for check-runs) or `state: "SUCCESS"` (for status contexts).
|
|
82
|
+
|
|
83
|
+
## Split-Lane Security Model
|
|
84
|
+
|
|
85
|
+
The OMG CI pipeline uses a split-lane model to isolate untrusted analysis from trusted posting:
|
|
86
|
+
|
|
87
|
+
| Job | Permissions | Checkout | Purpose |
|
|
88
|
+
|---|---|---|---|
|
|
89
|
+
| `pr-analyze` | `contents: read` | PR head (default) | Runs analysis on PR code, produces review artifacts |
|
|
90
|
+
| `post-review` | `contents: read`, `pull-requests: write`, `checks: write` | **Base SHA** (`github.event.pull_request.base.sha`) | Posts review and check-run using App credentials |
|
|
91
|
+
|
|
92
|
+
The `post-review` job checks out the **base branch SHA**, not the PR head. This ensures the posting code is from the trusted base branch and cannot be tampered with by the PR author. App credentials (`OMG_APP_ID`, `OMG_APP_PRIVATE_KEY`, `OMG_APP_INSTALLATION_ID`) are only available in the trusted posting job.
|
|
93
|
+
|
|
94
|
+
## Check-Run Conclusions
|
|
95
|
+
|
|
96
|
+
The OMG PR Reviewer maps verdict statuses to GitHub check-run conclusions:
|
|
97
|
+
|
|
98
|
+
| Verdict Status | GitHub Conclusion | PR UI Effect |
|
|
99
|
+
|---|---|---|
|
|
100
|
+
| `pass` | `success` | Green checkmark |
|
|
101
|
+
| `fail` | `failure` | Red X |
|
|
102
|
+
| `action_required` | `action_required` | "Take action" button |
|
|
103
|
+
| `pending` | `neutral` | Grey dash |
|
package/hooks/_common.py
CHANGED
|
@@ -220,31 +220,54 @@ def log_hook_error(hook_name, error, context=None):
|
|
|
220
220
|
pass
|
|
221
221
|
|
|
222
222
|
|
|
223
|
+
_O_NOFOLLOW_HOOKS: int = getattr(os, "O_NOFOLLOW", 0)
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
def _fsync_dir_hooks(dirpath):
|
|
227
|
+
fd = os.open(dirpath, os.O_RDONLY)
|
|
228
|
+
try:
|
|
229
|
+
os.fsync(fd)
|
|
230
|
+
finally:
|
|
231
|
+
os.close(fd)
|
|
232
|
+
|
|
233
|
+
|
|
223
234
|
def atomic_json_write(path, data):
|
|
224
|
-
"""Atomically write JSON data to a file using temp + rename.
|
|
225
|
-
|
|
226
|
-
Args:
|
|
227
|
-
path: Target file path
|
|
228
|
-
data: Data to write as JSON
|
|
229
|
-
|
|
230
|
-
Creates parent directories if needed. Silently fails on error.
|
|
231
|
-
"""
|
|
232
235
|
try:
|
|
233
|
-
# Create parent dirs
|
|
234
236
|
parent = os.path.dirname(path)
|
|
235
237
|
if parent:
|
|
236
238
|
os.makedirs(parent, exist_ok=True)
|
|
237
|
-
|
|
238
|
-
|
|
239
|
+
|
|
240
|
+
if os.path.islink(path):
|
|
241
|
+
raise OSError(f"Symlink target rejected: {path}")
|
|
242
|
+
|
|
239
243
|
tmp_path = path + ".tmp"
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
244
|
+
if os.path.islink(tmp_path):
|
|
245
|
+
raise OSError(f"Symlink tmp path rejected: {tmp_path}")
|
|
246
|
+
if os.path.exists(tmp_path):
|
|
247
|
+
os.unlink(tmp_path)
|
|
248
|
+
|
|
249
|
+
content = json.dumps(data, separators=(",", ":")).encode("utf-8")
|
|
250
|
+
open_flags = os.O_WRONLY | os.O_CREAT | os.O_TRUNC | _O_NOFOLLOW_HOOKS
|
|
251
|
+
fd = os.open(tmp_path, open_flags, 0o600)
|
|
252
|
+
try:
|
|
253
|
+
written = 0
|
|
254
|
+
while written < len(content):
|
|
255
|
+
written += os.write(fd, content[written:])
|
|
256
|
+
os.fsync(fd)
|
|
257
|
+
except BaseException:
|
|
258
|
+
os.close(fd)
|
|
259
|
+
try:
|
|
260
|
+
os.unlink(tmp_path)
|
|
261
|
+
except OSError:
|
|
262
|
+
pass
|
|
263
|
+
raise
|
|
264
|
+
else:
|
|
265
|
+
os.close(fd)
|
|
266
|
+
|
|
267
|
+
os.replace(tmp_path, path)
|
|
268
|
+
_fsync_dir_hooks(parent or ".")
|
|
245
269
|
except Exception as e:
|
|
246
270
|
print(f"[OMG] _common.py: {type(e).__name__}: {e}", file=sys.stderr)
|
|
247
|
-
pass
|
|
248
271
|
|
|
249
272
|
|
|
250
273
|
# Feature flags cache — read settings.json once per hook invocation
|
package/hooks/budget_governor.py
CHANGED
|
@@ -50,10 +50,37 @@ def _safe_float(value, default: float) -> float:
|
|
|
50
50
|
return default
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
def _read_budget_config(project_dir: str) -> tuple[float, float, float]:
|
|
53
|
+
def _read_budget_config(project_dir: str) -> tuple[float, float, float, dict[str, Any]]:
|
|
54
54
|
session_limit = DEFAULT_SESSION_LIMIT_USD
|
|
55
55
|
input_per_mtok = DEFAULT_INPUT_PER_MTOK
|
|
56
56
|
output_per_mtok = DEFAULT_OUTPUT_PER_MTOK
|
|
57
|
+
tier_info: dict[str, Any] = {
|
|
58
|
+
"tier": "free",
|
|
59
|
+
"tier_limit_usd": DEFAULT_SESSION_LIMIT_USD,
|
|
60
|
+
"tier_provenance": "default",
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
try:
|
|
64
|
+
parent = os.path.dirname(HOOKS_DIR)
|
|
65
|
+
if parent not in sys.path:
|
|
66
|
+
sys.path.insert(0, parent)
|
|
67
|
+
from runtime.subscription_tiers import detect_tier
|
|
68
|
+
|
|
69
|
+
provider = os.environ.get("OMG_PROVIDER", "claude")
|
|
70
|
+
tier_result = detect_tier(provider, project_dir=project_dir)
|
|
71
|
+
session_limit = _safe_float(
|
|
72
|
+
tier_result.get("budget_usd_per_session"),
|
|
73
|
+
DEFAULT_SESSION_LIMIT_USD,
|
|
74
|
+
)
|
|
75
|
+
tier_info = {
|
|
76
|
+
"tier": tier_result.get("tier", "free"),
|
|
77
|
+
"tier_limit_usd": float(
|
|
78
|
+
tier_result.get("budget_usd_per_session", DEFAULT_SESSION_LIMIT_USD)
|
|
79
|
+
),
|
|
80
|
+
"tier_provenance": tier_result.get("provenance", "default"),
|
|
81
|
+
}
|
|
82
|
+
except Exception:
|
|
83
|
+
pass
|
|
57
84
|
|
|
58
85
|
settings_path = os.path.join(project_dir, "settings.json")
|
|
59
86
|
try:
|
|
@@ -61,13 +88,13 @@ def _read_budget_config(project_dir: str) -> tuple[float, float, float]:
|
|
|
61
88
|
settings = json.load(f)
|
|
62
89
|
budget_cfg = settings.get("_omg", {}).get("cost_budget", {})
|
|
63
90
|
pricing = budget_cfg.get("pricing", {})
|
|
64
|
-
session_limit = _safe_float(budget_cfg.get("session_limit_usd"),
|
|
91
|
+
session_limit = _safe_float(budget_cfg.get("session_limit_usd"), session_limit)
|
|
65
92
|
input_per_mtok = _safe_float(pricing.get("input_per_mtok"), DEFAULT_INPUT_PER_MTOK)
|
|
66
93
|
output_per_mtok = _safe_float(pricing.get("output_per_mtok"), DEFAULT_OUTPUT_PER_MTOK)
|
|
67
94
|
except Exception:
|
|
68
95
|
pass
|
|
69
96
|
|
|
70
|
-
return session_limit, input_per_mtok, output_per_mtok
|
|
97
|
+
return session_limit, input_per_mtok, output_per_mtok, tier_info
|
|
71
98
|
|
|
72
99
|
|
|
73
100
|
def _to_text(value) -> str:
|
|
@@ -218,7 +245,7 @@ def main() -> None:
|
|
|
218
245
|
sys.exit(0)
|
|
219
246
|
|
|
220
247
|
project_dir = get_project_dir()
|
|
221
|
-
session_limit_usd, input_per_mtok, output_per_mtok = _read_budget_config(project_dir)
|
|
248
|
+
session_limit_usd, input_per_mtok, output_per_mtok, tier_info = _read_budget_config(project_dir)
|
|
222
249
|
summary = read_cost_summary(project_dir)
|
|
223
250
|
|
|
224
251
|
estimated_current_cost = _estimate_call_cost(
|
|
@@ -228,8 +255,19 @@ def main() -> None:
|
|
|
228
255
|
output_per_mtok,
|
|
229
256
|
)
|
|
230
257
|
|
|
231
|
-
|
|
232
|
-
|
|
258
|
+
session_id = os.environ.get("CLAUDE_SESSION_ID", "")
|
|
259
|
+
by_session = summary.get("by_session", {})
|
|
260
|
+
|
|
261
|
+
if session_id and session_id in by_session:
|
|
262
|
+
session_data = by_session[session_id]
|
|
263
|
+
used_cost_usd = float(session_data.get("cost_usd", 0.0)) + estimated_current_cost
|
|
264
|
+
used_calls = int(session_data.get("count", 0)) + 1
|
|
265
|
+
provenance = "session"
|
|
266
|
+
else:
|
|
267
|
+
used_cost_usd = float(summary.get("total_cost_usd", 0.0)) + estimated_current_cost
|
|
268
|
+
used_calls = int(summary.get("entry_count", 0)) + 1
|
|
269
|
+
provenance = "default"
|
|
270
|
+
|
|
233
271
|
projected_calls = _project_total_calls(used_cost_usd, used_calls, session_limit_usd)
|
|
234
272
|
|
|
235
273
|
context = _build_context(
|
|
@@ -240,7 +278,6 @@ def main() -> None:
|
|
|
240
278
|
)
|
|
241
279
|
|
|
242
280
|
used_pct = (used_cost_usd / session_limit_usd * 100) if session_limit_usd > 0 else 0.0
|
|
243
|
-
session_id = os.environ.get("CLAUDE_SESSION_ID", "")
|
|
244
281
|
threshold_alerts = _check_thresholds(used_pct, project_dir, session_id)
|
|
245
282
|
if threshold_alerts:
|
|
246
283
|
context += "\n" + "\n".join(threshold_alerts)
|
|
@@ -249,7 +286,39 @@ def main() -> None:
|
|
|
249
286
|
if envelope_context:
|
|
250
287
|
context += "\n" + envelope_context
|
|
251
288
|
|
|
252
|
-
|
|
289
|
+
tier_limit_usd = tier_info["tier_limit_usd"]
|
|
290
|
+
near_limit = used_cost_usd > (0.80 * tier_limit_usd)
|
|
291
|
+
limit_reached = used_cost_usd >= tier_limit_usd
|
|
292
|
+
|
|
293
|
+
throttle_reason: str | None = None
|
|
294
|
+
if near_limit or limit_reached:
|
|
295
|
+
throttle_reason = (
|
|
296
|
+
f"tier={tier_info['tier']} limit={tier_limit_usd:.2f} "
|
|
297
|
+
f"used={used_cost_usd:.2f} provenance={tier_info['tier_provenance']}"
|
|
298
|
+
)
|
|
299
|
+
|
|
300
|
+
if limit_reached:
|
|
301
|
+
context += f"\n@tier-limit-reached: {throttle_reason}"
|
|
302
|
+
elif near_limit:
|
|
303
|
+
context += f"\n@tier-near-limit: {throttle_reason}"
|
|
304
|
+
|
|
305
|
+
output: dict[str, Any] = {
|
|
306
|
+
"additionalContext": context,
|
|
307
|
+
"provenance": provenance,
|
|
308
|
+
"tier": tier_info["tier"],
|
|
309
|
+
"tier_limit_usd": tier_limit_usd,
|
|
310
|
+
"near_limit": near_limit,
|
|
311
|
+
"limit_reached": limit_reached,
|
|
312
|
+
"throttle_reason": throttle_reason,
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
if tier_info["tier_provenance"] in ("cache", "default"):
|
|
316
|
+
output["tier_provenance_fallback"] = (
|
|
317
|
+
f"tier data from {tier_info['tier_provenance']} source "
|
|
318
|
+
"— may not reflect current subscription"
|
|
319
|
+
)
|
|
320
|
+
|
|
321
|
+
json.dump(output, sys.stdout)
|
|
253
322
|
sys.exit(0)
|
|
254
323
|
|
|
255
324
|
|
package/hooks/setup_wizard.py
CHANGED
|
@@ -5,6 +5,7 @@ Feature-gated: requires OMG_SETUP_ENABLED=1 (default off).
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
7
|
import json
|
|
8
|
+
import importlib
|
|
8
9
|
import logging
|
|
9
10
|
import os
|
|
10
11
|
import re
|
|
@@ -27,16 +28,6 @@ from hooks._common import bootstrap_runtime_paths, get_feature_flag
|
|
|
27
28
|
bootstrap_runtime_paths(__file__)
|
|
28
29
|
|
|
29
30
|
from runtime.cli_provider import get_provider, list_available_providers # noqa: E402
|
|
30
|
-
from runtime.mcp_config_writers import ( # noqa: E402
|
|
31
|
-
write_claude_mcp_config,
|
|
32
|
-
write_claude_mcp_stdio_config,
|
|
33
|
-
write_codex_mcp_config,
|
|
34
|
-
write_codex_mcp_stdio_config,
|
|
35
|
-
write_gemini_mcp_config,
|
|
36
|
-
write_gemini_mcp_stdio_config,
|
|
37
|
-
write_kimi_mcp_config,
|
|
38
|
-
write_kimi_mcp_stdio_config,
|
|
39
|
-
)
|
|
40
31
|
|
|
41
32
|
# Trigger provider auto-registration on import
|
|
42
33
|
import runtime.providers.codex_provider # noqa: E402, F401
|
|
@@ -485,8 +476,6 @@ def check_auth() -> dict[str, Any]:
|
|
|
485
476
|
return {"status": "pending", "results": {}}
|
|
486
477
|
|
|
487
478
|
|
|
488
|
-
_HTTP_MEMORY_MIN_LEVEL: int = _PRESET_LEVEL["interop"]
|
|
489
|
-
|
|
490
479
|
_PROFILE_ARCH_REQUEST_MAX = 8
|
|
491
480
|
_PROFILE_TAG_MAX = 12
|
|
492
481
|
_PROFILE_SUMMARY_MAX_CHARS = 240
|
|
@@ -541,100 +530,39 @@ def configure_mcp(
|
|
|
541
530
|
- configured: List of CLI names that were successfully configured
|
|
542
531
|
- errors: Dict of CLI name → error message for failures
|
|
543
532
|
"""
|
|
544
|
-
configured: list[str] = []
|
|
545
|
-
errors: dict[str, str] = {}
|
|
546
533
|
resolved_control_args = list(control_args or OMG_CONTROL_ARGS)
|
|
547
|
-
http_memory_allowed = _PRESET_LEVEL.get(preset, 0) >= _HTTP_MEMORY_MIN_LEVEL
|
|
548
534
|
selected_config = select_mcps(selected_ids=selected_ids, preset=preset)
|
|
549
535
|
selected_servers = cast(
|
|
550
536
|
dict[str, dict[str, Any]],
|
|
551
537
|
selected_config.get("mcpServers", {}),
|
|
552
538
|
)
|
|
539
|
+
install_planner = importlib.import_module("runtime.install_planner")
|
|
540
|
+
plan = install_planner.compute_install_plan(
|
|
541
|
+
project_dir=project_dir,
|
|
542
|
+
detected_clis=detected_clis,
|
|
543
|
+
preset=preset,
|
|
544
|
+
mode="focused",
|
|
545
|
+
selected_ids=selected_ids,
|
|
546
|
+
server_url=server_url,
|
|
547
|
+
server_name=server_name,
|
|
548
|
+
control_command=control_command,
|
|
549
|
+
control_args=resolved_control_args,
|
|
550
|
+
control_server_name=control_server_name,
|
|
551
|
+
selected_servers=selected_servers,
|
|
552
|
+
source_root=_PROJECT_ROOT,
|
|
553
|
+
)
|
|
554
|
+
install_result = cast(dict[str, Any], install_planner.execute_plan(plan))
|
|
553
555
|
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
claude_config = {}
|
|
556
|
+
configured = [action.host for action in plan.actions if action.host != "claude"]
|
|
557
|
+
errors: dict[str, str] = {}
|
|
558
|
+
if install_result["errors"]:
|
|
559
|
+
joined = "; ".join(install_result["errors"])
|
|
560
|
+
if not configured:
|
|
561
|
+
errors["claude"] = joined
|
|
561
562
|
else:
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
if not isinstance(existing_servers, dict):
|
|
566
|
-
existing_servers = {}
|
|
567
|
-
|
|
568
|
-
managed_server_ids = {cast(str, m["id"]) for m in MCP_CATALOG}
|
|
569
|
-
for managed_server_id in managed_server_ids:
|
|
570
|
-
existing_servers.pop(managed_server_id, None)
|
|
571
|
-
existing_servers.pop(server_name, None)
|
|
572
|
-
existing_servers.pop(control_server_name, None)
|
|
573
|
-
|
|
574
|
-
for selected_server_name, payload in selected_servers.items():
|
|
575
|
-
if selected_server_name == "omg-memory":
|
|
576
|
-
if not http_memory_allowed:
|
|
577
|
-
continue
|
|
578
|
-
target_name = server_name
|
|
579
|
-
payload = {"type": "http", "url": server_url}
|
|
580
|
-
elif selected_server_name == OMG_CONTROL_SERVER_NAME:
|
|
581
|
-
target_name = control_server_name
|
|
582
|
-
payload = {
|
|
583
|
-
"command": control_command,
|
|
584
|
-
"args": resolved_control_args,
|
|
585
|
-
}
|
|
586
|
-
else:
|
|
587
|
-
target_name = selected_server_name
|
|
588
|
-
existing_servers[target_name] = payload
|
|
589
|
-
|
|
590
|
-
claude_config["mcpServers"] = existing_servers
|
|
591
|
-
with open(config_path, "w", encoding="utf-8") as f:
|
|
592
|
-
json.dump(claude_config, f, indent=2, ensure_ascii=True)
|
|
593
|
-
f.write("\n")
|
|
594
|
-
except Exception as exc:
|
|
595
|
-
_logger.warning("Failed to write Claude MCP config: %s", exc)
|
|
596
|
-
errors["claude"] = str(exc)
|
|
597
|
-
|
|
598
|
-
cli_writers = {
|
|
599
|
-
"codex": (write_codex_mcp_config, write_codex_mcp_stdio_config),
|
|
600
|
-
"gemini": (write_gemini_mcp_config, write_gemini_mcp_stdio_config),
|
|
601
|
-
"kimi": (write_kimi_mcp_config, write_kimi_mcp_stdio_config),
|
|
602
|
-
}
|
|
603
|
-
|
|
604
|
-
for cli_name, (http_writer, stdio_writer) in cli_writers.items():
|
|
605
|
-
cli_info = detected_clis.get(cli_name, {})
|
|
606
|
-
if not cli_info.get("detected", False):
|
|
607
|
-
continue
|
|
608
|
-
|
|
609
|
-
try:
|
|
610
|
-
for selected_server_name, payload in selected_servers.items():
|
|
611
|
-
if selected_server_name == "omg-memory":
|
|
612
|
-
if not http_memory_allowed:
|
|
613
|
-
continue
|
|
614
|
-
http_writer(server_url, server_name)
|
|
615
|
-
continue
|
|
616
|
-
|
|
617
|
-
if selected_server_name == OMG_CONTROL_SERVER_NAME:
|
|
618
|
-
stdio_writer(
|
|
619
|
-
command=control_command,
|
|
620
|
-
args=resolved_control_args,
|
|
621
|
-
server_name=control_server_name,
|
|
622
|
-
)
|
|
623
|
-
continue
|
|
624
|
-
|
|
625
|
-
if payload.get("type") == "http":
|
|
626
|
-
http_writer(cast(str, payload["url"]), selected_server_name)
|
|
627
|
-
continue
|
|
628
|
-
|
|
629
|
-
stdio_writer(
|
|
630
|
-
command=cast(str, payload["command"]),
|
|
631
|
-
args=[str(arg) for arg in cast(list[Any], payload.get("args", []))],
|
|
632
|
-
server_name=selected_server_name,
|
|
633
|
-
)
|
|
634
|
-
configured.append(cli_name)
|
|
635
|
-
except Exception as exc:
|
|
636
|
-
_logger.warning("Failed to write %s MCP config: %s", cli_name, exc)
|
|
637
|
-
errors[cli_name] = str(exc)
|
|
563
|
+
for host in configured:
|
|
564
|
+
errors[host] = joined
|
|
565
|
+
configured = []
|
|
638
566
|
|
|
639
567
|
return {
|
|
640
568
|
"status": "ok",
|
package/hud/omg-hud.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trac3er/oh-my-god",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.5",
|
|
4
4
|
"description": "OMG (Oh My God) — Multi-agent orchestration, evidence-backed verification, and durable session state for Claude Code, Codex, and supported agent hosts",
|
|
5
5
|
"main": "OMG-setup.sh",
|
|
6
6
|
"scripts": {
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Deep code review — reads file completely, checks line-by-line for issues, then analyzes whole-file structure. Enforces code hygiene.
|
|
3
|
+
allowed-tools: Read, Bash(cat:*), Bash(grep:*), Bash(wc:*), Bash(head:*), Bash(find:*), Bash(rg:*), Grep, Glob
|
|
4
|
+
argument-hint: "[file path or 'recent' for git-changed files]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /OMG:code-review — Line-by-Line + Structural Review
|
|
8
|
+
|
|
9
|
+
## Philosophy
|
|
10
|
+
Two passes: LINE-BY-LINE precision, then WHOLE-FILE understanding.
|
|
11
|
+
Don't just scan — READ and UNDERSTAND every line.
|
|
12
|
+
|
|
13
|
+
## Step 1: Determine Scope
|
|
14
|
+
|
|
15
|
+
- If file specified: review that file
|
|
16
|
+
- If "recent" or no argument: review uncommitted changes
|
|
17
|
+
```bash
|
|
18
|
+
git diff --name-only HEAD 2>/dev/null
|
|
19
|
+
git diff --cached --name-only 2>/dev/null
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Step 2: Read the FULL File First
|
|
23
|
+
|
|
24
|
+
Read the ENTIRE file. Not just the changed part. Not just a function.
|
|
25
|
+
Understanding comes from seeing the whole context.
|
|
26
|
+
|
|
27
|
+
Note:
|
|
28
|
+
- What does this file DO? (its purpose in the system)
|
|
29
|
+
- What are its DEPENDENCIES? (imports, calls)
|
|
30
|
+
- What does it EXPORT? (public API)
|
|
31
|
+
|
|
32
|
+
## Step 3: Line-by-Line Scan
|
|
33
|
+
|
|
34
|
+
For each line, check:
|
|
35
|
+
|
|
36
|
+
**Correctness:**
|
|
37
|
+
- Logic errors (off-by-one, null checks, type mismatches)
|
|
38
|
+
- Missing error handling (unhandled promises, bare except, no null check)
|
|
39
|
+
- Race conditions (shared state, async without await, unchecked concurrent access)
|
|
40
|
+
|
|
41
|
+
**Security (if auth/payment/database):**
|
|
42
|
+
- Hardcoded secrets → CRITICAL
|
|
43
|
+
- SQL injection (string concatenation in queries) → CRITICAL
|
|
44
|
+
- XSS (innerHTML, dangerouslySetInnerHTML) → HIGH
|
|
45
|
+
- Missing input validation → MEDIUM
|
|
46
|
+
- Overly permissive CORS/cookies → MEDIUM
|
|
47
|
+
|
|
48
|
+
**Hygiene:**
|
|
49
|
+
- Dead code (unused imports, variables, unreachable branches)
|
|
50
|
+
- Noise comments ("increment i", "return result", "constructor")
|
|
51
|
+
- console.log/print left in production code
|
|
52
|
+
- TODO/FIXME/HACK without tracking
|
|
53
|
+
- Overly complex functions (>40 lines → suggest extract)
|
|
54
|
+
- Duplicated logic (same pattern in 2+ places → suggest DRY)
|
|
55
|
+
|
|
56
|
+
## Step 4: Whole-File Structure Analysis
|
|
57
|
+
|
|
58
|
+
After line-by-line:
|
|
59
|
+
- Does the file do ONE thing well, or is it a dumping ground?
|
|
60
|
+
- Are functions ordered logically? (public first, helpers after, or lifecycle order)
|
|
61
|
+
- Is naming consistent? (camelCase throughout? PascalCase for classes?)
|
|
62
|
+
- Does it follow the project's domain pattern? (check .omg/knowledge/domain-patterns/)
|
|
63
|
+
- Any circular dependencies?
|
|
64
|
+
- Is error handling consistent across all functions?
|
|
65
|
+
|
|
66
|
+
## Step 5: Report
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Code Review — [file]
|
|
70
|
+
━━━━━━━━━━━━━━━━━━━━
|
|
71
|
+
|
|
72
|
+
Structure: [CLEAN | NEEDS_WORK | MESSY]
|
|
73
|
+
Security: [SAFE | REVIEW_NEEDED | CRITICAL]
|
|
74
|
+
Hygiene: [CLEAN | NEEDS_CLEANUP]
|
|
75
|
+
|
|
76
|
+
Issues:
|
|
77
|
+
[line:col] CRITICAL: [description]
|
|
78
|
+
[line:col] HIGH: [description]
|
|
79
|
+
[line:col] MEDIUM: [description]
|
|
80
|
+
[line:col] LOW: [description]
|
|
81
|
+
|
|
82
|
+
Dead Code:
|
|
83
|
+
[line] unused import: [name]
|
|
84
|
+
[line] unreachable after return
|
|
85
|
+
|
|
86
|
+
Noise Comments (remove these):
|
|
87
|
+
[line] "// increment counter"
|
|
88
|
+
[line] "// return the value"
|
|
89
|
+
|
|
90
|
+
Structural:
|
|
91
|
+
- [function] is [N] lines — consider extracting [suggestion]
|
|
92
|
+
- [pattern] duplicated at lines [X] and [Y]
|
|
93
|
+
|
|
94
|
+
Recommendation: [summary of what to fix, in priority order]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Step 6: For Security-Critical Files
|
|
98
|
+
|
|
99
|
+
If the file touches auth, payment, or database:
|
|
100
|
+
```
|
|
101
|
+
/OMG:escalate codex "Line-by-line security review of [file]. Check:
|
|
102
|
+
1. Every input validation point
|
|
103
|
+
2. Every database query for injection
|
|
104
|
+
3. Every auth check for bypass
|
|
105
|
+
4. Every secret reference for hardcoding
|
|
106
|
+
Report: line numbers + severity + fix suggestion"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Anti-patterns
|
|
110
|
+
- DON'T skim and say "looks good" — read every line
|
|
111
|
+
- DON'T only check the diff — read the full file for context
|
|
112
|
+
- DON'T ignore test files — they can have real issues too
|
|
113
|
+
- DON'T add more noise comments as "fixes" — remove them instead
|
|
114
|
+
- DON'T suggest unnecessary code as improvements
|