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.
Files changed (1061) hide show
  1. omninode_claude-0.2.0/.bandit +55 -0
  2. omninode_claude-0.2.0/.claude/architecture-handshake.md +121 -0
  3. omninode_claude-0.2.0/.claude-plugin/marketplace.json +23 -0
  4. omninode_claude-0.2.0/.cross-repo-policy.yaml +62 -0
  5. omninode_claude-0.2.0/.env.example +359 -0
  6. omninode_claude-0.2.0/.github/ISSUE_TEMPLATE/feature_request.md +9 -0
  7. omninode_claude-0.2.0/.github/PULL_REQUEST_TEMPLATE.md +12 -0
  8. omninode_claude-0.2.0/.github/dependabot.yml +12 -0
  9. omninode_claude-0.2.0/.github/required-checks.yaml +197 -0
  10. omninode_claude-0.2.0/.github/workflows/ci.yml +1441 -0
  11. omninode_claude-0.2.0/.github/workflows/integration-tests.yml +764 -0
  12. omninode_claude-0.2.0/.github/workflows/omni-standards-compliance.yml +430 -0
  13. omninode_claude-0.2.0/.github/workflows/onex-schema-compat.yml +168 -0
  14. omninode_claude-0.2.0/.github/workflows/release-dry-run.yml +27 -0
  15. omninode_claude-0.2.0/.github/workflows/release.yml +154 -0
  16. omninode_claude-0.2.0/.gitignore +401 -0
  17. omninode_claude-0.2.0/.migration_freeze +16 -0
  18. omninode_claude-0.2.0/.pre-commit-config.yaml +273 -0
  19. omninode_claude-0.2.0/.ruffignore +2 -0
  20. omninode_claude-0.2.0/.secrets.baseline +327 -0
  21. omninode_claude-0.2.0/CHANGELOG.md +71 -0
  22. omninode_claude-0.2.0/CLAUDE.md +514 -0
  23. omninode_claude-0.2.0/CODE_OF_CONDUCT.md +5 -0
  24. omninode_claude-0.2.0/CONTRIBUTING.md +43 -0
  25. omninode_claude-0.2.0/LICENSE +21 -0
  26. omninode_claude-0.2.0/PKG-INFO +26 -0
  27. omninode_claude-0.2.0/README.md +189 -0
  28. omninode_claude-0.2.0/SECURITY.md +12 -0
  29. omninode_claude-0.2.0/app/__init__.py +13 -0
  30. omninode_claude-0.2.0/app/main.py +310 -0
  31. omninode_claude-0.2.0/app/py.typed +0 -0
  32. omninode_claude-0.2.0/app/version.py +11 -0
  33. omninode_claude-0.2.0/claude-providers.json +167 -0
  34. omninode_claude-0.2.0/consumers/DEPLOYMENT.md +610 -0
  35. omninode_claude-0.2.0/consumers/DEPLOYMENT_SUCCESS.md +195 -0
  36. omninode_claude-0.2.0/consumers/QUICKSTART.md +102 -0
  37. omninode_claude-0.2.0/consumers/README.md +488 -0
  38. omninode_claude-0.2.0/consumers/SUMMARY.md +461 -0
  39. omninode_claude-0.2.0/consumers/agent_actions_consumer.py +1348 -0
  40. omninode_claude-0.2.0/consumers/agent_actions_consumer.service +66 -0
  41. omninode_claude-0.2.0/consumers/config.example.json +13 -0
  42. omninode_claude-0.2.0/consumers/requirements.txt +14 -0
  43. omninode_claude-0.2.0/consumers/start_agent_actions_consumer.sh +137 -0
  44. omninode_claude-0.2.0/consumers/test_consumer.py +281 -0
  45. omninode_claude-0.2.0/consumers/test_wp2_fixes.py +226 -0
  46. omninode_claude-0.2.0/contracts/debug_loop/README.md +56 -0
  47. omninode_claude-0.2.0/contracts/debug_loop/cost_tracker_compute.yaml +225 -0
  48. omninode_claude-0.2.0/contracts/debug_loop/debug_loop_orchestrator.yaml +472 -0
  49. omninode_claude-0.2.0/contracts/debug_loop/debug_stf_extractor_compute.yaml +263 -0
  50. omninode_claude-0.2.0/contracts/debug_loop/debug_stf_storage_effect.yaml +343 -0
  51. omninode_claude-0.2.0/contracts/debug_loop/error_pattern_extractor_compute.yaml +226 -0
  52. omninode_claude-0.2.0/contracts/debug_loop/error_success_mapping_reducer.yaml +303 -0
  53. omninode_claude-0.2.0/contracts/debug_loop/golden_state_manager_reducer.yaml +379 -0
  54. omninode_claude-0.2.0/contracts/debug_loop/model_price_catalog_effect.yaml +307 -0
  55. omninode_claude-0.2.0/contracts/debug_loop/stf_hash_compute.yaml +176 -0
  56. omninode_claude-0.2.0/contracts/debug_loop/stf_matcher_compute.yaml +228 -0
  57. omninode_claude-0.2.0/contracts/debug_loop/stf_quality_compute.yaml +241 -0
  58. omninode_claude-0.2.0/deployment/Dockerfile +24 -0
  59. omninode_claude-0.2.0/docker-compose.yml +70 -0
  60. omninode_claude-0.2.0/docs/INDEX.md +135 -0
  61. omninode_claude-0.2.0/docs/SECURITY.md +275 -0
  62. omninode_claude-0.2.0/docs/architecture/AGENT_ROUTING_ARCHITECTURE.md +225 -0
  63. omninode_claude-0.2.0/docs/architecture/COMPLIANCE_ENFORCEMENT_ARCHITECTURE.md +215 -0
  64. omninode_claude-0.2.0/docs/architecture/CONTEXT_ENRICHMENT_PIPELINE.md +208 -0
  65. omninode_claude-0.2.0/docs/architecture/DELEGATION_ARCHITECTURE.md +235 -0
  66. omninode_claude-0.2.0/docs/architecture/EMIT_DAEMON_ARCHITECTURE.md +243 -0
  67. omninode_claude-0.2.0/docs/architecture/EVENT_DRIVEN_ROUTING_PROPOSAL.md +1326 -0
  68. omninode_claude-0.2.0/docs/architecture/HOOK_DATA_FLOW.md +237 -0
  69. omninode_claude-0.2.0/docs/architecture/LLM_ROUTING_ARCHITECTURE.md +248 -0
  70. omninode_claude-0.2.0/docs/architecture/ROUTING_ARCHITECTURE_COMPARISON.md +524 -0
  71. omninode_claude-0.2.0/docs/architecture/SERVICE-BOUNDARIES.md +970 -0
  72. omninode_claude-0.2.0/docs/db-split/FK_SCAN_RESULTS.md +120 -0
  73. omninode_claude-0.2.0/docs/decisions/ADR-001-event-fan-out-and-app-owned-catalogs.md +349 -0
  74. omninode_claude-0.2.0/docs/decisions/ADR-002-candidate-list-injection.md +66 -0
  75. omninode_claude-0.2.0/docs/decisions/ADR-003-no-fallback-routing.md +70 -0
  76. omninode_claude-0.2.0/docs/decisions/ADR-004-dual-emission-privacy-split.md +75 -0
  77. omninode_claude-0.2.0/docs/decisions/ADR-005-delegation-orchestrator.md +77 -0
  78. omninode_claude-0.2.0/docs/decisions/ADR-006-llm-routing-with-fuzzy-fallback.md +88 -0
  79. omninode_claude-0.2.0/docs/decisions/README.md +10 -0
  80. omninode_claude-0.2.0/docs/demo/INVESTOR_DEMO.md +371 -0
  81. omninode_claude-0.2.0/docs/events/EVENT_ALIGNMENT_PLAN.md +742 -0
  82. omninode_claude-0.2.0/docs/getting-started/FIRST_HOOK.md +473 -0
  83. omninode_claude-0.2.0/docs/getting-started/GLOBAL_CLAUDE_MD.md +50 -0
  84. omninode_claude-0.2.0/docs/getting-started/INSTALLATION.md +176 -0
  85. omninode_claude-0.2.0/docs/getting-started/QUICK_START.md +208 -0
  86. omninode_claude-0.2.0/docs/guides/ADDING_AN_AGENT.md +165 -0
  87. omninode_claude-0.2.0/docs/guides/ADDING_A_HOOK_HANDLER.md +178 -0
  88. omninode_claude-0.2.0/docs/guides/ADDING_A_SKILL.md +142 -0
  89. omninode_claude-0.2.0/docs/guides/TESTING_GUIDE.md +232 -0
  90. omninode_claude-0.2.0/docs/handoff-publisher-topic-resolution.md +152 -0
  91. omninode_claude-0.2.0/docs/observability/AGENT_ACTION_LOGGING.md +561 -0
  92. omninode_claude-0.2.0/docs/observability/AGENT_TRACEABILITY.md +798 -0
  93. omninode_claude-0.2.0/docs/reference/AGENT_YAML_SCHEMA.md +164 -0
  94. omninode_claude-0.2.0/docs/reference/HOOK_LIB_REFERENCE.md +119 -0
  95. omninode_claude-0.2.0/docs/reference/KAFKA_TOPICS_REFERENCE.md +159 -0
  96. omninode_claude-0.2.0/docs/reference/SKILL_AUTHORING_GUIDE.md +210 -0
  97. omninode_claude-0.2.0/docs/reference/migrations/SCHEMA_CHANGES_PR63.md +474 -0
  98. omninode_claude-0.2.0/docs/security/BANDIT_CONFIGURATION.md +321 -0
  99. omninode_claude-0.2.0/docs/standards/CI_CD_STANDARDS.md +198 -0
  100. omninode_claude-0.2.0/docs/standards/STANDARD_DOC_LAYOUT.md +187 -0
  101. omninode_claude-0.2.0/docs/validation-contracts.md +556 -0
  102. omninode_claude-0.2.0/examples/refinement_example.py +718 -0
  103. omninode_claude-0.2.0/grafana/dashboards/omniclaude.json +1053 -0
  104. omninode_claude-0.2.0/monitoring/grafana/provisioning/dashboards/default.yml +19 -0
  105. omninode_claude-0.2.0/monitoring/grafana/provisioning/datasources/jaeger.yml +26 -0
  106. omninode_claude-0.2.0/monitoring/grafana/provisioning/datasources/loki.yml +16 -0
  107. omninode_claude-0.2.0/monitoring/grafana/provisioning/datasources/prometheus.yml +27 -0
  108. omninode_claude-0.2.0/monitoring/otel/otel-collector-config.yml +119 -0
  109. omninode_claude-0.2.0/monitoring/prometheus/alerts.yml +156 -0
  110. omninode_claude-0.2.0/monitoring/prometheus/prometheus.yml +81 -0
  111. omninode_claude-0.2.0/mypy.ini +426 -0
  112. omninode_claude-0.2.0/plans/2026-02-21-autonomous-skill-platform-plan-v2.md +86 -0
  113. omninode_claude-0.2.0/plugins/onex/.claude/README.md +105 -0
  114. omninode_claude-0.2.0/plugins/onex/.claude/agents/AGENT-PARALLEL-DISPATCHER.md +296 -0
  115. omninode_claude-0.2.0/plugins/onex/.claude/learned_patterns.json +56 -0
  116. omninode_claude-0.2.0/plugins/onex/.claude/plan-omn-1403-context-injection.md +519 -0
  117. omninode_claude-0.2.0/plugins/onex/.claude/settings.local.json +8 -0
  118. omninode_claude-0.2.0/plugins/onex/.claude-plugin/plugin.json +47 -0
  119. omninode_claude-0.2.0/plugins/onex/.env.example +171 -0
  120. omninode_claude-0.2.0/plugins/onex/ENVIRONMENT_VARIABLES.md +264 -0
  121. omninode_claude-0.2.0/plugins/onex/README.md +611 -0
  122. omninode_claude-0.2.0/plugins/onex/agents/configs/address-pr-comments.yaml +303 -0
  123. omninode_claude-0.2.0/plugins/onex/agents/configs/agent-address-pr-comments.yaml +858 -0
  124. omninode_claude-0.2.0/plugins/onex/agents/configs/agent-epic-worker.yaml +218 -0
  125. omninode_claude-0.2.0/plugins/onex/agents/configs/agent-observability.yaml +277 -0
  126. omninode_claude-0.2.0/plugins/onex/agents/configs/agent-registry.yaml +466 -0
  127. omninode_claude-0.2.0/plugins/onex/agents/configs/api-architect.yaml +268 -0
  128. omninode_claude-0.2.0/plugins/onex/agents/configs/ast-generator.yaml +657 -0
  129. omninode_claude-0.2.0/plugins/onex/agents/configs/code-quality-analyzer.yaml +268 -0
  130. omninode_claude-0.2.0/plugins/onex/agents/configs/commit.yaml +770 -0
  131. omninode_claude-0.2.0/plugins/onex/agents/configs/content-summarizer.yaml +259 -0
  132. omninode_claude-0.2.0/plugins/onex/agents/configs/context-gatherer.yaml +297 -0
  133. omninode_claude-0.2.0/plugins/onex/agents/configs/contract-driven-generator.yaml +441 -0
  134. omninode_claude-0.2.0/plugins/onex/agents/configs/contract-validator.yaml +345 -0
  135. omninode_claude-0.2.0/plugins/onex/agents/configs/debug-database.yaml +365 -0
  136. omninode_claude-0.2.0/plugins/onex/agents/configs/debug-intelligence.yaml +367 -0
  137. omninode_claude-0.2.0/plugins/onex/agents/configs/debug-log-writer.yaml +243 -0
  138. omninode_claude-0.2.0/plugins/onex/agents/configs/debug.yaml +311 -0
  139. omninode_claude-0.2.0/plugins/onex/agents/configs/devops-infrastructure.yaml +226 -0
  140. omninode_claude-0.2.0/plugins/onex/agents/configs/documentation-architect.yaml +284 -0
  141. omninode_claude-0.2.0/plugins/onex/agents/configs/documentation-indexer.yaml +325 -0
  142. omninode_claude-0.2.0/plugins/onex/agents/configs/frontend-developer.yaml +523 -0
  143. omninode_claude-0.2.0/plugins/onex/agents/configs/intelligence-initializer.yaml +329 -0
  144. omninode_claude-0.2.0/plugins/onex/agents/configs/multi-step-framework.yaml +292 -0
  145. omninode_claude-0.2.0/plugins/onex/agents/configs/omniagent-archon-tickets.yaml +342 -0
  146. omninode_claude-0.2.0/plugins/onex/agents/configs/omniagent-batch-processor.yaml +291 -0
  147. omninode_claude-0.2.0/plugins/onex/agents/configs/omniagent-smart-responder.yaml +363 -0
  148. omninode_claude-0.2.0/plugins/onex/agents/configs/onex-coordinator.yaml +290 -0
  149. omninode_claude-0.2.0/plugins/onex/agents/configs/onex-readme.yaml +240 -0
  150. omninode_claude-0.2.0/plugins/onex/agents/configs/overnight-automation.yaml +271 -0
  151. omninode_claude-0.2.0/plugins/onex/agents/configs/parameter-collector.yaml +299 -0
  152. omninode_claude-0.2.0/plugins/onex/agents/configs/performance.yaml +370 -0
  153. omninode_claude-0.2.0/plugins/onex/agents/configs/polymorphic-agent.yaml +621 -0
  154. omninode_claude-0.2.0/plugins/onex/agents/configs/pr-create.yaml +280 -0
  155. omninode_claude-0.2.0/plugins/onex/agents/configs/pr-review.yaml +333 -0
  156. omninode_claude-0.2.0/plugins/onex/agents/configs/pr-ticket-writer.yaml +246 -0
  157. omninode_claude-0.2.0/plugins/onex/agents/configs/pr-workflow.yaml +521 -0
  158. omninode_claude-0.2.0/plugins/onex/agents/configs/production-monitor.yaml +569 -0
  159. omninode_claude-0.2.0/plugins/onex/agents/configs/python-fastapi-expert.yaml +273 -0
  160. omninode_claude-0.2.0/plugins/onex/agents/configs/quota-optimizer.yaml +288 -0
  161. omninode_claude-0.2.0/plugins/onex/agents/configs/rag-query.yaml +302 -0
  162. omninode_claude-0.2.0/plugins/onex/agents/configs/rag-update.yaml +272 -0
  163. omninode_claude-0.2.0/plugins/onex/agents/configs/repository-crawler-claude-code.yaml +360 -0
  164. omninode_claude-0.2.0/plugins/onex/agents/configs/repository-crawler.yaml +348 -0
  165. omninode_claude-0.2.0/plugins/onex/agents/configs/repository-setup.yaml +235 -0
  166. omninode_claude-0.2.0/plugins/onex/agents/configs/research.yaml +341 -0
  167. omninode_claude-0.2.0/plugins/onex/agents/configs/security-audit.yaml +274 -0
  168. omninode_claude-0.2.0/plugins/onex/agents/configs/structured-logging.yaml +257 -0
  169. omninode_claude-0.2.0/plugins/onex/agents/configs/testing.yaml +338 -0
  170. omninode_claude-0.2.0/plugins/onex/agents/configs/ticket-manager.yaml +246 -0
  171. omninode_claude-0.2.0/plugins/onex/agents/configs/type-validator.yaml +335 -0
  172. omninode_claude-0.2.0/plugins/onex/agents/configs/ui-testing.yaml +383 -0
  173. omninode_claude-0.2.0/plugins/onex/agents/configs/velocity-log-writer.yaml +223 -0
  174. omninode_claude-0.2.0/plugins/onex/agents/configs/velocity-tracker.yaml +301 -0
  175. omninode_claude-0.2.0/plugins/onex/agents/configs/workflow-generator.yaml +347 -0
  176. omninode_claude-0.2.0/plugins/onex/agents/polymorphic-agent.md +475 -0
  177. omninode_claude-0.2.0/plugins/onex/commands/authorize.md +50 -0
  178. omninode_claude-0.2.0/plugins/onex/commands/bus-audit.md +51 -0
  179. omninode_claude-0.2.0/plugins/onex/commands/crash-recovery.md +34 -0
  180. omninode_claude-0.2.0/plugins/onex/commands/deauthorize.md +31 -0
  181. omninode_claude-0.2.0/plugins/onex/commands/gap-fix.md +34 -0
  182. omninode_claude-0.2.0/plugins/onex/commands/set-active-run.md +32 -0
  183. omninode_claude-0.2.0/plugins/onex/docs/RUNBOOK_VERTICAL_DEMO.md +9 -0
  184. omninode_claude-0.2.0/plugins/onex/hooks/config.yaml +32 -0
  185. omninode_claude-0.2.0/plugins/onex/hooks/hooks.json +68 -0
  186. omninode_claude-0.2.0/plugins/onex/hooks/lib/action_logging_helpers.py +133 -0
  187. omninode_claude-0.2.0/plugins/onex/hooks/lib/agent_accuracy_detector.py +111 -0
  188. omninode_claude-0.2.0/plugins/onex/hooks/lib/agent_detector.py +88 -0
  189. omninode_claude-0.2.0/plugins/onex/hooks/lib/agent_router.py +1419 -0
  190. omninode_claude-0.2.0/plugins/onex/hooks/lib/agent_status_emitter.py +183 -0
  191. omninode_claude-0.2.0/plugins/onex/hooks/lib/agent_summary_banner.py +73 -0
  192. omninode_claude-0.2.0/plugins/onex/hooks/lib/architecture_handshake_injector.py +264 -0
  193. omninode_claude-0.2.0/plugins/onex/hooks/lib/attribution_binder.py +261 -0
  194. omninode_claude-0.2.0/plugins/onex/hooks/lib/auth_gate_adapter.py +168 -0
  195. omninode_claude-0.2.0/plugins/onex/hooks/lib/bash_guard.py +364 -0
  196. omninode_claude-0.2.0/plugins/onex/hooks/lib/blocked_notifier.py +305 -0
  197. omninode_claude-0.2.0/plugins/onex/hooks/lib/checkpoint_manager.py +632 -0
  198. omninode_claude-0.2.0/plugins/onex/hooks/lib/commit_intent_binder.py +323 -0
  199. omninode_claude-0.2.0/plugins/onex/hooks/lib/context_enrichment_runner.py +470 -0
  200. omninode_claude-0.2.0/plugins/onex/hooks/lib/context_injection_wrapper.py +233 -0
  201. omninode_claude-0.2.0/plugins/onex/hooks/lib/correlation_manager.py +204 -0
  202. omninode_claude-0.2.0/plugins/onex/hooks/lib/cross_repo_detector.py +237 -0
  203. omninode_claude-0.2.0/plugins/onex/hooks/lib/delegation_orchestrator.py +1030 -0
  204. omninode_claude-0.2.0/plugins/onex/hooks/lib/emit_client_wrapper.py +672 -0
  205. omninode_claude-0.2.0/plugins/onex/hooks/lib/emit_ticket_status.py +201 -0
  206. omninode_claude-0.2.0/plugins/onex/hooks/lib/enrichment_observability_emitter.py +472 -0
  207. omninode_claude-0.2.0/plugins/onex/hooks/lib/epic_decomposer.py +425 -0
  208. omninode_claude-0.2.0/plugins/onex/hooks/lib/epic_milestone_notifier.py +322 -0
  209. omninode_claude-0.2.0/plugins/onex/hooks/lib/extraction_event_emitter.py +340 -0
  210. omninode_claude-0.2.0/plugins/onex/hooks/lib/feedback_guardrails.py +210 -0
  211. omninode_claude-0.2.0/plugins/onex/hooks/lib/file_evidence_resolver.py +32 -0
  212. omninode_claude-0.2.0/plugins/onex/hooks/lib/hook_event_adapter.py +791 -0
  213. omninode_claude-0.2.0/plugins/onex/hooks/lib/hook_event_logger.py +532 -0
  214. omninode_claude-0.2.0/plugins/onex/hooks/lib/intent_classifier.py +350 -0
  215. omninode_claude-0.2.0/plugins/onex/hooks/lib/intent_model_hints.py +232 -0
  216. omninode_claude-0.2.0/plugins/onex/hooks/lib/latency_guard.py +456 -0
  217. omninode_claude-0.2.0/plugins/onex/hooks/lib/linear_contract_patcher.py +383 -0
  218. omninode_claude-0.2.0/plugins/onex/hooks/lib/local_delegation_handler.py +518 -0
  219. omninode_claude-0.2.0/plugins/onex/hooks/lib/log_hook_event.py +333 -0
  220. omninode_claude-0.2.0/plugins/onex/hooks/lib/metadata_extractor.py +179 -0
  221. omninode_claude-0.2.0/plugins/onex/hooks/lib/metrics_aggregator.py +563 -0
  222. omninode_claude-0.2.0/plugins/onex/hooks/lib/metrics_emitter.py +563 -0
  223. omninode_claude-0.2.0/plugins/onex/hooks/lib/node_session_lifecycle_reducer.py +99 -0
  224. omninode_claude-0.2.0/plugins/onex/hooks/lib/node_session_state_adapter.py +334 -0
  225. omninode_claude-0.2.0/plugins/onex/hooks/lib/node_session_state_effect.py +507 -0
  226. omninode_claude-0.2.0/plugins/onex/hooks/lib/pattern_advisory_formatter.py +389 -0
  227. omninode_claude-0.2.0/plugins/onex/hooks/lib/pattern_cache.py +467 -0
  228. omninode_claude-0.2.0/plugins/onex/hooks/lib/pattern_enforcement.py +770 -0
  229. omninode_claude-0.2.0/plugins/onex/hooks/lib/pattern_types.py +226 -0
  230. omninode_claude-0.2.0/plugins/onex/hooks/lib/phase_instrumentation.py +976 -0
  231. omninode_claude-0.2.0/plugins/onex/hooks/lib/pipeline_slack_notifier.py +630 -0
  232. omninode_claude-0.2.0/plugins/onex/hooks/lib/post_tool_metrics.py +583 -0
  233. omninode_claude-0.2.0/plugins/onex/hooks/lib/pr_claim_registry.py +554 -0
  234. omninode_claude-0.2.0/plugins/onex/hooks/lib/promotion_gater.py +312 -0
  235. omninode_claude-0.2.0/plugins/onex/hooks/lib/publish_intelligence_request.py +156 -0
  236. omninode_claude-0.2.0/plugins/onex/hooks/lib/reconcile_agent_outputs.py +757 -0
  237. omninode_claude-0.2.0/plugins/onex/hooks/lib/response_intelligence.py +105 -0
  238. omninode_claude-0.2.0/plugins/onex/hooks/lib/route_via_events_wrapper.py +1576 -0
  239. omninode_claude-0.2.0/plugins/onex/hooks/lib/rrh_hook_adapter.py +208 -0
  240. omninode_claude-0.2.0/plugins/onex/hooks/lib/secret_redactor.py +170 -0
  241. omninode_claude-0.2.0/plugins/onex/hooks/lib/session_intelligence.py +320 -0
  242. omninode_claude-0.2.0/plugins/onex/hooks/lib/session_marker.py +213 -0
  243. omninode_claude-0.2.0/plugins/onex/hooks/lib/session_outcome.py +224 -0
  244. omninode_claude-0.2.0/plugins/onex/hooks/lib/shadow_validation.py +905 -0
  245. omninode_claude-0.2.0/plugins/onex/hooks/lib/static_context_snapshot.py +880 -0
  246. omninode_claude-0.2.0/plugins/onex/hooks/lib/ticket_context_injector.py +358 -0
  247. omninode_claude-0.2.0/plugins/onex/hooks/lib/track_intent.py +159 -0
  248. omninode_claude-0.2.0/plugins/onex/hooks/lib/utilization_detector.py +503 -0
  249. omninode_claude-0.2.0/plugins/onex/hooks/lib/worktree_manager.py +363 -0
  250. omninode_claude-0.2.0/plugins/onex/hooks/scripts/common.sh +427 -0
  251. omninode_claude-0.2.0/plugins/onex/hooks/scripts/post-tool-use-quality.sh +455 -0
  252. omninode_claude-0.2.0/plugins/onex/hooks/scripts/post_tool_use_enforcer.py +589 -0
  253. omninode_claude-0.2.0/plugins/onex/hooks/scripts/pre-tool-use-quality.sh +139 -0
  254. omninode_claude-0.2.0/plugins/onex/hooks/scripts/pre_tool_use_authorization_shim.sh +82 -0
  255. omninode_claude-0.2.0/plugins/onex/hooks/scripts/pre_tool_use_bash_guard.sh +75 -0
  256. omninode_claude-0.2.0/plugins/onex/hooks/scripts/pre_tool_use_permissions.py +840 -0
  257. omninode_claude-0.2.0/plugins/onex/hooks/scripts/register-tab.sh +90 -0
  258. omninode_claude-0.2.0/plugins/onex/hooks/scripts/session-end.sh +675 -0
  259. omninode_claude-0.2.0/plugins/onex/hooks/scripts/session-start.sh +966 -0
  260. omninode_claude-0.2.0/plugins/onex/hooks/scripts/statusline.sh +273 -0
  261. omninode_claude-0.2.0/plugins/onex/hooks/scripts/stop.sh +182 -0
  262. omninode_claude-0.2.0/plugins/onex/hooks/scripts/user-prompt-submit.sh +726 -0
  263. omninode_claude-0.2.0/plugins/onex/lib/dependency_validator.md +484 -0
  264. omninode_claude-0.2.0/plugins/onex/scripts/demo_emit_hook.py +182 -0
  265. omninode_claude-0.2.0/plugins/onex/skills/_lib/pr-safety/helpers.md +1079 -0
  266. omninode_claude-0.2.0/plugins/onex/skills/_shared/ERROR_HANDLING_FIXES.md +134 -0
  267. omninode_claude-0.2.0/plugins/onex/skills/_shared/QDRANT_SECURITY.md +358 -0
  268. omninode_claude-0.2.0/plugins/onex/skills/_shared/common_utils.py +66 -0
  269. omninode_claude-0.2.0/plugins/onex/skills/_shared/constants.py +137 -0
  270. omninode_claude-0.2.0/plugins/onex/skills/_shared/db_helper.py +396 -0
  271. omninode_claude-0.2.0/plugins/onex/skills/_shared/docker_helper.py +497 -0
  272. omninode_claude-0.2.0/plugins/onex/skills/_shared/kafka_helper.py +685 -0
  273. omninode_claude-0.2.0/plugins/onex/skills/_shared/kafka_types.py +275 -0
  274. omninode_claude-0.2.0/plugins/onex/skills/_shared/py.typed +0 -0
  275. omninode_claude-0.2.0/plugins/onex/skills/_shared/qdrant_helper.py +706 -0
  276. omninode_claude-0.2.0/plugins/onex/skills/_shared/status_formatter.py +416 -0
  277. omninode_claude-0.2.0/plugins/onex/skills/_shared/test_error_handling.py +180 -0
  278. omninode_claude-0.2.0/plugins/onex/skills/_shared/test_qdrant_empty_collections.py +308 -0
  279. omninode_claude-0.2.0/plugins/onex/skills/_shared/test_qdrant_https_support.py +210 -0
  280. omninode_claude-0.2.0/plugins/onex/skills/_shared/test_qdrant_ssrf_protection.py +303 -0
  281. omninode_claude-0.2.0/plugins/onex/skills/_shared/timeframe_helper.py +105 -0
  282. omninode_claude-0.2.0/plugins/onex/skills/_shared/validate-skill-names.sh +99 -0
  283. omninode_claude-0.2.0/plugins/onex/skills/action-logging/README.md +136 -0
  284. omninode_claude-0.2.0/plugins/onex/skills/action-logging/SKILL.md +797 -0
  285. omninode_claude-0.2.0/plugins/onex/skills/action-logging/examples/README.md +132 -0
  286. omninode_claude-0.2.0/plugins/onex/skills/action-logging/examples/basic_usage.py +105 -0
  287. omninode_claude-0.2.0/plugins/onex/skills/action-logging/examples/decision_logging.py +151 -0
  288. omninode_claude-0.2.0/plugins/onex/skills/action-logging/examples/error_handling.py +243 -0
  289. omninode_claude-0.2.0/plugins/onex/skills/action-logging/examples/tool_call_patterns.py +102 -0
  290. omninode_claude-0.2.0/plugins/onex/skills/agent-observability/SKILL.md +342 -0
  291. omninode_claude-0.2.0/plugins/onex/skills/agent-observability/check-agent +326 -0
  292. omninode_claude-0.2.0/plugins/onex/skills/agent-observability/check-health +229 -0
  293. omninode_claude-0.2.0/plugins/onex/skills/agent-observability/diagnose-errors +282 -0
  294. omninode_claude-0.2.0/plugins/onex/skills/agent-observability/generate-report +384 -0
  295. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-agent-action/SKILL.md +266 -0
  296. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-agent-action/execute.py +169 -0
  297. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-agent-action/execute_kafka.py +211 -0
  298. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-agent-action/execute_unified.py +135 -0
  299. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-agent-action/prompt.md +93 -0
  300. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-detection-failure/SKILL.md +161 -0
  301. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-detection-failure/execute.py +234 -0
  302. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-performance-metrics/SKILL.md +224 -0
  303. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-performance-metrics/execute.py +161 -0
  304. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-performance-metrics/execute_kafka.py +194 -0
  305. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-performance-metrics/execute_unified.py +105 -0
  306. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-routing-decision/SKILL.md +214 -0
  307. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-routing-decision/execute.py +161 -0
  308. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-routing-decision/execute_kafka.py +223 -0
  309. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-routing-decision/execute_unified.py +169 -0
  310. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-transformation/SKILL.md +217 -0
  311. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-transformation/execute.py +150 -0
  312. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-transformation/execute_kafka.py +262 -0
  313. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/log-transformation/execute_unified.py +141 -0
  314. omninode_claude-0.2.0/plugins/onex/skills/agent-tracking/prompt.md +470 -0
  315. omninode_claude-0.2.0/plugins/onex/skills/auto-merge/SKILL.md +189 -0
  316. omninode_claude-0.2.0/plugins/onex/skills/brainstorming/SKILL.md +63 -0
  317. omninode_claude-0.2.0/plugins/onex/skills/checkpoint/SKILL.md +253 -0
  318. omninode_claude-0.2.0/plugins/onex/skills/ci-failures/ENHANCEMENT_SUMMARY.md +289 -0
  319. omninode_claude-0.2.0/plugins/onex/skills/ci-failures/INTEGRATION_GUIDE.md +530 -0
  320. omninode_claude-0.2.0/plugins/onex/skills/ci-failures/RESEARCH_FEATURE.md +449 -0
  321. omninode_claude-0.2.0/plugins/onex/skills/ci-failures/SKILL.md +978 -0
  322. omninode_claude-0.2.0/plugins/onex/skills/ci-failures/WEB_RESEARCH_COMPLETE.md +481 -0
  323. omninode_claude-0.2.0/plugins/onex/skills/ci-failures/ci-quick-review +472 -0
  324. omninode_claude-0.2.0/plugins/onex/skills/ci-failures/example_research_output.json +118 -0
  325. omninode_claude-0.2.0/plugins/onex/skills/ci-failures/fetch-ci-data +752 -0
  326. omninode_claude-0.2.0/plugins/onex/skills/ci-failures/get-ci-job-details +638 -0
  327. omninode_claude-0.2.0/plugins/onex/skills/ci-failures/test_research_feature.sh +211 -0
  328. omninode_claude-0.2.0/plugins/onex/skills/ci-fix-pipeline/SKILL.md +282 -0
  329. omninode_claude-0.2.0/plugins/onex/skills/ci-watch/SKILL.md +204 -0
  330. omninode_claude-0.2.0/plugins/onex/skills/condition-based-waiting/SKILL.md +129 -0
  331. omninode_claude-0.2.0/plugins/onex/skills/condition-based-waiting/example.ts +158 -0
  332. omninode_claude-0.2.0/plugins/onex/skills/crash-recovery/SKILL.md +146 -0
  333. omninode_claude-0.2.0/plugins/onex/skills/crash-recovery/list-pipelines +238 -0
  334. omninode_claude-0.2.0/plugins/onex/skills/create-followup-tickets/SKILL.md +214 -0
  335. omninode_claude-0.2.0/plugins/onex/skills/create-ticket/SKILL.md +625 -0
  336. omninode_claude-0.2.0/plugins/onex/skills/decompose-epic/SKILL.md +139 -0
  337. omninode_claude-0.2.0/plugins/onex/skills/decompose-epic/prompt.md +405 -0
  338. omninode_claude-0.2.0/plugins/onex/skills/deep-dive/SKILL.md +351 -0
  339. omninode_claude-0.2.0/plugins/onex/skills/defense-in-depth/SKILL.md +135 -0
  340. omninode_claude-0.2.0/plugins/onex/skills/deploy-local-plugin/SKILL.md +159 -0
  341. omninode_claude-0.2.0/plugins/onex/skills/deploy-local-plugin/deploy.sh +767 -0
  342. omninode_claude-0.2.0/plugins/onex/skills/dispatching-parallel-agents/SKILL.md +270 -0
  343. omninode_claude-0.2.0/plugins/onex/skills/epic-team/SKILL.md +259 -0
  344. omninode_claude-0.2.0/plugins/onex/skills/epic-team/prompt.md +1059 -0
  345. omninode_claude-0.2.0/plugins/onex/skills/epic-team/repo_manifest.yaml +439 -0
  346. omninode_claude-0.2.0/plugins/onex/skills/executing-plans/SKILL.md +84 -0
  347. omninode_claude-0.2.0/plugins/onex/skills/finishing-a-development-branch/SKILL.md +209 -0
  348. omninode_claude-0.2.0/plugins/onex/skills/fix-prs/SKILL.md +326 -0
  349. omninode_claude-0.2.0/plugins/onex/skills/fix-prs/prompt.md +374 -0
  350. omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/SKILL.md +223 -0
  351. omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/models/__init__.py +10 -0
  352. omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/models/enum_gap_category.py +18 -0
  353. omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/models/model_gap_analysis_report.py +66 -0
  354. omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/models/model_gap_finding.py +72 -0
  355. omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/prompt.md +472 -0
  356. omninode_claude-0.2.0/plugins/onex/skills/gap-analysis/suppressions.yaml +20 -0
  357. omninode_claude-0.2.0/plugins/onex/skills/gap-fix/SKILL.md +203 -0
  358. omninode_claude-0.2.0/plugins/onex/skills/gap-fix/prompt.md +472 -0
  359. omninode_claude-0.2.0/plugins/onex/skills/generate-node/README.md +57 -0
  360. omninode_claude-0.2.0/plugins/onex/skills/generate-node/SKILL.md +426 -0
  361. omninode_claude-0.2.0/plugins/onex/skills/generate-node/generate +174 -0
  362. omninode_claude-0.2.0/plugins/onex/skills/generate-node/regenerate +309 -0
  363. omninode_claude-0.2.0/plugins/onex/skills/intelligence/request-intelligence/SKILL.md +106 -0
  364. omninode_claude-0.2.0/plugins/onex/skills/intelligence/request-intelligence/execute.py +434 -0
  365. omninode_claude-0.2.0/plugins/onex/skills/linear/SKILL.md +244 -0
  366. omninode_claude-0.2.0/plugins/onex/skills/linear/create-ticket +249 -0
  367. omninode_claude-0.2.0/plugins/onex/skills/linear/get-ticket +75 -0
  368. omninode_claude-0.2.0/plugins/onex/skills/linear/list-tickets +168 -0
  369. omninode_claude-0.2.0/plugins/onex/skills/linear/pr_integration.py +403 -0
  370. omninode_claude-0.2.0/plugins/onex/skills/linear/update-ticket +199 -0
  371. omninode_claude-0.2.0/plugins/onex/skills/linear-insights/SKILL.md +428 -0
  372. omninode_claude-0.2.0/plugins/onex/skills/linear-insights/config.yaml +168 -0
  373. omninode_claude-0.2.0/plugins/onex/skills/linear-insights/deep-dive +874 -0
  374. omninode_claude-0.2.0/plugins/onex/skills/linear-insights/estimation-accuracy +492 -0
  375. omninode_claude-0.2.0/plugins/onex/skills/linear-insights/project-status +1177 -0
  376. omninode_claude-0.2.0/plugins/onex/skills/linear-insights/setup +1113 -0
  377. omninode_claude-0.2.0/plugins/onex/skills/linear-insights/suggest-work +692 -0
  378. omninode_claude-0.2.0/plugins/onex/skills/linear-insights/velocity-estimate +819 -0
  379. omninode_claude-0.2.0/plugins/onex/skills/local-review/SKILL.md +496 -0
  380. omninode_claude-0.2.0/plugins/onex/skills/local-review/prompt.md +1337 -0
  381. omninode_claude-0.2.0/plugins/onex/skills/log-execution/SKILL.md +174 -0
  382. omninode_claude-0.2.0/plugins/onex/skills/log-execution/execute.py +356 -0
  383. omninode_claude-0.2.0/plugins/onex/skills/merge-sweep/SKILL.md +446 -0
  384. omninode_claude-0.2.0/plugins/onex/skills/merge-sweep/prompt.md +578 -0
  385. omninode_claude-0.2.0/plugins/onex/skills/parallel-solve/SKILL.md +141 -0
  386. omninode_claude-0.2.0/plugins/onex/skills/parallel-solve/prompt.md +348 -0
  387. omninode_claude-0.2.0/plugins/onex/skills/pipeline-audit/SKILL.md +565 -0
  388. omninode_claude-0.2.0/plugins/onex/skills/plan-ticket/SKILL.md +120 -0
  389. omninode_claude-0.2.0/plugins/onex/skills/plan-ticket/prompt.md +121 -0
  390. omninode_claude-0.2.0/plugins/onex/skills/plan-to-tickets/SKILL.md +962 -0
  391. omninode_claude-0.2.0/plugins/onex/skills/pr-polish/SKILL.md +183 -0
  392. omninode_claude-0.2.0/plugins/onex/skills/pr-polish/prompt.md +368 -0
  393. omninode_claude-0.2.0/plugins/onex/skills/pr-queue-pipeline/SKILL.md +438 -0
  394. omninode_claude-0.2.0/plugins/onex/skills/pr-queue-pipeline/prompt.md +550 -0
  395. omninode_claude-0.2.0/plugins/onex/skills/pr-release-ready/SKILL.md +64 -0
  396. omninode_claude-0.2.0/plugins/onex/skills/pr-review/SKILL.md +548 -0
  397. omninode_claude-0.2.0/plugins/onex/skills/pr-review/analyze-pr-comments +486 -0
  398. omninode_claude-0.2.0/plugins/onex/skills/pr-review/analyzer.py +516 -0
  399. omninode_claude-0.2.0/plugins/onex/skills/pr-review/collate-issues +245 -0
  400. omninode_claude-0.2.0/plugins/onex/skills/pr-review/collate-issues-with-ci +224 -0
  401. omninode_claude-0.2.0/plugins/onex/skills/pr-review/collate_issues.py +1858 -0
  402. omninode_claude-0.2.0/plugins/onex/skills/pr-review/fetch-pr-data +695 -0
  403. omninode_claude-0.2.0/plugins/onex/skills/pr-review/fetcher.py +712 -0
  404. omninode_claude-0.2.0/plugins/onex/skills/pr-review/models.py +1647 -0
  405. omninode_claude-0.2.0/plugins/onex/skills/pr-review/pr-dev-review-wrapper +227 -0
  406. omninode_claude-0.2.0/plugins/onex/skills/pr-review/pr-quick-review +142 -0
  407. omninode_claude-0.2.0/plugins/onex/skills/pr-review/pr-review-production +345 -0
  408. omninode_claude-0.2.0/plugins/onex/skills/pr-review/pr-review-v2 +15 -0
  409. omninode_claude-0.2.0/plugins/onex/skills/pr-review/pr_review.py +291 -0
  410. omninode_claude-0.2.0/plugins/onex/skills/pr-review/review-pr +409 -0
  411. omninode_claude-0.2.0/plugins/onex/skills/pr-review/test_models.py +1386 -0
  412. omninode_claude-0.2.0/plugins/onex/skills/pr-review-dev/SKILL.md +265 -0
  413. omninode_claude-0.2.0/plugins/onex/skills/pr-watch/SKILL.md +141 -0
  414. omninode_claude-0.2.0/plugins/onex/skills/project-status/SKILL.md +295 -0
  415. omninode_claude-0.2.0/plugins/onex/skills/receiving-code-review/SKILL.md +219 -0
  416. omninode_claude-0.2.0/plugins/onex/skills/requesting-code-review/SKILL.md +113 -0
  417. omninode_claude-0.2.0/plugins/onex/skills/requesting-code-review/code-reviewer.md +146 -0
  418. omninode_claude-0.2.0/plugins/onex/skills/review-all-prs/SKILL.md +383 -0
  419. omninode_claude-0.2.0/plugins/onex/skills/review-all-prs/prompt.md +553 -0
  420. omninode_claude-0.2.0/plugins/onex/skills/review-cycle/SKILL.md +449 -0
  421. omninode_claude-0.2.0/plugins/onex/skills/review-cycle/prompt.md +583 -0
  422. omninode_claude-0.2.0/plugins/onex/skills/root-cause-tracing/SKILL.md +183 -0
  423. omninode_claude-0.2.0/plugins/onex/skills/root-cause-tracing/find-polluter.sh +66 -0
  424. omninode_claude-0.2.0/plugins/onex/skills/routing/request-agent-routing/SKILL.md +345 -0
  425. omninode_claude-0.2.0/plugins/onex/skills/routing/request-agent-routing/execute_direct.py +244 -0
  426. omninode_claude-0.2.0/plugins/onex/skills/routing/request-agent-routing/execute_kafka.py +464 -0
  427. omninode_claude-0.2.0/plugins/onex/skills/rrh/SKILL.md +154 -0
  428. omninode_claude-0.2.0/plugins/onex/skills/rrh/rrh_adapter.py +190 -0
  429. omninode_claude-0.2.0/plugins/onex/skills/setup-statusline/SKILL.md +74 -0
  430. omninode_claude-0.2.0/plugins/onex/skills/sharing-skills/SKILL.md +202 -0
  431. omninode_claude-0.2.0/plugins/onex/skills/slack-gate/SKILL.md +368 -0
  432. omninode_claude-0.2.0/plugins/onex/skills/slack-gate/prompt.md +197 -0
  433. omninode_claude-0.2.0/plugins/onex/skills/slack-gate/slack_gate_poll.py +236 -0
  434. omninode_claude-0.2.0/plugins/onex/skills/subagent-driven-development/SKILL.md +198 -0
  435. omninode_claude-0.2.0/plugins/onex/skills/suggest-work/SKILL.md +297 -0
  436. omninode_claude-0.2.0/plugins/onex/skills/system-status/MAGIC_NUMBERS_EXTRACTION.md +174 -0
  437. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-agent-performance/SKILL.md +51 -0
  438. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-agent-performance/execute.py +180 -0
  439. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-agent-performance/py.typed +0 -0
  440. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-database-health/SKILL.md +54 -0
  441. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-database-health/execute.py +230 -0
  442. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-database-health/py.typed +0 -0
  443. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-infrastructure/SKILL.md +163 -0
  444. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-infrastructure/execute.py +160 -0
  445. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-infrastructure/py.typed +0 -0
  446. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-kafka-topics/SECURITY_ANALYSIS.md +148 -0
  447. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-kafka-topics/SKILL.md +217 -0
  448. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-kafka-topics/execute.py +145 -0
  449. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-kafka-topics/py.typed +0 -0
  450. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-pattern-discovery/SECURITY_ANALYSIS.md +152 -0
  451. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-pattern-discovery/SKILL.md +164 -0
  452. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-pattern-discovery/execute.py +82 -0
  453. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-pattern-discovery/py.typed +0 -0
  454. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-recent-activity/SKILL.md +55 -0
  455. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-recent-activity/execute.py +171 -0
  456. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-recent-activity/py.typed +0 -0
  457. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-service-status/SKILL.md +78 -0
  458. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-service-status/execute.py +123 -0
  459. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-service-status/py.typed +0 -0
  460. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-system-health/FIX_SUMMARY.md +134 -0
  461. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-system-health/SKILL.md +149 -0
  462. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-system-health/execute.py +402 -0
  463. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-system-health/py.typed +0 -0
  464. omninode_claude-0.2.0/plugins/onex/skills/system-status/check-system-health/test_docker_failure.py +193 -0
  465. omninode_claude-0.2.0/plugins/onex/skills/system-status/diagnose-issues/SKILL.md +89 -0
  466. omninode_claude-0.2.0/plugins/onex/skills/system-status/diagnose-issues/execute.py +464 -0
  467. omninode_claude-0.2.0/plugins/onex/skills/system-status/diagnose-issues/py.typed +0 -0
  468. omninode_claude-0.2.0/plugins/onex/skills/system-status/generate-status-report/SKILL.md +140 -0
  469. omninode_claude-0.2.0/plugins/onex/skills/system-status/generate-status-report/execute.py +397 -0
  470. omninode_claude-0.2.0/plugins/onex/skills/system-status/generate-status-report/py.typed +0 -0
  471. omninode_claude-0.2.0/plugins/onex/skills/system-status/py.typed +0 -0
  472. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/IMPORT_FIXES_NEEDED.md +428 -0
  473. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/NEXT_STEPS.md +468 -0
  474. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/README.md +267 -0
  475. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/SECURITY_TEST_FIXES.md +176 -0
  476. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/TESTING.md +287 -0
  477. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/TEST_ALIGNMENT_SUMMARY.md +270 -0
  478. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/TEST_RESULTS_SUMMARY.md +340 -0
  479. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/VERIFICATION.md +218 -0
  480. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/analyze_results.py +81 -0
  481. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/conftest.py +147 -0
  482. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/py.typed +0 -0
  483. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/pytest.ini +41 -0
  484. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/run_tests.sh +99 -0
  485. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_agent_performance.py +186 -0
  486. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_database_health.py +169 -0
  487. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_infrastructure.py +227 -0
  488. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_kafka_topics.py +111 -0
  489. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_pattern_discovery.py +121 -0
  490. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_recent_activity.py +266 -0
  491. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_check_service_status.py +179 -0
  492. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_diagnose_issues.py +240 -0
  493. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_error_handling.py +436 -0
  494. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_generate_status_report.py +243 -0
  495. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_helper_modules.py +139 -0
  496. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_input_validation.py +319 -0
  497. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_results_full.txt +369 -0
  498. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_sql_injection_prevention.py +154 -0
  499. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_sql_security.py +321 -0
  500. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_ssrf_protection.py +295 -0
  501. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_summary.py +120 -0
  502. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_timeframe_parser.py +82 -0
  503. omninode_claude-0.2.0/plugins/onex/skills/system-status/tests/test_validators.py +131 -0
  504. omninode_claude-0.2.0/plugins/onex/skills/systematic-debugging/SKILL.md +304 -0
  505. omninode_claude-0.2.0/plugins/onex/skills/test-driven-development/SKILL.md +373 -0
  506. omninode_claude-0.2.0/plugins/onex/skills/testing-anti-patterns/SKILL.md +311 -0
  507. omninode_claude-0.2.0/plugins/onex/skills/testing-skills-with-subagents/SKILL.md +396 -0
  508. omninode_claude-0.2.0/plugins/onex/skills/testing-skills-with-subagents/examples/CLAUDE_MD_TESTING.md +189 -0
  509. omninode_claude-0.2.0/plugins/onex/skills/ticket-pipeline/SKILL.md +453 -0
  510. omninode_claude-0.2.0/plugins/onex/skills/ticket-pipeline/prompt.md +2321 -0
  511. omninode_claude-0.2.0/plugins/onex/skills/ticket-plan/SKILL.md +54 -0
  512. omninode_claude-0.2.0/plugins/onex/skills/ticket-plan/prompt.md +114 -0
  513. omninode_claude-0.2.0/plugins/onex/skills/ticket-work/SKILL.md +337 -0
  514. omninode_claude-0.2.0/plugins/onex/skills/ticket-work/prompt.md +738 -0
  515. omninode_claude-0.2.0/plugins/onex/skills/trace-correlation-id/skill.json +21 -0
  516. omninode_claude-0.2.0/plugins/onex/skills/trace-correlation-id/trace-correlation-id +40 -0
  517. omninode_claude-0.2.0/plugins/onex/skills/ultimate-validate/SKILL.md +127 -0
  518. omninode_claude-0.2.0/plugins/onex/skills/using-git-worktrees/SKILL.md +323 -0
  519. omninode_claude-0.2.0/plugins/onex/skills/using-superpowers/SKILL.md +109 -0
  520. omninode_claude-0.2.0/plugins/onex/skills/velocity-estimate/SKILL.md +314 -0
  521. omninode_claude-0.2.0/plugins/onex/skills/verification-before-completion/SKILL.md +148 -0
  522. omninode_claude-0.2.0/plugins/onex/skills/writing-plans/SKILL.md +125 -0
  523. omninode_claude-0.2.0/plugins/onex/skills/writing-skills/SKILL.md +630 -0
  524. omninode_claude-0.2.0/plugins/onex/skills/writing-skills/anthropic-best-practices.md +1144 -0
  525. omninode_claude-0.2.0/plugins/onex/skills/writing-skills/graphviz-conventions.dot +172 -0
  526. omninode_claude-0.2.0/plugins/onex/skills/writing-skills/persuasion-principles.md +187 -0
  527. omninode_claude-0.2.0/plugins/onex/tests/hooks/test_emit_client_wrapper.py +859 -0
  528. omninode_claude-0.2.0/pyproject.toml +359 -0
  529. omninode_claude-0.2.0/pyrightconfig.json +47 -0
  530. omninode_claude-0.2.0/schemas/pipeline_events.yaml +958 -0
  531. omninode_claude-0.2.0/scripts/DATABASE_VERIFICATION_GUIDE.md +319 -0
  532. omninode_claude-0.2.0/scripts/POOL_LIFECYCLE_FIX_SUMMARY.md +183 -0
  533. omninode_claude-0.2.0/scripts/QUICKSTART_DEBUG_CLI.md +117 -0
  534. omninode_claude-0.2.0/scripts/README.md +371 -0
  535. omninode_claude-0.2.0/scripts/README_DEBUG_LOOP_CLI.md +430 -0
  536. omninode_claude-0.2.0/scripts/add_py_typed.sh +93 -0
  537. omninode_claude-0.2.0/scripts/analyze_intelligence.py +402 -0
  538. omninode_claude-0.2.0/scripts/benchmark_manifest_performance.py +618 -0
  539. omninode_claude-0.2.0/scripts/bus_audit.py +1316 -0
  540. omninode_claude-0.2.0/scripts/check_local_paths.py +34 -0
  541. omninode_claude-0.2.0/scripts/check_local_paths_wrapper.sh +13 -0
  542. omninode_claude-0.2.0/scripts/check_migration_freeze.sh +94 -0
  543. omninode_claude-0.2.0/scripts/cleanup_file_patterns.sql +231 -0
  544. omninode_claude-0.2.0/scripts/db-credentials.sh +63 -0
  545. omninode_claude-0.2.0/scripts/debug_loop_cli.py +868 -0
  546. omninode_claude-0.2.0/scripts/demo_runner.py +555 -0
  547. omninode_claude-0.2.0/scripts/env_validation.py +80 -0
  548. omninode_claude-0.2.0/scripts/generate_formatted_manifest.py +109 -0
  549. omninode_claude-0.2.0/scripts/git-hooks/README.md +28 -0
  550. omninode_claude-0.2.0/scripts/git-hooks/pre-push +86 -0
  551. omninode_claude-0.2.0/scripts/health_check.sh +498 -0
  552. omninode_claude-0.2.0/scripts/ingest_all_repositories.py +459 -0
  553. omninode_claude-0.2.0/scripts/init-db.sh +127 -0
  554. omninode_claude-0.2.0/scripts/observability/DASHBOARD_USAGE.md +554 -0
  555. omninode_claude-0.2.0/scripts/observability/EXIT_CODES.md +342 -0
  556. omninode_claude-0.2.0/scripts/observability/README.md +326 -0
  557. omninode_claude-0.2.0/scripts/observability/README_EXIT_CODES.md +93 -0
  558. omninode_claude-0.2.0/scripts/observability/agent_activity_dashboard.sh +437 -0
  559. omninode_claude-0.2.0/scripts/observability/apply_dashboard_views.sh +234 -0
  560. omninode_claude-0.2.0/scripts/observability/check-docker-health +182 -0
  561. omninode_claude-0.2.0/scripts/observability/cleanup_stuck_agents.sh +224 -0
  562. omninode_claude-0.2.0/scripts/observability/dashboard_stats.sh +307 -0
  563. omninode_claude-0.2.0/scripts/observability/dashboard_views.sql +284 -0
  564. omninode_claude-0.2.0/scripts/observability/diagnose_agent_logging.sh +423 -0
  565. omninode_claude-0.2.0/scripts/observability/diagnose_traceability.sh +465 -0
  566. omninode_claude-0.2.0/scripts/observability/fix_negative_durations.sql +99 -0
  567. omninode_claude-0.2.0/scripts/observability/monitor_routing_health.sh +449 -0
  568. omninode_claude-0.2.0/scripts/observability/query_agent_history.sh +508 -0
  569. omninode_claude-0.2.0/scripts/observability/routing_metrics.sql +518 -0
  570. omninode_claude-0.2.0/scripts/observability/test_agent_execution.sh +424 -0
  571. omninode_claude-0.2.0/scripts/pr_claim_registry_cli.py +71 -0
  572. omninode_claude-0.2.0/scripts/pre-push +79 -0
  573. omninode_claude-0.2.0/scripts/publish_provider_selection.py +196 -0
  574. omninode_claude-0.2.0/scripts/show_full_manifest.py +202 -0
  575. omninode_claude-0.2.0/scripts/show_manifest_details.py +123 -0
  576. omninode_claude-0.2.0/scripts/show_manifest_summary.py +287 -0
  577. omninode_claude-0.2.0/scripts/start-dashboard.sh +36 -0
  578. omninode_claude-0.2.0/scripts/switch-plugin-branch.sh +35 -0
  579. omninode_claude-0.2.0/scripts/test_manifest_generation_with_patterns.py +243 -0
  580. omninode_claude-0.2.0/scripts/test_pattern_quality_upsert.py +68 -0
  581. omninode_claude-0.2.0/scripts/tests/README.md +158 -0
  582. omninode_claude-0.2.0/scripts/tests/test_comprehensive_logging.sh +404 -0
  583. omninode_claude-0.2.0/scripts/tests/test_intelligence_functionality.sh +448 -0
  584. omninode_claude-0.2.0/scripts/tests/test_kafka_functionality.sh +248 -0
  585. omninode_claude-0.2.0/scripts/tests/test_postgres_functionality.sh +145 -0
  586. omninode_claude-0.2.0/scripts/tests/test_routing_functionality.sh +296 -0
  587. omninode_claude-0.2.0/scripts/toggle-claude-provider.sh +461 -0
  588. omninode_claude-0.2.0/scripts/validate-clean-root.sh +271 -0
  589. omninode_claude-0.2.0/scripts/validate-env.sh +194 -0
  590. omninode_claude-0.2.0/scripts/validate-kafka-setup.sh +264 -0
  591. omninode_claude-0.2.0/scripts/validate_onex.py +252 -0
  592. omninode_claude-0.2.0/scripts/validate_pattern_extraction.py +147 -0
  593. omninode_claude-0.2.0/scripts/validate_pattern_integration.py +246 -0
  594. omninode_claude-0.2.0/scripts/validation/validate_cost_ledger_isolation.py +158 -0
  595. omninode_claude-0.2.0/scripts/validation/validate_cost_ledger_structure.py +205 -0
  596. omninode_claude-0.2.0/scripts/validation/validate_enum_governance.py +227 -0
  597. omninode_claude-0.2.0/scripts/validation/validate_exports.py +607 -0
  598. omninode_claude-0.2.0/scripts/validation/validate_no_compact_cmd_topic.py +172 -0
  599. omninode_claude-0.2.0/scripts/validation/validate_no_db_in_orchestrator.py +202 -0
  600. omninode_claude-0.2.0/scripts/validation/validate_no_direct_kafka_producer.py +150 -0
  601. omninode_claude-0.2.0/scripts/validation/validate_no_duplicate_models.py +226 -0
  602. omninode_claude-0.2.0/scripts/validation/validate_no_git_outside_effects.py +178 -0
  603. omninode_claude-0.2.0/scripts/validation/validate_no_linear_outside_effects.py +123 -0
  604. omninode_claude-0.2.0/scripts/validation/validate_no_repo_adapter_in_orchestrator.py +118 -0
  605. omninode_claude-0.2.0/scripts/validation/validate_no_utcnow.py +106 -0
  606. omninode_claude-0.2.0/scripts/validation/validate_pydantic_patterns.py +521 -0
  607. omninode_claude-0.2.0/scripts/validation/validate_secrets.py +609 -0
  608. omninode_claude-0.2.0/scripts/validation/validate_single_class_per_file.py +593 -0
  609. omninode_claude-0.2.0/scripts/validation/validate_topic_naming.py +131 -0
  610. omninode_claude-0.2.0/scripts/view_agent_manifest.py +112 -0
  611. omninode_claude-0.2.0/scripts/view_manifest.py +45 -0
  612. omninode_claude-0.2.0/shared_lib/KAFKA_CONFIG_MIGRATION.md +189 -0
  613. omninode_claude-0.2.0/shared_lib/__init__.py +10 -0
  614. omninode_claude-0.2.0/shared_lib/kafka_config.py +118 -0
  615. omninode_claude-0.2.0/shared_lib/kafka_publisher.py +209 -0
  616. omninode_claude-0.2.0/shared_lib/py.typed +0 -0
  617. omninode_claude-0.2.0/shared_lib/setup.sh +50 -0
  618. omninode_claude-0.2.0/sql/migrations/001_create_claude_session_tables.sql +154 -0
  619. omninode_claude-0.2.0/sql/migrations/001_create_claude_session_tables_down.sql +38 -0
  620. omninode_claude-0.2.0/src/omniclaude/__init__.py +17 -0
  621. omninode_claude-0.2.0/src/omniclaude/aggregators/__init__.py +93 -0
  622. omninode_claude-0.2.0/src/omniclaude/aggregators/config.py +138 -0
  623. omninode_claude-0.2.0/src/omniclaude/aggregators/enums.py +71 -0
  624. omninode_claude-0.2.0/src/omniclaude/aggregators/protocol_session_aggregator.py +405 -0
  625. omninode_claude-0.2.0/src/omniclaude/aggregators/session_aggregator.py +1651 -0
  626. omninode_claude-0.2.0/src/omniclaude/app/__init__.py +2 -0
  627. omninode_claude-0.2.0/src/omniclaude/app/version.py +9 -0
  628. omninode_claude-0.2.0/src/omniclaude/cli/__init__.py +16 -0
  629. omninode_claude-0.2.0/src/omniclaude/cli/patterns.py +169 -0
  630. omninode_claude-0.2.0/src/omniclaude/cli/trace.py +632 -0
  631. omninode_claude-0.2.0/src/omniclaude/config/__init__.py +30 -0
  632. omninode_claude-0.2.0/src/omniclaude/config/model_local_llm_config.py +514 -0
  633. omninode_claude-0.2.0/src/omniclaude/config/settings.py +659 -0
  634. omninode_claude-0.2.0/src/omniclaude/contracts/__init__.py +55 -0
  635. omninode_claude-0.2.0/src/omniclaude/hooks/__init__.py +128 -0
  636. omninode_claude-0.2.0/src/omniclaude/hooks/cli_emit.py +839 -0
  637. omninode_claude-0.2.0/src/omniclaude/hooks/cohort_assignment.py +361 -0
  638. omninode_claude-0.2.0/src/omniclaude/hooks/context_config.py +509 -0
  639. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/__init__.py +101 -0
  640. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_experiment_cohort.py +424 -0
  641. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_experiment_cohort.yaml +93 -0
  642. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_prompt_submitted.py +260 -0
  643. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_prompt_submitted.yaml +212 -0
  644. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_session_ended.py +235 -0
  645. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_session_ended.yaml +195 -0
  646. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_session_outcome.yaml +188 -0
  647. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_session_started.py +210 -0
  648. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_session_started.yaml +192 -0
  649. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_tool_executed.py +465 -0
  650. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/contract_hook_tool_executed.yaml +215 -0
  651. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/schema/__init__.py +40 -0
  652. omninode_claude-0.2.0/src/omniclaude/hooks/contracts/schema/model_json_schema.py +309 -0
  653. omninode_claude-0.2.0/src/omniclaude/hooks/event_registry.py +827 -0
  654. omninode_claude-0.2.0/src/omniclaude/hooks/evidence_resolver.py +47 -0
  655. omninode_claude-0.2.0/src/omniclaude/hooks/handler_context_injection.py +1260 -0
  656. omninode_claude-0.2.0/src/omniclaude/hooks/handler_event_emitter.py +1324 -0
  657. omninode_claude-0.2.0/src/omniclaude/hooks/injection_limits.py +890 -0
  658. omninode_claude-0.2.0/src/omniclaude/hooks/lib/__init__.py +11 -0
  659. omninode_claude-0.2.0/src/omniclaude/hooks/lib/compliance_result_subscriber.py +508 -0
  660. omninode_claude-0.2.0/src/omniclaude/hooks/lib/decision_record_subscriber.py +414 -0
  661. omninode_claude-0.2.0/src/omniclaude/hooks/models.py +86 -0
  662. omninode_claude-0.2.0/src/omniclaude/hooks/models_injection_tracking.py +123 -0
  663. omninode_claude-0.2.0/src/omniclaude/hooks/schemas.py +2729 -0
  664. omninode_claude-0.2.0/src/omniclaude/hooks/topics.py +388 -0
  665. omninode_claude-0.2.0/src/omniclaude/lib/__init__.py +15 -0
  666. omninode_claude-0.2.0/src/omniclaude/lib/clients/__init__.py +11 -0
  667. omninode_claude-0.2.0/src/omniclaude/lib/config/__init__.py +12 -0
  668. omninode_claude-0.2.0/src/omniclaude/lib/config/intelligence_config.py +384 -0
  669. omninode_claude-0.2.0/src/omniclaude/lib/consumer_group_guard.py +170 -0
  670. omninode_claude-0.2.0/src/omniclaude/lib/core/__init__.py +122 -0
  671. omninode_claude-0.2.0/src/omniclaude/lib/core/action_event_publisher.py +805 -0
  672. omninode_claude-0.2.0/src/omniclaude/lib/core/action_logger.py +584 -0
  673. omninode_claude-0.2.0/src/omniclaude/lib/core/agent_router.py +896 -0
  674. omninode_claude-0.2.0/src/omniclaude/lib/core/agent_transformer.py +447 -0
  675. omninode_claude-0.2.0/src/omniclaude/lib/core/capability_index.py +370 -0
  676. omninode_claude-0.2.0/src/omniclaude/lib/core/confidence_scorer.py +303 -0
  677. omninode_claude-0.2.0/src/omniclaude/lib/core/intelligence_cache.py +267 -0
  678. omninode_claude-0.2.0/src/omniclaude/lib/core/intelligence_event_client.py +265 -0
  679. omninode_claude-0.2.0/src/omniclaude/lib/core/intelligence_gatherer.py +656 -0
  680. omninode_claude-0.2.0/src/omniclaude/lib/core/manifest_injector.py +5555 -0
  681. omninode_claude-0.2.0/src/omniclaude/lib/core/result_cache.py +320 -0
  682. omninode_claude-0.2.0/src/omniclaude/lib/core/routing_event_client.py +276 -0
  683. omninode_claude-0.2.0/src/omniclaude/lib/core/transformation_validator.py +333 -0
  684. omninode_claude-0.2.0/src/omniclaude/lib/core/trigger_matcher.py +524 -0
  685. omninode_claude-0.2.0/src/omniclaude/lib/errors.py +17 -0
  686. omninode_claude-0.2.0/src/omniclaude/lib/intelligence_usage_tracker.py +641 -0
  687. omninode_claude-0.2.0/src/omniclaude/lib/kafka_producer_utils.py +295 -0
  688. omninode_claude-0.2.0/src/omniclaude/lib/kafka_publisher_base.py +331 -0
  689. omninode_claude-0.2.0/src/omniclaude/lib/manifest_injection_event_publisher.py +338 -0
  690. omninode_claude-0.2.0/src/omniclaude/lib/models/__init__.py +26 -0
  691. omninode_claude-0.2.0/src/omniclaude/lib/models/intelligence_context.py +231 -0
  692. omninode_claude-0.2.0/src/omniclaude/lib/pattern_quality_scorer.py +484 -0
  693. omninode_claude-0.2.0/src/omniclaude/lib/task_classifier.py +718 -0
  694. omninode_claude-0.2.0/src/omniclaude/lib/transformation_event_publisher.py +428 -0
  695. omninode_claude-0.2.0/src/omniclaude/lib/utils/__init__.py +120 -0
  696. omninode_claude-0.2.0/src/omniclaude/lib/utils/consensus/__init__.py +11 -0
  697. omninode_claude-0.2.0/src/omniclaude/lib/utils/consensus/quorum.py +787 -0
  698. omninode_claude-0.2.0/src/omniclaude/lib/utils/correction/__init__.py +13 -0
  699. omninode_claude-0.2.0/src/omniclaude/lib/utils/correction/ast_corrector.py +461 -0
  700. omninode_claude-0.2.0/src/omniclaude/lib/utils/correction/framework_detector.py +378 -0
  701. omninode_claude-0.2.0/src/omniclaude/lib/utils/correction/generator.py +460 -0
  702. omninode_claude-0.2.0/src/omniclaude/lib/utils/debug_utils.py +602 -0
  703. omninode_claude-0.2.0/src/omniclaude/lib/utils/error_handling.py +394 -0
  704. omninode_claude-0.2.0/src/omniclaude/lib/utils/health_checks.py +562 -0
  705. omninode_claude-0.2.0/src/omniclaude/lib/utils/manifest_loader.py +116 -0
  706. omninode_claude-0.2.0/src/omniclaude/lib/utils/naming_validator.py +997 -0
  707. omninode_claude-0.2.0/src/omniclaude/lib/utils/pattern_tracker.py +873 -0
  708. omninode_claude-0.2.0/src/omniclaude/lib/utils/pattern_tracker_sync.py +367 -0
  709. omninode_claude-0.2.0/src/omniclaude/lib/utils/quality_enforcer.py +1347 -0
  710. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/__init__.py +69 -0
  711. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/_internal/__init__.py +36 -0
  712. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/_internal/_types.py +77 -0
  713. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/_internal/confidence_scoring.py +277 -0
  714. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/_internal/trigger_matching.py +548 -0
  715. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/contract.yaml +112 -0
  716. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/handler_routing_default.py +414 -0
  717. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/handler_routing_llm.py +477 -0
  718. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/models/__init__.py +26 -0
  719. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/models/model_agent_definition.py +78 -0
  720. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/models/model_confidence_breakdown.py +75 -0
  721. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/models/model_routing_request.py +71 -0
  722. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/models/model_routing_result.py +95 -0
  723. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/node.py +47 -0
  724. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/protocols/__init__.py +25 -0
  725. omninode_claude-0.2.0/src/omniclaude/nodes/node_agent_routing_compute/protocols/protocol_agent_routing.py +88 -0
  726. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/__init__.py +4 -0
  727. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/enums/__init__.py +4 -0
  728. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/enums/enum_ambiguity_type.py +43 -0
  729. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/enums/enum_gate_verdict.py +23 -0
  730. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/handler_ambiguity_gate_default.py +243 -0
  731. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/models/__init__.py +4 -0
  732. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/models/model_ambiguity_flag.py +50 -0
  733. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/models/model_ambiguity_gate_error.py +36 -0
  734. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/models/model_gate_check_request.py +81 -0
  735. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/models/model_gate_check_result.py +58 -0
  736. omninode_claude-0.2.0/src/omniclaude/nodes/node_ambiguity_gate/node.py +42 -0
  737. omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/__init__.py +36 -0
  738. omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/contract.yaml +137 -0
  739. omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/models/__init__.py +25 -0
  740. omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/models/model_claude_code_session_request.py +67 -0
  741. omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/node.py +52 -0
  742. omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/protocols/__init__.py +26 -0
  743. omninode_claude-0.2.0/src/omniclaude/nodes/node_claude_code_session_effect/protocols/protocol_claude_code_session.py +78 -0
  744. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/__init__.py +71 -0
  745. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/enums/__init__.py +4 -0
  746. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/enums/enum_ac_verdict.py +27 -0
  747. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/enums/enum_execution_outcome.py +29 -0
  748. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/handler_evidence_bundle_default.py +97 -0
  749. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/models/__init__.py +4 -0
  750. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/models/model_ac_verification_record.py +55 -0
  751. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/models/model_bundle_generate_request.py +97 -0
  752. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/models/model_evidence_bundle.py +113 -0
  753. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/node.py +41 -0
  754. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/protocol_bundle_store.py +60 -0
  755. omninode_claude-0.2.0/src/omniclaude/nodes/node_evidence_bundle/store_bundle_in_memory.py +82 -0
  756. omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/__init__.py +39 -0
  757. omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/contract.yaml +187 -0
  758. omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/models/__init__.py +25 -0
  759. omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/models/model_git_request.py +94 -0
  760. omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/models/model_git_result.py +70 -0
  761. omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/node.py +57 -0
  762. omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/protocols/__init__.py +30 -0
  763. omninode_claude-0.2.0/src/omniclaude/nodes/node_git_effect/protocols/protocol_git_operations.py +108 -0
  764. omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/__init__.py +39 -0
  765. omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/contract.yaml +157 -0
  766. omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/models/__init__.py +24 -0
  767. omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/models/model_linear_request.py +77 -0
  768. omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/models/model_linear_result.py +70 -0
  769. omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/node.py +56 -0
  770. omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/protocols/__init__.py +28 -0
  771. omninode_claude-0.2.0/src/omniclaude/nodes/node_linear_effect/protocols/protocol_linear_ticketing.py +89 -0
  772. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_coding_orchestrator/__init__.py +25 -0
  773. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_coding_orchestrator/contract.yaml +82 -0
  774. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_coding_orchestrator/models/__init__.py +14 -0
  775. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_coding_orchestrator/node.py +52 -0
  776. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_coding_orchestrator/protocols/__init__.py +11 -0
  777. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/__init__.py +36 -0
  778. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/contract.yaml +116 -0
  779. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/models/__init__.py +21 -0
  780. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/models/model_local_llm_inference_request.py +63 -0
  781. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/node.py +51 -0
  782. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/protocols/__init__.py +24 -0
  783. omninode_claude-0.2.0/src/omniclaude/nodes/node_local_llm_inference_effect/protocols/protocol_local_llm_inference.py +52 -0
  784. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/__init__.py +13 -0
  785. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/enums/__init__.py +14 -0
  786. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/enums/enum_intent_type.py +43 -0
  787. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/enums/enum_resolution_path.py +33 -0
  788. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/handler_nl_intent_default.py +363 -0
  789. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/models/__init__.py +25 -0
  790. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/models/model_classification_response.py +38 -0
  791. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/models/model_extracted_entity.py +54 -0
  792. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/models/model_intent_object.py +167 -0
  793. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/models/model_nl_parse_request.py +67 -0
  794. omninode_claude-0.2.0/src/omniclaude/nodes/node_nl_intent_pipeline/node.py +41 -0
  795. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/__init__.py +4 -0
  796. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/enums/__init__.py +4 -0
  797. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/enums/enum_promotion_status.py +27 -0
  798. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/handler_pattern_promotion_default.py +241 -0
  799. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/models/__init__.py +4 -0
  800. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/models/model_pattern_promotion_request.py +80 -0
  801. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/models/model_pattern_promotion_result.py +63 -0
  802. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/models/model_promoted_pattern.py +93 -0
  803. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/models/model_promotion_criteria.py +43 -0
  804. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/node.py +41 -0
  805. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/protocol_pattern_store.py +59 -0
  806. omninode_claude-0.2.0/src/omniclaude/nodes/node_omnimemory_promotion/store_pattern_in_memory.py +72 -0
  807. omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/__init__.py +66 -0
  808. omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/contract.yaml +128 -0
  809. omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/models/__init__.py +37 -0
  810. omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/models/model_learned_pattern_query.py +88 -0
  811. omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/models/model_learned_pattern_query_result.py +77 -0
  812. omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/models/model_learned_pattern_record.py +130 -0
  813. omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/models/model_learned_pattern_upsert_result.py +69 -0
  814. omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/node.py +49 -0
  815. omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/protocols/__init__.py +26 -0
  816. omninode_claude-0.2.0/src/omniclaude/nodes/node_pattern_persistence_effect/protocols/protocol_pattern_persistence.py +129 -0
  817. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/__init__.py +13 -0
  818. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/enums/__init__.py +11 -0
  819. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/enums/enum_work_unit_type.py +32 -0
  820. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/handler_plan_dag_default.py +393 -0
  821. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/models/__init__.py +21 -0
  822. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/models/model_dag_edge.py +54 -0
  823. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/models/model_plan_dag.py +146 -0
  824. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/models/model_plan_dag_request.py +61 -0
  825. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/models/model_work_unit.py +65 -0
  826. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/node.py +41 -0
  827. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/protocol_pattern_cache.py +32 -0
  828. omninode_claude-0.2.0/src/omniclaude/nodes/node_plan_dag_generator/protocol_promoted_pattern.py +39 -0
  829. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/__init__.py +54 -0
  830. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/contract.yaml +118 -0
  831. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/handler_routing_emitter.py +251 -0
  832. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/models/__init__.py +21 -0
  833. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/models/model_emission_request.py +101 -0
  834. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/models/model_emission_result.py +54 -0
  835. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/node.py +48 -0
  836. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/protocols/__init__.py +24 -0
  837. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_emission_effect/protocols/protocol_routing_emitter.py +88 -0
  838. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/__init__.py +55 -0
  839. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/contract.yaml +129 -0
  840. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/handler_history_postgres.py +345 -0
  841. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/models/__init__.py +24 -0
  842. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/models/model_agent_routing_stats.py +62 -0
  843. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/models/model_agent_stats_entry.py +86 -0
  844. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/node.py +49 -0
  845. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/protocols/__init__.py +26 -0
  846. omninode_claude-0.2.0/src/omniclaude/nodes/node_routing_history_reducer/protocols/protocol_history_store.py +116 -0
  847. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/__init__.py +15 -0
  848. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/enums/__init__.py +14 -0
  849. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/enums/enum_assertion_type.py +31 -0
  850. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/enums/enum_sandbox_level.py +25 -0
  851. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/handler_ticket_compile_default.py +507 -0
  852. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/__init__.py +27 -0
  853. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/model_acceptance_criterion.py +80 -0
  854. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/model_compiled_ticket.py +125 -0
  855. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/model_idl_spec.py +65 -0
  856. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/model_policy_envelope.py +79 -0
  857. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/models/model_ticket_compile_request.py +87 -0
  858. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticket_compiler/node.py +41 -0
  859. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/__init__.py +39 -0
  860. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/contract.yaml +140 -0
  861. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/models/__init__.py +24 -0
  862. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/models/model_ticketing_request.py +65 -0
  863. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/models/model_ticketing_result.py +70 -0
  864. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/node.py +58 -0
  865. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/protocols/__init__.py +26 -0
  866. omninode_claude-0.2.0/src/omniclaude/nodes/node_ticketing_effect/protocols/protocol_ticketing_base.py +79 -0
  867. omninode_claude-0.2.0/src/omniclaude/nodes/routing_models/__init__.py +62 -0
  868. omninode_claude-0.2.0/src/omniclaude/nodes/shared/__init__.py +31 -0
  869. omninode_claude-0.2.0/src/omniclaude/nodes/shared/handler_skill_requested.py +217 -0
  870. omninode_claude-0.2.0/src/omniclaude/nodes/shared/models/__init__.py +14 -0
  871. omninode_claude-0.2.0/src/omniclaude/nodes/shared/models/model_skill_request.py +84 -0
  872. omninode_claude-0.2.0/src/omniclaude/nodes/shared/models/model_skill_result.py +65 -0
  873. omninode_claude-0.2.0/src/omniclaude/publisher/__init__.py +62 -0
  874. omninode_claude-0.2.0/src/omniclaude/publisher/__main__.py +158 -0
  875. omninode_claude-0.2.0/src/omniclaude/publisher/embedded_publisher.py +611 -0
  876. omninode_claude-0.2.0/src/omniclaude/publisher/emit_client.py +168 -0
  877. omninode_claude-0.2.0/src/omniclaude/publisher/event_queue.py +334 -0
  878. omninode_claude-0.2.0/src/omniclaude/publisher/publisher_config.py +175 -0
  879. omninode_claude-0.2.0/src/omniclaude/publisher/publisher_models.py +138 -0
  880. omninode_claude-0.2.0/src/omniclaude/runtime/__init__.py +77 -0
  881. omninode_claude-0.2.0/src/omniclaude/runtime/plugin.py +425 -0
  882. omninode_claude-0.2.0/src/omniclaude/runtime/wiring.py +173 -0
  883. omninode_claude-0.2.0/src/omniclaude/trace/__init__.py +113 -0
  884. omninode_claude-0.2.0/src/omniclaude/trace/change_frame.py +233 -0
  885. omninode_claude-0.2.0/src/omniclaude/trace/db_schema.py +220 -0
  886. omninode_claude-0.2.0/src/omniclaude/trace/failure_signature.py +241 -0
  887. omninode_claude-0.2.0/src/omniclaude/trace/fix_transition.py +256 -0
  888. omninode_claude-0.2.0/src/omniclaude/trace/frame_assembler.py +643 -0
  889. omninode_claude-0.2.0/src/omniclaude/trace/intelligence_integration.py +488 -0
  890. omninode_claude-0.2.0/src/omniclaude/trace/pr_envelope.py +363 -0
  891. omninode_claude-0.2.0/src/omniclaude/trace/replay_engine.py +439 -0
  892. omninode_claude-0.2.0/tests/README_KAFKA_TESTS.md +476 -0
  893. omninode_claude-0.2.0/tests/TEST_ALIGNMENT_SUMMARY.md +299 -0
  894. omninode_claude-0.2.0/tests/__init__.py +4 -0
  895. omninode_claude-0.2.0/tests/aggregators/__init__.py +4 -0
  896. omninode_claude-0.2.0/tests/aggregators/test_session_aggregator.py +2412 -0
  897. omninode_claude-0.2.0/tests/benchmarks/__init__.py +2 -0
  898. omninode_claude-0.2.0/tests/benchmarks/py.typed +0 -0
  899. omninode_claude-0.2.0/tests/conftest.py +1045 -0
  900. omninode_claude-0.2.0/tests/contracts/__init__.py +5 -0
  901. omninode_claude-0.2.0/tests/contracts/test_assert_no_extra_fields.py +206 -0
  902. omninode_claude-0.2.0/tests/contracts/test_pydantic_contract_models.py +408 -0
  903. omninode_claude-0.2.0/tests/fixtures/sample_learned_patterns.json +36 -0
  904. omninode_claude-0.2.0/tests/handlers/__init__.py +5 -0
  905. omninode_claude-0.2.0/tests/hooks/__init__.py +12 -0
  906. omninode_claude-0.2.0/tests/hooks/conftest.py +235 -0
  907. omninode_claude-0.2.0/tests/hooks/dict_evidence_resolver.py +28 -0
  908. omninode_claude-0.2.0/tests/hooks/test_agent_accuracy_detector.py +612 -0
  909. omninode_claude-0.2.0/tests/hooks/test_agent_status_emitter.py +809 -0
  910. omninode_claude-0.2.0/tests/hooks/test_attribution_binder.py +572 -0
  911. omninode_claude-0.2.0/tests/hooks/test_bash_guard.py +700 -0
  912. omninode_claude-0.2.0/tests/hooks/test_blocked_notifier.py +589 -0
  913. omninode_claude-0.2.0/tests/hooks/test_cli_emit.py +970 -0
  914. omninode_claude-0.2.0/tests/hooks/test_cohort_assignment.py +867 -0
  915. omninode_claude-0.2.0/tests/hooks/test_compliance_result_subscriber.py +681 -0
  916. omninode_claude-0.2.0/tests/hooks/test_context_config.py +259 -0
  917. omninode_claude-0.2.0/tests/hooks/test_context_injection_api_source.py +585 -0
  918. omninode_claude-0.2.0/tests/hooks/test_context_injection_cache.py +395 -0
  919. omninode_claude-0.2.0/tests/hooks/test_context_injection_schemas.py +758 -0
  920. omninode_claude-0.2.0/tests/hooks/test_contracts.py +402 -0
  921. omninode_claude-0.2.0/tests/hooks/test_decision_record_subscriber.py +299 -0
  922. omninode_claude-0.2.0/tests/hooks/test_emit_client_wrapper.py +984 -0
  923. omninode_claude-0.2.0/tests/hooks/test_emit_ticket_status.py +546 -0
  924. omninode_claude-0.2.0/tests/hooks/test_event_registry.py +1134 -0
  925. omninode_claude-0.2.0/tests/hooks/test_evidence_driven_injection.py +135 -0
  926. omninode_claude-0.2.0/tests/hooks/test_feedback_guardrails.py +845 -0
  927. omninode_claude-0.2.0/tests/hooks/test_golden_path_session_lifecycle.py +535 -0
  928. omninode_claude-0.2.0/tests/hooks/test_graduated_injection.py +1004 -0
  929. omninode_claude-0.2.0/tests/hooks/test_handler_context_injection.py +1140 -0
  930. omninode_claude-0.2.0/tests/hooks/test_handler_event_emitter.py +1143 -0
  931. omninode_claude-0.2.0/tests/hooks/test_injection_limits.py +1253 -0
  932. omninode_claude-0.2.0/tests/hooks/test_injection_tracking.py +387 -0
  933. omninode_claude-0.2.0/tests/hooks/test_integration_kafka.py +1377 -0
  934. omninode_claude-0.2.0/tests/hooks/test_metrics_aggregator.py +776 -0
  935. omninode_claude-0.2.0/tests/hooks/test_node_session_lifecycle_reducer.py +180 -0
  936. omninode_claude-0.2.0/tests/hooks/test_node_session_state_adapter.py +479 -0
  937. omninode_claude-0.2.0/tests/hooks/test_node_session_state_effect.py +587 -0
  938. omninode_claude-0.2.0/tests/hooks/test_pattern_advisory_formatter.py +537 -0
  939. omninode_claude-0.2.0/tests/hooks/test_pattern_cache.py +281 -0
  940. omninode_claude-0.2.0/tests/hooks/test_pattern_enforcement.py +1700 -0
  941. omninode_claude-0.2.0/tests/hooks/test_pattern_sync.py +317 -0
  942. omninode_claude-0.2.0/tests/hooks/test_phase_instrumentation.py +1514 -0
  943. omninode_claude-0.2.0/tests/hooks/test_promotion_gater.py +765 -0
  944. omninode_claude-0.2.0/tests/hooks/test_schemas.py +2222 -0
  945. omninode_claude-0.2.0/tests/hooks/test_secret_redactor.py +195 -0
  946. omninode_claude-0.2.0/tests/hooks/test_session_outcome.py +1263 -0
  947. omninode_claude-0.2.0/tests/hooks/test_session_raw_outcome.py +616 -0
  948. omninode_claude-0.2.0/tests/hooks/test_session_start_injection.py +860 -0
  949. omninode_claude-0.2.0/tests/hooks/test_static_context_snapshot.py +913 -0
  950. omninode_claude-0.2.0/tests/hooks/test_topics.py +324 -0
  951. omninode_claude-0.2.0/tests/hooks/test_utilization_detector.py +711 -0
  952. omninode_claude-0.2.0/tests/init-test-db.sql +90 -0
  953. omninode_claude-0.2.0/tests/integration/__init__.py +21 -0
  954. omninode_claude-0.2.0/tests/integration/pipeline/__init__.py +2 -0
  955. omninode_claude-0.2.0/tests/integration/pipeline/conftest.py +47 -0
  956. omninode_claude-0.2.0/tests/integration/pipeline/test_nl_to_ticket_pipeline.py +780 -0
  957. omninode_claude-0.2.0/tests/integration/skills/__init__.py +0 -0
  958. omninode_claude-0.2.0/tests/integration/skills/fix_prs/__init__.py +0 -0
  959. omninode_claude-0.2.0/tests/integration/skills/fix_prs/test_fix_prs_integration.py +575 -0
  960. omninode_claude-0.2.0/tests/integration/skills/gap_fix/__init__.py +0 -0
  961. omninode_claude-0.2.0/tests/integration/skills/gap_fix/test_gap_fix_integration.py +542 -0
  962. omninode_claude-0.2.0/tests/integration/skills/merge_sweep/__init__.py +0 -0
  963. omninode_claude-0.2.0/tests/integration/skills/merge_sweep/test_merge_sweep_integration.py +496 -0
  964. omninode_claude-0.2.0/tests/integration/skills/pr_queue_pipeline/__init__.py +0 -0
  965. omninode_claude-0.2.0/tests/integration/skills/pr_queue_pipeline/test_pr_queue_pipeline_integration.py +478 -0
  966. omninode_claude-0.2.0/tests/integration/skills/review_all_prs/__init__.py +0 -0
  967. omninode_claude-0.2.0/tests/integration/skills/review_all_prs/test_review_all_prs_integration.py +603 -0
  968. omninode_claude-0.2.0/tests/integration/test_golden_path_harness.py +863 -0
  969. omninode_claude-0.2.0/tests/integration/test_pattern_persistence.py +268 -0
  970. omninode_claude-0.2.0/tests/integration/test_routing_degradation.py +114 -0
  971. omninode_claude-0.2.0/tests/lib/__init__.py +5 -0
  972. omninode_claude-0.2.0/tests/lib/config/__init__.py +5 -0
  973. omninode_claude-0.2.0/tests/lib/config/test_intelligence_config.py +966 -0
  974. omninode_claude-0.2.0/tests/lib/core/__init__.py +5 -0
  975. omninode_claude-0.2.0/tests/lib/core/conftest.py +97 -0
  976. omninode_claude-0.2.0/tests/lib/core/test_intelligence_event_client.py +901 -0
  977. omninode_claude-0.2.0/tests/lib/core/test_onex_routing_nodes.py +666 -0
  978. omninode_claude-0.2.0/tests/lib/core/test_route_via_events_wrapper.py +1257 -0
  979. omninode_claude-0.2.0/tests/lib/core/test_routing_event_client.py +675 -0
  980. omninode_claude-0.2.0/tests/lib/core/test_transformation_validator.py +345 -0
  981. omninode_claude-0.2.0/tests/lib/models/__init__.py +5 -0
  982. omninode_claude-0.2.0/tests/lib/models/test_intelligence_context.py +457 -0
  983. omninode_claude-0.2.0/tests/lib/test_errors.py +243 -0
  984. omninode_claude-0.2.0/tests/lib/test_intelligence_usage_tracker.py +953 -0
  985. omninode_claude-0.2.0/tests/lib/test_pattern_quality_scorer.py +1010 -0
  986. omninode_claude-0.2.0/tests/lib/test_task_classifier.py +1360 -0
  987. omninode_claude-0.2.0/tests/lib/test_transformation_event_publisher.py +620 -0
  988. omninode_claude-0.2.0/tests/nodes/__init__.py +5 -0
  989. omninode_claude-0.2.0/tests/nodes/test_node_pattern_persistence_effect/__init__.py +5 -0
  990. omninode_claude-0.2.0/tests/nodes/test_node_pattern_persistence_effect/test_models.py +803 -0
  991. omninode_claude-0.2.0/tests/nodes/test_routing_models/__init__.py +5 -0
  992. omninode_claude-0.2.0/tests/nodes/test_routing_models/test_models.py +899 -0
  993. omninode_claude-0.2.0/tests/publisher/__init__.py +2 -0
  994. omninode_claude-0.2.0/tests/publisher/test_config.py +116 -0
  995. omninode_claude-0.2.0/tests/publisher/test_embedded_publisher.py +492 -0
  996. omninode_claude-0.2.0/tests/publisher/test_event_queue.py +213 -0
  997. omninode_claude-0.2.0/tests/publisher/test_main.py +148 -0
  998. omninode_claude-0.2.0/tests/publisher/test_models.py +94 -0
  999. omninode_claude-0.2.0/tests/py.typed +0 -0
  1000. omninode_claude-0.2.0/tests/routing/__init__.py +4 -0
  1001. omninode_claude-0.2.0/tests/routing/conftest.py +82 -0
  1002. omninode_claude-0.2.0/tests/routing/generate_corpus.py +730 -0
  1003. omninode_claude-0.2.0/tests/routing/golden_corpus.json +3313 -0
  1004. omninode_claude-0.2.0/tests/routing/test_handler_routing_llm.py +691 -0
  1005. omninode_claude-0.2.0/tests/routing/test_handlers.py +444 -0
  1006. omninode_claude-0.2.0/tests/routing/test_internal.py +229 -0
  1007. omninode_claude-0.2.0/tests/routing/test_regression_harness.py +630 -0
  1008. omninode_claude-0.2.0/tests/runtime/__init__.py +5 -0
  1009. omninode_claude-0.2.0/tests/runtime/test_plugin_claude.py +718 -0
  1010. omninode_claude-0.2.0/tests/runtime/test_wiring.py +1562 -0
  1011. omninode_claude-0.2.0/tests/skills/linear-insights/deep-dive/test_deep_dive_repo_discovery.py +495 -0
  1012. omninode_claude-0.2.0/tests/skills/system-status/check-kafka-topics/test_topic_pattern_validation.py +278 -0
  1013. omninode_claude-0.2.0/tests/test_architecture_handshake_injector.py +501 -0
  1014. omninode_claude-0.2.0/tests/test_dependencies.py +169 -0
  1015. omninode_claude-0.2.0/tests/test_disabled_pattern_filter.py +343 -0
  1016. omninode_claude-0.2.0/tests/test_ticket_context_injector.py +613 -0
  1017. omninode_claude-0.2.0/tests/test_tool_execution_logging.sh +146 -0
  1018. omninode_claude-0.2.0/tests/unit/config/__init__.py +2 -0
  1019. omninode_claude-0.2.0/tests/unit/config/test_model_local_llm_config.py +488 -0
  1020. omninode_claude-0.2.0/tests/unit/hooks/test_decision_record_schemas.py +321 -0
  1021. omninode_claude-0.2.0/tests/unit/nodes/__init__.py +4 -0
  1022. omninode_claude-0.2.0/tests/unit/nodes/node_ambiguity_gate/__init__.py +2 -0
  1023. omninode_claude-0.2.0/tests/unit/nodes/node_ambiguity_gate/test_ambiguity_gate.py +579 -0
  1024. omninode_claude-0.2.0/tests/unit/nodes/node_evidence_bundle/__init__.py +2 -0
  1025. omninode_claude-0.2.0/tests/unit/nodes/node_evidence_bundle/test_evidence_bundle.py +418 -0
  1026. omninode_claude-0.2.0/tests/unit/nodes/node_nl_intent_pipeline/__init__.py +4 -0
  1027. omninode_claude-0.2.0/tests/unit/nodes/node_nl_intent_pipeline/test_intent_pipeline.py +403 -0
  1028. omninode_claude-0.2.0/tests/unit/nodes/node_omnimemory_promotion/__init__.py +2 -0
  1029. omninode_claude-0.2.0/tests/unit/nodes/node_omnimemory_promotion/test_pattern_promotion.py +483 -0
  1030. omninode_claude-0.2.0/tests/unit/nodes/node_plan_dag_generator/__init__.py +4 -0
  1031. omninode_claude-0.2.0/tests/unit/nodes/node_plan_dag_generator/test_plan_dag.py +425 -0
  1032. omninode_claude-0.2.0/tests/unit/nodes/node_ticket_compiler/__init__.py +2 -0
  1033. omninode_claude-0.2.0/tests/unit/nodes/node_ticket_compiler/test_ticket_compilation.py +576 -0
  1034. omninode_claude-0.2.0/tests/unit/nodes/shared/__init__.py +4 -0
  1035. omninode_claude-0.2.0/tests/unit/nodes/shared/test_handler_skill_requested.py +243 -0
  1036. omninode_claude-0.2.0/tests/unit/nodes/shared/test_model_skill_request.py +96 -0
  1037. omninode_claude-0.2.0/tests/unit/skills/__init__.py +2 -0
  1038. omninode_claude-0.2.0/tests/unit/skills/slack_gate/__init__.py +2 -0
  1039. omninode_claude-0.2.0/tests/unit/skills/slack_gate/test_slack_gate_poll.py +300 -0
  1040. omninode_claude-0.2.0/tests/unit/test_ci_enforcement_checks.py +466 -0
  1041. omninode_claude-0.2.0/tests/unit/test_consumer_group_guard.py +365 -0
  1042. omninode_claude-0.2.0/tests/unit/test_delegation_prompt_parsing.py +852 -0
  1043. omninode_claude-0.2.0/tests/unit/test_enrichment_prompt_parsing.py +1224 -0
  1044. omninode_claude-0.2.0/tests/unit/test_routing_prompt_parsing.py +491 -0
  1045. omninode_claude-0.2.0/tests/unit/trace/__init__.py +2 -0
  1046. omninode_claude-0.2.0/tests/unit/trace/test_db_schema.py +333 -0
  1047. omninode_claude-0.2.0/tests/unit/trace/test_failure_signature.py +446 -0
  1048. omninode_claude-0.2.0/tests/unit/trace/test_fix_transition.py +481 -0
  1049. omninode_claude-0.2.0/tests/unit/trace/test_frame_assembler.py +691 -0
  1050. omninode_claude-0.2.0/tests/unit/trace/test_intelligence_integration.py +529 -0
  1051. omninode_claude-0.2.0/tests/unit/trace/test_models.py +503 -0
  1052. omninode_claude-0.2.0/tests/unit/trace/test_pr_envelope.py +511 -0
  1053. omninode_claude-0.2.0/tests/unit/trace/test_replay_engine.py +564 -0
  1054. omninode_claude-0.2.0/tests/unit/trace/test_trace_cli.py +806 -0
  1055. omninode_claude-0.2.0/tests/validate_event_integration.py +179 -0
  1056. omninode_claude-0.2.0/tests/validate_ledger_stop_reasons.py +211 -0
  1057. omninode_claude-0.2.0/uv.lock +3114 -0
  1058. omninode_claude-0.2.0/validation/WEEK1_SUMMARY.txt +77 -0
  1059. omninode_claude-0.2.0/validation/contracts/any_type.validation.yaml +111 -0
  1060. omninode_claude-0.2.0/validation/contracts/patterns.validation.yaml +141 -0
  1061. 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,9 @@
1
+ ---
2
+ name: Feature Request
3
+ about: Suggest an enhancement
4
+ title: '[Feature] '
5
+ labels: enhancement
6
+ ---
7
+ ## Problem
8
+ ## Proposed solution
9
+ ## Alternatives considered
@@ -0,0 +1,12 @@
1
+ ## Summary
2
+
3
+ ## Changes
4
+ -
5
+
6
+ ## Test plan
7
+ - [ ] `uv run pytest tests/ -m unit`
8
+ - [ ] `uv run pre-commit run --all-files`
9
+ - [ ] `uv run mypy src/ --strict`
10
+
11
+ ## Related issues
12
+ Closes #
@@ -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"