@trac3r/oh-my-god 2.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +188 -0
- package/INSTALL-VERIFICATION-INDEX.md +51 -0
- package/LICENSE +21 -0
- package/OMG-setup.sh +2549 -0
- package/QUICK-REFERENCE.md +58 -0
- package/README.md +207 -0
- package/agents/__init__.py +1 -0
- package/agents/__pycache__/model_roles.cpython-313.pyc +0 -0
- package/agents/_model_roles.yaml +26 -0
- package/agents/designer.md +67 -0
- package/agents/explore.md +60 -0
- package/agents/model_roles.py +196 -0
- package/agents/omg-api-builder.md +23 -0
- package/agents/omg-architect-mode.md +41 -0
- package/agents/omg-architect.md +13 -0
- package/agents/omg-backend-engineer.md +41 -0
- package/agents/omg-critic.md +16 -0
- package/agents/omg-database-engineer.md +41 -0
- package/agents/omg-escalation-router.md +17 -0
- package/agents/omg-executor.md +12 -0
- package/agents/omg-frontend-designer.md +41 -0
- package/agents/omg-implement-mode.md +49 -0
- package/agents/omg-infra-engineer.md +41 -0
- package/agents/omg-qa-tester.md +16 -0
- package/agents/omg-research-mode.md +41 -0
- package/agents/omg-security-auditor.md +41 -0
- package/agents/omg-testing-engineer.md +41 -0
- package/agents/plan.md +80 -0
- package/agents/quick_task.md +64 -0
- package/agents/reviewer.md +83 -0
- package/agents/task.md +71 -0
- package/bin/omg +41 -0
- package/commands/OMG:ai-commit.md +113 -0
- package/commands/OMG:api-twin.md +22 -0
- package/commands/OMG:arch.md +313 -0
- package/commands/OMG:browser.md +29 -0
- package/commands/OMG:ccg.md +22 -0
- package/commands/OMG:compat.md +57 -0
- package/commands/OMG:cost.md +181 -0
- package/commands/OMG:crazy.md +125 -0
- package/commands/OMG:create-agent.md +183 -0
- package/commands/OMG:deep-plan.md +18 -0
- package/commands/OMG:deps.md +248 -0
- package/commands/OMG:diagnose-plugins.md +33 -0
- package/commands/OMG:doctor.md +37 -0
- package/commands/OMG:domain-init.md +11 -0
- package/commands/OMG:escalate.md +52 -0
- package/commands/OMG:forge.md +103 -0
- package/commands/OMG:health-check.md +48 -0
- package/commands/OMG:init.md +134 -0
- package/commands/OMG:issue.md +56 -0
- package/commands/OMG:mode.md +44 -0
- package/commands/OMG:playwright.md +17 -0
- package/commands/OMG:preflight.md +26 -0
- package/commands/OMG:preset.md +49 -0
- package/commands/OMG:profile-review.md +58 -0
- package/commands/OMG:project-init.md +11 -0
- package/commands/OMG:ralph-start.md +43 -0
- package/commands/OMG:ralph-stop.md +23 -0
- package/commands/OMG:security-check.md +28 -0
- package/commands/OMG:session-branch.md +101 -0
- package/commands/OMG:session-fork.md +57 -0
- package/commands/OMG:session-merge.md +138 -0
- package/commands/OMG:setup.md +82 -0
- package/commands/OMG:ship.md +18 -0
- package/commands/OMG:stats.md +225 -0
- package/commands/OMG:teams.md +54 -0
- package/commands/OMG:theme.md +44 -0
- package/commands/OMG:validate.md +59 -0
- package/commands/__init__.py +1 -0
- package/docs/command-surface.md +55 -0
- package/docs/install/claude-code.md +53 -0
- package/docs/install/codex.md +45 -0
- package/docs/install/gemini.md +43 -0
- package/docs/install/github-action.md +81 -0
- package/docs/install/github-app-required-checks.md +107 -0
- package/docs/install/github-app.md +161 -0
- package/docs/install/kimi.md +43 -0
- package/docs/install/opencode.md +38 -0
- package/docs/proof.md +182 -0
- package/hooks/__init__.py +0 -0
- package/hooks/__pycache__/__init__.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_agent_registry.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_analytics.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_budget.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_common.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_compression_optimizer.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_cost_ledger.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_learnings.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_memory.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_post_write.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_protected_context.cpython-313.pyc +0 -0
- package/hooks/__pycache__/_token_counter.cpython-313.pyc +0 -0
- package/hooks/__pycache__/branch_manager.cpython-313.pyc +0 -0
- package/hooks/__pycache__/budget_governor.cpython-313.pyc +0 -0
- package/hooks/__pycache__/circuit-breaker.cpython-313.pyc +0 -0
- package/hooks/__pycache__/compression_feedback.cpython-313.pyc +0 -0
- package/hooks/__pycache__/config-guard.cpython-313.pyc +0 -0
- package/hooks/__pycache__/context_pressure.cpython-313.pyc +0 -0
- package/hooks/__pycache__/credential_store.cpython-313.pyc +0 -0
- package/hooks/__pycache__/fetch-rate-limits.cpython-313.pyc +0 -0
- package/hooks/__pycache__/firewall.cpython-313.pyc +0 -0
- package/hooks/__pycache__/hashline-formatter-bridge.cpython-313.pyc +0 -0
- package/hooks/__pycache__/hashline-injector.cpython-313.pyc +0 -0
- package/hooks/__pycache__/hashline-validator.cpython-313.pyc +0 -0
- package/hooks/__pycache__/idle-detector.cpython-313.pyc +0 -0
- package/hooks/__pycache__/instructions-loaded.cpython-313.pyc +0 -0
- package/hooks/__pycache__/intentgate-keyword-detector.cpython-313.pyc +0 -0
- package/hooks/__pycache__/magic-keyword-router.cpython-313.pyc +0 -0
- package/hooks/__pycache__/policy_engine.cpython-313.pyc +0 -0
- package/hooks/__pycache__/post-tool-failure.cpython-313.pyc +0 -0
- package/hooks/__pycache__/post-write.cpython-313.pyc +0 -0
- package/hooks/__pycache__/post_write.cpython-313.pyc +0 -0
- package/hooks/__pycache__/pre-compact.cpython-313.pyc +0 -0
- package/hooks/__pycache__/pre-tool-inject.cpython-313.pyc +0 -0
- package/hooks/__pycache__/prompt-enhancer.cpython-313.pyc +0 -0
- package/hooks/__pycache__/quality-runner.cpython-313.pyc +0 -0
- package/hooks/__pycache__/query.cpython-313.pyc +0 -0
- package/hooks/__pycache__/secret-guard.cpython-313.pyc +0 -0
- package/hooks/__pycache__/secret_audit.cpython-313.pyc +0 -0
- package/hooks/__pycache__/security_validators.cpython-313.pyc +0 -0
- package/hooks/__pycache__/session-end-capture.cpython-313.pyc +0 -0
- package/hooks/__pycache__/session-start.cpython-313.pyc +0 -0
- package/hooks/__pycache__/setup_wizard.cpython-313.pyc +0 -0
- package/hooks/__pycache__/shadow_manager.cpython-313.pyc +0 -0
- package/hooks/__pycache__/state_migration.cpython-313.pyc +0 -0
- package/hooks/__pycache__/stop-gate.cpython-313.pyc +0 -0
- package/hooks/__pycache__/stop_dispatcher.cpython-313.pyc +0 -0
- package/hooks/__pycache__/tdd-gate.cpython-313.pyc +0 -0
- package/hooks/__pycache__/terms-guard.cpython-313.pyc +0 -0
- package/hooks/__pycache__/test-validator.cpython-313.pyc +0 -0
- package/hooks/__pycache__/test_generator_hook.cpython-313.pyc +0 -0
- package/hooks/__pycache__/todo-state-tracker.cpython-313.pyc +0 -0
- package/hooks/__pycache__/tool-ledger.cpython-313.pyc +0 -0
- package/hooks/__pycache__/trust_review.cpython-313.pyc +0 -0
- package/hooks/__pycache__/user-prompt-submit.cpython-313.pyc +0 -0
- package/hooks/_agent_registry.py +481 -0
- package/hooks/_analytics.py +291 -0
- package/hooks/_budget.py +31 -0
- package/hooks/_common.py +761 -0
- package/hooks/_compression_optimizer.py +119 -0
- package/hooks/_cost_ledger.py +176 -0
- package/hooks/_learnings.py +126 -0
- package/hooks/_memory.py +103 -0
- package/hooks/_post_write.py +46 -0
- package/hooks/_protected_context.py +150 -0
- package/hooks/_token_counter.py +221 -0
- package/hooks/branch_manager.py +255 -0
- package/hooks/budget_governor.py +326 -0
- package/hooks/circuit-breaker.py +270 -0
- package/hooks/compression_feedback.py +254 -0
- package/hooks/config-guard.py +193 -0
- package/hooks/context_pressure.py +119 -0
- package/hooks/credential_store.py +970 -0
- package/hooks/fetch-rate-limits.py +212 -0
- package/hooks/firewall.py +323 -0
- package/hooks/hashline-formatter-bridge.py +224 -0
- package/hooks/hashline-injector.py +273 -0
- package/hooks/hashline-validator.py +216 -0
- package/hooks/idle-detector.py +97 -0
- package/hooks/instructions-loaded.py +26 -0
- package/hooks/intentgate-keyword-detector.py +200 -0
- package/hooks/magic-keyword-router.py +195 -0
- package/hooks/policy_engine.py +767 -0
- package/hooks/post-tool-failure.py +19 -0
- package/hooks/post-write.py +233 -0
- package/hooks/pre-compact.py +470 -0
- package/hooks/pre-tool-inject.py +98 -0
- package/hooks/prompt-enhancer.py +879 -0
- package/hooks/quality-runner.py +191 -0
- package/hooks/query.py +512 -0
- package/hooks/secret-guard.py +120 -0
- package/hooks/secret_audit.py +144 -0
- package/hooks/security_validators.py +93 -0
- package/hooks/session-end-capture.py +505 -0
- package/hooks/session-start.py +261 -0
- package/hooks/setup_wizard.py +1101 -0
- package/hooks/shadow_manager.py +476 -0
- package/hooks/state_migration.py +228 -0
- package/hooks/stop-gate.py +7 -0
- package/hooks/stop_dispatcher.py +1259 -0
- package/hooks/tdd-gate.py +10 -0
- package/hooks/terms-guard.py +98 -0
- package/hooks/test-validator.py +462 -0
- package/hooks/test_generator_hook.py +123 -0
- package/hooks/todo-state-tracker.py +114 -0
- package/hooks/tool-ledger.py +165 -0
- package/hooks/trust_review.py +662 -0
- package/hooks/user-prompt-submit.py +12 -0
- package/hud/omg-hud.mjs +1571 -0
- package/lab/__init__.py +1 -0
- package/lab/__pycache__/__init__.cpython-313.pyc +0 -0
- package/lab/__pycache__/axolotl_adapter.cpython-313.pyc +0 -0
- package/lab/__pycache__/forge_runner.cpython-313.pyc +0 -0
- package/lab/__pycache__/gazebo_adapter.cpython-313.pyc +0 -0
- package/lab/__pycache__/isaac_gym_adapter.cpython-313.pyc +0 -0
- package/lab/__pycache__/mock_isaac_env.cpython-313.pyc +0 -0
- package/lab/__pycache__/pipeline.cpython-313.pyc +0 -0
- package/lab/__pycache__/policies.cpython-313.pyc +0 -0
- package/lab/__pycache__/pybullet_adapter.cpython-313.pyc +0 -0
- package/lab/axolotl_adapter.py +531 -0
- package/lab/forge_runner.py +103 -0
- package/lab/gazebo_adapter.py +168 -0
- package/lab/isaac_gym_adapter.py +190 -0
- package/lab/mock_isaac_env.py +47 -0
- package/lab/pipeline.py +712 -0
- package/lab/policies.py +52 -0
- package/lab/pybullet_adapter.py +192 -0
- package/package.json +61 -0
- package/plugins/README.md +78 -0
- package/plugins/__init__.py +1 -0
- package/plugins/__pycache__/__init__.cpython-313.pyc +0 -0
- 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/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 +104 -0
- package/plugins/core/plugin.json +204 -0
- package/plugins/dephealth/__init__.py +0 -0
- package/plugins/dephealth/__pycache__/__init__.cpython-313.pyc +0 -0
- package/plugins/dephealth/__pycache__/cve_scanner.cpython-313.pyc +0 -0
- package/plugins/dephealth/__pycache__/license_checker.cpython-313.pyc +0 -0
- package/plugins/dephealth/__pycache__/manifest_detector.cpython-313.pyc +0 -0
- package/plugins/dephealth/__pycache__/vuln_analyzer.cpython-313.pyc +0 -0
- package/plugins/dephealth/cve_scanner.py +279 -0
- package/plugins/dephealth/license_checker.py +135 -0
- package/plugins/dephealth/manifest_detector.py +423 -0
- package/plugins/dephealth/vuln_analyzer.py +176 -0
- package/plugins/testgen/__init__.py +0 -0
- package/plugins/testgen/__pycache__/__init__.cpython-313.pyc +0 -0
- package/plugins/testgen/__pycache__/codamosa_engine.cpython-313.pyc +0 -0
- package/plugins/testgen/__pycache__/edge_case_synthesizer.cpython-313.pyc +0 -0
- package/plugins/testgen/__pycache__/framework_detector.cpython-313.pyc +0 -0
- package/plugins/testgen/__pycache__/skeleton_generator.cpython-313.pyc +0 -0
- package/plugins/testgen/codamosa_engine.py +402 -0
- package/plugins/testgen/edge_case_synthesizer.py +184 -0
- package/plugins/testgen/framework_detector.py +271 -0
- package/plugins/testgen/skeleton_generator.py +219 -0
- package/plugins/viz/__init__.py +0 -0
- package/plugins/viz/__pycache__/__init__.cpython-313.pyc +0 -0
- package/plugins/viz/__pycache__/ast_parser.cpython-313.pyc +0 -0
- package/plugins/viz/__pycache__/diagram_generator.cpython-313.pyc +0 -0
- package/plugins/viz/__pycache__/graph_builder.cpython-313.pyc +0 -0
- package/plugins/viz/__pycache__/native_parsers.cpython-313.pyc +0 -0
- package/plugins/viz/__pycache__/regex_parser.cpython-313.pyc +0 -0
- package/plugins/viz/ast_parser.py +139 -0
- package/plugins/viz/diagram_generator.py +192 -0
- package/plugins/viz/graph_builder.py +444 -0
- package/plugins/viz/native_parsers.py +259 -0
- package/plugins/viz/regex_parser.py +112 -0
- package/pyproject.toml +143 -0
- package/registry/__init__.py +1 -0
- package/registry/__pycache__/__init__.cpython-313.pyc +0 -0
- package/registry/__pycache__/approval_artifact.cpython-313.pyc +0 -0
- package/registry/__pycache__/verify_artifact.cpython-313.pyc +0 -0
- package/registry/approval_artifact.py +236 -0
- package/registry/bundles/algorithms.yaml +45 -0
- package/registry/bundles/api-twin.yaml +48 -0
- package/registry/bundles/ast-pack.yaml +80 -0
- package/registry/bundles/claim-judge.yaml +49 -0
- package/registry/bundles/control-plane.yaml +192 -0
- package/registry/bundles/data-lineage.yaml +47 -0
- package/registry/bundles/delta-classifier.yaml +47 -0
- package/registry/bundles/eval-gate.yaml +47 -0
- package/registry/bundles/hash-edit.yaml +73 -0
- package/registry/bundles/health.yaml +45 -0
- package/registry/bundles/hook-governor.yaml +101 -0
- package/registry/bundles/incident-replay.yaml +47 -0
- package/registry/bundles/lsp-pack.yaml +80 -0
- package/registry/bundles/mcp-fabric.yaml +53 -0
- package/registry/bundles/plan-council.yaml +56 -0
- package/registry/bundles/preflight.yaml +48 -0
- package/registry/bundles/proof-gate.yaml +49 -0
- package/registry/bundles/remote-supervisor.yaml +49 -0
- package/registry/bundles/robotics.yaml +45 -0
- package/registry/bundles/secure-worktree-pipeline.yaml +69 -0
- package/registry/bundles/security-check.yaml +50 -0
- package/registry/bundles/terminal-lane.yaml +61 -0
- package/registry/bundles/test-intent-lock.yaml +49 -0
- package/registry/bundles/tracebank.yaml +47 -0
- package/registry/bundles/vision.yaml +45 -0
- package/registry/omg-capability.schema.json +378 -0
- package/registry/policy-packs/airgapped.lock.json +11 -0
- package/registry/policy-packs/airgapped.signature.json +10 -0
- package/registry/policy-packs/airgapped.yaml +16 -0
- package/registry/policy-packs/fintech.lock.json +11 -0
- package/registry/policy-packs/fintech.signature.json +10 -0
- package/registry/policy-packs/fintech.yaml +15 -0
- package/registry/policy-packs/locked-prod.lock.json +11 -0
- package/registry/policy-packs/locked-prod.signature.json +10 -0
- package/registry/policy-packs/locked-prod.yaml +18 -0
- package/registry/trusted_signers.json +44 -0
- package/registry/verify_artifact.py +493 -0
- package/runtime/__init__.py +36 -0
- package/runtime/__pycache__/__init__.cpython-313.pyc +0 -0
- package/runtime/__pycache__/adoption.cpython-313.pyc +0 -0
- package/runtime/__pycache__/agent_selector.cpython-313.pyc +0 -0
- package/runtime/__pycache__/api_twin.cpython-313.pyc +0 -0
- package/runtime/__pycache__/architecture_signal.cpython-313.pyc +0 -0
- package/runtime/__pycache__/artifact_parsers.cpython-313.pyc +0 -0
- package/runtime/__pycache__/asset_loader.cpython-313.pyc +0 -0
- package/runtime/__pycache__/background_verification.cpython-313.pyc +0 -0
- package/runtime/__pycache__/budget_envelopes.cpython-313.pyc +0 -0
- package/runtime/__pycache__/business_workflow.cpython-313.pyc +0 -0
- package/runtime/__pycache__/canonical_surface.cpython-313.pyc +0 -0
- package/runtime/__pycache__/canonical_taxonomy.cpython-313.pyc +0 -0
- package/runtime/__pycache__/claim_judge.cpython-313.pyc +0 -0
- package/runtime/__pycache__/cli_provider.cpython-313.pyc +0 -0
- package/runtime/__pycache__/compat.cpython-313.pyc +0 -0
- package/runtime/__pycache__/complexity_scorer.cpython-313.pyc +0 -0
- package/runtime/__pycache__/compliance_governor.cpython-313.pyc +0 -0
- package/runtime/__pycache__/config_transaction.cpython-313.pyc +0 -0
- package/runtime/__pycache__/context_compiler.cpython-313.pyc +0 -0
- package/runtime/__pycache__/context_engine.cpython-313.pyc +0 -0
- package/runtime/__pycache__/context_limits.cpython-313.pyc +0 -0
- package/runtime/__pycache__/contract_compiler.cpython-313.pyc +0 -0
- package/runtime/__pycache__/custom_agent_loader.cpython-313.pyc +0 -0
- package/runtime/__pycache__/data_lineage.cpython-313.pyc +0 -0
- package/runtime/__pycache__/defense_state.cpython-313.pyc +0 -0
- package/runtime/__pycache__/delta_classifier.cpython-313.pyc +0 -0
- package/runtime/__pycache__/dispatcher.cpython-313.pyc +0 -0
- package/runtime/__pycache__/doc_generator.cpython-313.pyc +0 -0
- package/runtime/__pycache__/domain_packs.cpython-313.pyc +0 -0
- package/runtime/__pycache__/ecosystem.cpython-313.pyc +0 -0
- package/runtime/__pycache__/equalizer.cpython-313.pyc +0 -0
- package/runtime/__pycache__/eval_gate.cpython-313.pyc +0 -0
- package/runtime/__pycache__/evidence_narrator.cpython-313.pyc +0 -0
- package/runtime/__pycache__/evidence_query.cpython-313.pyc +0 -0
- package/runtime/__pycache__/evidence_registry.cpython-313.pyc +0 -0
- package/runtime/__pycache__/evidence_requirements.cpython-313.pyc +0 -0
- package/runtime/__pycache__/exec_kernel.cpython-313.pyc +0 -0
- package/runtime/__pycache__/explainer_formatter.cpython-313.pyc +0 -0
- package/runtime/__pycache__/feature_registry.cpython-313.pyc +0 -0
- package/runtime/__pycache__/forge_agents.cpython-313.pyc +0 -0
- package/runtime/__pycache__/forge_contracts.cpython-313.pyc +0 -0
- package/runtime/__pycache__/forge_domains.cpython-313.pyc +0 -0
- package/runtime/__pycache__/forge_run_id.cpython-313.pyc +0 -0
- package/runtime/__pycache__/github_integration.cpython-313.pyc +0 -0
- package/runtime/__pycache__/github_review_bot.cpython-313.pyc +0 -0
- package/runtime/__pycache__/github_review_contract.cpython-313.pyc +0 -0
- package/runtime/__pycache__/github_review_formatter.cpython-313.pyc +0 -0
- package/runtime/__pycache__/guide_assert.cpython-313.pyc +0 -0
- package/runtime/__pycache__/hook_governor.cpython-313.pyc +0 -0
- package/runtime/__pycache__/host_parity.cpython-313.pyc +0 -0
- package/runtime/__pycache__/incident_replay.cpython-313.pyc +0 -0
- package/runtime/__pycache__/install_planner.cpython-313.pyc +0 -0
- package/runtime/__pycache__/interaction_journal.cpython-313.pyc +0 -0
- package/runtime/__pycache__/issue_surface.cpython-313.pyc +0 -0
- package/runtime/__pycache__/legacy_compat.cpython-313.pyc +0 -0
- package/runtime/__pycache__/mcp_config_writers.cpython-313.pyc +0 -0
- package/runtime/__pycache__/mcp_lifecycle.cpython-313.pyc +0 -0
- package/runtime/__pycache__/mcp_memory_server.cpython-313.pyc +0 -0
- package/runtime/__pycache__/memory_store.cpython-313.pyc +0 -0
- package/runtime/__pycache__/merge_writer.cpython-313.pyc +0 -0
- package/runtime/__pycache__/music_omr_testbed.cpython-313.pyc +0 -0
- package/runtime/__pycache__/mutation_gate.cpython-313.pyc +0 -0
- package/runtime/__pycache__/omc_compat.cpython-313.pyc +0 -0
- package/runtime/__pycache__/omg_browser_cli.cpython-313.pyc +0 -0
- package/runtime/__pycache__/omg_mcp_server.cpython-313.pyc +0 -0
- package/runtime/__pycache__/opus_plan.cpython-313.pyc +0 -0
- package/runtime/__pycache__/playwright_adapter.cpython-313.pyc +0 -0
- package/runtime/__pycache__/playwright_pack.cpython-313.pyc +0 -0
- package/runtime/__pycache__/plugin_diagnostics.cpython-313.pyc +0 -0
- package/runtime/__pycache__/plugin_interop.cpython-313.pyc +0 -0
- package/runtime/__pycache__/policy_pack_loader.cpython-313.pyc +0 -0
- package/runtime/__pycache__/preflight.cpython-313.pyc +0 -0
- package/runtime/__pycache__/profile_io.cpython-313.pyc +0 -0
- package/runtime/__pycache__/prompt_compiler.cpython-313.pyc +0 -0
- package/runtime/__pycache__/proof_chain.cpython-313.pyc +0 -0
- package/runtime/__pycache__/proof_gate.cpython-313.pyc +0 -0
- package/runtime/__pycache__/provider_parity_eval.cpython-313.pyc +0 -0
- package/runtime/__pycache__/release_artifact_audit.cpython-313.pyc +0 -0
- package/runtime/__pycache__/release_run_coordinator.cpython-313.pyc +0 -0
- package/runtime/__pycache__/release_surface_compiler.cpython-313.pyc +0 -0
- package/runtime/__pycache__/release_surface_registry.cpython-313.pyc +0 -0
- package/runtime/__pycache__/release_surfaces.cpython-313.pyc +0 -0
- package/runtime/__pycache__/remote_supervisor.cpython-313.pyc +0 -0
- package/runtime/__pycache__/repro_pack.cpython-313.pyc +0 -0
- package/runtime/__pycache__/rollback_manifest.cpython-313.pyc +0 -0
- package/runtime/__pycache__/router_critics.cpython-313.pyc +0 -0
- package/runtime/__pycache__/router_executor.cpython-313.pyc +0 -0
- package/runtime/__pycache__/router_selector.cpython-313.pyc +0 -0
- package/runtime/__pycache__/runtime_contracts.cpython-313.pyc +0 -0
- package/runtime/__pycache__/runtime_profile.cpython-313.pyc +0 -0
- package/runtime/__pycache__/security_check.cpython-313.pyc +0 -0
- package/runtime/__pycache__/session_health.cpython-313.pyc +0 -0
- package/runtime/__pycache__/skill_evolution.cpython-313.pyc +0 -0
- package/runtime/__pycache__/skill_registry.cpython-313.pyc +0 -0
- package/runtime/__pycache__/subagent_dispatcher.cpython-313.pyc +0 -0
- package/runtime/__pycache__/subscription_tiers.cpython-313.pyc +0 -0
- package/runtime/__pycache__/team_router.cpython-313.pyc +0 -0
- package/runtime/__pycache__/test_intent_lock.cpython-313-pytest-9.0.2.pyc +0 -0
- package/runtime/__pycache__/test_intent_lock.cpython-313.pyc +0 -0
- package/runtime/__pycache__/tmux_session_manager.cpython-313.pyc +0 -0
- package/runtime/__pycache__/tool_fabric.cpython-313.pyc +0 -0
- package/runtime/__pycache__/tool_plan_gate.cpython-313.pyc +0 -0
- package/runtime/__pycache__/tool_relevance.cpython-313.pyc +0 -0
- package/runtime/__pycache__/tracebank.cpython-313.pyc +0 -0
- package/runtime/__pycache__/untrusted_content.cpython-313.pyc +0 -0
- package/runtime/__pycache__/validate.cpython-313.pyc +0 -0
- package/runtime/__pycache__/verdict_schema.cpython-313.pyc +0 -0
- package/runtime/__pycache__/verification_controller.cpython-313.pyc +0 -0
- package/runtime/__pycache__/verification_loop.cpython-313.pyc +0 -0
- package/runtime/__pycache__/vision_artifacts.cpython-313.pyc +0 -0
- package/runtime/__pycache__/vision_cache.cpython-313.pyc +0 -0
- package/runtime/__pycache__/vision_jobs.cpython-313.pyc +0 -0
- package/runtime/__pycache__/worker_watchdog.cpython-313.pyc +0 -0
- package/runtime/adapters/__init__.py +13 -0
- package/runtime/adapters/__pycache__/__init__.cpython-313.pyc +0 -0
- package/runtime/adapters/__pycache__/claude.cpython-313.pyc +0 -0
- package/runtime/adapters/__pycache__/gpt.cpython-313.pyc +0 -0
- package/runtime/adapters/__pycache__/local.cpython-313.pyc +0 -0
- package/runtime/adapters/claude.py +63 -0
- package/runtime/adapters/gpt.py +56 -0
- package/runtime/adapters/local.py +56 -0
- package/runtime/adoption.py +280 -0
- package/runtime/api_twin.py +450 -0
- package/runtime/architecture_signal.py +226 -0
- package/runtime/artifact_parsers.py +161 -0
- package/runtime/asset_loader.py +62 -0
- package/runtime/background_verification.py +178 -0
- package/runtime/budget_envelopes.py +398 -0
- package/runtime/business_workflow.py +234 -0
- package/runtime/canonical_surface.py +53 -0
- package/runtime/canonical_taxonomy.py +27 -0
- package/runtime/claim_judge.py +648 -0
- package/runtime/cli_provider.py +105 -0
- package/runtime/compat.py +2222 -0
- package/runtime/complexity_scorer.py +148 -0
- package/runtime/compliance_governor.py +505 -0
- package/runtime/config_transaction.py +304 -0
- package/runtime/context_compiler.py +131 -0
- package/runtime/context_engine.py +708 -0
- package/runtime/context_limits.py +363 -0
- package/runtime/contract_compiler.py +3664 -0
- package/runtime/custom_agent_loader.py +366 -0
- package/runtime/data_lineage.py +244 -0
- package/runtime/defense_state.py +261 -0
- package/runtime/delta_classifier.py +231 -0
- package/runtime/dispatcher.py +47 -0
- package/runtime/doc_generator.py +319 -0
- package/runtime/domain_packs.py +75 -0
- package/runtime/ecosystem.py +371 -0
- package/runtime/equalizer.py +268 -0
- package/runtime/eval_gate.py +96 -0
- package/runtime/evidence_narrator.py +147 -0
- package/runtime/evidence_query.py +303 -0
- package/runtime/evidence_registry.py +16 -0
- package/runtime/evidence_requirements.py +157 -0
- package/runtime/exec_kernel.py +267 -0
- package/runtime/explainer_formatter.py +82 -0
- package/runtime/feature_registry.py +109 -0
- package/runtime/forge_agents.py +915 -0
- package/runtime/forge_contracts.py +519 -0
- package/runtime/forge_domains.py +68 -0
- package/runtime/forge_run_id.py +86 -0
- package/runtime/guide_assert.py +135 -0
- package/runtime/hook_governor.py +156 -0
- package/runtime/host_parity.py +373 -0
- package/runtime/incident_replay.py +310 -0
- package/runtime/install_planner.py +617 -0
- package/runtime/interaction_journal.py +566 -0
- package/runtime/issue_surface.py +472 -0
- package/runtime/legacy_compat.py +7 -0
- package/runtime/mcp_config_writers.py +360 -0
- package/runtime/mcp_lifecycle.py +175 -0
- package/runtime/mcp_memory_server.py +220 -0
- package/runtime/memory_parsers/__init__.py +0 -0
- package/runtime/memory_parsers/__pycache__/__init__.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/__pycache__/chatgpt_parser.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/__pycache__/claude_import.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/__pycache__/export.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/__pycache__/gemini_import.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/__pycache__/kimi_import.cpython-313.pyc +0 -0
- package/runtime/memory_parsers/chatgpt_parser.py +257 -0
- package/runtime/memory_parsers/claude_import.py +107 -0
- package/runtime/memory_parsers/export.py +97 -0
- package/runtime/memory_parsers/gemini_import.py +91 -0
- package/runtime/memory_parsers/kimi_import.py +91 -0
- package/runtime/memory_store.py +1182 -0
- package/runtime/merge_writer.py +445 -0
- package/runtime/music_omr_testbed.py +336 -0
- package/runtime/mutation_gate.py +320 -0
- package/runtime/omc_compat.py +7 -0
- package/runtime/omg_browser_cli.py +95 -0
- package/runtime/omg_compat_contract_snapshot.json +936 -0
- package/runtime/omg_contract_snapshot.json +936 -0
- package/runtime/omg_mcp_server.py +306 -0
- package/runtime/playwright_adapter.py +39 -0
- package/runtime/playwright_pack.py +253 -0
- package/runtime/plugin_diagnostics.py +308 -0
- package/runtime/plugin_interop.py +1060 -0
- package/runtime/policy_pack_loader.py +147 -0
- package/runtime/preflight.py +135 -0
- package/runtime/profile_io.py +328 -0
- package/runtime/proof_chain.py +472 -0
- package/runtime/proof_gate.py +442 -0
- package/runtime/provider_parity_eval.py +109 -0
- package/runtime/providers/__init__.py +0 -0
- package/runtime/providers/__pycache__/__init__.cpython-313.pyc +0 -0
- package/runtime/providers/__pycache__/codex_provider.cpython-313.pyc +0 -0
- package/runtime/providers/__pycache__/gemini_provider.cpython-313.pyc +0 -0
- package/runtime/providers/__pycache__/kimi_provider.cpython-313.pyc +0 -0
- package/runtime/providers/__pycache__/opencode_provider.cpython-313.pyc +0 -0
- package/runtime/providers/codex_provider.py +129 -0
- package/runtime/providers/gemini_provider.py +143 -0
- package/runtime/providers/kimi_provider.py +167 -0
- package/runtime/providers/opencode_provider.py +99 -0
- package/runtime/release_artifact_audit.py +556 -0
- package/runtime/release_run_coordinator.py +574 -0
- package/runtime/release_surface_compiler.py +643 -0
- package/runtime/release_surface_registry.py +283 -0
- package/runtime/release_surfaces.py +320 -0
- package/runtime/remote_supervisor.py +79 -0
- package/runtime/repro_pack.py +398 -0
- package/runtime/rollback_manifest.py +143 -0
- package/runtime/router_critics.py +229 -0
- package/runtime/router_executor.py +142 -0
- package/runtime/router_selector.py +99 -0
- package/runtime/runtime_contracts.py +292 -0
- package/runtime/runtime_profile.py +133 -0
- package/runtime/security_check.py +1094 -0
- package/runtime/session_health.py +546 -0
- package/runtime/skill_evolution.py +221 -0
- package/runtime/skill_registry.py +53 -0
- package/runtime/subagent_dispatcher.py +604 -0
- package/runtime/subscription_tiers.py +258 -0
- package/runtime/team_router.py +1399 -0
- package/runtime/test_intent_lock.py +543 -0
- package/runtime/tmux_session_manager.py +172 -0
- package/runtime/tool_fabric.py +570 -0
- package/runtime/tool_plan_gate.py +460 -0
- package/runtime/tracebank.py +125 -0
- package/runtime/untrusted_content.py +360 -0
- package/runtime/validate.py +293 -0
- package/runtime/verdict_schema.py +198 -0
- package/runtime/verification_controller.py +235 -0
- package/runtime/verification_loop.py +73 -0
- package/runtime/vision_artifacts.py +31 -0
- package/runtime/vision_cache.py +38 -0
- package/runtime/vision_jobs.py +92 -0
- package/runtime/worker_watchdog.py +526 -0
- package/scripts/__pycache__/audit-published-artifact.cpython-313.pyc +0 -0
- package/scripts/__pycache__/check-doc-parity.cpython-313.pyc +0 -0
- package/scripts/__pycache__/check-omg-standalone-clean.cpython-313.pyc +0 -0
- package/scripts/__pycache__/github_review_helpers.cpython-313.pyc +0 -0
- package/scripts/__pycache__/omg.cpython-313.pyc +0 -0
- package/scripts/__pycache__/prepare-release-proof-fixtures.cpython-313.pyc +0 -0
- package/scripts/__pycache__/sync-release-identity.cpython-313.pyc +0 -0
- package/scripts/__pycache__/validate-release-identity.cpython-313.pyc +0 -0
- package/scripts/audit-published-artifact.py +59 -0
- package/scripts/check-omg-compat-contract-snapshot.py +137 -0
- package/scripts/check-omg-contract-snapshot.py +12 -0
- package/scripts/check-omg-public-ready.py +273 -0
- package/scripts/check-omg-standalone-clean.py +133 -0
- package/scripts/emit_host_parity.py +72 -0
- package/scripts/legacy_to_omg_migrate.py +29 -0
- package/scripts/migrate-legacy.py +464 -0
- package/scripts/omc_to_omg_migrate.py +12 -0
- package/scripts/omg.py +2962 -0
- package/scripts/pre-release-check.sh +38 -0
- package/scripts/prepare-release-proof-fixtures.py +602 -0
- package/scripts/print-canonical-version.py +80 -0
- package/scripts/settings-merge.py +289 -0
- package/scripts/sync-release-identity.py +481 -0
- package/scripts/validate-release-identity.py +632 -0
- package/scripts/verify-no-omc.sh +5 -0
- package/scripts/verify-standalone.sh +35 -0
- package/settings.json +751 -0
- package/tools/__init__.py +2 -0
- package/tools/__pycache__/__init__.cpython-313.pyc +0 -0
- package/tools/__pycache__/browser_consent.cpython-313.pyc +0 -0
- package/tools/__pycache__/browser_stealth.cpython-313.pyc +0 -0
- package/tools/__pycache__/browser_tool.cpython-313.pyc +0 -0
- package/tools/__pycache__/changelog_generator.cpython-313.pyc +0 -0
- package/tools/__pycache__/commit_splitter.cpython-313.pyc +0 -0
- package/tools/__pycache__/config_discovery.cpython-313.pyc +0 -0
- package/tools/__pycache__/config_merger.cpython-313.pyc +0 -0
- package/tools/__pycache__/dashboard_generator.cpython-313.pyc +0 -0
- package/tools/__pycache__/git_inspector.cpython-313.pyc +0 -0
- package/tools/__pycache__/lsp_client.cpython-313.pyc +0 -0
- package/tools/__pycache__/lsp_operations.cpython-313.pyc +0 -0
- package/tools/__pycache__/pr_generator.cpython-313.pyc +0 -0
- package/tools/__pycache__/python_repl.cpython-313.pyc +0 -0
- package/tools/__pycache__/python_sandbox.cpython-313.pyc +0 -0
- package/tools/__pycache__/session_snapshot.cpython-313.pyc +0 -0
- package/tools/__pycache__/ssh_manager.cpython-313.pyc +0 -0
- package/tools/__pycache__/theme_engine.cpython-313.pyc +0 -0
- package/tools/__pycache__/theme_selector.cpython-313.pyc +0 -0
- package/tools/__pycache__/web_search.cpython-313.pyc +0 -0
- package/tools/browser_consent.py +289 -0
- package/tools/browser_stealth.py +481 -0
- package/tools/browser_tool.py +448 -0
- package/tools/changelog_generator.py +347 -0
- package/tools/commit_splitter.py +749 -0
- package/tools/config_discovery.py +151 -0
- package/tools/config_merger.py +449 -0
- package/tools/dashboard_generator.py +300 -0
- package/tools/git_inspector.py +298 -0
- package/tools/lsp_client.py +275 -0
- package/tools/lsp_discovery.py +231 -0
- package/tools/lsp_operations.py +392 -0
- package/tools/pr_generator.py +404 -0
- package/tools/python_repl.py +712 -0
- package/tools/python_sandbox.py +768 -0
- package/tools/search_providers/__init__.py +77 -0
- package/tools/search_providers/__pycache__/__init__.cpython-313.pyc +0 -0
- package/tools/search_providers/__pycache__/brave.cpython-313.pyc +0 -0
- package/tools/search_providers/__pycache__/exa.cpython-313.pyc +0 -0
- package/tools/search_providers/__pycache__/jina.cpython-313.pyc +0 -0
- package/tools/search_providers/__pycache__/perplexity.cpython-313.pyc +0 -0
- package/tools/search_providers/__pycache__/synthetic.cpython-313.pyc +0 -0
- package/tools/search_providers/brave.py +115 -0
- package/tools/search_providers/exa.py +116 -0
- package/tools/search_providers/jina.py +104 -0
- package/tools/search_providers/perplexity.py +139 -0
- package/tools/search_providers/synthetic.py +74 -0
- package/tools/session_snapshot.py +851 -0
- package/tools/ssh_manager.py +912 -0
- package/tools/theme_engine.py +296 -0
- package/tools/theme_selector.py +137 -0
- package/tools/web_search.py +675 -0
package/lab/policies.py
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"""Policy checks for OMG lab train/eval pipeline."""
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
from typing import Any
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
ALLOWED_LICENSES = {"apache-2.0", "mit", "bsd-3-clause", "cc-by-4.0"}
|
|
8
|
+
BLOCKED_SOURCE_TOKENS = {"unknown", "leaked", "stolen", "unauthorized", "pirated"}
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def validate_dataset_source(dataset: dict[str, Any]) -> tuple[bool, str]:
|
|
12
|
+
license_name = str(dataset.get("license", "")).lower()
|
|
13
|
+
source = str(dataset.get("source", "")).lower()
|
|
14
|
+
|
|
15
|
+
if not license_name:
|
|
16
|
+
return False, "dataset license missing"
|
|
17
|
+
if license_name not in ALLOWED_LICENSES:
|
|
18
|
+
return False, f"dataset license not allowed: {license_name}"
|
|
19
|
+
if any(token in source for token in BLOCKED_SOURCE_TOKENS):
|
|
20
|
+
return False, "dataset source violates policy"
|
|
21
|
+
return True, "ok"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def validate_model_source(model: dict[str, Any]) -> tuple[bool, str]:
|
|
25
|
+
source = str(model.get("source", "")).lower()
|
|
26
|
+
allow_distill = bool(model.get("allow_distill", False))
|
|
27
|
+
|
|
28
|
+
if any(token in source for token in BLOCKED_SOURCE_TOKENS):
|
|
29
|
+
return False, "model source violates policy"
|
|
30
|
+
if not allow_distill:
|
|
31
|
+
return False, "model source disallows distillation"
|
|
32
|
+
return True, "ok"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def validate_job_request(job: dict[str, Any]) -> tuple[bool, str]:
|
|
36
|
+
dataset = job.get("dataset")
|
|
37
|
+
model = job.get("base_model")
|
|
38
|
+
|
|
39
|
+
if not isinstance(dataset, dict):
|
|
40
|
+
return False, "dataset block missing"
|
|
41
|
+
if not isinstance(model, dict):
|
|
42
|
+
return False, "base_model block missing"
|
|
43
|
+
|
|
44
|
+
ok, reason = validate_dataset_source(dataset)
|
|
45
|
+
if not ok:
|
|
46
|
+
return False, reason
|
|
47
|
+
|
|
48
|
+
ok, reason = validate_model_source(model)
|
|
49
|
+
if not ok:
|
|
50
|
+
return False, reason
|
|
51
|
+
|
|
52
|
+
return True, "ok"
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import hashlib
|
|
4
|
+
import importlib.util
|
|
5
|
+
import json
|
|
6
|
+
import random
|
|
7
|
+
import uuid
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
from time import monotonic
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
ADAPTER_NAME = "pybullet"
|
|
13
|
+
ADAPTER_KIND = "simulator"
|
|
14
|
+
|
|
15
|
+
VALID_STATUSES = frozenset({"dry_run_contract", "skipped_unavailable_backend", "invoked", "error"})
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def _check_pybullet_available() -> bool:
|
|
19
|
+
return importlib.util.find_spec("pybullet") is not None
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def _compute_fingerprint(job: dict[str, Any]) -> str | None:
|
|
23
|
+
try:
|
|
24
|
+
return hashlib.sha256(json.dumps(job, sort_keys=True).encode()).hexdigest()[:16]
|
|
25
|
+
except (TypeError, ValueError):
|
|
26
|
+
return None
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def _validate_job(job: dict[str, Any]) -> tuple[bool, str]:
|
|
30
|
+
if not job:
|
|
31
|
+
return False, "invalid job: missing required fields"
|
|
32
|
+
if "domain" not in job:
|
|
33
|
+
return False, "invalid job: missing required field 'domain'"
|
|
34
|
+
return True, ""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def _derive_seed(job: dict[str, Any], run_id: str) -> int:
|
|
38
|
+
explicit = job.get("seed")
|
|
39
|
+
if isinstance(explicit, int):
|
|
40
|
+
return explicit
|
|
41
|
+
material = json.dumps({"run_id": run_id, "job": _compute_fingerprint(job)}, sort_keys=True)
|
|
42
|
+
return int(hashlib.sha256(material.encode("utf-8")).hexdigest()[:8], 16)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def _bounded_steps(job: dict[str, Any]) -> int:
|
|
46
|
+
raw = job.get("max_steps", 32)
|
|
47
|
+
try:
|
|
48
|
+
return max(1, min(int(raw), 256))
|
|
49
|
+
except (TypeError, ValueError):
|
|
50
|
+
return 32
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def _run_bounded_local_episode(*, job: dict[str, Any], seed: int, timeout_seconds: int) -> dict[str, Any]:
|
|
54
|
+
p = importlib.import_module("pybullet")
|
|
55
|
+
|
|
56
|
+
_ = max(1, timeout_seconds)
|
|
57
|
+
started = monotonic()
|
|
58
|
+
steps = _bounded_steps(job)
|
|
59
|
+
client = p.connect(p.DIRECT)
|
|
60
|
+
rng = random.Random(seed)
|
|
61
|
+
reward = 0.0
|
|
62
|
+
try:
|
|
63
|
+
p.setGravity(0.0, 0.0, -9.81, physicsClientId=client)
|
|
64
|
+
for _idx in range(steps):
|
|
65
|
+
p.stepSimulation(physicsClientId=client)
|
|
66
|
+
reward += rng.uniform(-0.05, 0.25)
|
|
67
|
+
finally:
|
|
68
|
+
p.disconnect(physicsClientId=client)
|
|
69
|
+
return {
|
|
70
|
+
"steps": steps,
|
|
71
|
+
"reward": round(reward, 6),
|
|
72
|
+
"duration_ms": int((monotonic() - started) * 1000),
|
|
73
|
+
"seed": seed,
|
|
74
|
+
"backend_version": getattr(p, "__version__", "unknown"),
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def run(
|
|
79
|
+
job: dict[str, Any],
|
|
80
|
+
*,
|
|
81
|
+
backend_mode: str = "preflight",
|
|
82
|
+
run_id: str | None = None,
|
|
83
|
+
timeout_seconds: int = 30,
|
|
84
|
+
sandbox_root: str = ".",
|
|
85
|
+
) -> dict[str, Any]:
|
|
86
|
+
active_run_id = run_id or str(uuid.uuid4())
|
|
87
|
+
|
|
88
|
+
ok, validation_reason = _validate_job(job)
|
|
89
|
+
seed = _derive_seed(job, active_run_id)
|
|
90
|
+
available = _check_pybullet_available()
|
|
91
|
+
base_result: dict[str, Any] = {
|
|
92
|
+
"adapter": ADAPTER_NAME,
|
|
93
|
+
"kind": ADAPTER_KIND,
|
|
94
|
+
"backend": "pybullet",
|
|
95
|
+
"run_id": active_run_id,
|
|
96
|
+
"seed": seed,
|
|
97
|
+
"episode_stats": {
|
|
98
|
+
"steps": 0,
|
|
99
|
+
"reward": 0.0,
|
|
100
|
+
"duration_ms": 0,
|
|
101
|
+
},
|
|
102
|
+
"replay_metadata": {
|
|
103
|
+
"run_id": active_run_id,
|
|
104
|
+
"seed": seed,
|
|
105
|
+
"backend_version": "unavailable",
|
|
106
|
+
},
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if not ok:
|
|
110
|
+
return {
|
|
111
|
+
**base_result,
|
|
112
|
+
"status": "error",
|
|
113
|
+
"available": False,
|
|
114
|
+
"reason": validation_reason,
|
|
115
|
+
"simulator_steps": None,
|
|
116
|
+
"replay_evidence": None,
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if backend_mode == "preflight":
|
|
120
|
+
if available:
|
|
121
|
+
status = "dry_run_contract"
|
|
122
|
+
reason = "preflight mode: backend available but execution not requested"
|
|
123
|
+
else:
|
|
124
|
+
status = "skipped_unavailable_backend"
|
|
125
|
+
reason = "pybullet not installed"
|
|
126
|
+
return {
|
|
127
|
+
**base_result,
|
|
128
|
+
"status": status,
|
|
129
|
+
"available": available,
|
|
130
|
+
"reason": reason,
|
|
131
|
+
"simulator_steps": 0,
|
|
132
|
+
"replay_evidence": None,
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if backend_mode == "live":
|
|
136
|
+
if not available:
|
|
137
|
+
return {
|
|
138
|
+
**base_result,
|
|
139
|
+
"status": "skipped_unavailable_backend",
|
|
140
|
+
"available": False,
|
|
141
|
+
"reason": "pybullet not installed",
|
|
142
|
+
"simulator_steps": 0,
|
|
143
|
+
"replay_evidence": None,
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
try:
|
|
147
|
+
sandbox_path = Path(sandbox_root)
|
|
148
|
+
sandbox_path.mkdir(parents=True, exist_ok=True)
|
|
149
|
+
episode = _run_bounded_local_episode(job=job, seed=seed, timeout_seconds=timeout_seconds)
|
|
150
|
+
replay_metadata = {
|
|
151
|
+
"run_id": active_run_id,
|
|
152
|
+
"seed": seed,
|
|
153
|
+
"backend_version": str(episode.get("backend_version", "unknown")),
|
|
154
|
+
}
|
|
155
|
+
episode_stats = {
|
|
156
|
+
"steps": int(episode.get("steps", 0)),
|
|
157
|
+
"reward": float(episode.get("reward", 0.0)),
|
|
158
|
+
"duration_ms": int(episode.get("duration_ms", 0)),
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
**base_result,
|
|
162
|
+
"status": "invoked",
|
|
163
|
+
"available": True,
|
|
164
|
+
"reason": "live execution dispatched to pybullet backend",
|
|
165
|
+
"episode_stats": episode_stats,
|
|
166
|
+
"replay_metadata": replay_metadata,
|
|
167
|
+
"simulator_steps": episode_stats["steps"],
|
|
168
|
+
"replay_evidence": {
|
|
169
|
+
"steps": episode_stats["steps"],
|
|
170
|
+
"scenario": "bounded_local_episode",
|
|
171
|
+
"deterministic": True,
|
|
172
|
+
"seed": seed,
|
|
173
|
+
},
|
|
174
|
+
}
|
|
175
|
+
except Exception as exc: # noqa: BLE001
|
|
176
|
+
return {
|
|
177
|
+
**base_result,
|
|
178
|
+
"status": "error",
|
|
179
|
+
"available": available,
|
|
180
|
+
"reason": f"live execution failed: {exc}",
|
|
181
|
+
"simulator_steps": None,
|
|
182
|
+
"replay_evidence": None,
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
return {
|
|
186
|
+
**base_result,
|
|
187
|
+
"status": "error",
|
|
188
|
+
"available": available,
|
|
189
|
+
"reason": f"unknown backend_mode: {backend_mode!r}",
|
|
190
|
+
"simulator_steps": None,
|
|
191
|
+
"replay_evidence": None,
|
|
192
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@trac3r/oh-my-god",
|
|
3
|
+
"version": "2.2.11",
|
|
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
|
+
"main": "OMG-setup.sh",
|
|
6
|
+
"bin": {
|
|
7
|
+
"omg": "bin/omg"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"bin/",
|
|
11
|
+
"scripts/",
|
|
12
|
+
"runtime/",
|
|
13
|
+
"registry/",
|
|
14
|
+
"hooks/",
|
|
15
|
+
"commands/",
|
|
16
|
+
"agents/",
|
|
17
|
+
"lab/",
|
|
18
|
+
"plugins/",
|
|
19
|
+
"tools/",
|
|
20
|
+
"hud/",
|
|
21
|
+
"docs/install/",
|
|
22
|
+
"docs/proof.md",
|
|
23
|
+
"docs/command-surface.md",
|
|
24
|
+
"README.md",
|
|
25
|
+
"QUICK-REFERENCE.md",
|
|
26
|
+
"INSTALL-VERIFICATION-INDEX.md",
|
|
27
|
+
"OMG-setup.sh",
|
|
28
|
+
"settings.json",
|
|
29
|
+
"pyproject.toml",
|
|
30
|
+
"CHANGELOG.md"
|
|
31
|
+
],
|
|
32
|
+
"scripts": {
|
|
33
|
+
"postinstall": "python3 scripts/omg.py install --plan",
|
|
34
|
+
"update": "./OMG-setup.sh update",
|
|
35
|
+
"uninstall": "./OMG-setup.sh uninstall",
|
|
36
|
+
"test": "python3 -m pytest tests/ -x -q"
|
|
37
|
+
},
|
|
38
|
+
"keywords": [
|
|
39
|
+
"claude",
|
|
40
|
+
"claude-code",
|
|
41
|
+
"orchestration",
|
|
42
|
+
"multi-agent",
|
|
43
|
+
"ai",
|
|
44
|
+
"llm",
|
|
45
|
+
"codex",
|
|
46
|
+
"gemini"
|
|
47
|
+
],
|
|
48
|
+
"author": "trac3r00",
|
|
49
|
+
"license": "MIT",
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "git+https://github.com/trac3r00/OMG.git"
|
|
53
|
+
},
|
|
54
|
+
"bugs": {
|
|
55
|
+
"url": "https://github.com/trac3r00/OMG/issues"
|
|
56
|
+
},
|
|
57
|
+
"homepage": "https://github.com/trac3r00/OMG#readme",
|
|
58
|
+
"engines": {
|
|
59
|
+
"node": ">=18.0.0"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# OMG Commands
|
|
2
|
+
|
|
3
|
+
OMG exposes a launcher-first front door and keeps the rest of the surface available as advanced plugins.
|
|
4
|
+
|
|
5
|
+
## Launcher-First Install
|
|
6
|
+
|
|
7
|
+
> **Prerequisites**: macOS or Linux, Node >=18, Python >=3.10
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx omg env doctor
|
|
11
|
+
npx omg install --plan
|
|
12
|
+
npx omg install --apply
|
|
13
|
+
npx omg ship
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Local package-manager installs only link `omg` into `node_modules/.bin/`; configuration changes still require an explicit `npx omg install --apply`.
|
|
17
|
+
|
|
18
|
+
## Native Plugin Entry Points
|
|
19
|
+
|
|
20
|
+
| Command | Description |
|
|
21
|
+
|---------|-------------|
|
|
22
|
+
| `/OMG:ship` | Ship — Idea to Evidence to PR |
|
|
23
|
+
| `/OMG:browser` | Canonical browser automation and verification surface |
|
|
24
|
+
|
|
25
|
+
## Core Commands
|
|
26
|
+
|
|
27
|
+
| Command | Description |
|
|
28
|
+
|---------|-------------|
|
|
29
|
+
| `/OMG:init` | Initialize project or domain |
|
|
30
|
+
| `/OMG:escalate` | Route to Codex, Gemini, or CCG |
|
|
31
|
+
| `/OMG:teams` | Team routing for internal OMG execution |
|
|
32
|
+
| `/OMG:ccg` | Tri-track synthesis |
|
|
33
|
+
| `/OMG:security-check` | Canonical security pipeline |
|
|
34
|
+
| `/OMG:api-twin` | Contract replay and fixture-based API simulation |
|
|
35
|
+
| `/OMG:preflight` | Structured route selection and evidence planning |
|
|
36
|
+
| `/OMG:browser` | Browser automation and verification powered by the upstream Playwright CLI |
|
|
37
|
+
| `/OMG:compat` | Legacy compatibility routing |
|
|
38
|
+
| `/OMG:health-check` | Verify setup and tool integration |
|
|
39
|
+
| `/OMG:mode` | Set cognitive mode for the session |
|
|
40
|
+
|
|
41
|
+
## Advanced Commands
|
|
42
|
+
|
|
43
|
+
| Command | Category | Description |
|
|
44
|
+
|---------|----------|-------------|
|
|
45
|
+
| `/OMG:deep-plan` | Planning | Strategic planning with domain awareness (compatibility path to `plan-council`) |
|
|
46
|
+
| `/OMG:learn` | Knowledge | Convert patterns into OMG-native instincts and skills |
|
|
47
|
+
| `/OMG:code-review` | Quality | Deep review flow |
|
|
48
|
+
| `/OMG:ship` | Delivery | Idea to evidence to release |
|
|
49
|
+
| `/OMG:handoff` | Collaboration | Session transfer and continuity |
|
|
50
|
+
| `/OMG:maintainer` | OSS | Open-source maintainer workflows |
|
|
51
|
+
| `/OMG:sequential-thinking` | Thinking | Structured multi-step reasoning |
|
|
52
|
+
| `/OMG:ralph-start` | Automation | Start Ralph autonomous loop |
|
|
53
|
+
| `/OMG:ralph-stop` | Automation | Stop Ralph autonomous loop |
|
|
54
|
+
|
|
55
|
+
## Plugin Layout
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
plugins/
|
|
59
|
+
core/
|
|
60
|
+
commands/
|
|
61
|
+
plugin.json
|
|
62
|
+
advanced/
|
|
63
|
+
commands/
|
|
64
|
+
plugin.json
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Adoption Notes
|
|
68
|
+
|
|
69
|
+
Restricted environments / air-gapped fallback: `/OMG:setup` and `OMG-setup.sh` remain available when launcher-first install cannot mutate host configuration directly. `compat` remains focused on legacy skill routing.
|
|
70
|
+
|
|
71
|
+
`/OMG:playwright` remains available as a compatibility alias to `/OMG:browser`.
|
|
72
|
+
|
|
73
|
+
## Public Docs
|
|
74
|
+
|
|
75
|
+
- Install guides live in [docs/install/claude-code.md](../docs/install/claude-code.md) and [docs/install/codex.md](../docs/install/codex.md).
|
|
76
|
+
- Proof surface lives in [docs/proof.md](../docs/proof.md).
|
|
77
|
+
- Quick reference lives in [QUICK-REFERENCE.md](../QUICK-REFERENCE.md).
|
|
78
|
+
- Install verification lives in [INSTALL-VERIFICATION-INDEX.md](../INSTALL-VERIFICATION-INDEX.md).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""OMG plugin packages."""
|
|
Binary file
|
|
@@ -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
|