omninode-claude 0.2.0__tar.gz
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.
- omninode_claude-0.2.0/.bandit +55 -0
- omninode_claude-0.2.0/.claude/architecture-handshake.md +121 -0
- omninode_claude-0.2.0/.claude-plugin/marketplace.json +23 -0
- omninode_claude-0.2.0/.cross-repo-policy.yaml +62 -0
- omninode_claude-0.2.0/.env.example +359 -0
- omninode_claude-0.2.0/.github/ISSUE_TEMPLATE/feature_request.md +9 -0
- omninode_claude-0.2.0/.github/PULL_REQUEST_TEMPLATE.md +12 -0
- omninode_claude-0.2.0/.github/dependabot.yml +12 -0
- omninode_claude-0.2.0/.github/required-checks.yaml +197 -0
- omninode_claude-0.2.0/.github/workflows/ci.yml +1441 -0
- omninode_claude-0.2.0/.github/workflows/integration-tests.yml +764 -0
- omninode_claude-0.2.0/.github/workflows/omni-standards-compliance.yml +430 -0
- omninode_claude-0.2.0/.github/workflows/onex-schema-compat.yml +168 -0
- omninode_claude-0.2.0/.github/workflows/release-dry-run.yml +27 -0
- omninode_claude-0.2.0/.github/workflows/release.yml +154 -0
- omninode_claude-0.2.0/.gitignore +401 -0
- omninode_claude-0.2.0/.migration_freeze +16 -0
- omninode_claude-0.2.0/.pre-commit-config.yaml +273 -0
- omninode_claude-0.2.0/.ruffignore +2 -0
- omninode_claude-0.2.0/.secrets.baseline +327 -0
- omninode_claude-0.2.0/CHANGELOG.md +71 -0
- omninode_claude-0.2.0/CLAUDE.md +514 -0
- omninode_claude-0.2.0/CODE_OF_CONDUCT.md +5 -0
- omninode_claude-0.2.0/CONTRIBUTING.md +43 -0
- omninode_claude-0.2.0/LICENSE +21 -0
- omninode_claude-0.2.0/PKG-INFO +26 -0
- omninode_claude-0.2.0/README.md +189 -0
- omninode_claude-0.2.0/SECURITY.md +12 -0
- omninode_claude-0.2.0/app/__init__.py +13 -0
- omninode_claude-0.2.0/app/main.py +310 -0
- omninode_claude-0.2.0/app/py.typed +0 -0
- omninode_claude-0.2.0/app/version.py +11 -0
- omninode_claude-0.2.0/claude-providers.json +167 -0
- omninode_claude-0.2.0/consumers/DEPLOYMENT.md +610 -0
- omninode_claude-0.2.0/consumers/DEPLOYMENT_SUCCESS.md +195 -0
- omninode_claude-0.2.0/consumers/QUICKSTART.md +102 -0
- omninode_claude-0.2.0/consumers/README.md +488 -0
- omninode_claude-0.2.0/consumers/SUMMARY.md +461 -0
- omninode_claude-0.2.0/consumers/agent_actions_consumer.py +1348 -0
- omninode_claude-0.2.0/consumers/agent_actions_consumer.service +66 -0
- omninode_claude-0.2.0/consumers/config.example.json +13 -0
- omninode_claude-0.2.0/consumers/requirements.txt +14 -0
- omninode_claude-0.2.0/consumers/start_agent_actions_consumer.sh +137 -0
- omninode_claude-0.2.0/consumers/test_consumer.py +281 -0
- omninode_claude-0.2.0/consumers/test_wp2_fixes.py +226 -0
- omninode_claude-0.2.0/contracts/debug_loop/README.md +56 -0
- omninode_claude-0.2.0/contracts/debug_loop/cost_tracker_compute.yaml +225 -0
- omninode_claude-0.2.0/contracts/debug_loop/debug_loop_orchestrator.yaml +472 -0
- omninode_claude-0.2.0/contracts/debug_loop/debug_stf_extractor_compute.yaml +263 -0
- omninode_claude-0.2.0/contracts/debug_loop/debug_stf_storage_effect.yaml +343 -0
- omninode_claude-0.2.0/contracts/debug_loop/error_pattern_extractor_compute.yaml +226 -0
- omninode_claude-0.2.0/contracts/debug_loop/error_success_mapping_reducer.yaml +303 -0
- omninode_claude-0.2.0/contracts/debug_loop/golden_state_manager_reducer.yaml +379 -0
- omninode_claude-0.2.0/contracts/debug_loop/model_price_catalog_effect.yaml +307 -0
- omninode_claude-0.2.0/contracts/debug_loop/stf_hash_compute.yaml +176 -0
- omninode_claude-0.2.0/contracts/debug_loop/stf_matcher_compute.yaml +228 -0
- omninode_claude-0.2.0/contracts/debug_loop/stf_quality_compute.yaml +241 -0
- omninode_claude-0.2.0/deployment/Dockerfile +24 -0
- omninode_claude-0.2.0/docker-compose.yml +70 -0
- omninode_claude-0.2.0/docs/INDEX.md +135 -0
- omninode_claude-0.2.0/docs/SECURITY.md +275 -0
- omninode_claude-0.2.0/docs/architecture/AGENT_ROUTING_ARCHITECTURE.md +225 -0
- omninode_claude-0.2.0/docs/architecture/COMPLIANCE_ENFORCEMENT_ARCHITECTURE.md +215 -0
- omninode_claude-0.2.0/docs/architecture/CONTEXT_ENRICHMENT_PIPELINE.md +208 -0
- omninode_claude-0.2.0/docs/architecture/DELEGATION_ARCHITECTURE.md +235 -0
- omninode_claude-0.2.0/docs/architecture/EMIT_DAEMON_ARCHITECTURE.md +243 -0
- omninode_claude-0.2.0/docs/architecture/EVENT_DRIVEN_ROUTING_PROPOSAL.md +1326 -0
- omninode_claude-0.2.0/docs/architecture/HOOK_DATA_FLOW.md +237 -0
- omninode_claude-0.2.0/docs/architecture/LLM_ROUTING_ARCHITECTURE.md +248 -0
- omninode_claude-0.2.0/docs/architecture/ROUTING_ARCHITECTURE_COMPARISON.md +524 -0
- omninode_claude-0.2.0/docs/architecture/SERVICE-BOUNDARIES.md +970 -0
- omninode_claude-0.2.0/docs/db-split/FK_SCAN_RESULTS.md +120 -0
- omninode_claude-0.2.0/docs/decisions/ADR-001-event-fan-out-and-app-owned-catalogs.md +349 -0
- omninode_claude-0.2.0/docs/decisions/ADR-002-candidate-list-injection.md +66 -0
- omninode_claude-0.2.0/docs/decisions/ADR-003-no-fallback-routing.md +70 -0
- omninode_claude-0.2.0/docs/decisions/ADR-004-dual-emission-privacy-split.md +75 -0
- omninode_claude-0.2.0/docs/decisions/ADR-005-delegation-orchestrator.md +77 -0
- omninode_claude-0.2.0/docs/decisions/ADR-006-llm-routing-with-fuzzy-fallback.md +88 -0
- omninode_claude-0.2.0/docs/decisions/README.md +10 -0
- omninode_claude-0.2.0/docs/demo/INVESTOR_DEMO.md +371 -0
- omninode_claude-0.2.0/docs/events/EVENT_ALIGNMENT_PLAN.md +742 -0
- omninode_claude-0.2.0/docs/getting-started/FIRST_HOOK.md +473 -0
- omninode_claude-0.2.0/docs/getting-started/GLOBAL_CLAUDE_MD.md +50 -0
- omninode_claude-0.2.0/docs/getting-started/INSTALLATION.md +176 -0
- omninode_claude-0.2.0/docs/getting-started/QUICK_START.md +208 -0
- omninode_claude-0.2.0/docs/guides/ADDING_AN_AGENT.md +165 -0
- omninode_claude-0.2.0/docs/guides/ADDING_A_HOOK_HANDLER.md +178 -0
- omninode_claude-0.2.0/docs/guides/ADDING_A_SKILL.md +142 -0
- omninode_claude-0.2.0/docs/guides/TESTING_GUIDE.md +232 -0
- omninode_claude-0.2.0/docs/handoff-publisher-topic-resolution.md +152 -0
- omninode_claude-0.2.0/docs/observability/AGENT_ACTION_LOGGING.md +561 -0
- omninode_claude-0.2.0/docs/observability/AGENT_TRACEABILITY.md +798 -0
- omninode_claude-0.2.0/docs/reference/AGENT_YAML_SCHEMA.md +164 -0
- omninode_claude-0.2.0/docs/reference/HOOK_LIB_REFERENCE.md +119 -0
- omninode_claude-0.2.0/docs/reference/KAFKA_TOPICS_REFERENCE.md +159 -0
- omninode_claude-0.2.0/docs/reference/SKILL_AUTHORING_GUIDE.md +210 -0
- omninode_claude-0.2.0/docs/reference/migrations/SCHEMA_CHANGES_PR63.md +474 -0
- omninode_claude-0.2.0/docs/security/BANDIT_CONFIGURATION.md +321 -0
- omninode_claude-0.2.0/docs/standards/CI_CD_STANDARDS.md +198 -0
- omninode_claude-0.2.0/docs/standards/STANDARD_DOC_LAYOUT.md +187 -0
- omninode_claude-0.2.0/docs/validation-contracts.md +556 -0
- omninode_claude-0.2.0/examples/refinement_example.py +718 -0
- omninode_claude-0.2.0/grafana/dashboards/omniclaude.json +1053 -0
- omninode_claude-0.2.0/monitoring/grafana/provisioning/dashboards/default.yml +19 -0
- omninode_claude-0.2.0/monitoring/grafana/provisioning/datasources/jaeger.yml +26 -0
- omninode_claude-0.2.0/monitoring/grafana/provisioning/datasources/loki.yml +16 -0
- omninode_claude-0.2.0/monitoring/grafana/provisioning/datasources/prometheus.yml +27 -0
- omninode_claude-0.2.0/monitoring/otel/otel-collector-config.yml +119 -0
- omninode_claude-0.2.0/monitoring/prometheus/alerts.yml +156 -0
- omninode_claude-0.2.0/monitoring/prometheus/prometheus.yml +81 -0
- omninode_claude-0.2.0/mypy.ini +426 -0
- omninode_claude-0.2.0/plans/2026-02-21-autonomous-skill-platform-plan-v2.md +86 -0
- omninode_claude-0.2.0/plugins/onex/.claude/README.md +105 -0
- omninode_claude-0.2.0/plugins/onex/.claude/agents/AGENT-PARALLEL-DISPATCHER.md +296 -0
- omninode_claude-0.2.0/plugins/onex/.claude/learned_patterns.json +56 -0
- omninode_claude-0.2.0/plugins/onex/.claude/plan-omn-1403-context-injection.md +519 -0
- omninode_claude-0.2.0/plugins/onex/.claude/settings.local.json +8 -0
- omninode_claude-0.2.0/plugins/onex/.claude-plugin/plugin.json +47 -0
- omninode_claude-0.2.0/plugins/onex/.env.example +171 -0
- omninode_claude-0.2.0/plugins/onex/ENVIRONMENT_VARIABLES.md +264 -0
- omninode_claude-0.2.0/plugins/onex/README.md +611 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/address-pr-comments.yaml +303 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/agent-address-pr-comments.yaml +858 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/agent-epic-worker.yaml +218 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/agent-observability.yaml +277 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/agent-registry.yaml +466 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/api-architect.yaml +268 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/ast-generator.yaml +657 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/code-quality-analyzer.yaml +268 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/commit.yaml +770 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/content-summarizer.yaml +259 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/context-gatherer.yaml +297 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/contract-driven-generator.yaml +441 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/contract-validator.yaml +345 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/debug-database.yaml +365 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/debug-intelligence.yaml +367 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/debug-log-writer.yaml +243 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/debug.yaml +311 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/devops-infrastructure.yaml +226 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/documentation-architect.yaml +284 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/documentation-indexer.yaml +325 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/frontend-developer.yaml +523 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/intelligence-initializer.yaml +329 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/multi-step-framework.yaml +292 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/omniagent-archon-tickets.yaml +342 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/omniagent-batch-processor.yaml +291 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/omniagent-smart-responder.yaml +363 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/onex-coordinator.yaml +290 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/onex-readme.yaml +240 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/overnight-automation.yaml +271 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/parameter-collector.yaml +299 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/performance.yaml +370 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/polymorphic-agent.yaml +621 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/pr-create.yaml +280 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/pr-review.yaml +333 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/pr-ticket-writer.yaml +246 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/pr-workflow.yaml +521 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/production-monitor.yaml +569 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/python-fastapi-expert.yaml +273 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/quota-optimizer.yaml +288 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/rag-query.yaml +302 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/rag-update.yaml +272 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/repository-crawler-claude-code.yaml +360 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/repository-crawler.yaml +348 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/repository-setup.yaml +235 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/research.yaml +341 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/security-audit.yaml +274 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/structured-logging.yaml +257 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/testing.yaml +338 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/ticket-manager.yaml +246 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/type-validator.yaml +335 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/ui-testing.yaml +383 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/velocity-log-writer.yaml +223 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/velocity-tracker.yaml +301 -0
- omninode_claude-0.2.0/plugins/onex/agents/configs/workflow-generator.yaml +347 -0
- omninode_claude-0.2.0/plugins/onex/agents/polymorphic-agent.md +475 -0
- omninode_claude-0.2.0/plugins/onex/commands/authorize.md +50 -0
- omninode_claude-0.2.0/plugins/onex/commands/bus-audit.md +51 -0
- omninode_claude-0.2.0/plugins/onex/commands/crash-recovery.md +34 -0
- omninode_claude-0.2.0/plugins/onex/commands/deauthorize.md +31 -0
- omninode_claude-0.2.0/plugins/onex/commands/gap-fix.md +34 -0
- omninode_claude-0.2.0/plugins/onex/commands/set-active-run.md +32 -0
- omninode_claude-0.2.0/plugins/onex/docs/RUNBOOK_VERTICAL_DEMO.md +9 -0
- omninode_claude-0.2.0/plugins/onex/hooks/config.yaml +32 -0
- omninode_claude-0.2.0/plugins/onex/hooks/hooks.json +68 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/action_logging_helpers.py +133 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/agent_accuracy_detector.py +111 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/agent_detector.py +88 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/agent_router.py +1419 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/agent_status_emitter.py +183 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/agent_summary_banner.py +73 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/architecture_handshake_injector.py +264 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/attribution_binder.py +261 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/auth_gate_adapter.py +168 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/bash_guard.py +364 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/blocked_notifier.py +305 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/checkpoint_manager.py +632 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/commit_intent_binder.py +323 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/context_enrichment_runner.py +470 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/context_injection_wrapper.py +233 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/correlation_manager.py +204 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/cross_repo_detector.py +237 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/delegation_orchestrator.py +1030 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/emit_client_wrapper.py +672 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/emit_ticket_status.py +201 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/enrichment_observability_emitter.py +472 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/epic_decomposer.py +425 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/epic_milestone_notifier.py +322 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/extraction_event_emitter.py +340 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/feedback_guardrails.py +210 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/file_evidence_resolver.py +32 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/hook_event_adapter.py +791 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/hook_event_logger.py +532 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/intent_classifier.py +350 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/intent_model_hints.py +232 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/latency_guard.py +456 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/linear_contract_patcher.py +383 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/local_delegation_handler.py +518 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/log_hook_event.py +333 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/metadata_extractor.py +179 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/metrics_aggregator.py +563 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/metrics_emitter.py +563 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/node_session_lifecycle_reducer.py +99 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/node_session_state_adapter.py +334 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/node_session_state_effect.py +507 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/pattern_advisory_formatter.py +389 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/pattern_cache.py +467 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/pattern_enforcement.py +770 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/pattern_types.py +226 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/phase_instrumentation.py +976 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/pipeline_slack_notifier.py +630 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/post_tool_metrics.py +583 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/pr_claim_registry.py +554 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/promotion_gater.py +312 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/publish_intelligence_request.py +156 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/reconcile_agent_outputs.py +757 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/response_intelligence.py +105 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/route_via_events_wrapper.py +1576 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/rrh_hook_adapter.py +208 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/secret_redactor.py +170 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/session_intelligence.py +320 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/session_marker.py +213 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/session_outcome.py +224 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/shadow_validation.py +905 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/static_context_snapshot.py +880 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/ticket_context_injector.py +358 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/track_intent.py +159 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/utilization_detector.py +503 -0
- omninode_claude-0.2.0/plugins/onex/hooks/lib/worktree_manager.py +363 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/common.sh +427 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/post-tool-use-quality.sh +455 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/post_tool_use_enforcer.py +589 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/pre-tool-use-quality.sh +139 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/pre_tool_use_authorization_shim.sh +82 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/pre_tool_use_bash_guard.sh +75 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/pre_tool_use_permissions.py +840 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/register-tab.sh +90 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/session-end.sh +675 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/session-start.sh +966 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/statusline.sh +273 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/stop.sh +182 -0
- omninode_claude-0.2.0/plugins/onex/hooks/scripts/user-prompt-submit.sh +726 -0
- omninode_claude-0.2.0/plugins/onex/lib/dependency_validator.md +484 -0
- omninode_claude-0.2.0/plugins/onex/scripts/demo_emit_hook.py +182 -0
- omninode_claude-0.2.0/plugins/onex/skills/_lib/pr-safety/helpers.md +1079 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/ERROR_HANDLING_FIXES.md +134 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/QDRANT_SECURITY.md +358 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/common_utils.py +66 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/constants.py +137 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/db_helper.py +396 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/docker_helper.py +497 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/kafka_helper.py +685 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/kafka_types.py +275 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/qdrant_helper.py +706 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/status_formatter.py +416 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/test_error_handling.py +180 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/test_qdrant_empty_collections.py +308 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/test_qdrant_https_support.py +210 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/test_qdrant_ssrf_protection.py +303 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/timeframe_helper.py +105 -0
- omninode_claude-0.2.0/plugins/onex/skills/_shared/validate-skill-names.sh +99 -0
- omninode_claude-0.2.0/plugins/onex/skills/action-logging/README.md +136 -0
- omninode_claude-0.2.0/plugins/onex/skills/action-logging/SKILL.md +797 -0
- omninode_claude-0.2.0/plugins/onex/skills/action-logging/examples/README.md +132 -0
- omninode_claude-0.2.0/plugins/onex/skills/action-logging/examples/basic_usage.py +105 -0
- omninode_claude-0.2.0/plugins/onex/skills/action-logging/examples/decision_logging.py +151 -0
- omninode_claude-0.2.0/plugins/onex/skills/action-logging/examples/error_handling.py +243 -0
- omninode_claude-0.2.0/plugins/onex/skills/action-logging/examples/tool_call_patterns.py +102 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-observability/SKILL.md +342 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-observability/check-agent +326 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-observability/check-health +229 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-observability/diagnose-errors +282 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-observability/generate-report +384 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-agent-action/SKILL.md +266 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-agent-action/execute.py +169 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-agent-action/execute_kafka.py +211 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-agent-action/execute_unified.py +135 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-agent-action/prompt.md +93 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-detection-failure/SKILL.md +161 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-detection-failure/execute.py +234 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-performance-metrics/SKILL.md +224 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-performance-metrics/execute.py +161 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-performance-metrics/execute_kafka.py +194 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-performance-metrics/execute_unified.py +105 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-routing-decision/SKILL.md +214 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-routing-decision/execute.py +161 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-routing-decision/execute_kafka.py +223 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-routing-decision/execute_unified.py +169 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-transformation/SKILL.md +217 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-transformation/execute.py +150 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-transformation/execute_kafka.py +262 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-transformation/execute_unified.py +141 -0
- omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/prompt.md +470 -0
- omninode_claude-0.2.0/plugins/onex/skills/auto-merge/SKILL.md +189 -0
- omninode_claude-0.2.0/plugins/onex/skills/brainstorming/SKILL.md +63 -0
- omninode_claude-0.2.0/plugins/onex/skills/checkpoint/SKILL.md +253 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-failures/ENHANCEMENT_SUMMARY.md +289 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-failures/INTEGRATION_GUIDE.md +530 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-failures/RESEARCH_FEATURE.md +449 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-failures/SKILL.md +978 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-failures/WEB_RESEARCH_COMPLETE.md +481 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-failures/ci-quick-review +472 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-failures/example_research_output.json +118 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-failures/fetch-ci-data +752 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-failures/get-ci-job-details +638 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-failures/test_research_feature.sh +211 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-fix-pipeline/SKILL.md +282 -0
- omninode_claude-0.2.0/plugins/onex/skills/ci-watch/SKILL.md +204 -0
- omninode_claude-0.2.0/plugins/onex/skills/condition-based-waiting/SKILL.md +129 -0
- omninode_claude-0.2.0/plugins/onex/skills/condition-based-waiting/example.ts +158 -0
- omninode_claude-0.2.0/plugins/onex/skills/crash-recovery/SKILL.md +146 -0
- omninode_claude-0.2.0/plugins/onex/skills/crash-recovery/list-pipelines +238 -0
- omninode_claude-0.2.0/plugins/onex/skills/create-followup-tickets/SKILL.md +214 -0
- omninode_claude-0.2.0/plugins/onex/skills/create-ticket/SKILL.md +625 -0
- omninode_claude-0.2.0/plugins/onex/skills/decompose-epic/SKILL.md +139 -0
- omninode_claude-0.2.0/plugins/onex/skills/decompose-epic/prompt.md +405 -0
- omninode_claude-0.2.0/plugins/onex/skills/deep-dive/SKILL.md +351 -0
- omninode_claude-0.2.0/plugins/onex/skills/defense-in-depth/SKILL.md +135 -0
- omninode_claude-0.2.0/plugins/onex/skills/deploy-local-plugin/SKILL.md +159 -0
- omninode_claude-0.2.0/plugins/onex/skills/deploy-local-plugin/deploy.sh +767 -0
- omninode_claude-0.2.0/plugins/onex/skills/dispatching-parallel-agents/SKILL.md +270 -0
- omninode_claude-0.2.0/plugins/onex/skills/epic-team/SKILL.md +259 -0
- omninode_claude-0.2.0/plugins/onex/skills/epic-team/prompt.md +1059 -0
- omninode_claude-0.2.0/plugins/onex/skills/epic-team/repo_manifest.yaml +439 -0
- omninode_claude-0.2.0/plugins/onex/skills/executing-plans/SKILL.md +84 -0
- omninode_claude-0.2.0/plugins/onex/skills/finishing-a-development-branch/SKILL.md +209 -0
- omninode_claude-0.2.0/plugins/onex/skills/fix-prs/SKILL.md +326 -0
- omninode_claude-0.2.0/plugins/onex/skills/fix-prs/prompt.md +374 -0
- omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/SKILL.md +223 -0
- omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/models/__init__.py +10 -0
- omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/models/enum_gap_category.py +18 -0
- omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/models/model_gap_analysis_report.py +66 -0
- omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/models/model_gap_finding.py +72 -0
- omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/prompt.md +472 -0
- omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/suppressions.yaml +20 -0
- omninode_claude-0.2.0/plugins/onex/skills/gap-fix/SKILL.md +203 -0
- omninode_claude-0.2.0/plugins/onex/skills/gap-fix/prompt.md +472 -0
- omninode_claude-0.2.0/plugins/onex/skills/generate-node/README.md +57 -0
- omninode_claude-0.2.0/plugins/onex/skills/generate-node/SKILL.md +426 -0
- omninode_claude-0.2.0/plugins/onex/skills/generate-node/generate +174 -0
- omninode_claude-0.2.0/plugins/onex/skills/generate-node/regenerate +309 -0
- omninode_claude-0.2.0/plugins/onex/skills/intelligence/request-intelligence/SKILL.md +106 -0
- omninode_claude-0.2.0/plugins/onex/skills/intelligence/request-intelligence/execute.py +434 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear/SKILL.md +244 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear/create-ticket +249 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear/get-ticket +75 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear/list-tickets +168 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear/pr_integration.py +403 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear/update-ticket +199 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear-insights/SKILL.md +428 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear-insights/config.yaml +168 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear-insights/deep-dive +874 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear-insights/estimation-accuracy +492 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear-insights/project-status +1177 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear-insights/setup +1113 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear-insights/suggest-work +692 -0
- omninode_claude-0.2.0/plugins/onex/skills/linear-insights/velocity-estimate +819 -0
- omninode_claude-0.2.0/plugins/onex/skills/local-review/SKILL.md +496 -0
- omninode_claude-0.2.0/plugins/onex/skills/local-review/prompt.md +1337 -0
- omninode_claude-0.2.0/plugins/onex/skills/log-execution/SKILL.md +174 -0
- omninode_claude-0.2.0/plugins/onex/skills/log-execution/execute.py +356 -0
- omninode_claude-0.2.0/plugins/onex/skills/merge-sweep/SKILL.md +446 -0
- omninode_claude-0.2.0/plugins/onex/skills/merge-sweep/prompt.md +578 -0
- omninode_claude-0.2.0/plugins/onex/skills/parallel-solve/SKILL.md +141 -0
- omninode_claude-0.2.0/plugins/onex/skills/parallel-solve/prompt.md +348 -0
- omninode_claude-0.2.0/plugins/onex/skills/pipeline-audit/SKILL.md +565 -0
- omninode_claude-0.2.0/plugins/onex/skills/plan-ticket/SKILL.md +120 -0
- omninode_claude-0.2.0/plugins/onex/skills/plan-ticket/prompt.md +121 -0
- omninode_claude-0.2.0/plugins/onex/skills/plan-to-tickets/SKILL.md +962 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-polish/SKILL.md +183 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-polish/prompt.md +368 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-queue-pipeline/SKILL.md +438 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-queue-pipeline/prompt.md +550 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-release-ready/SKILL.md +64 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/SKILL.md +548 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/analyze-pr-comments +486 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/analyzer.py +516 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/collate-issues +245 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/collate-issues-with-ci +224 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/collate_issues.py +1858 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/fetch-pr-data +695 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/fetcher.py +712 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/models.py +1647 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/pr-dev-review-wrapper +227 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/pr-quick-review +142 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/pr-review-production +345 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/pr-review-v2 +15 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/pr_review.py +291 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/review-pr +409 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review/test_models.py +1386 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-review-dev/SKILL.md +265 -0
- omninode_claude-0.2.0/plugins/onex/skills/pr-watch/SKILL.md +141 -0
- omninode_claude-0.2.0/plugins/onex/skills/project-status/SKILL.md +295 -0
- omninode_claude-0.2.0/plugins/onex/skills/receiving-code-review/SKILL.md +219 -0
- omninode_claude-0.2.0/plugins/onex/skills/requesting-code-review/SKILL.md +113 -0
- omninode_claude-0.2.0/plugins/onex/skills/requesting-code-review/code-reviewer.md +146 -0
- omninode_claude-0.2.0/plugins/onex/skills/review-all-prs/SKILL.md +383 -0
- omninode_claude-0.2.0/plugins/onex/skills/review-all-prs/prompt.md +553 -0
- omninode_claude-0.2.0/plugins/onex/skills/review-cycle/SKILL.md +449 -0
- omninode_claude-0.2.0/plugins/onex/skills/review-cycle/prompt.md +583 -0
- omninode_claude-0.2.0/plugins/onex/skills/root-cause-tracing/SKILL.md +183 -0
- omninode_claude-0.2.0/plugins/onex/skills/root-cause-tracing/find-polluter.sh +66 -0
- omninode_claude-0.2.0/plugins/onex/skills/routing/request-agent-routing/SKILL.md +345 -0
- omninode_claude-0.2.0/plugins/onex/skills/routing/request-agent-routing/execute_direct.py +244 -0
- omninode_claude-0.2.0/plugins/onex/skills/routing/request-agent-routing/execute_kafka.py +464 -0
- omninode_claude-0.2.0/plugins/onex/skills/rrh/SKILL.md +154 -0
- omninode_claude-0.2.0/plugins/onex/skills/rrh/rrh_adapter.py +190 -0
- omninode_claude-0.2.0/plugins/onex/skills/setup-statusline/SKILL.md +74 -0
- omninode_claude-0.2.0/plugins/onex/skills/sharing-skills/SKILL.md +202 -0
- omninode_claude-0.2.0/plugins/onex/skills/slack-gate/SKILL.md +368 -0
- omninode_claude-0.2.0/plugins/onex/skills/slack-gate/prompt.md +197 -0
- omninode_claude-0.2.0/plugins/onex/skills/slack-gate/slack_gate_poll.py +236 -0
- omninode_claude-0.2.0/plugins/onex/skills/subagent-driven-development/SKILL.md +198 -0
- omninode_claude-0.2.0/plugins/onex/skills/suggest-work/SKILL.md +297 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/MAGIC_NUMBERS_EXTRACTION.md +174 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-agent-performance/SKILL.md +51 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-agent-performance/execute.py +180 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-agent-performance/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-database-health/SKILL.md +54 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-database-health/execute.py +230 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-database-health/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-infrastructure/SKILL.md +163 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-infrastructure/execute.py +160 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-infrastructure/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-kafka-topics/SECURITY_ANALYSIS.md +148 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-kafka-topics/SKILL.md +217 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-kafka-topics/execute.py +145 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-kafka-topics/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-pattern-discovery/SECURITY_ANALYSIS.md +152 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-pattern-discovery/SKILL.md +164 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-pattern-discovery/execute.py +82 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-pattern-discovery/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-recent-activity/SKILL.md +55 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-recent-activity/execute.py +171 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-recent-activity/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-service-status/SKILL.md +78 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-service-status/execute.py +123 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-service-status/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-system-health/FIX_SUMMARY.md +134 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-system-health/SKILL.md +149 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-system-health/execute.py +402 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-system-health/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/check-system-health/test_docker_failure.py +193 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/diagnose-issues/SKILL.md +89 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/diagnose-issues/execute.py +464 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/diagnose-issues/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/generate-status-report/SKILL.md +140 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/generate-status-report/execute.py +397 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/generate-status-report/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/IMPORT_FIXES_NEEDED.md +428 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/NEXT_STEPS.md +468 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/README.md +267 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/SECURITY_TEST_FIXES.md +176 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/TESTING.md +287 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/TEST_ALIGNMENT_SUMMARY.md +270 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/TEST_RESULTS_SUMMARY.md +340 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/VERIFICATION.md +218 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/analyze_results.py +81 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/conftest.py +147 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/py.typed +0 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/pytest.ini +41 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/run_tests.sh +99 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_agent_performance.py +186 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_database_health.py +169 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_infrastructure.py +227 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_kafka_topics.py +111 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_pattern_discovery.py +121 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_recent_activity.py +266 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_service_status.py +179 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_diagnose_issues.py +240 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_error_handling.py +436 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_generate_status_report.py +243 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_helper_modules.py +139 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_input_validation.py +319 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_results_full.txt +369 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_sql_injection_prevention.py +154 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_sql_security.py +321 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_ssrf_protection.py +295 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_summary.py +120 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_timeframe_parser.py +82 -0
- omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_validators.py +131 -0
- omninode_claude-0.2.0/plugins/onex/skills/systematic-debugging/SKILL.md +304 -0
- omninode_claude-0.2.0/plugins/onex/skills/test-driven-development/SKILL.md +373 -0
- omninode_claude-0.2.0/plugins/onex/skills/testing-anti-patterns/SKILL.md +311 -0
- omninode_claude-0.2.0/plugins/onex/skills/testing-skills-with-subagents/SKILL.md +396 -0
- omninode_claude-0.2.0/plugins/onex/skills/testing-skills-with-subagents/examples/CLAUDE_MD_TESTING.md +189 -0
- omninode_claude-0.2.0/plugins/onex/skills/ticket-pipeline/SKILL.md +453 -0
- omninode_claude-0.2.0/plugins/onex/skills/ticket-pipeline/prompt.md +2321 -0
- omninode_claude-0.2.0/plugins/onex/skills/ticket-plan/SKILL.md +54 -0
- omninode_claude-0.2.0/plugins/onex/skills/ticket-plan/prompt.md +114 -0
- omninode_claude-0.2.0/plugins/onex/skills/ticket-work/SKILL.md +337 -0
- omninode_claude-0.2.0/plugins/onex/skills/ticket-work/prompt.md +738 -0
- omninode_claude-0.2.0/plugins/onex/skills/trace-correlation-id/skill.json +21 -0
- omninode_claude-0.2.0/plugins/onex/skills/trace-correlation-id/trace-correlation-id +40 -0
- omninode_claude-0.2.0/plugins/onex/skills/ultimate-validate/SKILL.md +127 -0
- omninode_claude-0.2.0/plugins/onex/skills/using-git-worktrees/SKILL.md +323 -0
- omninode_claude-0.2.0/plugins/onex/skills/using-superpowers/SKILL.md +109 -0
- omninode_claude-0.2.0/plugins/onex/skills/velocity-estimate/SKILL.md +314 -0
- omninode_claude-0.2.0/plugins/onex/skills/verification-before-completion/SKILL.md +148 -0
- omninode_claude-0.2.0/plugins/onex/skills/writing-plans/SKILL.md +125 -0
- omninode_claude-0.2.0/plugins/onex/skills/writing-skills/SKILL.md +630 -0
- omninode_claude-0.2.0/plugins/onex/skills/writing-skills/anthropic-best-practices.md +1144 -0
- omninode_claude-0.2.0/plugins/onex/skills/writing-skills/graphviz-conventions.dot +172 -0
- omninode_claude-0.2.0/plugins/onex/skills/writing-skills/persuasion-principles.md +187 -0
- omninode_claude-0.2.0/plugins/onex/tests/hooks/test_emit_client_wrapper.py +859 -0
- omninode_claude-0.2.0/pyproject.toml +359 -0
- omninode_claude-0.2.0/pyrightconfig.json +47 -0
- omninode_claude-0.2.0/schemas/pipeline_events.yaml +958 -0
- omninode_claude-0.2.0/scripts/DATABASE_VERIFICATION_GUIDE.md +319 -0
- omninode_claude-0.2.0/scripts/POOL_LIFECYCLE_FIX_SUMMARY.md +183 -0
- omninode_claude-0.2.0/scripts/QUICKSTART_DEBUG_CLI.md +117 -0
- omninode_claude-0.2.0/scripts/README.md +371 -0
- omninode_claude-0.2.0/scripts/README_DEBUG_LOOP_CLI.md +430 -0
- omninode_claude-0.2.0/scripts/add_py_typed.sh +93 -0
- omninode_claude-0.2.0/scripts/analyze_intelligence.py +402 -0
- omninode_claude-0.2.0/scripts/benchmark_manifest_performance.py +618 -0
- omninode_claude-0.2.0/scripts/bus_audit.py +1316 -0
- omninode_claude-0.2.0/scripts/check_local_paths.py +34 -0
- omninode_claude-0.2.0/scripts/check_local_paths_wrapper.sh +13 -0
- omninode_claude-0.2.0/scripts/check_migration_freeze.sh +94 -0
- omninode_claude-0.2.0/scripts/cleanup_file_patterns.sql +231 -0
- omninode_claude-0.2.0/scripts/db-credentials.sh +63 -0
- omninode_claude-0.2.0/scripts/debug_loop_cli.py +868 -0
- omninode_claude-0.2.0/scripts/demo_runner.py +555 -0
- omninode_claude-0.2.0/scripts/env_validation.py +80 -0
- omninode_claude-0.2.0/scripts/generate_formatted_manifest.py +109 -0
- omninode_claude-0.2.0/scripts/git-hooks/README.md +28 -0
- omninode_claude-0.2.0/scripts/git-hooks/pre-push +86 -0
- omninode_claude-0.2.0/scripts/health_check.sh +498 -0
- omninode_claude-0.2.0/scripts/ingest_all_repositories.py +459 -0
- omninode_claude-0.2.0/scripts/init-db.sh +127 -0
- omninode_claude-0.2.0/scripts/observability/DASHBOARD_USAGE.md +554 -0
- omninode_claude-0.2.0/scripts/observability/EXIT_CODES.md +342 -0
- omninode_claude-0.2.0/scripts/observability/README.md +326 -0
- omninode_claude-0.2.0/scripts/observability/README_EXIT_CODES.md +93 -0
- omninode_claude-0.2.0/scripts/observability/agent_activity_dashboard.sh +437 -0
- omninode_claude-0.2.0/scripts/observability/apply_dashboard_views.sh +234 -0
- omninode_claude-0.2.0/scripts/observability/check-docker-health +182 -0
- omninode_claude-0.2.0/scripts/observability/cleanup_stuck_agents.sh +224 -0
- omninode_claude-0.2.0/scripts/observability/dashboard_stats.sh +307 -0
- omninode_claude-0.2.0/scripts/observability/dashboard_views.sql +284 -0
- omninode_claude-0.2.0/scripts/observability/diagnose_agent_logging.sh +423 -0
- omninode_claude-0.2.0/scripts/observability/diagnose_traceability.sh +465 -0
- omninode_claude-0.2.0/scripts/observability/fix_negative_durations.sql +99 -0
- omninode_claude-0.2.0/scripts/observability/monitor_routing_health.sh +449 -0
- omninode_claude-0.2.0/scripts/observability/query_agent_history.sh +508 -0
- omninode_claude-0.2.0/scripts/observability/routing_metrics.sql +518 -0
- omninode_claude-0.2.0/scripts/observability/test_agent_execution.sh +424 -0
- omninode_claude-0.2.0/scripts/pr_claim_registry_cli.py +71 -0
- omninode_claude-0.2.0/scripts/pre-push +79 -0
- omninode_claude-0.2.0/scripts/publish_provider_selection.py +196 -0
- omninode_claude-0.2.0/scripts/show_full_manifest.py +202 -0
- omninode_claude-0.2.0/scripts/show_manifest_details.py +123 -0
- omninode_claude-0.2.0/scripts/show_manifest_summary.py +287 -0
- omninode_claude-0.2.0/scripts/start-dashboard.sh +36 -0
- omninode_claude-0.2.0/scripts/switch-plugin-branch.sh +35 -0
- omninode_claude-0.2.0/scripts/test_manifest_generation_with_patterns.py +243 -0
- omninode_claude-0.2.0/scripts/test_pattern_quality_upsert.py +68 -0
- omninode_claude-0.2.0/scripts/tests/README.md +158 -0
- omninode_claude-0.2.0/scripts/tests/test_comprehensive_logging.sh +404 -0
- omninode_claude-0.2.0/scripts/tests/test_intelligence_functionality.sh +448 -0
- omninode_claude-0.2.0/scripts/tests/test_kafka_functionality.sh +248 -0
- omninode_claude-0.2.0/scripts/tests/test_postgres_functionality.sh +145 -0
- omninode_claude-0.2.0/scripts/tests/test_routing_functionality.sh +296 -0
- omninode_claude-0.2.0/scripts/toggle-claude-provider.sh +461 -0
- omninode_claude-0.2.0/scripts/validate-clean-root.sh +271 -0
- omninode_claude-0.2.0/scripts/validate-env.sh +194 -0
- omninode_claude-0.2.0/scripts/validate-kafka-setup.sh +264 -0
- omninode_claude-0.2.0/scripts/validate_onex.py +252 -0
- omninode_claude-0.2.0/scripts/validate_pattern_extraction.py +147 -0
- omninode_claude-0.2.0/scripts/validate_pattern_integration.py +246 -0
- omninode_claude-0.2.0/scripts/validation/validate_cost_ledger_isolation.py +158 -0
- omninode_claude-0.2.0/scripts/validation/validate_cost_ledger_structure.py +205 -0
- omninode_claude-0.2.0/scripts/validation/validate_enum_governance.py +227 -0
- omninode_claude-0.2.0/scripts/validation/validate_exports.py +607 -0
- omninode_claude-0.2.0/scripts/validation/validate_no_compact_cmd_topic.py +172 -0
- omninode_claude-0.2.0/scripts/validation/validate_no_db_in_orchestrator.py +202 -0
- omninode_claude-0.2.0/scripts/validation/validate_no_direct_kafka_producer.py +150 -0
- omninode_claude-0.2.0/scripts/validation/validate_no_duplicate_models.py +226 -0
- omninode_claude-0.2.0/scripts/validation/validate_no_git_outside_effects.py +178 -0
- omninode_claude-0.2.0/scripts/validation/validate_no_linear_outside_effects.py +123 -0
- omninode_claude-0.2.0/scripts/validation/validate_no_repo_adapter_in_orchestrator.py +118 -0
- omninode_claude-0.2.0/scripts/validation/validate_no_utcnow.py +106 -0
- omninode_claude-0.2.0/scripts/validation/validate_pydantic_patterns.py +521 -0
- omninode_claude-0.2.0/scripts/validation/validate_secrets.py +609 -0
- omninode_claude-0.2.0/scripts/validation/validate_single_class_per_file.py +593 -0
- omninode_claude-0.2.0/scripts/validation/validate_topic_naming.py +131 -0
- omninode_claude-0.2.0/scripts/view_agent_manifest.py +112 -0
- omninode_claude-0.2.0/scripts/view_manifest.py +45 -0
- omninode_claude-0.2.0/shared_lib/KAFKA_CONFIG_MIGRATION.md +189 -0
- omninode_claude-0.2.0/shared_lib/__init__.py +10 -0
- omninode_claude-0.2.0/shared_lib/kafka_config.py +118 -0
- omninode_claude-0.2.0/shared_lib/kafka_publisher.py +209 -0
- omninode_claude-0.2.0/shared_lib/py.typed +0 -0
- omninode_claude-0.2.0/shared_lib/setup.sh +50 -0
- omninode_claude-0.2.0/sql/migrations/001_create_claude_session_tables.sql +154 -0
- omninode_claude-0.2.0/sql/migrations/001_create_claude_session_tables_down.sql +38 -0
- omninode_claude-0.2.0/src/omniclaude/__init__.py +17 -0
- omninode_claude-0.2.0/src/omniclaude/aggregators/__init__.py +93 -0
- omninode_claude-0.2.0/src/omniclaude/aggregators/config.py +138 -0
- omninode_claude-0.2.0/src/omniclaude/aggregators/enums.py +71 -0
- omninode_claude-0.2.0/src/omniclaude/aggregators/protocol_session_aggregator.py +405 -0
- omninode_claude-0.2.0/src/omniclaude/aggregators/session_aggregator.py +1651 -0
- omninode_claude-0.2.0/src/omniclaude/app/__init__.py +2 -0
- omninode_claude-0.2.0/src/omniclaude/app/version.py +9 -0
- omninode_claude-0.2.0/src/omniclaude/cli/__init__.py +16 -0
- omninode_claude-0.2.0/src/omniclaude/cli/patterns.py +169 -0
- omninode_claude-0.2.0/src/omniclaude/cli/trace.py +632 -0
- omninode_claude-0.2.0/src/omniclaude/config/__init__.py +30 -0
- omninode_claude-0.2.0/src/omniclaude/config/model_local_llm_config.py +514 -0
- omninode_claude-0.2.0/src/omniclaude/config/settings.py +659 -0
- omninode_claude-0.2.0/src/omniclaude/contracts/__init__.py +55 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/__init__.py +128 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/cli_emit.py +839 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/cohort_assignment.py +361 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/context_config.py +509 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/__init__.py +101 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_experiment_cohort.py +424 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_experiment_cohort.yaml +93 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_prompt_submitted.py +260 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_prompt_submitted.yaml +212 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_session_ended.py +235 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_session_ended.yaml +195 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_session_outcome.yaml +188 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_session_started.py +210 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_session_started.yaml +192 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_tool_executed.py +465 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_tool_executed.yaml +215 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/schema/__init__.py +40 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/contracts/schema/model_json_schema.py +309 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/event_registry.py +827 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/evidence_resolver.py +47 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/handler_context_injection.py +1260 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/handler_event_emitter.py +1324 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/injection_limits.py +890 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/lib/__init__.py +11 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/lib/compliance_result_subscriber.py +508 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/lib/decision_record_subscriber.py +414 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/models.py +86 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/models_injection_tracking.py +123 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/schemas.py +2729 -0
- omninode_claude-0.2.0/src/omniclaude/hooks/topics.py +388 -0
- omninode_claude-0.2.0/src/omniclaude/lib/__init__.py +15 -0
- omninode_claude-0.2.0/src/omniclaude/lib/clients/__init__.py +11 -0
- omninode_claude-0.2.0/src/omniclaude/lib/config/__init__.py +12 -0
- omninode_claude-0.2.0/src/omniclaude/lib/config/intelligence_config.py +384 -0
- omninode_claude-0.2.0/src/omniclaude/lib/consumer_group_guard.py +170 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/__init__.py +122 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/action_event_publisher.py +805 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/action_logger.py +584 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/agent_router.py +896 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/agent_transformer.py +447 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/capability_index.py +370 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/confidence_scorer.py +303 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/intelligence_cache.py +267 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/intelligence_event_client.py +265 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/intelligence_gatherer.py +656 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/manifest_injector.py +5555 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/result_cache.py +320 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/routing_event_client.py +276 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/transformation_validator.py +333 -0
- omninode_claude-0.2.0/src/omniclaude/lib/core/trigger_matcher.py +524 -0
- omninode_claude-0.2.0/src/omniclaude/lib/errors.py +17 -0
- omninode_claude-0.2.0/src/omniclaude/lib/intelligence_usage_tracker.py +641 -0
- omninode_claude-0.2.0/src/omniclaude/lib/kafka_producer_utils.py +295 -0
- omninode_claude-0.2.0/src/omniclaude/lib/kafka_publisher_base.py +331 -0
- omninode_claude-0.2.0/src/omniclaude/lib/manifest_injection_event_publisher.py +338 -0
- omninode_claude-0.2.0/src/omniclaude/lib/models/__init__.py +26 -0
- omninode_claude-0.2.0/src/omniclaude/lib/models/intelligence_context.py +231 -0
- omninode_claude-0.2.0/src/omniclaude/lib/pattern_quality_scorer.py +484 -0
- omninode_claude-0.2.0/src/omniclaude/lib/task_classifier.py +718 -0
- omninode_claude-0.2.0/src/omniclaude/lib/transformation_event_publisher.py +428 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/__init__.py +120 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/consensus/__init__.py +11 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/consensus/quorum.py +787 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/correction/__init__.py +13 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/correction/ast_corrector.py +461 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/correction/framework_detector.py +378 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/correction/generator.py +460 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/debug_utils.py +602 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/error_handling.py +394 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/health_checks.py +562 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/manifest_loader.py +116 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/naming_validator.py +997 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/pattern_tracker.py +873 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/pattern_tracker_sync.py +367 -0
- omninode_claude-0.2.0/src/omniclaude/lib/utils/quality_enforcer.py +1347 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/__init__.py +69 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/_internal/__init__.py +36 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/_internal/_types.py +77 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/_internal/confidence_scoring.py +277 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/_internal/trigger_matching.py +548 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/contract.yaml +112 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/handler_routing_default.py +414 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/handler_routing_llm.py +477 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/models/__init__.py +26 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/models/model_agent_definition.py +78 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/models/model_confidence_breakdown.py +75 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/models/model_routing_request.py +71 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/models/model_routing_result.py +95 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/node.py +47 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/protocols/__init__.py +25 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/protocols/protocol_agent_routing.py +88 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/__init__.py +4 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/enums/__init__.py +4 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/enums/enum_ambiguity_type.py +43 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/enums/enum_gate_verdict.py +23 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/handler_ambiguity_gate_default.py +243 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/models/__init__.py +4 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/models/model_ambiguity_flag.py +50 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/models/model_ambiguity_gate_error.py +36 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/models/model_gate_check_request.py +81 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/models/model_gate_check_result.py +58 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/node.py +42 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/__init__.py +36 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/contract.yaml +137 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/models/__init__.py +25 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/models/model_claude_code_session_request.py +67 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/node.py +52 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/protocols/__init__.py +26 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/protocols/protocol_claude_code_session.py +78 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/__init__.py +71 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/enums/__init__.py +4 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/enums/enum_ac_verdict.py +27 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/enums/enum_execution_outcome.py +29 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/handler_evidence_bundle_default.py +97 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/models/__init__.py +4 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/models/model_ac_verification_record.py +55 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/models/model_bundle_generate_request.py +97 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/models/model_evidence_bundle.py +113 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/node.py +41 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/protocol_bundle_store.py +60 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/store_bundle_in_memory.py +82 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/__init__.py +39 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/contract.yaml +187 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/models/__init__.py +25 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/models/model_git_request.py +94 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/models/model_git_result.py +70 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/node.py +57 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/protocols/__init__.py +30 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/protocols/protocol_git_operations.py +108 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/__init__.py +39 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/contract.yaml +157 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/models/__init__.py +24 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/models/model_linear_request.py +77 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/models/model_linear_result.py +70 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/node.py +56 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/protocols/__init__.py +28 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/protocols/protocol_linear_ticketing.py +89 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_coding_orchestrator/__init__.py +25 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_coding_orchestrator/contract.yaml +82 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_coding_orchestrator/models/__init__.py +14 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_coding_orchestrator/node.py +52 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_coding_orchestrator/protocols/__init__.py +11 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/__init__.py +36 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/contract.yaml +116 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/models/__init__.py +21 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/models/model_local_llm_inference_request.py +63 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/node.py +51 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/protocols/__init__.py +24 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/protocols/protocol_local_llm_inference.py +52 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/__init__.py +13 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/enums/__init__.py +14 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/enums/enum_intent_type.py +43 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/enums/enum_resolution_path.py +33 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/handler_nl_intent_default.py +363 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/models/__init__.py +25 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/models/model_classification_response.py +38 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/models/model_extracted_entity.py +54 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/models/model_intent_object.py +167 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/models/model_nl_parse_request.py +67 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/node.py +41 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/__init__.py +4 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/enums/__init__.py +4 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/enums/enum_promotion_status.py +27 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/handler_pattern_promotion_default.py +241 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/models/__init__.py +4 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/models/model_pattern_promotion_request.py +80 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/models/model_pattern_promotion_result.py +63 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/models/model_promoted_pattern.py +93 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/models/model_promotion_criteria.py +43 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/node.py +41 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/protocol_pattern_store.py +59 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/store_pattern_in_memory.py +72 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/__init__.py +66 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/contract.yaml +128 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/models/__init__.py +37 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/models/model_learned_pattern_query.py +88 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/models/model_learned_pattern_query_result.py +77 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/models/model_learned_pattern_record.py +130 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/models/model_learned_pattern_upsert_result.py +69 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/node.py +49 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/protocols/__init__.py +26 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/protocols/protocol_pattern_persistence.py +129 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/__init__.py +13 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/enums/__init__.py +11 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/enums/enum_work_unit_type.py +32 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/handler_plan_dag_default.py +393 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/models/__init__.py +21 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/models/model_dag_edge.py +54 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/models/model_plan_dag.py +146 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/models/model_plan_dag_request.py +61 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/models/model_work_unit.py +65 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/node.py +41 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/protocol_pattern_cache.py +32 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/protocol_promoted_pattern.py +39 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/__init__.py +54 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/contract.yaml +118 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/handler_routing_emitter.py +251 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/models/__init__.py +21 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/models/model_emission_request.py +101 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/models/model_emission_result.py +54 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/node.py +48 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/protocols/__init__.py +24 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/protocols/protocol_routing_emitter.py +88 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/__init__.py +55 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/contract.yaml +129 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/handler_history_postgres.py +345 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/models/__init__.py +24 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/models/model_agent_routing_stats.py +62 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/models/model_agent_stats_entry.py +86 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/node.py +49 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/protocols/__init__.py +26 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/protocols/protocol_history_store.py +116 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/__init__.py +15 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/enums/__init__.py +14 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/enums/enum_assertion_type.py +31 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/enums/enum_sandbox_level.py +25 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/handler_ticket_compile_default.py +507 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/__init__.py +27 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/model_acceptance_criterion.py +80 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/model_compiled_ticket.py +125 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/model_idl_spec.py +65 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/model_policy_envelope.py +79 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/model_ticket_compile_request.py +87 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/node.py +41 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/__init__.py +39 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/contract.yaml +140 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/models/__init__.py +24 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/models/model_ticketing_request.py +65 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/models/model_ticketing_result.py +70 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/node.py +58 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/protocols/__init__.py +26 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/protocols/protocol_ticketing_base.py +79 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/routing_models/__init__.py +62 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/shared/__init__.py +31 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/shared/handler_skill_requested.py +217 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/shared/models/__init__.py +14 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/shared/models/model_skill_request.py +84 -0
- omninode_claude-0.2.0/src/omniclaude/nodes/shared/models/model_skill_result.py +65 -0
- omninode_claude-0.2.0/src/omniclaude/publisher/__init__.py +62 -0
- omninode_claude-0.2.0/src/omniclaude/publisher/__main__.py +158 -0
- omninode_claude-0.2.0/src/omniclaude/publisher/embedded_publisher.py +611 -0
- omninode_claude-0.2.0/src/omniclaude/publisher/emit_client.py +168 -0
- omninode_claude-0.2.0/src/omniclaude/publisher/event_queue.py +334 -0
- omninode_claude-0.2.0/src/omniclaude/publisher/publisher_config.py +175 -0
- omninode_claude-0.2.0/src/omniclaude/publisher/publisher_models.py +138 -0
- omninode_claude-0.2.0/src/omniclaude/runtime/__init__.py +77 -0
- omninode_claude-0.2.0/src/omniclaude/runtime/plugin.py +425 -0
- omninode_claude-0.2.0/src/omniclaude/runtime/wiring.py +173 -0
- omninode_claude-0.2.0/src/omniclaude/trace/__init__.py +113 -0
- omninode_claude-0.2.0/src/omniclaude/trace/change_frame.py +233 -0
- omninode_claude-0.2.0/src/omniclaude/trace/db_schema.py +220 -0
- omninode_claude-0.2.0/src/omniclaude/trace/failure_signature.py +241 -0
- omninode_claude-0.2.0/src/omniclaude/trace/fix_transition.py +256 -0
- omninode_claude-0.2.0/src/omniclaude/trace/frame_assembler.py +643 -0
- omninode_claude-0.2.0/src/omniclaude/trace/intelligence_integration.py +488 -0
- omninode_claude-0.2.0/src/omniclaude/trace/pr_envelope.py +363 -0
- omninode_claude-0.2.0/src/omniclaude/trace/replay_engine.py +439 -0
- omninode_claude-0.2.0/tests/README_KAFKA_TESTS.md +476 -0
- omninode_claude-0.2.0/tests/TEST_ALIGNMENT_SUMMARY.md +299 -0
- omninode_claude-0.2.0/tests/__init__.py +4 -0
- omninode_claude-0.2.0/tests/aggregators/__init__.py +4 -0
- omninode_claude-0.2.0/tests/aggregators/test_session_aggregator.py +2412 -0
- omninode_claude-0.2.0/tests/benchmarks/__init__.py +2 -0
- omninode_claude-0.2.0/tests/benchmarks/py.typed +0 -0
- omninode_claude-0.2.0/tests/conftest.py +1045 -0
- omninode_claude-0.2.0/tests/contracts/__init__.py +5 -0
- omninode_claude-0.2.0/tests/contracts/test_assert_no_extra_fields.py +206 -0
- omninode_claude-0.2.0/tests/contracts/test_pydantic_contract_models.py +408 -0
- omninode_claude-0.2.0/tests/fixtures/sample_learned_patterns.json +36 -0
- omninode_claude-0.2.0/tests/handlers/__init__.py +5 -0
- omninode_claude-0.2.0/tests/hooks/__init__.py +12 -0
- omninode_claude-0.2.0/tests/hooks/conftest.py +235 -0
- omninode_claude-0.2.0/tests/hooks/dict_evidence_resolver.py +28 -0
- omninode_claude-0.2.0/tests/hooks/test_agent_accuracy_detector.py +612 -0
- omninode_claude-0.2.0/tests/hooks/test_agent_status_emitter.py +809 -0
- omninode_claude-0.2.0/tests/hooks/test_attribution_binder.py +572 -0
- omninode_claude-0.2.0/tests/hooks/test_bash_guard.py +700 -0
- omninode_claude-0.2.0/tests/hooks/test_blocked_notifier.py +589 -0
- omninode_claude-0.2.0/tests/hooks/test_cli_emit.py +970 -0
- omninode_claude-0.2.0/tests/hooks/test_cohort_assignment.py +867 -0
- omninode_claude-0.2.0/tests/hooks/test_compliance_result_subscriber.py +681 -0
- omninode_claude-0.2.0/tests/hooks/test_context_config.py +259 -0
- omninode_claude-0.2.0/tests/hooks/test_context_injection_api_source.py +585 -0
- omninode_claude-0.2.0/tests/hooks/test_context_injection_cache.py +395 -0
- omninode_claude-0.2.0/tests/hooks/test_context_injection_schemas.py +758 -0
- omninode_claude-0.2.0/tests/hooks/test_contracts.py +402 -0
- omninode_claude-0.2.0/tests/hooks/test_decision_record_subscriber.py +299 -0
- omninode_claude-0.2.0/tests/hooks/test_emit_client_wrapper.py +984 -0
- omninode_claude-0.2.0/tests/hooks/test_emit_ticket_status.py +546 -0
- omninode_claude-0.2.0/tests/hooks/test_event_registry.py +1134 -0
- omninode_claude-0.2.0/tests/hooks/test_evidence_driven_injection.py +135 -0
- omninode_claude-0.2.0/tests/hooks/test_feedback_guardrails.py +845 -0
- omninode_claude-0.2.0/tests/hooks/test_golden_path_session_lifecycle.py +535 -0
- omninode_claude-0.2.0/tests/hooks/test_graduated_injection.py +1004 -0
- omninode_claude-0.2.0/tests/hooks/test_handler_context_injection.py +1140 -0
- omninode_claude-0.2.0/tests/hooks/test_handler_event_emitter.py +1143 -0
- omninode_claude-0.2.0/tests/hooks/test_injection_limits.py +1253 -0
- omninode_claude-0.2.0/tests/hooks/test_injection_tracking.py +387 -0
- omninode_claude-0.2.0/tests/hooks/test_integration_kafka.py +1377 -0
- omninode_claude-0.2.0/tests/hooks/test_metrics_aggregator.py +776 -0
- omninode_claude-0.2.0/tests/hooks/test_node_session_lifecycle_reducer.py +180 -0
- omninode_claude-0.2.0/tests/hooks/test_node_session_state_adapter.py +479 -0
- omninode_claude-0.2.0/tests/hooks/test_node_session_state_effect.py +587 -0
- omninode_claude-0.2.0/tests/hooks/test_pattern_advisory_formatter.py +537 -0
- omninode_claude-0.2.0/tests/hooks/test_pattern_cache.py +281 -0
- omninode_claude-0.2.0/tests/hooks/test_pattern_enforcement.py +1700 -0
- omninode_claude-0.2.0/tests/hooks/test_pattern_sync.py +317 -0
- omninode_claude-0.2.0/tests/hooks/test_phase_instrumentation.py +1514 -0
- omninode_claude-0.2.0/tests/hooks/test_promotion_gater.py +765 -0
- omninode_claude-0.2.0/tests/hooks/test_schemas.py +2222 -0
- omninode_claude-0.2.0/tests/hooks/test_secret_redactor.py +195 -0
- omninode_claude-0.2.0/tests/hooks/test_session_outcome.py +1263 -0
- omninode_claude-0.2.0/tests/hooks/test_session_raw_outcome.py +616 -0
- omninode_claude-0.2.0/tests/hooks/test_session_start_injection.py +860 -0
- omninode_claude-0.2.0/tests/hooks/test_static_context_snapshot.py +913 -0
- omninode_claude-0.2.0/tests/hooks/test_topics.py +324 -0
- omninode_claude-0.2.0/tests/hooks/test_utilization_detector.py +711 -0
- omninode_claude-0.2.0/tests/init-test-db.sql +90 -0
- omninode_claude-0.2.0/tests/integration/__init__.py +21 -0
- omninode_claude-0.2.0/tests/integration/pipeline/__init__.py +2 -0
- omninode_claude-0.2.0/tests/integration/pipeline/conftest.py +47 -0
- omninode_claude-0.2.0/tests/integration/pipeline/test_nl_to_ticket_pipeline.py +780 -0
- omninode_claude-0.2.0/tests/integration/skills/__init__.py +0 -0
- omninode_claude-0.2.0/tests/integration/skills/fix_prs/__init__.py +0 -0
- omninode_claude-0.2.0/tests/integration/skills/fix_prs/test_fix_prs_integration.py +575 -0
- omninode_claude-0.2.0/tests/integration/skills/gap_fix/__init__.py +0 -0
- omninode_claude-0.2.0/tests/integration/skills/gap_fix/test_gap_fix_integration.py +542 -0
- omninode_claude-0.2.0/tests/integration/skills/merge_sweep/__init__.py +0 -0
- omninode_claude-0.2.0/tests/integration/skills/merge_sweep/test_merge_sweep_integration.py +496 -0
- omninode_claude-0.2.0/tests/integration/skills/pr_queue_pipeline/__init__.py +0 -0
- omninode_claude-0.2.0/tests/integration/skills/pr_queue_pipeline/test_pr_queue_pipeline_integration.py +478 -0
- omninode_claude-0.2.0/tests/integration/skills/review_all_prs/__init__.py +0 -0
- omninode_claude-0.2.0/tests/integration/skills/review_all_prs/test_review_all_prs_integration.py +603 -0
- omninode_claude-0.2.0/tests/integration/test_golden_path_harness.py +863 -0
- omninode_claude-0.2.0/tests/integration/test_pattern_persistence.py +268 -0
- omninode_claude-0.2.0/tests/integration/test_routing_degradation.py +114 -0
- omninode_claude-0.2.0/tests/lib/__init__.py +5 -0
- omninode_claude-0.2.0/tests/lib/config/__init__.py +5 -0
- omninode_claude-0.2.0/tests/lib/config/test_intelligence_config.py +966 -0
- omninode_claude-0.2.0/tests/lib/core/__init__.py +5 -0
- omninode_claude-0.2.0/tests/lib/core/conftest.py +97 -0
- omninode_claude-0.2.0/tests/lib/core/test_intelligence_event_client.py +901 -0
- omninode_claude-0.2.0/tests/lib/core/test_onex_routing_nodes.py +666 -0
- omninode_claude-0.2.0/tests/lib/core/test_route_via_events_wrapper.py +1257 -0
- omninode_claude-0.2.0/tests/lib/core/test_routing_event_client.py +675 -0
- omninode_claude-0.2.0/tests/lib/core/test_transformation_validator.py +345 -0
- omninode_claude-0.2.0/tests/lib/models/__init__.py +5 -0
- omninode_claude-0.2.0/tests/lib/models/test_intelligence_context.py +457 -0
- omninode_claude-0.2.0/tests/lib/test_errors.py +243 -0
- omninode_claude-0.2.0/tests/lib/test_intelligence_usage_tracker.py +953 -0
- omninode_claude-0.2.0/tests/lib/test_pattern_quality_scorer.py +1010 -0
- omninode_claude-0.2.0/tests/lib/test_task_classifier.py +1360 -0
- omninode_claude-0.2.0/tests/lib/test_transformation_event_publisher.py +620 -0
- omninode_claude-0.2.0/tests/nodes/__init__.py +5 -0
- omninode_claude-0.2.0/tests/nodes/test_node_pattern_persistence_effect/__init__.py +5 -0
- omninode_claude-0.2.0/tests/nodes/test_node_pattern_persistence_effect/test_models.py +803 -0
- omninode_claude-0.2.0/tests/nodes/test_routing_models/__init__.py +5 -0
- omninode_claude-0.2.0/tests/nodes/test_routing_models/test_models.py +899 -0
- omninode_claude-0.2.0/tests/publisher/__init__.py +2 -0
- omninode_claude-0.2.0/tests/publisher/test_config.py +116 -0
- omninode_claude-0.2.0/tests/publisher/test_embedded_publisher.py +492 -0
- omninode_claude-0.2.0/tests/publisher/test_event_queue.py +213 -0
- omninode_claude-0.2.0/tests/publisher/test_main.py +148 -0
- omninode_claude-0.2.0/tests/publisher/test_models.py +94 -0
- omninode_claude-0.2.0/tests/py.typed +0 -0
- omninode_claude-0.2.0/tests/routing/__init__.py +4 -0
- omninode_claude-0.2.0/tests/routing/conftest.py +82 -0
- omninode_claude-0.2.0/tests/routing/generate_corpus.py +730 -0
- omninode_claude-0.2.0/tests/routing/golden_corpus.json +3313 -0
- omninode_claude-0.2.0/tests/routing/test_handler_routing_llm.py +691 -0
- omninode_claude-0.2.0/tests/routing/test_handlers.py +444 -0
- omninode_claude-0.2.0/tests/routing/test_internal.py +229 -0
- omninode_claude-0.2.0/tests/routing/test_regression_harness.py +630 -0
- omninode_claude-0.2.0/tests/runtime/__init__.py +5 -0
- omninode_claude-0.2.0/tests/runtime/test_plugin_claude.py +718 -0
- omninode_claude-0.2.0/tests/runtime/test_wiring.py +1562 -0
- omninode_claude-0.2.0/tests/skills/linear-insights/deep-dive/test_deep_dive_repo_discovery.py +495 -0
- omninode_claude-0.2.0/tests/skills/system-status/check-kafka-topics/test_topic_pattern_validation.py +278 -0
- omninode_claude-0.2.0/tests/test_architecture_handshake_injector.py +501 -0
- omninode_claude-0.2.0/tests/test_dependencies.py +169 -0
- omninode_claude-0.2.0/tests/test_disabled_pattern_filter.py +343 -0
- omninode_claude-0.2.0/tests/test_ticket_context_injector.py +613 -0
- omninode_claude-0.2.0/tests/test_tool_execution_logging.sh +146 -0
- omninode_claude-0.2.0/tests/unit/config/__init__.py +2 -0
- omninode_claude-0.2.0/tests/unit/config/test_model_local_llm_config.py +488 -0
- omninode_claude-0.2.0/tests/unit/hooks/test_decision_record_schemas.py +321 -0
- omninode_claude-0.2.0/tests/unit/nodes/__init__.py +4 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_ambiguity_gate/__init__.py +2 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_ambiguity_gate/test_ambiguity_gate.py +579 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_evidence_bundle/__init__.py +2 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_evidence_bundle/test_evidence_bundle.py +418 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_nl_intent_pipeline/__init__.py +4 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_nl_intent_pipeline/test_intent_pipeline.py +403 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_omnimemory_promotion/__init__.py +2 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_omnimemory_promotion/test_pattern_promotion.py +483 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_plan_dag_generator/__init__.py +4 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_plan_dag_generator/test_plan_dag.py +425 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_ticket_compiler/__init__.py +2 -0
- omninode_claude-0.2.0/tests/unit/nodes/node_ticket_compiler/test_ticket_compilation.py +576 -0
- omninode_claude-0.2.0/tests/unit/nodes/shared/__init__.py +4 -0
- omninode_claude-0.2.0/tests/unit/nodes/shared/test_handler_skill_requested.py +243 -0
- omninode_claude-0.2.0/tests/unit/nodes/shared/test_model_skill_request.py +96 -0
- omninode_claude-0.2.0/tests/unit/skills/__init__.py +2 -0
- omninode_claude-0.2.0/tests/unit/skills/slack_gate/__init__.py +2 -0
- omninode_claude-0.2.0/tests/unit/skills/slack_gate/test_slack_gate_poll.py +300 -0
- omninode_claude-0.2.0/tests/unit/test_ci_enforcement_checks.py +466 -0
- omninode_claude-0.2.0/tests/unit/test_consumer_group_guard.py +365 -0
- omninode_claude-0.2.0/tests/unit/test_delegation_prompt_parsing.py +852 -0
- omninode_claude-0.2.0/tests/unit/test_enrichment_prompt_parsing.py +1224 -0
- omninode_claude-0.2.0/tests/unit/test_routing_prompt_parsing.py +491 -0
- omninode_claude-0.2.0/tests/unit/trace/__init__.py +2 -0
- omninode_claude-0.2.0/tests/unit/trace/test_db_schema.py +333 -0
- omninode_claude-0.2.0/tests/unit/trace/test_failure_signature.py +446 -0
- omninode_claude-0.2.0/tests/unit/trace/test_fix_transition.py +481 -0
- omninode_claude-0.2.0/tests/unit/trace/test_frame_assembler.py +691 -0
- omninode_claude-0.2.0/tests/unit/trace/test_intelligence_integration.py +529 -0
- omninode_claude-0.2.0/tests/unit/trace/test_models.py +503 -0
- omninode_claude-0.2.0/tests/unit/trace/test_pr_envelope.py +511 -0
- omninode_claude-0.2.0/tests/unit/trace/test_replay_engine.py +564 -0
- omninode_claude-0.2.0/tests/unit/trace/test_trace_cli.py +806 -0
- omninode_claude-0.2.0/tests/validate_event_integration.py +179 -0
- omninode_claude-0.2.0/tests/validate_ledger_stop_reasons.py +211 -0
- omninode_claude-0.2.0/uv.lock +3114 -0
- omninode_claude-0.2.0/validation/WEEK1_SUMMARY.txt +77 -0
- omninode_claude-0.2.0/validation/contracts/any_type.validation.yaml +111 -0
- omninode_claude-0.2.0/validation/contracts/patterns.validation.yaml +141 -0
- omninode_claude-0.2.0/validation/contracts/pydantic_conventions.validation.yaml +142 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# BANDIT SECURITY CONFIGURATION - OmniClaude
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# YAML format required for bandit >= 1.7
|
|
5
|
+
#
|
|
6
|
+
# OWNERSHIP & MAINTENANCE:
|
|
7
|
+
# - Owner: Security team / code reviewers
|
|
8
|
+
# - Review: Quarterly (or after security incidents)
|
|
9
|
+
# - Last Review: 2025-11-26
|
|
10
|
+
# - Next Review: 2026-02-26
|
|
11
|
+
#
|
|
12
|
+
# APPROVAL REQUIRED FOR CHANGES:
|
|
13
|
+
# - Adding new global skips: Security team approval
|
|
14
|
+
# - Adding path-specific skips: PR review by 2+ maintainers
|
|
15
|
+
# - Removing skips: Can be done freely (improves security)
|
|
16
|
+
# =============================================================================
|
|
17
|
+
|
|
18
|
+
# Exclude directories from scanning
|
|
19
|
+
exclude_dirs:
|
|
20
|
+
- agents/templates
|
|
21
|
+
- agents/parallel_execution/templates
|
|
22
|
+
- agents/tests
|
|
23
|
+
- claude_hooks/tests
|
|
24
|
+
- skills
|
|
25
|
+
- .venv
|
|
26
|
+
- claude/lib/.venv
|
|
27
|
+
- __pycache__
|
|
28
|
+
- build
|
|
29
|
+
- dist
|
|
30
|
+
- _archive
|
|
31
|
+
- src/omniclaude/lib # Legacy code - excluded from security scans, will be deleted post-Beta
|
|
32
|
+
|
|
33
|
+
# Skip specific test IDs
|
|
34
|
+
# See comments below for rationale
|
|
35
|
+
skips:
|
|
36
|
+
- B101 # assert_used - Tests use assertions
|
|
37
|
+
- B104 # hardcoded_bind_all_interfaces - Dev environments
|
|
38
|
+
- B105 # hardcoded_password_string - Config via env vars
|
|
39
|
+
- B106 # hardcoded_password_funcarg - Config via env vars
|
|
40
|
+
- B107 # hardcoded_password_default - Config via env vars
|
|
41
|
+
- B108 # hardcoded_tmp_directory - Controlled usage
|
|
42
|
+
- B201 # flask_debug_true - Env-controlled
|
|
43
|
+
- B311 # random - Non-security usage only
|
|
44
|
+
- B404 # subprocess_import - Required for system integration
|
|
45
|
+
- B603 # subprocess_without_shell_equals_true - Validated inputs
|
|
46
|
+
- B607 # start_process_with_partial_path - Dev environment
|
|
47
|
+
|
|
48
|
+
# =============================================================================
|
|
49
|
+
# HIGH-SIGNAL CHECKS - NOW ENABLED:
|
|
50
|
+
# =============================================================================
|
|
51
|
+
# B110 - try_except_pass (ENABLED - catches silent exception hiding)
|
|
52
|
+
# B608 - sql_statements_without_placeholders (ENABLED - SQL injection)
|
|
53
|
+
#
|
|
54
|
+
# Use `# nosec B<ID> - <reason>` inline for justified exceptions
|
|
55
|
+
# =============================================================================
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
<!-- HANDSHAKE_METADATA
|
|
2
|
+
source: omnibase_core/architecture-handshakes/repos/omniclaude.md
|
|
3
|
+
source_version: 0.16.0
|
|
4
|
+
source_sha256: d8df39f64798bfc5bae4a0ead668a15cf8ec0a2e2c20354b94bdfbef2ecf91a0
|
|
5
|
+
installed_at: 2026-02-10T13:51:26Z
|
|
6
|
+
installed_by: jonah
|
|
7
|
+
-->
|
|
8
|
+
|
|
9
|
+
# OmniNode Architecture – Constraint Map (omniclaude)
|
|
10
|
+
|
|
11
|
+
> **Role**: Claude Code integration – hooks, skills, agent definitions
|
|
12
|
+
> **Handshake Version**: 0.2.0
|
|
13
|
+
|
|
14
|
+
## Platform-Wide Rules
|
|
15
|
+
|
|
16
|
+
1. **No backwards compatibility** - Breaking changes always acceptable. No deprecation periods, shims, or migration paths.
|
|
17
|
+
2. **Delete old code immediately** - Never leave deprecated code "for reference." If unused, delete it.
|
|
18
|
+
3. **No speculative refactors** - Only make changes that are directly requested or clearly necessary.
|
|
19
|
+
4. **No silent schema changes** - All schema changes must be explicit and deliberate.
|
|
20
|
+
5. **Frozen event schemas** - All models crossing boundaries (events, intents, actions, envelopes, projections) must use `frozen=True`. Internal mutable state is fine.
|
|
21
|
+
6. **Explicit timestamps** - Never use `datetime.now()` defaults. Inject timestamps explicitly.
|
|
22
|
+
7. **No hardcoded configuration** - All config via `.env` or Pydantic Settings. No localhost defaults.
|
|
23
|
+
8. **Kafka is required infrastructure** - Use async/non-blocking patterns. Never block the calling thread waiting for Kafka acks.
|
|
24
|
+
9. **No `# type: ignore` without justification** - Requires explanation comment and ticket reference.
|
|
25
|
+
|
|
26
|
+
## Core Principles
|
|
27
|
+
|
|
28
|
+
- Hooks never block Claude Code
|
|
29
|
+
- Data loss acceptable; UI freeze is not
|
|
30
|
+
- Graceful degradation on infrastructure failure
|
|
31
|
+
- Fail-fast configuration (services disabled by default)
|
|
32
|
+
- Privacy-first event emission (public vs restricted topics)
|
|
33
|
+
|
|
34
|
+
## This Repo Contains
|
|
35
|
+
|
|
36
|
+
- Claude Code hooks (SessionStart, UserPromptSubmit, PostToolUse, SessionEnd)
|
|
37
|
+
- Agent YAML definitions (`plugins/onex/agents/configs/`)
|
|
38
|
+
- Slash commands and skills (`plugins/onex/commands/`, `plugins/onex/skills/`)
|
|
39
|
+
- Event emission via Unix socket daemon
|
|
40
|
+
- Context injection and pattern learning system
|
|
41
|
+
- Polymorphic agent coordination (Polly)
|
|
42
|
+
|
|
43
|
+
## Rules the Agent Must Obey
|
|
44
|
+
|
|
45
|
+
### Hook Rules
|
|
46
|
+
|
|
47
|
+
1. **Hook scripts must NEVER block on Kafka** - Blocking hooks freeze Claude Code UI
|
|
48
|
+
2. **Hooks must exit 0 unless blocking is intentional** - Non-zero exit blocks the tool/prompt
|
|
49
|
+
3. **All event schemas are frozen** (`frozen=True`) - Events are immutable after emission
|
|
50
|
+
4. **`emitted_at` timestamps must be explicitly injected** - No `datetime.now()` defaults
|
|
51
|
+
5. **SessionStart must be idempotent** - May be called multiple times on reconnect
|
|
52
|
+
|
|
53
|
+
### Privacy & Topic Rules
|
|
54
|
+
|
|
55
|
+
6. **Only preview-safe data to `onex.evt.*` topics** - Observability topics have broad access
|
|
56
|
+
7. **Full prompts ONLY to `onex.cmd.omniintelligence.*`** - Intelligence topics are access-restricted
|
|
57
|
+
8. **Topic naming follows ONEX canonical format** - `onex.{kind}.{producer}.{event-name}.v{n}`
|
|
58
|
+
9. **Secrets must be auto-redacted** - OpenAI keys, AWS keys, GitHub tokens, etc.
|
|
59
|
+
|
|
60
|
+
### Agent YAML Rules
|
|
61
|
+
|
|
62
|
+
10. **Agent YAML requires `schema_version: "1.0.0"`** - Required for validation
|
|
63
|
+
11. **Agent names must start with `agent-`** - Convention: `agent-api-architect`
|
|
64
|
+
12. **Agent types use snake_case** - Example: `api_architect`
|
|
65
|
+
13. **All agents need `activation_patterns`** - Makes agent routable
|
|
66
|
+
|
|
67
|
+
### Configuration Rules
|
|
68
|
+
|
|
69
|
+
14. **No localhost defaults** - Prevents production mistakes
|
|
70
|
+
15. **Services default to disabled** - Explicit `USE_EVENT_ROUTING=true` required
|
|
71
|
+
16. **`KAFKA_ENVIRONMENT` must be explicit** - One of: `dev`, `staging`, `prod`
|
|
72
|
+
17. **Use `${CLAUDE_PLUGIN_ROOT}` for paths** - Never hardcode absolute paths
|
|
73
|
+
|
|
74
|
+
## Performance Budgets
|
|
75
|
+
|
|
76
|
+
| Hook | Budget | Sync Components | Async Components |
|
|
77
|
+
|------|--------|-----------------|------------------|
|
|
78
|
+
| SessionStart | <50ms | daemon check, stdin read | Kafka, Postgres |
|
|
79
|
+
| UserPromptSubmit | <500ms | routing, agent load, context | Kafka, intelligence |
|
|
80
|
+
| PostToolUse | <100ms | stdin read, quality check | Kafka, content capture |
|
|
81
|
+
| SessionEnd | <50ms | stdin read | Kafka, Postgres |
|
|
82
|
+
|
|
83
|
+
## Parallel Execution Rules (Polymorphic Agents)
|
|
84
|
+
|
|
85
|
+
- **File Separation**: Each Polly creates own file (zero conflicts)
|
|
86
|
+
- **Single Branch**: All work on same branch (no merge overhead)
|
|
87
|
+
- **Clear Interfaces**: Contracts defined upfront before dispatch
|
|
88
|
+
- **Simultaneous Launch**: All Pollys in single message (true parallelism)
|
|
89
|
+
|
|
90
|
+
## Non-Goals (DO NOT)
|
|
91
|
+
|
|
92
|
+
- ❌ No blocking operations in hooks
|
|
93
|
+
- ❌ No sensitive data in `onex.evt.*` topics
|
|
94
|
+
- ❌ No agent YAML without `schema_version`
|
|
95
|
+
- ❌ No sequential Polly dispatch when parallel is possible
|
|
96
|
+
|
|
97
|
+
## Failure Mode: Always Continue
|
|
98
|
+
|
|
99
|
+
| Failure | Behavior | Exit Code |
|
|
100
|
+
|---------|----------|-----------|
|
|
101
|
+
| Emit daemon down | Events dropped, hook continues | 0 |
|
|
102
|
+
| Kafka unavailable | Daemon buffers, then drops | 0 |
|
|
103
|
+
| PostgreSQL down | Logging skipped | 0 |
|
|
104
|
+
| Routing timeout | Fallback to `polymorphic-agent` | 0 |
|
|
105
|
+
| Agent YAML missing | Use default agent, log warning | 0 |
|
|
106
|
+
| Context injection fails | Proceed without patterns | 0 |
|
|
107
|
+
| Malformed stdin | Log error, pass through empty | 0 |
|
|
108
|
+
|
|
109
|
+
**Design principle**: Hooks never block. Data loss is acceptable; UI freeze is not.
|
|
110
|
+
|
|
111
|
+
## Pydantic Model Configuration
|
|
112
|
+
|
|
113
|
+
All event models must use:
|
|
114
|
+
|
|
115
|
+
```python
|
|
116
|
+
model_config = ConfigDict(frozen=True, extra="ignore", from_attributes=True)
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
- `frozen=True` - Immutable after creation
|
|
120
|
+
- `extra="ignore"` - Permit external schema evolution
|
|
121
|
+
- `from_attributes=True` - pytest-xdist worker compatibility
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
|
3
|
+
"name": "omninode-tools",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "OmniNode ONEX plugin suite for intelligent agent routing, workflow automation, and observability",
|
|
6
|
+
"owner": {
|
|
7
|
+
"name": "OmniNode",
|
|
8
|
+
"email": "dev@omninode.ai"
|
|
9
|
+
},
|
|
10
|
+
"plugins": [
|
|
11
|
+
{
|
|
12
|
+
"name": "onex",
|
|
13
|
+
"description": "Unified ONEX architecture plugin with intelligent agent routing, manifest injection, quality enforcement, polymorphic YAML agents, reusable skills, and custom slash commands for comprehensive workflow automation and observability",
|
|
14
|
+
"version": "2.1.6",
|
|
15
|
+
"author": {
|
|
16
|
+
"name": "OmniNode",
|
|
17
|
+
"email": "dev@omninode.ai"
|
|
18
|
+
},
|
|
19
|
+
"source": "./plugins/onex",
|
|
20
|
+
"category": "development"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 OmniNode.ai Inc.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
# =============================================================================
|
|
5
|
+
# Cross-Repo Validation Policy - Kafka Import Guard
|
|
6
|
+
# =============================================================================
|
|
7
|
+
#
|
|
8
|
+
# Purpose: Prevent direct Kafka library imports in ONEX node and handler code.
|
|
9
|
+
# Nodes and handlers must use Protocol abstractions, not raw Kafka clients.
|
|
10
|
+
#
|
|
11
|
+
# Reference: ARCH-002 "Runtime owns all Kafka plumbing"
|
|
12
|
+
# Ticket: OMN-1748
|
|
13
|
+
# =============================================================================
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
policy_id: omniclaude_kafka_guard
|
|
17
|
+
policy_version:
|
|
18
|
+
major: 1
|
|
19
|
+
minor: 0
|
|
20
|
+
patch: 0
|
|
21
|
+
repo_id: omniclaude
|
|
22
|
+
|
|
23
|
+
# =============================================================================
|
|
24
|
+
# Discovery - What files to scan
|
|
25
|
+
# =============================================================================
|
|
26
|
+
discovery:
|
|
27
|
+
include_globs:
|
|
28
|
+
- "src/omniclaude/nodes/**/*.py"
|
|
29
|
+
- "src/omniclaude/handlers/**/*.py"
|
|
30
|
+
exclude_globs:
|
|
31
|
+
- "**/__pycache__/**"
|
|
32
|
+
- "**/node_tests/**"
|
|
33
|
+
- "**/__init__.py"
|
|
34
|
+
language_mode: python
|
|
35
|
+
skip_generated: true
|
|
36
|
+
generated_markers:
|
|
37
|
+
- "# AUTO-GENERATED"
|
|
38
|
+
- "# DO NOT EDIT"
|
|
39
|
+
|
|
40
|
+
# =============================================================================
|
|
41
|
+
# Rules
|
|
42
|
+
# =============================================================================
|
|
43
|
+
rules:
|
|
44
|
+
forbidden_imports:
|
|
45
|
+
enabled: true
|
|
46
|
+
severity: error
|
|
47
|
+
# Block entire Kafka libraries, not just consumer classes.
|
|
48
|
+
# This prevents bypassing via aliases or alternate import paths.
|
|
49
|
+
forbidden_prefixes:
|
|
50
|
+
- "aiokafka"
|
|
51
|
+
- "confluent_kafka"
|
|
52
|
+
- "kafka"
|
|
53
|
+
forbidden_modules: []
|
|
54
|
+
exceptions: []
|
|
55
|
+
|
|
56
|
+
# =============================================================================
|
|
57
|
+
# Baselines
|
|
58
|
+
# =============================================================================
|
|
59
|
+
# No baseline needed - nodes/handlers directories are clean (verified 2026-02-02)
|
|
60
|
+
# Note: lib/core/ has legacy Kafka consumers but is NOT in the scanned paths.
|
|
61
|
+
# Those will be cleaned up in OMN-1744.
|
|
62
|
+
baselines: []
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# OmniClaude Environment Configuration
|
|
3
|
+
# =============================================================================
|
|
4
|
+
# Copy this file to .env and configure for your environment:
|
|
5
|
+
# cp .env.example .env
|
|
6
|
+
# nano .env
|
|
7
|
+
# source .env
|
|
8
|
+
#
|
|
9
|
+
# CONFIGURATION CONVENTION:
|
|
10
|
+
# # REQUIRED: <description> - App fails without this value
|
|
11
|
+
# # OPTIONAL: <description> - Has a safe default, override only if needed
|
|
12
|
+
# # CONDITIONAL: <description> - Required only if related feature is enabled
|
|
13
|
+
#
|
|
14
|
+
# FAIL-FAST DESIGN:
|
|
15
|
+
# This configuration follows fail-fast principles. Services default to
|
|
16
|
+
# DISABLED until explicitly configured. This prevents silent localhost
|
|
17
|
+
# connections in production environments.
|
|
18
|
+
#
|
|
19
|
+
# To enable a service, you MUST:
|
|
20
|
+
# 1. Set the enable flag to true (e.g., ENABLE_POSTGRES=true)
|
|
21
|
+
# 2. Provide ALL required connection details
|
|
22
|
+
#
|
|
23
|
+
# FOR LOCAL DEVELOPMENT:
|
|
24
|
+
# If you don't have external services, leave enable flags as false.
|
|
25
|
+
# The app will run with reduced functionality but won't fail.
|
|
26
|
+
# =============================================================================
|
|
27
|
+
|
|
28
|
+
# =============================================================================
|
|
29
|
+
# KAFKA / REDPANDA EVENT BUS
|
|
30
|
+
# =============================================================================
|
|
31
|
+
# OmniClaude uses Kafka for event-driven architecture and learning loops.
|
|
32
|
+
# If you don't have Kafka, set USE_EVENT_ROUTING=false to disable.
|
|
33
|
+
|
|
34
|
+
# CONDITIONAL: Required if USE_EVENT_ROUTING=true
|
|
35
|
+
# Format: host:port (e.g., localhost:9092, your-kafka-server:29092)
|
|
36
|
+
# No default - must be explicitly configured when event routing is enabled
|
|
37
|
+
KAFKA_BOOTSTRAP_SERVERS=
|
|
38
|
+
|
|
39
|
+
# CONDITIONAL: Required if USE_EVENT_ROUTING=true
|
|
40
|
+
# Topic environment prefix - MUST be explicit to prevent cross-environment routing
|
|
41
|
+
# Values: dev, staging, prod
|
|
42
|
+
# No default - you must specify your environment
|
|
43
|
+
KAFKA_ENVIRONMENT=
|
|
44
|
+
|
|
45
|
+
# OPTIONAL: Legacy alias for KAFKA_BOOTSTRAP_SERVERS (deprecated, use above)
|
|
46
|
+
# KAFKA_INTELLIGENCE_BOOTSTRAP_SERVERS=
|
|
47
|
+
|
|
48
|
+
# OPTIONAL: Kafka consumer group identifier
|
|
49
|
+
# Default: omniclaude-hooks
|
|
50
|
+
KAFKA_GROUP_ID=omniclaude-hooks
|
|
51
|
+
|
|
52
|
+
# OPTIONAL: Kafka request timeout in milliseconds (100-60000)
|
|
53
|
+
# Default: 5000
|
|
54
|
+
KAFKA_REQUEST_TIMEOUT_MS=5000
|
|
55
|
+
|
|
56
|
+
# =============================================================================
|
|
57
|
+
# OMNICLAUDE DATABASE (PREFERRED)
|
|
58
|
+
# =============================================================================
|
|
59
|
+
# Full connection URL for omniclaude's own database.
|
|
60
|
+
# When set, takes precedence over individual POSTGRES_* fields below.
|
|
61
|
+
# Format: postgresql://user:password@host:port/dbname
|
|
62
|
+
# OMNICLAUDE_DB_URL=postgresql://role_omniclaude:password@192.168.86.200:5436/omniclaude
|
|
63
|
+
|
|
64
|
+
# =============================================================================
|
|
65
|
+
# POSTGRESQL DATABASE
|
|
66
|
+
# =============================================================================
|
|
67
|
+
# PostgreSQL stores hook events, agent routing decisions, and learning data.
|
|
68
|
+
# DISABLED BY DEFAULT - set ENABLE_POSTGRES=true to enable.
|
|
69
|
+
|
|
70
|
+
# OPTIONAL: Enable PostgreSQL database connection
|
|
71
|
+
# When true, ALL POSTGRES_* fields below are REQUIRED (unless OMNICLAUDE_DB_URL is set)
|
|
72
|
+
# Default: false (safe for local development without database)
|
|
73
|
+
ENABLE_POSTGRES=false
|
|
74
|
+
|
|
75
|
+
# CONDITIONAL: Required if ENABLE_POSTGRES=true (and OMNICLAUDE_DB_URL not set)
|
|
76
|
+
# PostgreSQL server hostname or IP
|
|
77
|
+
POSTGRES_HOST=
|
|
78
|
+
|
|
79
|
+
# CONDITIONAL: Required if ENABLE_POSTGRES=true (and OMNICLAUDE_DB_URL not set)
|
|
80
|
+
# PostgreSQL server port (standard: 5432)
|
|
81
|
+
POSTGRES_PORT=
|
|
82
|
+
|
|
83
|
+
# CONDITIONAL: Required if ENABLE_POSTGRES=true (and OMNICLAUDE_DB_URL not set)
|
|
84
|
+
# PostgreSQL database name (default: omniclaude after DB-SPLIT-07)
|
|
85
|
+
POSTGRES_DATABASE=
|
|
86
|
+
|
|
87
|
+
# CONDITIONAL: Required if ENABLE_POSTGRES=true (and OMNICLAUDE_DB_URL not set)
|
|
88
|
+
# PostgreSQL username
|
|
89
|
+
POSTGRES_USER=
|
|
90
|
+
|
|
91
|
+
# CONDITIONAL: Required if ENABLE_POSTGRES=true (and OMNICLAUDE_DB_URL not set)
|
|
92
|
+
# PostgreSQL password
|
|
93
|
+
POSTGRES_PASSWORD=
|
|
94
|
+
|
|
95
|
+
# =============================================================================
|
|
96
|
+
# QDRANT VECTOR DATABASE
|
|
97
|
+
# =============================================================================
|
|
98
|
+
# Qdrant provides vector similarity search for RAG and pattern discovery.
|
|
99
|
+
# DISABLED BY DEFAULT - set ENABLE_QDRANT=true to enable.
|
|
100
|
+
|
|
101
|
+
# OPTIONAL: Enable Qdrant vector database
|
|
102
|
+
# When true, QDRANT_HOST, QDRANT_PORT, and QDRANT_URL are REQUIRED
|
|
103
|
+
# Default: false (safe for local development without vector DB)
|
|
104
|
+
ENABLE_QDRANT=false
|
|
105
|
+
|
|
106
|
+
# CONDITIONAL: Required if ENABLE_QDRANT=true
|
|
107
|
+
# Qdrant server hostname or IP
|
|
108
|
+
QDRANT_HOST=
|
|
109
|
+
|
|
110
|
+
# CONDITIONAL: Required if ENABLE_QDRANT=true
|
|
111
|
+
# Qdrant REST API port (standard: 6333)
|
|
112
|
+
QDRANT_PORT=
|
|
113
|
+
|
|
114
|
+
# CONDITIONAL: Required if ENABLE_QDRANT=true
|
|
115
|
+
# Full Qdrant URL (should match QDRANT_HOST and QDRANT_PORT)
|
|
116
|
+
QDRANT_URL=
|
|
117
|
+
|
|
118
|
+
# =============================================================================
|
|
119
|
+
# VALKEY / REDIS CACHE
|
|
120
|
+
# =============================================================================
|
|
121
|
+
# Valkey (Redis-compatible) provides caching for intelligence queries.
|
|
122
|
+
# If not configured, caching is disabled gracefully.
|
|
123
|
+
|
|
124
|
+
# OPTIONAL: Valkey/Redis connection URL
|
|
125
|
+
# Format: redis://:password@host:6379/db_number
|
|
126
|
+
# Default: None (caching disabled)
|
|
127
|
+
# VALKEY_URL=redis://:your_password@localhost:6379/0
|
|
128
|
+
|
|
129
|
+
# OPTIONAL: Enable intelligence query caching
|
|
130
|
+
# Default: true (but no-op if VALKEY_URL not set)
|
|
131
|
+
ENABLE_INTELLIGENCE_CACHE=true
|
|
132
|
+
|
|
133
|
+
# OPTIONAL: Cache TTL for pattern entries (seconds)
|
|
134
|
+
# Default: 300 (5 minutes)
|
|
135
|
+
CACHE_TTL_PATTERNS=300
|
|
136
|
+
|
|
137
|
+
# OPTIONAL: Cache TTL for infrastructure entries (seconds)
|
|
138
|
+
# Default: 3600 (1 hour)
|
|
139
|
+
CACHE_TTL_INFRASTRUCTURE=3600
|
|
140
|
+
|
|
141
|
+
# OPTIONAL: Cache TTL for schema entries (seconds)
|
|
142
|
+
# Default: 1800 (30 minutes)
|
|
143
|
+
CACHE_TTL_SCHEMAS=1800
|
|
144
|
+
|
|
145
|
+
# =============================================================================
|
|
146
|
+
# SERVICE URLS
|
|
147
|
+
# =============================================================================
|
|
148
|
+
# URLs for microservices in the OmniClaude ecosystem.
|
|
149
|
+
# All are OPTIONAL - features are disabled gracefully when not configured.
|
|
150
|
+
|
|
151
|
+
# OPTIONAL: Intelligence service URL for pattern discovery and code analysis
|
|
152
|
+
# When not set, intelligence features are disabled
|
|
153
|
+
# Default: None
|
|
154
|
+
# INTELLIGENCE_SERVICE_URL=http://your-intelligence-server:8053
|
|
155
|
+
|
|
156
|
+
# OPTIONAL: Main server URL
|
|
157
|
+
# When not set, main server features are disabled
|
|
158
|
+
# Default: None
|
|
159
|
+
# MAIN_SERVER_URL=http://your-main-server:8181
|
|
160
|
+
|
|
161
|
+
# OPTIONAL: Semantic search service URL for hybrid text/vector search
|
|
162
|
+
# When not set, semantic search features are disabled
|
|
163
|
+
# Default: None
|
|
164
|
+
# SEMANTIC_SEARCH_URL=http://your-search-server:8055
|
|
165
|
+
|
|
166
|
+
# OPTIONAL: Legacy alias for INTELLIGENCE_SERVICE_URL (deprecated)
|
|
167
|
+
# ARCHON_INTELLIGENCE_URL=
|
|
168
|
+
|
|
169
|
+
# =============================================================================
|
|
170
|
+
# FEATURE FLAGS
|
|
171
|
+
# =============================================================================
|
|
172
|
+
# Control which features are enabled at runtime.
|
|
173
|
+
|
|
174
|
+
# OPTIONAL: Enable event-based agent routing via Kafka
|
|
175
|
+
# When true, KAFKA_BOOTSTRAP_SERVERS and KAFKA_ENVIRONMENT are REQUIRED
|
|
176
|
+
# Default: false (safe for local development without Kafka)
|
|
177
|
+
USE_EVENT_ROUTING=false
|
|
178
|
+
|
|
179
|
+
# OPTIONAL: Dual-publish to legacy Kafka topics during migration window (OMN-2368)
|
|
180
|
+
# When true (set to "1"), events are also published to the old omninode.* topic names.
|
|
181
|
+
# Remove this flag after omniintelligence confirms migration to canonical onex.cmd/evt topics.
|
|
182
|
+
# Default: false
|
|
183
|
+
DUAL_PUBLISH_LEGACY_TOPICS=false # Dual-publish to legacy Kafka topics during migration; remove after OMN-2368
|
|
184
|
+
|
|
185
|
+
# OPTIONAL: Enable pattern quality filtering
|
|
186
|
+
# Default: false
|
|
187
|
+
ENABLE_PATTERN_QUALITY_FILTER=false
|
|
188
|
+
|
|
189
|
+
# OPTIONAL: Minimum pattern quality threshold (0.0-1.0)
|
|
190
|
+
# Only applies if ENABLE_PATTERN_QUALITY_FILTER=true
|
|
191
|
+
# Default: 0.5
|
|
192
|
+
MIN_PATTERN_QUALITY=0.5
|
|
193
|
+
|
|
194
|
+
# =============================================================================
|
|
195
|
+
# A/B COHORT ASSIGNMENT (Pattern Injection Experiments)
|
|
196
|
+
# =============================================================================
|
|
197
|
+
# Controls A/B testing for pattern injection experiments.
|
|
198
|
+
# Sessions are assigned to "control" or "treatment" cohorts based on a
|
|
199
|
+
# deterministic hash of the session ID and salt. Control cohort receives
|
|
200
|
+
# no pattern injection; treatment cohort receives injected patterns.
|
|
201
|
+
#
|
|
202
|
+
# SOURCE OF TRUTH: src/omniclaude/hooks/contracts/contract_experiment_cohort.yaml
|
|
203
|
+
# These environment variables OVERRIDE contract defaults for ops flexibility.
|
|
204
|
+
# Use only for emergency tuning or staged rollout - prefer updating the contract.
|
|
205
|
+
# Effective values are stamped into every injection record for auditability.
|
|
206
|
+
|
|
207
|
+
# OVERRIDE: Percentage of sessions assigned to control cohort (0-100)
|
|
208
|
+
# Higher values = more sessions in control (no injection)
|
|
209
|
+
# Contract default: 20 (20% control, 80% treatment)
|
|
210
|
+
# OMNICLAUDE_COHORT_CONTROL_PERCENTAGE=20
|
|
211
|
+
|
|
212
|
+
# OVERRIDE: Salt string for hash-based cohort assignment
|
|
213
|
+
# Change this value to reset the experiment and re-randomize assignments
|
|
214
|
+
# Contract default: omniclaude-injection-v1
|
|
215
|
+
# OMNICLAUDE_COHORT_SALT=omniclaude-injection-v1
|
|
216
|
+
|
|
217
|
+
# =============================================================================
|
|
218
|
+
# PATTERN ENFORCEMENT (OMN-2263)
|
|
219
|
+
# =============================================================================
|
|
220
|
+
# Advisory pattern compliance checking on PostToolUse (Write/Edit).
|
|
221
|
+
# Queries OmniIntelligence pattern store, checks session cooldown,
|
|
222
|
+
# runs compliance check. All failures are silent (never blocks UX).
|
|
223
|
+
# Budget: 300ms. Requires ENABLE_LOCAL_INFERENCE_PIPELINE=true.
|
|
224
|
+
|
|
225
|
+
# OPTIONAL: Enable local inference pipeline (parent gate for pattern enforcement)
|
|
226
|
+
# Default: false
|
|
227
|
+
ENABLE_LOCAL_INFERENCE_PIPELINE=false
|
|
228
|
+
|
|
229
|
+
# OPTIONAL: Enable pattern enforcement advisory checks
|
|
230
|
+
# Only active when ENABLE_LOCAL_INFERENCE_PIPELINE=true
|
|
231
|
+
# Default: false
|
|
232
|
+
ENABLE_PATTERN_ENFORCEMENT=false
|
|
233
|
+
|
|
234
|
+
# OPTIONAL: Enable ONEX routing nodes (omnibase_core HandlerRoutingDefault et al.)
|
|
235
|
+
# Only active when the ONEX node imports succeed at startup.
|
|
236
|
+
# Default: false
|
|
237
|
+
USE_ONEX_ROUTING_NODES=false
|
|
238
|
+
|
|
239
|
+
# OPTIONAL: Enable LLM-based agent routing (Qwen2.5-14B via LLM_QWEN_14B_URL)
|
|
240
|
+
# Only active when ENABLE_LOCAL_INFERENCE_PIPELINE=true
|
|
241
|
+
# Budget: 100ms per step (health check 100ms + LLM call 100ms, ~200ms worst-case).
|
|
242
|
+
# Falls through to fuzzy matching on any failure (timeout, unhealthy endpoint,
|
|
243
|
+
# unrecognised agent).
|
|
244
|
+
# Default: false
|
|
245
|
+
USE_LLM_ROUTING=false
|
|
246
|
+
|
|
247
|
+
# Priority order when multiple routing strategies are enabled:
|
|
248
|
+
# 1. USE_ONEX_ROUTING_NODES — evaluated first; if it returns a result, routing
|
|
249
|
+
# stops here and LLM routing is never attempted.
|
|
250
|
+
# 2. USE_LLM_ROUTING — attempted only when ONEX routing produced no result.
|
|
251
|
+
# 3. Fuzzy matching — always the final fallback.
|
|
252
|
+
# Enabling both flags is supported: ONEX takes precedence and LLM routing acts
|
|
253
|
+
# as a secondary enhancement layer before the fuzzy fallback.
|
|
254
|
+
|
|
255
|
+
# =============================================================================
|
|
256
|
+
# QUALITY ENFORCEMENT PHASES
|
|
257
|
+
# =============================================================================
|
|
258
|
+
# Configure the multi-phase quality enforcement pipeline.
|
|
259
|
+
|
|
260
|
+
# OPTIONAL: Enable Phase 1 - Fast Validation (<100ms)
|
|
261
|
+
# Default: true
|
|
262
|
+
ENABLE_PHASE_1_VALIDATION=true
|
|
263
|
+
|
|
264
|
+
# OPTIONAL: Enable Phase 2 - RAG Intelligence (<500ms)
|
|
265
|
+
# Default: true
|
|
266
|
+
ENABLE_PHASE_2_RAG=true
|
|
267
|
+
|
|
268
|
+
# OPTIONAL: Enable Phase 3 - Correction Generation
|
|
269
|
+
# Default: true
|
|
270
|
+
ENABLE_PHASE_3_CORRECTION=true
|
|
271
|
+
|
|
272
|
+
# OPTIONAL: Enable Phase 4 - AI Quorum Scoring (<1000ms)
|
|
273
|
+
# Default: false (computationally expensive)
|
|
274
|
+
ENABLE_PHASE_4_AI_QUORUM=false
|
|
275
|
+
|
|
276
|
+
# OPTIONAL: Total performance budget for quality enforcement (seconds)
|
|
277
|
+
# Default: 2.0
|
|
278
|
+
PERFORMANCE_BUDGET_SECONDS=2.0
|
|
279
|
+
|
|
280
|
+
# OPTIONAL: Enforcement mode for quality issues
|
|
281
|
+
# Values: advisory (warn only), blocking (reject), auto-fix (correct automatically)
|
|
282
|
+
# Default: advisory
|
|
283
|
+
ENFORCEMENT_MODE=advisory
|
|
284
|
+
|
|
285
|
+
# =============================================================================
|
|
286
|
+
# AGENT CONFIGURATION
|
|
287
|
+
# =============================================================================
|
|
288
|
+
# Settings for the agent registry and health monitoring.
|
|
289
|
+
|
|
290
|
+
# OPTIONAL: Path to agent registry directory
|
|
291
|
+
# Default: Auto-detected from plugin structure
|
|
292
|
+
# REGISTRY_PATH=/path/to/agents
|
|
293
|
+
|
|
294
|
+
# OPTIONAL: Health check server port (1-65535)
|
|
295
|
+
# Default: 8070
|
|
296
|
+
HEALTH_CHECK_PORT=8070
|
|
297
|
+
|
|
298
|
+
# =============================================================================
|
|
299
|
+
# EXTERNAL SERVICES (NOT IN PYTHON SETTINGS)
|
|
300
|
+
# =============================================================================
|
|
301
|
+
# These variables are used by shell scripts, Docker, or other components.
|
|
302
|
+
# They are NOT loaded by src/omniclaude/config/settings.py.
|
|
303
|
+
|
|
304
|
+
# OPTIONAL: General environment name for logging/debugging
|
|
305
|
+
# ENVIRONMENT=development
|
|
306
|
+
|
|
307
|
+
# OPTIONAL: Docker container name prefix
|
|
308
|
+
# CONTAINER_PREFIX=omniclaude
|
|
309
|
+
|
|
310
|
+
# OPTIONAL: Ollama base URL for local LLM inference
|
|
311
|
+
# OLLAMA_BASE_URL=http://localhost:11434
|
|
312
|
+
|
|
313
|
+
# OPTIONAL: Embedding service URL and dimensions
|
|
314
|
+
# EMBEDDING_SERVICE_URL=http://localhost:8002/v1/embeddings
|
|
315
|
+
# EMBEDDING_DIMENSIONS=768
|
|
316
|
+
|
|
317
|
+
# =============================================================================
|
|
318
|
+
# API KEYS (NOT IN PYTHON SETTINGS)
|
|
319
|
+
# =============================================================================
|
|
320
|
+
# API keys for external services. Used by shell scripts and other components.
|
|
321
|
+
# These are NOT loaded by src/omniclaude/config/settings.py.
|
|
322
|
+
|
|
323
|
+
# OPTIONAL: OpenAI API key (for GPT models)
|
|
324
|
+
# OPENAI_API_KEY=sk-...
|
|
325
|
+
|
|
326
|
+
# OPTIONAL: Google/Gemini API key
|
|
327
|
+
# GOOGLE_API_KEY=
|
|
328
|
+
# GEMINI_API_KEY=
|
|
329
|
+
|
|
330
|
+
# OPTIONAL: Anthropic API key (for Claude API)
|
|
331
|
+
# ANTHROPIC_API_KEY=sk-ant-...
|
|
332
|
+
|
|
333
|
+
# OPTIONAL: GitHub Personal Access Token (for gh CLI)
|
|
334
|
+
# GH_PAT=ghp_...
|
|
335
|
+
|
|
336
|
+
# =============================================================================
|
|
337
|
+
# SLACK NOTIFICATIONS
|
|
338
|
+
# =============================================================================
|
|
339
|
+
# Slack webhook for ticket workflow notifications (blocked/completed).
|
|
340
|
+
# Used by /ticket-work skill to notify when agent needs human input.
|
|
341
|
+
|
|
342
|
+
# OPTIONAL: Slack incoming webhook URL
|
|
343
|
+
# Get your webhook URL from: Slack App → Incoming Webhooks → Copy webhook URL
|
|
344
|
+
# When not set, Slack notifications are silently disabled
|
|
345
|
+
# SLACK_WEBHOOK_URL=https://hooks.slack.com/services/XXX/YYY/ZZZ
|
|
346
|
+
|
|
347
|
+
# =============================================================================
|
|
348
|
+
# DEBUGGING & TESTING (NOT IN PYTHON SETTINGS)
|
|
349
|
+
# =============================================================================
|
|
350
|
+
# Development and testing configuration.
|
|
351
|
+
|
|
352
|
+
# OPTIONAL: Enable debug mode
|
|
353
|
+
# DEBUG=false
|
|
354
|
+
|
|
355
|
+
# OPTIONAL: Logging level (DEBUG, INFO, WARNING, ERROR)
|
|
356
|
+
# LOG_LEVEL=INFO
|
|
357
|
+
|
|
358
|
+
# OPTIONAL: Enable Kafka integration tests (requires running Kafka)
|
|
359
|
+
# KAFKA_INTEGRATION_TESTS=1
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 OmniNode.ai Inc.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
version: 2
|
|
4
|
+
updates:
|
|
5
|
+
- package-ecosystem: "pip"
|
|
6
|
+
directory: "/"
|
|
7
|
+
schedule:
|
|
8
|
+
interval: "weekly"
|
|
9
|
+
- package-ecosystem: "github-actions"
|
|
10
|
+
directory: "/"
|
|
11
|
+
schedule:
|
|
12
|
+
interval: "weekly"
|