@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,304 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from datetime import datetime, timezone
|
|
5
|
+
import hashlib
|
|
6
|
+
import os
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
import time
|
|
9
|
+
from typing import Literal, NotRequired, TypedDict, cast
|
|
10
|
+
|
|
11
|
+
from runtime import mcp_config_writers as _mcp_config_writers
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
_ATOMIC_WRITE_TEXT_SAFE = cast(
|
|
15
|
+
"_AtomicWriteFn",
|
|
16
|
+
getattr(_mcp_config_writers, "_atomic_write_text_safe"),
|
|
17
|
+
)
|
|
18
|
+
_FSYNC_DIR = cast("_FsyncDirFn", getattr(_mcp_config_writers, "_fsync_dir"))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class _AtomicWriteFn:
|
|
22
|
+
def __call__(self, path: Path, content: str, *, mode: int = 0o600) -> None: ...
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class _FsyncDirFn:
|
|
26
|
+
def __call__(self, path: Path | str) -> None: ...
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
VerificationStatus = Literal["ok", "mismatch", "missing"]
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class PlannedWriteReceipt(TypedDict):
|
|
33
|
+
path: str
|
|
34
|
+
content_hash: str
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class ExecutedWriteReceipt(TypedDict):
|
|
38
|
+
path: str
|
|
39
|
+
content_hash: str
|
|
40
|
+
executed: bool
|
|
41
|
+
error: NotRequired[str]
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class RollbackReceipt(TypedDict):
|
|
45
|
+
restored: list[str]
|
|
46
|
+
failed: list[str]
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class ConfigReceipt(TypedDict):
|
|
50
|
+
planned_writes: list[PlannedWriteReceipt]
|
|
51
|
+
executed_writes: list[ExecutedWriteReceipt]
|
|
52
|
+
backup_path: str
|
|
53
|
+
verification: dict[str, VerificationStatus]
|
|
54
|
+
executed: bool
|
|
55
|
+
rollback: RollbackReceipt | None
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class ConfigTransactionError(RuntimeError):
|
|
59
|
+
receipt: ConfigReceipt | None
|
|
60
|
+
|
|
61
|
+
def __init__(self, message: str, *, receipt: ConfigReceipt | None = None) -> None:
|
|
62
|
+
super().__init__(message)
|
|
63
|
+
self.receipt = receipt
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
@dataclass
|
|
67
|
+
class _PlannedWrite:
|
|
68
|
+
path: Path
|
|
69
|
+
content: str
|
|
70
|
+
content_hash: str
|
|
71
|
+
mode: int = 0o600
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class ConfigTransaction:
|
|
75
|
+
def __init__(
|
|
76
|
+
self,
|
|
77
|
+
*,
|
|
78
|
+
stale_lock_ms: int = 10000,
|
|
79
|
+
lock_path: Path | None = None,
|
|
80
|
+
backup_root: Path | None = None,
|
|
81
|
+
) -> None:
|
|
82
|
+
home = Path.home()
|
|
83
|
+
self._lock_path: Path = lock_path or (home / ".omg" / "state" / "config-transaction.lock")
|
|
84
|
+
self._backup_root: Path = backup_root or (home / ".omg" / "backups")
|
|
85
|
+
self._stale_lock_ms: int = stale_lock_ms
|
|
86
|
+
self._planned: list[_PlannedWrite] = []
|
|
87
|
+
self._last_backup_path: str | None = None
|
|
88
|
+
self._last_backup_index: dict[str, str | None] = {}
|
|
89
|
+
self._last_planned_paths: list[str] = []
|
|
90
|
+
|
|
91
|
+
def plan(self, target_path: Path | str, content: str, *, mode: int = 0o600) -> None:
|
|
92
|
+
path = Path(target_path).resolve()
|
|
93
|
+
digest = hashlib.sha256(content.encode("utf-8")).hexdigest()
|
|
94
|
+
self._planned.append(_PlannedWrite(path=path, content=content, content_hash=digest, mode=mode))
|
|
95
|
+
|
|
96
|
+
def execute(self) -> ConfigReceipt:
|
|
97
|
+
return self._run(executed=True)
|
|
98
|
+
|
|
99
|
+
def dry_run(self) -> ConfigReceipt:
|
|
100
|
+
return self._run(executed=False)
|
|
101
|
+
|
|
102
|
+
def rollback(self) -> RollbackReceipt:
|
|
103
|
+
if not self._last_backup_path:
|
|
104
|
+
raise ConfigTransactionError("rollback requested before any backup snapshot")
|
|
105
|
+
|
|
106
|
+
restored: list[str] = []
|
|
107
|
+
failed: list[str] = []
|
|
108
|
+
backup_dir = Path(self._last_backup_path)
|
|
109
|
+
for target in self._last_planned_paths:
|
|
110
|
+
backup_file = self._last_backup_index.get(target)
|
|
111
|
+
target_path = Path(target)
|
|
112
|
+
try:
|
|
113
|
+
if backup_file is None:
|
|
114
|
+
if target_path.exists() or target_path.is_symlink():
|
|
115
|
+
target_path.unlink()
|
|
116
|
+
_FSYNC_DIR(target_path.parent)
|
|
117
|
+
restored.append(target)
|
|
118
|
+
continue
|
|
119
|
+
source = backup_dir / backup_file
|
|
120
|
+
if not source.exists():
|
|
121
|
+
failed.append(target)
|
|
122
|
+
continue
|
|
123
|
+
content = source.read_text(encoding="utf-8")
|
|
124
|
+
_ATOMIC_WRITE_TEXT_SAFE(target_path, content)
|
|
125
|
+
restored.append(target)
|
|
126
|
+
except OSError:
|
|
127
|
+
failed.append(target)
|
|
128
|
+
return {"restored": restored, "failed": failed}
|
|
129
|
+
|
|
130
|
+
def list_backups(self) -> list[str]:
|
|
131
|
+
if not self._backup_root.exists():
|
|
132
|
+
return []
|
|
133
|
+
dirs = [path for path in self._backup_root.iterdir() if path.is_dir()]
|
|
134
|
+
dirs.sort(key=lambda path: (path.stat().st_mtime_ns, path.name), reverse=True)
|
|
135
|
+
return [str(path) for path in dirs]
|
|
136
|
+
|
|
137
|
+
def _run(self, *, executed: bool) -> ConfigReceipt:
|
|
138
|
+
self._acquire_lock()
|
|
139
|
+
try:
|
|
140
|
+
backup_path = self._snapshot_backups()
|
|
141
|
+
receipt: ConfigReceipt = {
|
|
142
|
+
"planned_writes": [
|
|
143
|
+
{"path": str(item.path), "content_hash": item.content_hash}
|
|
144
|
+
for item in self._planned
|
|
145
|
+
],
|
|
146
|
+
"executed_writes": [],
|
|
147
|
+
"backup_path": backup_path,
|
|
148
|
+
"verification": {},
|
|
149
|
+
"executed": executed,
|
|
150
|
+
"rollback": None,
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if executed:
|
|
154
|
+
for item in self._planned:
|
|
155
|
+
try:
|
|
156
|
+
_ATOMIC_WRITE_TEXT_SAFE(item.path, item.content, mode=item.mode)
|
|
157
|
+
receipt["executed_writes"].append(
|
|
158
|
+
{
|
|
159
|
+
"path": str(item.path),
|
|
160
|
+
"content_hash": item.content_hash,
|
|
161
|
+
"executed": True,
|
|
162
|
+
}
|
|
163
|
+
)
|
|
164
|
+
except OSError as exc:
|
|
165
|
+
receipt["executed_writes"].append(
|
|
166
|
+
{
|
|
167
|
+
"path": str(item.path),
|
|
168
|
+
"content_hash": item.content_hash,
|
|
169
|
+
"executed": False,
|
|
170
|
+
"error": str(exc),
|
|
171
|
+
}
|
|
172
|
+
)
|
|
173
|
+
rollback_data = self.rollback()
|
|
174
|
+
receipt["rollback"] = rollback_data
|
|
175
|
+
raise ConfigTransactionError(str(exc), receipt=receipt) from exc
|
|
176
|
+
else:
|
|
177
|
+
for item in self._planned:
|
|
178
|
+
receipt["executed_writes"].append(
|
|
179
|
+
{
|
|
180
|
+
"path": str(item.path),
|
|
181
|
+
"content_hash": item.content_hash,
|
|
182
|
+
"executed": False,
|
|
183
|
+
}
|
|
184
|
+
)
|
|
185
|
+
|
|
186
|
+
receipt["verification"] = self._verify_written_content()
|
|
187
|
+
return receipt
|
|
188
|
+
finally:
|
|
189
|
+
self._release_lock()
|
|
190
|
+
|
|
191
|
+
def _verify_written_content(self) -> dict[str, VerificationStatus]:
|
|
192
|
+
verification: dict[str, VerificationStatus] = {}
|
|
193
|
+
for item in self._planned:
|
|
194
|
+
if not item.path.exists():
|
|
195
|
+
verification[str(item.path)] = "missing"
|
|
196
|
+
continue
|
|
197
|
+
content = item.path.read_text(encoding="utf-8")
|
|
198
|
+
actual_hash = hashlib.sha256(content.encode("utf-8")).hexdigest()
|
|
199
|
+
verification[str(item.path)] = "ok" if actual_hash == item.content_hash else "mismatch"
|
|
200
|
+
return verification
|
|
201
|
+
|
|
202
|
+
def _snapshot_backups(self) -> str:
|
|
203
|
+
backup_dir = self._new_backup_dir()
|
|
204
|
+
backup_dir.mkdir(parents=True, exist_ok=False)
|
|
205
|
+
|
|
206
|
+
index: dict[str, str | None] = {}
|
|
207
|
+
planned_paths: list[str] = []
|
|
208
|
+
for idx, item in enumerate(self._planned):
|
|
209
|
+
path_str = str(item.path)
|
|
210
|
+
planned_paths.append(path_str)
|
|
211
|
+
if not item.path.exists():
|
|
212
|
+
index[path_str] = None
|
|
213
|
+
continue
|
|
214
|
+
backup_name = f"{idx:04d}.bak"
|
|
215
|
+
backup_path = backup_dir / backup_name
|
|
216
|
+
original = item.path.read_text(encoding="utf-8")
|
|
217
|
+
_ATOMIC_WRITE_TEXT_SAFE(backup_path, original)
|
|
218
|
+
index[path_str] = backup_name
|
|
219
|
+
|
|
220
|
+
self._last_backup_path = str(backup_dir)
|
|
221
|
+
self._last_backup_index = index
|
|
222
|
+
self._last_planned_paths = planned_paths
|
|
223
|
+
return str(backup_dir)
|
|
224
|
+
|
|
225
|
+
def _new_backup_dir(self) -> Path:
|
|
226
|
+
self._backup_root.mkdir(parents=True, exist_ok=True)
|
|
227
|
+
stamp = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H-%M-%S.%fZ")
|
|
228
|
+
base = self._backup_root / f"{stamp}-{os.getpid()}"
|
|
229
|
+
if not base.exists():
|
|
230
|
+
return base
|
|
231
|
+
counter = 1
|
|
232
|
+
while True:
|
|
233
|
+
candidate = self._backup_root / f"{stamp}-{os.getpid()}-{counter}"
|
|
234
|
+
if not candidate.exists():
|
|
235
|
+
return candidate
|
|
236
|
+
counter += 1
|
|
237
|
+
|
|
238
|
+
def _acquire_lock(self) -> None:
|
|
239
|
+
self._lock_path.parent.mkdir(parents=True, exist_ok=True)
|
|
240
|
+
self._cleanup_stale_lock_if_needed()
|
|
241
|
+
try:
|
|
242
|
+
fd = os.open(str(self._lock_path), os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o600)
|
|
243
|
+
except FileExistsError as exc:
|
|
244
|
+
raise ConfigTransactionError(
|
|
245
|
+
f"config transaction lock already held: {self._lock_path}"
|
|
246
|
+
) from exc
|
|
247
|
+
try:
|
|
248
|
+
ts_ms = int(time.time() * 1000)
|
|
249
|
+
payload = f"{os.getpid()}\n{ts_ms}\n".encode("utf-8")
|
|
250
|
+
written = 0
|
|
251
|
+
while written < len(payload):
|
|
252
|
+
written += os.write(fd, payload[written:])
|
|
253
|
+
os.fsync(fd)
|
|
254
|
+
finally:
|
|
255
|
+
os.close(fd)
|
|
256
|
+
_FSYNC_DIR(self._lock_path.parent)
|
|
257
|
+
|
|
258
|
+
def _release_lock(self) -> None:
|
|
259
|
+
try:
|
|
260
|
+
self._lock_path.unlink(missing_ok=True)
|
|
261
|
+
except OSError:
|
|
262
|
+
return
|
|
263
|
+
_FSYNC_DIR(self._lock_path.parent)
|
|
264
|
+
|
|
265
|
+
def _cleanup_stale_lock_if_needed(self) -> None:
|
|
266
|
+
if not self._lock_path.exists():
|
|
267
|
+
return
|
|
268
|
+
|
|
269
|
+
try:
|
|
270
|
+
raw = self._lock_path.read_text(encoding="utf-8").splitlines()
|
|
271
|
+
pid = int(raw[0].strip()) if raw else -1
|
|
272
|
+
ts_ms = int(raw[1].strip()) if len(raw) > 1 else 0
|
|
273
|
+
except (OSError, ValueError):
|
|
274
|
+
try:
|
|
275
|
+
self._lock_path.unlink(missing_ok=True)
|
|
276
|
+
_FSYNC_DIR(self._lock_path.parent)
|
|
277
|
+
except OSError:
|
|
278
|
+
pass
|
|
279
|
+
return
|
|
280
|
+
|
|
281
|
+
age_ms = int(time.time() * 1000) - ts_ms
|
|
282
|
+
if age_ms <= self._stale_lock_ms:
|
|
283
|
+
return
|
|
284
|
+
if self._pid_is_alive(pid):
|
|
285
|
+
return
|
|
286
|
+
|
|
287
|
+
try:
|
|
288
|
+
self._lock_path.unlink(missing_ok=True)
|
|
289
|
+
_FSYNC_DIR(self._lock_path.parent)
|
|
290
|
+
except OSError:
|
|
291
|
+
pass
|
|
292
|
+
|
|
293
|
+
def _pid_is_alive(self, pid: int) -> bool:
|
|
294
|
+
if pid <= 0:
|
|
295
|
+
return False
|
|
296
|
+
try:
|
|
297
|
+
os.kill(pid, 0)
|
|
298
|
+
except ProcessLookupError:
|
|
299
|
+
return False
|
|
300
|
+
except PermissionError:
|
|
301
|
+
return True
|
|
302
|
+
except OSError:
|
|
303
|
+
return False
|
|
304
|
+
return True
|
|
@@ -34,6 +34,7 @@ from runtime.adoption import (
|
|
|
34
34
|
CANONICAL_REPO_URL,
|
|
35
35
|
CANONICAL_VERSION,
|
|
36
36
|
)
|
|
37
|
+
from runtime.canonical_taxonomy import CANONICAL_PRESETS, RELEASE_CHANNELS
|
|
37
38
|
from runtime.canonical_surface import get_canonical_hosts, get_compat_hosts
|
|
38
39
|
from registry.verify_artifact import sign_artifact_statement, verify_artifact_statement
|
|
39
40
|
|
|
@@ -46,7 +47,8 @@ RELEASE_BLOCKING_HOSTS = tuple(get_canonical_hosts())
|
|
|
46
47
|
# Compatibility-only hosts (for example, OpenCode) are intentionally excluded from
|
|
47
48
|
# release-blocking parity and compile-readiness requirements.
|
|
48
49
|
COMPATIBILITY_ONLY_HOSTS = tuple(get_compat_hosts())
|
|
49
|
-
|
|
50
|
+
SUPPORTED_PRESETS = CANONICAL_PRESETS
|
|
51
|
+
SUPPORTED_CHANNELS = RELEASE_CHANNELS
|
|
50
52
|
DEFAULT_REQUIRED_BUNDLES = (
|
|
51
53
|
"control-plane",
|
|
52
54
|
"plan-council",
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import json
|
|
3
|
+
from datetime import datetime, timezone
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from typing import Any, cast
|
|
6
|
+
|
|
7
|
+
from runtime.adoption import CANONICAL_VERSION, PRESET_FEATURES
|
|
8
|
+
from runtime.canonical_taxonomy import (
|
|
9
|
+
RELEASE_CHANNELS,
|
|
10
|
+
CANONICAL_PRESETS,
|
|
11
|
+
SUBSCRIPTION_TIERS,
|
|
12
|
+
POLICY_PACK_IDS,
|
|
13
|
+
)
|
|
14
|
+
from runtime.canonical_surface import get_canonical_hosts, get_compat_hosts
|
|
15
|
+
|
|
16
|
+
def generate_docs(output_root: Path) -> dict[str, Any]:
|
|
17
|
+
output_root.mkdir(parents=True, exist_ok=True)
|
|
18
|
+
|
|
19
|
+
canonical_hosts = list(get_canonical_hosts())
|
|
20
|
+
compat_hosts = list(get_compat_hosts())
|
|
21
|
+
timestamp = datetime.now(timezone.utc).isoformat()
|
|
22
|
+
|
|
23
|
+
# 1. support-matrix.json
|
|
24
|
+
support_matrix = {
|
|
25
|
+
"generated_by": "omg docs generate",
|
|
26
|
+
"version": CANONICAL_VERSION,
|
|
27
|
+
"generated_at": timestamp,
|
|
28
|
+
"canonical_hosts": canonical_hosts,
|
|
29
|
+
"compatibility_hosts": compat_hosts,
|
|
30
|
+
"channels": list(RELEASE_CHANNELS),
|
|
31
|
+
"presets": list(CANONICAL_PRESETS),
|
|
32
|
+
"subscription_tiers": list(SUBSCRIPTION_TIERS),
|
|
33
|
+
"policy_packs": list(POLICY_PACK_IDS),
|
|
34
|
+
}
|
|
35
|
+
_write_json(output_root / "support-matrix.json", support_matrix)
|
|
36
|
+
|
|
37
|
+
# 2. preset-matrix.json
|
|
38
|
+
preset_matrix = {
|
|
39
|
+
"generated_by": "omg docs generate",
|
|
40
|
+
"version": CANONICAL_VERSION,
|
|
41
|
+
"generated_at": timestamp,
|
|
42
|
+
"presets": PRESET_FEATURES,
|
|
43
|
+
}
|
|
44
|
+
_write_json(output_root / "preset-matrix.json", preset_matrix)
|
|
45
|
+
|
|
46
|
+
# 3. host-tiers.json
|
|
47
|
+
host_tiers = {
|
|
48
|
+
"generated_by": "omg docs generate",
|
|
49
|
+
"version": CANONICAL_VERSION,
|
|
50
|
+
"generated_at": timestamp,
|
|
51
|
+
"tiers": {
|
|
52
|
+
"canonical": canonical_hosts,
|
|
53
|
+
"compatibility": compat_hosts,
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
_write_json(output_root / "host-tiers.json", host_tiers)
|
|
57
|
+
|
|
58
|
+
# 4. install-verification.json
|
|
59
|
+
install_verification = {
|
|
60
|
+
"generated_by": "omg docs generate",
|
|
61
|
+
"version": CANONICAL_VERSION,
|
|
62
|
+
"generated_at": timestamp,
|
|
63
|
+
"verification_commands": [
|
|
64
|
+
{"name": "doctor", "command": "python3 scripts/omg.py doctor"},
|
|
65
|
+
{"name": "validate", "command": "python3 scripts/omg.py validate"},
|
|
66
|
+
],
|
|
67
|
+
"cache_paths": [
|
|
68
|
+
".omg/cache",
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
_write_json(output_root / "install-verification.json", install_verification)
|
|
72
|
+
|
|
73
|
+
# 5. SUPPORT-MATRIX.md
|
|
74
|
+
support_md = [
|
|
75
|
+
"<!-- GENERATED: DO NOT EDIT MANUALLY -->",
|
|
76
|
+
"# OMG Support Matrix",
|
|
77
|
+
"",
|
|
78
|
+
"## Canonical Hosts",
|
|
79
|
+
"",
|
|
80
|
+
"| Host | Tier |",
|
|
81
|
+
"| :--- | :--- |",
|
|
82
|
+
]
|
|
83
|
+
for host in canonical_hosts:
|
|
84
|
+
support_md.append(f"| {host} | Canonical |")
|
|
85
|
+
|
|
86
|
+
support_md.extend([
|
|
87
|
+
"",
|
|
88
|
+
"## Compatibility Hosts",
|
|
89
|
+
"",
|
|
90
|
+
"| Host | Tier |",
|
|
91
|
+
"| :--- | :--- |",
|
|
92
|
+
])
|
|
93
|
+
for host in compat_hosts:
|
|
94
|
+
support_md.append(f"| {host} | Compatibility |")
|
|
95
|
+
|
|
96
|
+
_write_text(output_root / "SUPPORT-MATRIX.md", "\n".join(support_md) + "\n")
|
|
97
|
+
|
|
98
|
+
# 6. PRESET-REFERENCE.md
|
|
99
|
+
preset_md = [
|
|
100
|
+
"<!-- GENERATED: DO NOT EDIT MANUALLY -->",
|
|
101
|
+
"# OMG Preset Reference",
|
|
102
|
+
"",
|
|
103
|
+
]
|
|
104
|
+
|
|
105
|
+
# Get all unique flags
|
|
106
|
+
all_flags = sorted(next(iter(PRESET_FEATURES.values())).keys())
|
|
107
|
+
|
|
108
|
+
header = "| Feature | " + " | ".join(CANONICAL_PRESETS) + " |"
|
|
109
|
+
separator = "| :--- | " + " | ".join([":---:"] * len(CANONICAL_PRESETS)) + " |"
|
|
110
|
+
preset_md.append(header)
|
|
111
|
+
preset_md.append(separator)
|
|
112
|
+
|
|
113
|
+
for flag in all_flags:
|
|
114
|
+
row = f"| {flag} | "
|
|
115
|
+
row += " | ".join(["✅" if PRESET_FEATURES[p].get(flag) else "❌" for p in CANONICAL_PRESETS])
|
|
116
|
+
row += " |"
|
|
117
|
+
preset_md.append(row)
|
|
118
|
+
|
|
119
|
+
_write_text(output_root / "PRESET-REFERENCE.md", "\n".join(preset_md) + "\n")
|
|
120
|
+
|
|
121
|
+
# 7. INSTALL-VERIFICATION-INDEX.md
|
|
122
|
+
install_md = [
|
|
123
|
+
"<!-- GENERATED: DO NOT EDIT MANUALLY -->",
|
|
124
|
+
"# OMG Install Process Verification Index",
|
|
125
|
+
"",
|
|
126
|
+
"**Purpose:** Track all CLI adapter integration points, installation flows, and critical assumptions for end-to-end verification.",
|
|
127
|
+
"",
|
|
128
|
+
f"**Version:** OMG {CANONICAL_VERSION}",
|
|
129
|
+
"",
|
|
130
|
+
"---",
|
|
131
|
+
"",
|
|
132
|
+
"## 📖 Documentation Map",
|
|
133
|
+
"",
|
|
134
|
+
"### Primary References",
|
|
135
|
+
"- **`CLI-ADAPTER-MAP.md`**",
|
|
136
|
+
"- **`QUICK-REFERENCE.md`**",
|
|
137
|
+
"",
|
|
138
|
+
"### Source Files Referenced",
|
|
139
|
+
"- `runtime/mcp_config_writers.py`",
|
|
140
|
+
"- `runtime/adoption.py`",
|
|
141
|
+
"- `OMG-setup.sh`",
|
|
142
|
+
"",
|
|
143
|
+
"---",
|
|
144
|
+
"",
|
|
145
|
+
"## 🎯 Installation Targets & Methods",
|
|
146
|
+
"",
|
|
147
|
+
"### Canonical Targets",
|
|
148
|
+
]
|
|
149
|
+
|
|
150
|
+
target_configs = {
|
|
151
|
+
"claude": ".mcp.json",
|
|
152
|
+
"codex": "~/.codex/config.toml",
|
|
153
|
+
"gemini": "~/.gemini/settings.json",
|
|
154
|
+
"kimi": "~/.kimi/mcp.json",
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
for i, host in enumerate(canonical_hosts, 1):
|
|
158
|
+
config_path = target_configs.get(host, "Unknown")
|
|
159
|
+
install_md.extend([
|
|
160
|
+
f"{i}. **{host.capitalize()}**",
|
|
161
|
+
f" - **Config:** `{config_path}`",
|
|
162
|
+
"",
|
|
163
|
+
])
|
|
164
|
+
|
|
165
|
+
install_md.extend([
|
|
166
|
+
"---",
|
|
167
|
+
"",
|
|
168
|
+
"## 🔧 Verification Commands",
|
|
169
|
+
"",
|
|
170
|
+
"| Name | Command |",
|
|
171
|
+
"| :--- | :--- |",
|
|
172
|
+
])
|
|
173
|
+
verification_cmds = cast(list[dict[str, str]], install_verification["verification_commands"])
|
|
174
|
+
for cmd in verification_cmds:
|
|
175
|
+
name = cmd.get("name", "")
|
|
176
|
+
command = cmd.get("command", "")
|
|
177
|
+
install_md.append(f"| {name} | `{command}` |")
|
|
178
|
+
|
|
179
|
+
install_md.extend([
|
|
180
|
+
"",
|
|
181
|
+
"## 📂 Cache Paths",
|
|
182
|
+
"",
|
|
183
|
+
])
|
|
184
|
+
for path in install_verification["cache_paths"]:
|
|
185
|
+
install_md.append(f"- `{path}`")
|
|
186
|
+
|
|
187
|
+
_write_text(output_root / "INSTALL-VERIFICATION-INDEX.md", "\n".join(install_md) + "\n")
|
|
188
|
+
|
|
189
|
+
# 8. QUICK-REFERENCE.md
|
|
190
|
+
quick_md = [
|
|
191
|
+
"<!-- GENERATED: DO NOT EDIT MANUALLY -->",
|
|
192
|
+
"# OMG CLI Adapter Quick Reference",
|
|
193
|
+
"",
|
|
194
|
+
"## 🎯 Core Integration Points",
|
|
195
|
+
"",
|
|
196
|
+
"### Canonical Hosts",
|
|
197
|
+
"",
|
|
198
|
+
"| Host | Config File |",
|
|
199
|
+
"| :--- | :--- |",
|
|
200
|
+
]
|
|
201
|
+
for host in canonical_hosts:
|
|
202
|
+
config_path = target_configs.get(host, "Unknown")
|
|
203
|
+
quick_md.append(f"| {host} | `{config_path}` |")
|
|
204
|
+
|
|
205
|
+
quick_md.extend([
|
|
206
|
+
"",
|
|
207
|
+
"### Release Channels",
|
|
208
|
+
"",
|
|
209
|
+
])
|
|
210
|
+
for channel in RELEASE_CHANNELS:
|
|
211
|
+
quick_md.append(f"- `{channel}`")
|
|
212
|
+
|
|
213
|
+
quick_md.extend([
|
|
214
|
+
"",
|
|
215
|
+
"### Preset Quick Reference",
|
|
216
|
+
"",
|
|
217
|
+
"| Preset | Key Features |",
|
|
218
|
+
"| :--- | :--- |",
|
|
219
|
+
])
|
|
220
|
+
for preset in CANONICAL_PRESETS:
|
|
221
|
+
features = [f for f, enabled in PRESET_FEATURES[preset].items() if enabled]
|
|
222
|
+
feature_summary = ", ".join(features[:5]) + ("..." if len(features) > 5 else "")
|
|
223
|
+
quick_md.append(f"| {preset} | {feature_summary or 'None'} |")
|
|
224
|
+
|
|
225
|
+
quick_md.extend([
|
|
226
|
+
"",
|
|
227
|
+
"### Quick Commands",
|
|
228
|
+
"",
|
|
229
|
+
"| Task | Command |",
|
|
230
|
+
"| :--- | :--- |",
|
|
231
|
+
"| Setup | `/OMG:setup` |",
|
|
232
|
+
"| Browser | `/OMG:browser <goal>` |",
|
|
233
|
+
"| Crazy Mode | `/OMG:crazy <goal>` |",
|
|
234
|
+
"| Deep Plan | `/OMG:deep-plan <goal>` |",
|
|
235
|
+
])
|
|
236
|
+
|
|
237
|
+
_write_text(output_root / "QUICK-REFERENCE.md", "\n".join(quick_md) + "\n")
|
|
238
|
+
|
|
239
|
+
# 9. channel-guarantees.json
|
|
240
|
+
channel_guarantees = {
|
|
241
|
+
"generated_by": "omg docs generate",
|
|
242
|
+
"version": CANONICAL_VERSION,
|
|
243
|
+
"generated_at": timestamp,
|
|
244
|
+
"channels": {
|
|
245
|
+
"public": "Standard production channel. Guarantees behavior parity across canonical hosts and standard evidence-backed verification.",
|
|
246
|
+
"enterprise": "Hardened production channel. Guarantees enhanced evidence (lineage, provenance), tier-gated policy enforcement, and compatibility with specialized policy packs (fintech, airgapped).",
|
|
247
|
+
},
|
|
248
|
+
"precedence_rule": "subscription tier → channel → policy pack → preset",
|
|
249
|
+
"policy_pack_ids": list(POLICY_PACK_IDS),
|
|
250
|
+
}
|
|
251
|
+
_write_json(output_root / "channel-guarantees.json", channel_guarantees)
|
|
252
|
+
|
|
253
|
+
return {
|
|
254
|
+
"status": "ok",
|
|
255
|
+
"output_root": str(output_root),
|
|
256
|
+
"artifacts": [
|
|
257
|
+
"support-matrix.json",
|
|
258
|
+
"preset-matrix.json",
|
|
259
|
+
"host-tiers.json",
|
|
260
|
+
"install-verification.json",
|
|
261
|
+
"SUPPORT-MATRIX.md",
|
|
262
|
+
"PRESET-REFERENCE.md",
|
|
263
|
+
"INSTALL-VERIFICATION-INDEX.md",
|
|
264
|
+
"QUICK-REFERENCE.md",
|
|
265
|
+
"channel-guarantees.json",
|
|
266
|
+
]
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
def _write_json(path: Path, data: dict[str, Any]) -> None:
|
|
270
|
+
_ = path.write_text(json.dumps(data, indent=2, ensure_ascii=True) + "\n", encoding="utf-8")
|
|
271
|
+
|
|
272
|
+
def _write_text(path: Path, content: str) -> None:
|
|
273
|
+
_ = path.write_text(content, encoding="utf-8")
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TypedDict
|
|
4
|
+
|
|
5
|
+
from runtime.verdict_schema import VerdictReceipt
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class NarrativeResult(TypedDict):
|
|
9
|
+
verdict_summary: str
|
|
10
|
+
blockers_section: list[str]
|
|
11
|
+
provenance_note: str | None
|
|
12
|
+
evidence_paths_section: list[str]
|
|
13
|
+
next_actions: list[str]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def narrate(verdict: VerdictReceipt) -> NarrativeResult:
|
|
17
|
+
status = verdict.get("status", "pending")
|
|
18
|
+
|
|
19
|
+
if status == "pass":
|
|
20
|
+
summary = "The verification process passed successfully."
|
|
21
|
+
elif status == "fail":
|
|
22
|
+
summary = "The verification process failed."
|
|
23
|
+
elif status == "action_required":
|
|
24
|
+
summary = "Action required to complete the verification process."
|
|
25
|
+
else:
|
|
26
|
+
summary = "The verification process is pending or in an unknown state."
|
|
27
|
+
|
|
28
|
+
blockers = list(verdict.get("blockers", []))
|
|
29
|
+
next_steps = list(verdict.get("next_steps", []))
|
|
30
|
+
|
|
31
|
+
evidence_paths = verdict.get("evidence_paths", {})
|
|
32
|
+
evidence_sections = [f"{k}: {v}" for k, v in evidence_paths.items()]
|
|
33
|
+
|
|
34
|
+
provenance = verdict.get("provenance")
|
|
35
|
+
|
|
36
|
+
return {
|
|
37
|
+
"verdict_summary": summary,
|
|
38
|
+
"blockers_section": blockers,
|
|
39
|
+
"provenance_note": provenance,
|
|
40
|
+
"evidence_paths_section": evidence_sections,
|
|
41
|
+
"next_actions": next_steps,
|
|
42
|
+
}
|