agentic-qe 3.2.3 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/v3/qe-accessibility-auditor.md +90 -0
- package/README.md +43 -5
- package/package.json +3 -2
- package/scripts/cloud-db-config.json +37 -0
- package/scripts/cloud-db-connect.sh +37 -0
- package/scripts/cloud-db-tunnel.sh +23 -0
- package/v3/CHANGELOG.md +165 -0
- package/v3/README.md +59 -1
- package/v3/assets/agents/v3/qe-accessibility-auditor.md +90 -0
- package/v3/dist/adapters/claude-flow/index.d.ts +54 -0
- package/v3/dist/adapters/claude-flow/index.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/index.js +79 -0
- package/v3/dist/adapters/claude-flow/index.js.map +1 -0
- package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts +70 -0
- package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/model-router-bridge.js +203 -0
- package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -0
- package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts +73 -0
- package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js +276 -0
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -0
- package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts +70 -0
- package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js +205 -0
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -0
- package/v3/dist/adapters/claude-flow/types.d.ts +99 -0
- package/v3/dist/adapters/claude-flow/types.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/types.js +6 -0
- package/v3/dist/adapters/claude-flow/types.js.map +1 -0
- package/v3/dist/causal-discovery/causal-graph.d.ts +80 -1
- package/v3/dist/causal-discovery/causal-graph.d.ts.map +1 -1
- package/v3/dist/causal-discovery/causal-graph.js +111 -1
- package/v3/dist/causal-discovery/causal-graph.js.map +1 -1
- package/v3/dist/cli/bundle.js +11612 -4929
- package/v3/dist/cli/commands/claude-flow-setup.d.ts +82 -0
- package/v3/dist/cli/commands/claude-flow-setup.d.ts.map +1 -0
- package/v3/dist/cli/commands/claude-flow-setup.js +334 -0
- package/v3/dist/cli/commands/claude-flow-setup.js.map +1 -0
- package/v3/dist/cli/commands/hooks.d.ts +2 -0
- package/v3/dist/cli/commands/hooks.d.ts.map +1 -1
- package/v3/dist/cli/commands/hooks.js +13 -2
- package/v3/dist/cli/commands/hooks.js.map +1 -1
- package/v3/dist/cli/commands/init.d.ts +19 -0
- package/v3/dist/cli/commands/init.d.ts.map +1 -0
- package/v3/dist/cli/commands/init.js +345 -0
- package/v3/dist/cli/commands/init.js.map +1 -0
- package/v3/dist/cli/index.js +110 -2
- package/v3/dist/cli/index.js.map +1 -1
- package/v3/dist/coordination/mincut/interfaces.d.ts +8 -2
- package/v3/dist/coordination/mincut/interfaces.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/interfaces.js.map +1 -1
- package/v3/dist/coordination/mincut/mincut-health-monitor.d.ts +5 -0
- package/v3/dist/coordination/mincut/mincut-health-monitor.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/mincut-health-monitor.js +22 -4
- package/v3/dist/coordination/mincut/mincut-health-monitor.js.map +1 -1
- package/v3/dist/coordination/mincut/queen-integration.d.ts +4 -0
- package/v3/dist/coordination/mincut/queen-integration.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/queen-integration.js +14 -1
- package/v3/dist/coordination/mincut/queen-integration.js.map +1 -1
- package/v3/dist/coordination/queen-coordinator.d.ts +5 -0
- package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
- package/v3/dist/coordination/queen-coordinator.js +45 -7
- package/v3/dist/coordination/queen-coordinator.js.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.d.ts +5 -0
- package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.js +79 -0
- package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/coherence-gate.d.ts +245 -0
- package/v3/dist/domains/test-generation/coherence-gate.d.ts.map +1 -0
- package/v3/dist/domains/test-generation/coherence-gate.js +454 -0
- package/v3/dist/domains/test-generation/coherence-gate.js.map +1 -0
- package/v3/dist/domains/test-generation/coordinator.d.ts +32 -1
- package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.js +70 -1
- package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/index.d.ts +1 -0
- package/v3/dist/domains/test-generation/index.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/index.js +4 -0
- package/v3/dist/domains/test-generation/index.js.map +1 -1
- package/v3/dist/domains/test-generation/services/index.d.ts +1 -0
- package/v3/dist/domains/test-generation/services/index.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/index.js +2 -0
- package/v3/dist/domains/test-generation/services/index.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/index.d.ts +2 -1
- package/v3/dist/domains/visual-accessibility/index.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/index.js +1 -0
- package/v3/dist/domains/visual-accessibility/index.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/interfaces.d.ts +131 -0
- package/v3/dist/domains/visual-accessibility/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.d.ts +26 -0
- package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.js +151 -0
- package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.d.ts +42 -1
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js +69 -0
- package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/eu-compliance.d.ts +138 -0
- package/v3/dist/domains/visual-accessibility/services/eu-compliance.d.ts.map +1 -0
- package/v3/dist/domains/visual-accessibility/services/eu-compliance.js +830 -0
- package/v3/dist/domains/visual-accessibility/services/eu-compliance.js.map +1 -0
- package/v3/dist/domains/visual-accessibility/services/index.d.ts +1 -0
- package/v3/dist/domains/visual-accessibility/services/index.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/index.js +1 -0
- package/v3/dist/domains/visual-accessibility/services/index.js.map +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.d.ts +84 -0
- package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -0
- package/v3/dist/init/enhancements/claude-flow-adapter.js +250 -0
- package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -0
- package/v3/dist/init/enhancements/detector.d.ts +10 -0
- package/v3/dist/init/enhancements/detector.d.ts.map +1 -0
- package/v3/dist/init/enhancements/detector.js +87 -0
- package/v3/dist/init/enhancements/detector.js.map +1 -0
- package/v3/dist/init/enhancements/index.d.ts +13 -0
- package/v3/dist/init/enhancements/index.d.ts.map +1 -0
- package/v3/dist/init/enhancements/index.js +25 -0
- package/v3/dist/init/enhancements/index.js.map +1 -0
- package/v3/dist/init/enhancements/types.d.ts +93 -0
- package/v3/dist/init/enhancements/types.d.ts.map +1 -0
- package/v3/dist/init/enhancements/types.js +6 -0
- package/v3/dist/init/enhancements/types.js.map +1 -0
- package/v3/dist/init/index.d.ts +8 -0
- package/v3/dist/init/index.d.ts.map +1 -1
- package/v3/dist/init/index.js +4 -0
- package/v3/dist/init/index.js.map +1 -1
- package/v3/dist/init/migration/config-migrator.d.ts +31 -0
- package/v3/dist/init/migration/config-migrator.d.ts.map +1 -0
- package/v3/dist/init/migration/config-migrator.js +133 -0
- package/v3/dist/init/migration/config-migrator.js.map +1 -0
- package/v3/dist/init/migration/data-migrator.d.ts +72 -0
- package/v3/dist/init/migration/data-migrator.d.ts.map +1 -0
- package/v3/dist/init/migration/data-migrator.js +233 -0
- package/v3/dist/init/migration/data-migrator.js.map +1 -0
- package/v3/dist/init/migration/detector.d.ts +44 -0
- package/v3/dist/init/migration/detector.d.ts.map +1 -0
- package/v3/dist/init/migration/detector.js +106 -0
- package/v3/dist/init/migration/detector.js.map +1 -0
- package/v3/dist/init/migration/index.d.ts +8 -0
- package/v3/dist/init/migration/index.d.ts.map +1 -0
- package/v3/dist/init/migration/index.js +8 -0
- package/v3/dist/init/migration/index.js.map +1 -0
- package/v3/dist/init/orchestrator.d.ts +68 -0
- package/v3/dist/init/orchestrator.d.ts.map +1 -0
- package/v3/dist/init/orchestrator.js +239 -0
- package/v3/dist/init/orchestrator.js.map +1 -0
- package/v3/dist/init/phases/01-detection.d.ts +30 -0
- package/v3/dist/init/phases/01-detection.d.ts.map +1 -0
- package/v3/dist/init/phases/01-detection.js +143 -0
- package/v3/dist/init/phases/01-detection.js.map +1 -0
- package/v3/dist/init/phases/02-analysis.d.ts +18 -0
- package/v3/dist/init/phases/02-analysis.d.ts.map +1 -0
- package/v3/dist/init/phases/02-analysis.js +28 -0
- package/v3/dist/init/phases/02-analysis.js.map +1 -0
- package/v3/dist/init/phases/03-configuration.d.ts +26 -0
- package/v3/dist/init/phases/03-configuration.d.ts.map +1 -0
- package/v3/dist/init/phases/03-configuration.js +98 -0
- package/v3/dist/init/phases/03-configuration.js.map +1 -0
- package/v3/dist/init/phases/04-database.d.ts +22 -0
- package/v3/dist/init/phases/04-database.d.ts.map +1 -0
- package/v3/dist/init/phases/04-database.js +88 -0
- package/v3/dist/init/phases/04-database.js.map +1 -0
- package/v3/dist/init/phases/05-learning.d.ts +28 -0
- package/v3/dist/init/phases/05-learning.d.ts.map +1 -0
- package/v3/dist/init/phases/05-learning.js +98 -0
- package/v3/dist/init/phases/05-learning.js.map +1 -0
- package/v3/dist/init/phases/06-code-intelligence.d.ts +33 -0
- package/v3/dist/init/phases/06-code-intelligence.d.ts.map +1 -0
- package/v3/dist/init/phases/06-code-intelligence.js +115 -0
- package/v3/dist/init/phases/06-code-intelligence.js.map +1 -0
- package/v3/dist/init/phases/07-hooks.d.ts +27 -0
- package/v3/dist/init/phases/07-hooks.d.ts.map +1 -0
- package/v3/dist/init/phases/07-hooks.js +209 -0
- package/v3/dist/init/phases/07-hooks.js.map +1 -0
- package/v3/dist/init/phases/08-mcp.d.ts +22 -0
- package/v3/dist/init/phases/08-mcp.d.ts.map +1 -0
- package/v3/dist/init/phases/08-mcp.js +62 -0
- package/v3/dist/init/phases/08-mcp.js.map +1 -0
- package/v3/dist/init/phases/09-assets.d.ts +23 -0
- package/v3/dist/init/phases/09-assets.d.ts.map +1 -0
- package/v3/dist/init/phases/09-assets.js +82 -0
- package/v3/dist/init/phases/09-assets.js.map +1 -0
- package/v3/dist/init/phases/10-workers.d.ts +23 -0
- package/v3/dist/init/phases/10-workers.d.ts.map +1 -0
- package/v3/dist/init/phases/10-workers.js +111 -0
- package/v3/dist/init/phases/10-workers.js.map +1 -0
- package/v3/dist/init/phases/11-claude-md.d.ts +26 -0
- package/v3/dist/init/phases/11-claude-md.d.ts.map +1 -0
- package/v3/dist/init/phases/11-claude-md.js +121 -0
- package/v3/dist/init/phases/11-claude-md.js.map +1 -0
- package/v3/dist/init/phases/12-verification.d.ts +38 -0
- package/v3/dist/init/phases/12-verification.d.ts.map +1 -0
- package/v3/dist/init/phases/12-verification.js +187 -0
- package/v3/dist/init/phases/12-verification.js.map +1 -0
- package/v3/dist/init/phases/index.d.ts +46 -0
- package/v3/dist/init/phases/index.d.ts.map +1 -0
- package/v3/dist/init/phases/index.js +64 -0
- package/v3/dist/init/phases/index.js.map +1 -0
- package/v3/dist/init/phases/phase-interface.d.ts +193 -0
- package/v3/dist/init/phases/phase-interface.d.ts.map +1 -0
- package/v3/dist/init/phases/phase-interface.js +119 -0
- package/v3/dist/init/phases/phase-interface.js.map +1 -0
- package/v3/dist/integrations/coherence/coherence-service.d.ts +323 -0
- package/v3/dist/integrations/coherence/coherence-service.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/coherence-service.js +799 -0
- package/v3/dist/integrations/coherence/coherence-service.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/category-adapter.d.ts +170 -0
- package/v3/dist/integrations/coherence/engines/category-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/category-adapter.js +403 -0
- package/v3/dist/integrations/coherence/engines/category-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/causal-adapter.d.ts +159 -0
- package/v3/dist/integrations/coherence/engines/causal-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/causal-adapter.js +348 -0
- package/v3/dist/integrations/coherence/engines/causal-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/cohomology-adapter.d.ts +174 -0
- package/v3/dist/integrations/coherence/engines/cohomology-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/cohomology-adapter.js +401 -0
- package/v3/dist/integrations/coherence/engines/cohomology-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/homotopy-adapter.d.ts +201 -0
- package/v3/dist/integrations/coherence/engines/homotopy-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/homotopy-adapter.js +324 -0
- package/v3/dist/integrations/coherence/engines/homotopy-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/index.d.ts +20 -0
- package/v3/dist/integrations/coherence/engines/index.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/index.js +26 -0
- package/v3/dist/integrations/coherence/engines/index.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/spectral-adapter.d.ts +193 -0
- package/v3/dist/integrations/coherence/engines/spectral-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/spectral-adapter.js +476 -0
- package/v3/dist/integrations/coherence/engines/spectral-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/engines/witness-adapter.d.ts +175 -0
- package/v3/dist/integrations/coherence/engines/witness-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/engines/witness-adapter.js +377 -0
- package/v3/dist/integrations/coherence/engines/witness-adapter.js.map +1 -0
- package/v3/dist/integrations/coherence/index.d.ts +84 -0
- package/v3/dist/integrations/coherence/index.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/index.js +114 -0
- package/v3/dist/integrations/coherence/index.js.map +1 -0
- package/v3/dist/integrations/coherence/threshold-tuner.d.ts +396 -0
- package/v3/dist/integrations/coherence/threshold-tuner.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/threshold-tuner.js +538 -0
- package/v3/dist/integrations/coherence/threshold-tuner.js.map +1 -0
- package/v3/dist/integrations/coherence/types.d.ts +879 -0
- package/v3/dist/integrations/coherence/types.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/types.js +134 -0
- package/v3/dist/integrations/coherence/types.js.map +1 -0
- package/v3/dist/integrations/coherence/wasm-loader.d.ts +351 -0
- package/v3/dist/integrations/coherence/wasm-loader.d.ts.map +1 -0
- package/v3/dist/integrations/coherence/wasm-loader.js +842 -0
- package/v3/dist/integrations/coherence/wasm-loader.js.map +1 -0
- package/v3/dist/integrations/embeddings/index/HNSWIndex.d.ts.map +1 -1
- package/v3/dist/integrations/embeddings/index/HNSWIndex.js +4 -1
- package/v3/dist/integrations/embeddings/index/HNSWIndex.js.map +1 -1
- package/v3/dist/kernel/interfaces.d.ts +8 -1
- package/v3/dist/kernel/interfaces.d.ts.map +1 -1
- package/v3/dist/learning/aqe-learning-engine.d.ts +272 -0
- package/v3/dist/learning/aqe-learning-engine.d.ts.map +1 -0
- package/v3/dist/learning/aqe-learning-engine.js +708 -0
- package/v3/dist/learning/aqe-learning-engine.js.map +1 -0
- package/v3/dist/learning/causal-verifier.d.ts +244 -0
- package/v3/dist/learning/causal-verifier.d.ts.map +1 -0
- package/v3/dist/learning/causal-verifier.js +300 -0
- package/v3/dist/learning/causal-verifier.js.map +1 -0
- package/v3/dist/learning/experience-capture.d.ts +266 -0
- package/v3/dist/learning/experience-capture.d.ts.map +1 -0
- package/v3/dist/learning/experience-capture.js +647 -0
- package/v3/dist/learning/experience-capture.js.map +1 -0
- package/v3/dist/learning/index.d.ts +8 -0
- package/v3/dist/learning/index.d.ts.map +1 -1
- package/v3/dist/learning/index.js +16 -0
- package/v3/dist/learning/index.js.map +1 -1
- package/v3/dist/learning/memory-auditor.d.ts +235 -0
- package/v3/dist/learning/memory-auditor.d.ts.map +1 -0
- package/v3/dist/learning/memory-auditor.js +478 -0
- package/v3/dist/learning/memory-auditor.js.map +1 -0
- package/v3/dist/learning/pattern-store.d.ts.map +1 -1
- package/v3/dist/learning/pattern-store.js +27 -6
- package/v3/dist/learning/pattern-store.js.map +1 -1
- package/v3/dist/learning/qe-patterns.d.ts +15 -1
- package/v3/dist/learning/qe-patterns.d.ts.map +1 -1
- package/v3/dist/learning/qe-patterns.js +26 -5
- package/v3/dist/learning/qe-patterns.js.map +1 -1
- package/v3/dist/learning/qe-reasoning-bank.d.ts +38 -2
- package/v3/dist/learning/qe-reasoning-bank.d.ts.map +1 -1
- package/v3/dist/learning/qe-reasoning-bank.js +86 -4
- package/v3/dist/learning/qe-reasoning-bank.js.map +1 -1
- package/v3/dist/learning/real-qe-reasoning-bank.d.ts +32 -2
- package/v3/dist/learning/real-qe-reasoning-bank.d.ts.map +1 -1
- package/v3/dist/learning/real-qe-reasoning-bank.js +61 -6
- package/v3/dist/learning/real-qe-reasoning-bank.js.map +1 -1
- package/v3/dist/mcp/bundle.js +6303 -266
- package/v3/dist/mcp/tools/coherence/audit.d.ts +107 -0
- package/v3/dist/mcp/tools/coherence/audit.d.ts.map +1 -0
- package/v3/dist/mcp/tools/coherence/audit.js +236 -0
- package/v3/dist/mcp/tools/coherence/audit.js.map +1 -0
- package/v3/dist/mcp/tools/coherence/check.d.ts +106 -0
- package/v3/dist/mcp/tools/coherence/check.d.ts.map +1 -0
- package/v3/dist/mcp/tools/coherence/check.js +205 -0
- package/v3/dist/mcp/tools/coherence/check.js.map +1 -0
- package/v3/dist/mcp/tools/coherence/collapse.d.ts +123 -0
- package/v3/dist/mcp/tools/coherence/collapse.d.ts.map +1 -0
- package/v3/dist/mcp/tools/coherence/collapse.js +279 -0
- package/v3/dist/mcp/tools/coherence/collapse.js.map +1 -0
- package/v3/dist/mcp/tools/coherence/consensus.d.ts +100 -0
- package/v3/dist/mcp/tools/coherence/consensus.d.ts.map +1 -0
- package/v3/dist/mcp/tools/coherence/consensus.js +201 -0
- package/v3/dist/mcp/tools/coherence/consensus.js.map +1 -0
- package/v3/dist/mcp/tools/coherence/index.d.ts +31 -0
- package/v3/dist/mcp/tools/coherence/index.d.ts.map +1 -0
- package/v3/dist/mcp/tools/coherence/index.js +42 -0
- package/v3/dist/mcp/tools/coherence/index.js.map +1 -0
- package/v3/dist/mcp/tools/index.d.ts +6 -1
- package/v3/dist/mcp/tools/index.d.ts.map +1 -1
- package/v3/dist/mcp/tools/index.js +9 -1
- package/v3/dist/mcp/tools/index.js.map +1 -1
- package/v3/dist/mcp/tools/mincut/index.d.ts +1 -1
- package/v3/dist/mcp/tools/mincut/index.d.ts.map +1 -1
- package/v3/dist/mcp/tools/mincut/index.js.map +1 -1
- package/v3/dist/mcp/tools/registry.d.ts +4 -0
- package/v3/dist/mcp/tools/registry.d.ts.map +1 -1
- package/v3/dist/mcp/tools/registry.js +5 -0
- package/v3/dist/mcp/tools/registry.js.map +1 -1
- package/v3/dist/mcp/types.d.ts +1 -1
- package/v3/dist/mcp/types.d.ts.map +1 -1
- package/v3/dist/strange-loop/belief-reconciler.d.ts +357 -0
- package/v3/dist/strange-loop/belief-reconciler.d.ts.map +1 -0
- package/v3/dist/strange-loop/belief-reconciler.js +696 -0
- package/v3/dist/strange-loop/belief-reconciler.js.map +1 -0
- package/v3/dist/strange-loop/index.d.ts +1 -0
- package/v3/dist/strange-loop/index.d.ts.map +1 -1
- package/v3/dist/strange-loop/index.js +2 -0
- package/v3/dist/strange-loop/index.js.map +1 -1
- package/v3/dist/strange-loop/strange-loop.d.ts +177 -5
- package/v3/dist/strange-loop/strange-loop.d.ts.map +1 -1
- package/v3/dist/strange-loop/strange-loop.js +452 -9
- package/v3/dist/strange-loop/strange-loop.js.map +1 -1
- package/v3/dist/strange-loop/types.d.ts +205 -1
- package/v3/dist/strange-loop/types.d.ts.map +1 -1
- package/v3/dist/strange-loop/types.js +5 -0
- package/v3/dist/strange-loop/types.js.map +1 -1
- package/v3/package.json +5 -1
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Strange Loop Orchestrator
|
|
3
3
|
* ADR-031: Strange Loop Self-Awareness
|
|
4
|
+
* ADR-052: Coherence Integration
|
|
4
5
|
*
|
|
5
6
|
* Orchestrates the complete self-awareness cycle:
|
|
6
7
|
* Observe -> Model -> Decide -> Act -> (repeat)
|
|
7
8
|
*
|
|
9
|
+
* With ADR-052 coherence integration, the cycle becomes:
|
|
10
|
+
* Observe -> Check Coherence -> Model -> Decide -> Act -> (repeat)
|
|
11
|
+
*
|
|
8
12
|
* "You look in a mirror. You see yourself looking.
|
|
9
13
|
* You adjust your hair *because* you saw it was messy.
|
|
10
14
|
* The act of observing changed what you observed."
|
|
@@ -18,26 +22,85 @@ import { SelfHealingController, NoOpActionExecutor } from './healing-controller.
|
|
|
18
22
|
// ============================================================================
|
|
19
23
|
/**
|
|
20
24
|
* Orchestrates the strange loop self-awareness cycle
|
|
25
|
+
*
|
|
26
|
+
* With ADR-052 coherence integration, the orchestrator can optionally:
|
|
27
|
+
* - Check swarm coherence after each observation
|
|
28
|
+
* - Emit coherence_violation events when beliefs are incoherent
|
|
29
|
+
* - Trigger belief reconciliation when contradictions are detected
|
|
30
|
+
* - Predict swarm collapse using spectral analysis
|
|
21
31
|
*/
|
|
22
32
|
export class StrangeLoopOrchestrator {
|
|
23
33
|
observer;
|
|
24
34
|
model;
|
|
25
35
|
healer;
|
|
26
36
|
config;
|
|
37
|
+
// ADR-052: Optional coherence integration
|
|
38
|
+
coherenceService = null;
|
|
39
|
+
beliefReconciler = null;
|
|
40
|
+
lastCoherenceEnergy = 0;
|
|
41
|
+
incoherentSince = null;
|
|
27
42
|
running = false;
|
|
28
43
|
loopHandle = null;
|
|
29
44
|
startTime = 0;
|
|
30
45
|
stats;
|
|
31
46
|
eventListeners = new Map();
|
|
32
47
|
myAgentId;
|
|
33
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Create a new StrangeLoopOrchestrator.
|
|
50
|
+
*
|
|
51
|
+
* @param provider - Agent provider for observing swarm state
|
|
52
|
+
* @param executor - Action executor for healing actions
|
|
53
|
+
* @param config - Optional configuration overrides
|
|
54
|
+
* @param coherenceService - Optional CoherenceService for belief coherence checking (ADR-052)
|
|
55
|
+
* @param beliefReconciler - Optional belief reconciler for resolving contradictions (ADR-052)
|
|
56
|
+
*/
|
|
57
|
+
constructor(provider, executor, config = {}, coherenceService, beliefReconciler) {
|
|
34
58
|
this.config = { ...DEFAULT_STRANGE_LOOP_CONFIG, ...config };
|
|
35
59
|
this.myAgentId = provider.getObserverId();
|
|
36
60
|
this.observer = new SwarmObserver(provider);
|
|
37
61
|
this.model = new SwarmSelfModel(this.config.historySize);
|
|
38
62
|
this.healer = new SelfHealingController(this.model, executor, this.config);
|
|
63
|
+
// ADR-052: Store optional coherence dependencies
|
|
64
|
+
this.coherenceService = coherenceService ?? null;
|
|
65
|
+
this.beliefReconciler = beliefReconciler ?? null;
|
|
39
66
|
this.stats = this.initializeStats();
|
|
40
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Set the coherence service for belief coherence checking.
|
|
70
|
+
* Can be called after construction to enable coherence integration.
|
|
71
|
+
*
|
|
72
|
+
* @param service - The CoherenceService instance
|
|
73
|
+
*/
|
|
74
|
+
setCoherenceService(service) {
|
|
75
|
+
this.coherenceService = service;
|
|
76
|
+
if (this.config.verboseLogging) {
|
|
77
|
+
console.log('[StrangeLoop] Coherence service attached');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Set the belief reconciler for resolving contradictions.
|
|
82
|
+
* Can be called after construction to enable reconciliation.
|
|
83
|
+
*
|
|
84
|
+
* @param reconciler - The belief reconciler instance
|
|
85
|
+
*/
|
|
86
|
+
setBeliefReconciler(reconciler) {
|
|
87
|
+
this.beliefReconciler = reconciler;
|
|
88
|
+
if (this.config.verboseLogging) {
|
|
89
|
+
console.log('[StrangeLoop] Belief reconciler attached');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Check if coherence service is available.
|
|
94
|
+
*/
|
|
95
|
+
hasCoherenceService() {
|
|
96
|
+
return this.coherenceService !== null;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Check if belief reconciler is available.
|
|
100
|
+
*/
|
|
101
|
+
hasBeliefReconciler() {
|
|
102
|
+
return this.beliefReconciler !== null;
|
|
103
|
+
}
|
|
41
104
|
/**
|
|
42
105
|
* Start the strange loop
|
|
43
106
|
*/
|
|
@@ -81,6 +144,13 @@ export class StrangeLoopOrchestrator {
|
|
|
81
144
|
}
|
|
82
145
|
/**
|
|
83
146
|
* Run a single observation-model-decide-act cycle
|
|
147
|
+
*
|
|
148
|
+
* With ADR-052 coherence integration, the cycle becomes:
|
|
149
|
+
* 1. OBSERVE: Gather swarm state
|
|
150
|
+
* 2. CHECK COHERENCE: Verify belief consistency (if service available)
|
|
151
|
+
* 3. MODEL: Update internal representation
|
|
152
|
+
* 4. DECIDE: Determine if healing is needed
|
|
153
|
+
* 5. ACT: Execute healing actions
|
|
84
154
|
*/
|
|
85
155
|
async runCycle() {
|
|
86
156
|
const cycleStart = Date.now();
|
|
@@ -96,6 +166,11 @@ export class StrangeLoopOrchestrator {
|
|
|
96
166
|
this.stats.lastObservationAt = observation.timestamp;
|
|
97
167
|
this.stats.currentHealth = observation.overallHealth;
|
|
98
168
|
this.emit('observation_complete', { observation, durationMs: observationDuration });
|
|
169
|
+
// ADR-052: CHECK COHERENCE after observation
|
|
170
|
+
let coherenceResult;
|
|
171
|
+
if (this.coherenceService) {
|
|
172
|
+
coherenceResult = await this.checkCoherenceAfterObservation(observation);
|
|
173
|
+
}
|
|
99
174
|
// MODEL: Update internal representation
|
|
100
175
|
const delta = this.model.updateModel(observation);
|
|
101
176
|
// Emit events for vulnerabilities
|
|
@@ -163,7 +238,7 @@ export class StrangeLoopOrchestrator {
|
|
|
163
238
|
this.emit('prediction_made', { prediction });
|
|
164
239
|
}
|
|
165
240
|
}
|
|
166
|
-
return { observation, delta, actions, results };
|
|
241
|
+
return { observation, delta, actions, results, coherenceResult };
|
|
167
242
|
}
|
|
168
243
|
catch (error) {
|
|
169
244
|
if (this.config.verboseLogging) {
|
|
@@ -173,7 +248,8 @@ export class StrangeLoopOrchestrator {
|
|
|
173
248
|
}
|
|
174
249
|
}
|
|
175
250
|
/**
|
|
176
|
-
* The agent observes itself being the bottleneck
|
|
251
|
+
* The agent observes itself being the bottleneck.
|
|
252
|
+
* With ADR-052 coherence integration, also checks belief coherence.
|
|
177
253
|
*/
|
|
178
254
|
async selfDiagnose() {
|
|
179
255
|
const observation = await this.observer.observe();
|
|
@@ -195,7 +271,8 @@ export class StrangeLoopOrchestrator {
|
|
|
195
271
|
recommendations.push('Redistribute queued tasks');
|
|
196
272
|
}
|
|
197
273
|
}
|
|
198
|
-
|
|
274
|
+
// Build base diagnosis
|
|
275
|
+
const diagnosis = {
|
|
199
276
|
agentId: myId,
|
|
200
277
|
isHealthy: myHealth ? myHealth.responsiveness > 0.8 : true,
|
|
201
278
|
isBottleneck: amIBottleneck,
|
|
@@ -204,6 +281,79 @@ export class StrangeLoopOrchestrator {
|
|
|
204
281
|
overallSwarmHealth: observation.overallHealth,
|
|
205
282
|
diagnosedAt: Date.now(),
|
|
206
283
|
};
|
|
284
|
+
// ADR-052: Add coherence information if service is available and enabled
|
|
285
|
+
if (this.coherenceService && this.config.coherenceEnabled) {
|
|
286
|
+
try {
|
|
287
|
+
// Convert agent health to coherence nodes
|
|
288
|
+
const coherenceNodes = [];
|
|
289
|
+
for (const [agentId, metrics] of observation.agentHealth) {
|
|
290
|
+
const embedding = [
|
|
291
|
+
metrics.responsiveness,
|
|
292
|
+
metrics.taskCompletionRate,
|
|
293
|
+
metrics.memoryUtilization,
|
|
294
|
+
metrics.cpuUtilization,
|
|
295
|
+
metrics.errorRate,
|
|
296
|
+
metrics.degree / 10,
|
|
297
|
+
metrics.queuedTasks / 100,
|
|
298
|
+
metrics.isBottleneck ? 1.0 : 0.0,
|
|
299
|
+
];
|
|
300
|
+
coherenceNodes.push({
|
|
301
|
+
id: agentId,
|
|
302
|
+
embedding,
|
|
303
|
+
weight: metrics.responsiveness,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
const coherenceResult = await this.coherenceService.checkCoherence(coherenceNodes);
|
|
307
|
+
diagnosis.coherenceEnergy = coherenceResult.energy;
|
|
308
|
+
diagnosis.isCoherent = coherenceResult.isCoherent;
|
|
309
|
+
diagnosis.computeLane = coherenceResult.lane;
|
|
310
|
+
diagnosis.contradictionCount = coherenceResult.contradictions?.length ?? 0;
|
|
311
|
+
// Add coherence-based recommendations
|
|
312
|
+
if (!coherenceResult.isCoherent) {
|
|
313
|
+
recommendations.push('Resolve belief contradictions before proceeding');
|
|
314
|
+
if (coherenceResult.lane === 'human') {
|
|
315
|
+
recommendations.push('Escalate to human review due to high coherence energy');
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
// Check for collapse risk if available
|
|
319
|
+
if (this.coherenceService.predictCollapse) {
|
|
320
|
+
const swarmState = {
|
|
321
|
+
agents: Array.from(observation.agentHealth.entries()).map(([agentId, metrics]) => ({
|
|
322
|
+
agentId,
|
|
323
|
+
agentType: 'specialist',
|
|
324
|
+
health: metrics.responsiveness,
|
|
325
|
+
beliefs: [],
|
|
326
|
+
lastActivity: new Date(metrics.lastHeartbeat),
|
|
327
|
+
errorCount: Math.round(metrics.errorRate * 100),
|
|
328
|
+
successRate: metrics.taskCompletionRate,
|
|
329
|
+
})),
|
|
330
|
+
activeTasks: Array.from(observation.agentHealth.values()).reduce((sum, m) => sum + m.queuedTasks, 0),
|
|
331
|
+
pendingTasks: 0,
|
|
332
|
+
errorRate: observation.overallHealth < 0.5 ? 0.5 - observation.overallHealth : 0,
|
|
333
|
+
utilization: Array.from(observation.agentHealth.values()).reduce((sum, m) => sum + m.cpuUtilization, 0) / observation.agentHealth.size || 0,
|
|
334
|
+
timestamp: new Date(observation.timestamp),
|
|
335
|
+
};
|
|
336
|
+
const collapseRisk = await this.coherenceService.predictCollapse(swarmState);
|
|
337
|
+
if (collapseRisk && collapseRisk.collapseImminent) {
|
|
338
|
+
diagnosis.collapseRiskPredicted = true;
|
|
339
|
+
recommendations.push('WARNING: Swarm collapse predicted. Take immediate action.');
|
|
340
|
+
for (const rec of collapseRisk.recommendations || []) {
|
|
341
|
+
recommendations.push(rec);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
diagnosis.collapseRiskPredicted = false;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
catch (error) {
|
|
350
|
+
if (this.config.verboseLogging) {
|
|
351
|
+
console.error('[StrangeLoop] Coherence check failed during self-diagnosis:', error);
|
|
352
|
+
}
|
|
353
|
+
// Continue with diagnosis even if coherence check fails
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
return diagnosis;
|
|
207
357
|
}
|
|
208
358
|
/**
|
|
209
359
|
* Trigger an immediate observation
|
|
@@ -313,6 +463,15 @@ export class StrangeLoopOrchestrator {
|
|
|
313
463
|
healthTrend: 'stable',
|
|
314
464
|
uptimeMs: 0,
|
|
315
465
|
lastObservationAt: 0,
|
|
466
|
+
// Coherence metrics (ADR-052)
|
|
467
|
+
coherenceViolationCount: 0,
|
|
468
|
+
avgCoherenceEnergy: 0,
|
|
469
|
+
reconciliationSuccessRate: 1.0, // Start at 100% (no failures yet)
|
|
470
|
+
lastCoherenceCheck: 0,
|
|
471
|
+
collapseRiskHistory: [],
|
|
472
|
+
currentCoherenceState: 'coherent',
|
|
473
|
+
consensusVerifications: 0,
|
|
474
|
+
invalidConsensusCount: 0,
|
|
316
475
|
};
|
|
317
476
|
}
|
|
318
477
|
/**
|
|
@@ -332,18 +491,287 @@ export class StrangeLoopOrchestrator {
|
|
|
332
491
|
errorRate: 0,
|
|
333
492
|
};
|
|
334
493
|
}
|
|
494
|
+
// ============================================================================
|
|
495
|
+
// ADR-052: Coherence Integration Methods
|
|
496
|
+
// ============================================================================
|
|
497
|
+
/**
|
|
498
|
+
* Check coherence after an observation and update stats accordingly.
|
|
499
|
+
* This method is called after each observation when a coherence service is available.
|
|
500
|
+
*
|
|
501
|
+
* @param observation - The swarm health observation to check coherence against
|
|
502
|
+
* @returns The coherence result from the service
|
|
503
|
+
*/
|
|
504
|
+
async checkCoherenceAfterObservation(observation) {
|
|
505
|
+
if (!this.coherenceService || !this.config.coherenceEnabled) {
|
|
506
|
+
return undefined;
|
|
507
|
+
}
|
|
508
|
+
try {
|
|
509
|
+
// Convert SwarmHealthObservation to CoherenceNode array for coherence service
|
|
510
|
+
// Each agent's health metrics are encoded as a simple embedding for coherence checking
|
|
511
|
+
const coherenceNodes = [];
|
|
512
|
+
for (const [agentId, metrics] of observation.agentHealth) {
|
|
513
|
+
// Create a simple embedding from health metrics
|
|
514
|
+
// This allows coherence checking to detect agents with conflicting states
|
|
515
|
+
const embedding = [
|
|
516
|
+
metrics.responsiveness,
|
|
517
|
+
metrics.taskCompletionRate,
|
|
518
|
+
metrics.memoryUtilization,
|
|
519
|
+
metrics.cpuUtilization,
|
|
520
|
+
metrics.errorRate,
|
|
521
|
+
metrics.degree / 10, // Normalize degree
|
|
522
|
+
metrics.queuedTasks / 100, // Normalize queue
|
|
523
|
+
metrics.isBottleneck ? 1.0 : 0.0,
|
|
524
|
+
];
|
|
525
|
+
coherenceNodes.push({
|
|
526
|
+
id: agentId,
|
|
527
|
+
embedding,
|
|
528
|
+
weight: metrics.responsiveness, // Weight by responsiveness
|
|
529
|
+
metadata: {
|
|
530
|
+
lastHeartbeat: metrics.lastHeartbeat,
|
|
531
|
+
activeConnections: metrics.activeConnections,
|
|
532
|
+
},
|
|
533
|
+
});
|
|
534
|
+
}
|
|
535
|
+
// Check coherence using CoherenceNode array
|
|
536
|
+
const coherenceResult = await this.coherenceService.checkCoherence(coherenceNodes);
|
|
537
|
+
// Update coherence stats
|
|
538
|
+
this.stats.lastCoherenceCheck = Date.now();
|
|
539
|
+
// Update average coherence energy (rolling average)
|
|
540
|
+
const totalChecks = this.stats.totalObservations;
|
|
541
|
+
if (totalChecks > 1) {
|
|
542
|
+
this.stats.avgCoherenceEnergy =
|
|
543
|
+
(this.stats.avgCoherenceEnergy * (totalChecks - 1) + coherenceResult.energy) / totalChecks;
|
|
544
|
+
}
|
|
545
|
+
else {
|
|
546
|
+
this.stats.avgCoherenceEnergy = coherenceResult.energy;
|
|
547
|
+
}
|
|
548
|
+
// Determine coherence state based on energy
|
|
549
|
+
const previousState = this.stats.currentCoherenceState;
|
|
550
|
+
if (coherenceResult.energy < 0.1) {
|
|
551
|
+
this.stats.currentCoherenceState = 'coherent';
|
|
552
|
+
}
|
|
553
|
+
else if (coherenceResult.energy < this.config.coherenceThreshold) {
|
|
554
|
+
this.stats.currentCoherenceState = 'uncertain';
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
this.stats.currentCoherenceState = 'incoherent';
|
|
558
|
+
}
|
|
559
|
+
// Check for coherence violation
|
|
560
|
+
if (coherenceResult.energy >= this.config.coherenceThreshold) {
|
|
561
|
+
this.stats.coherenceViolationCount++;
|
|
562
|
+
// Track when incoherence started
|
|
563
|
+
if (this.incoherentSince === null) {
|
|
564
|
+
this.incoherentSince = Date.now();
|
|
565
|
+
}
|
|
566
|
+
// Convert coherence contradictions to local type for event emission
|
|
567
|
+
const localContradictions = (coherenceResult.contradictions || []).map((c) => ({
|
|
568
|
+
nodeIds: c.nodeIds,
|
|
569
|
+
severity: this.mapSeverity(c.severity),
|
|
570
|
+
description: c.description,
|
|
571
|
+
confidence: c.confidence,
|
|
572
|
+
resolution: c.resolution,
|
|
573
|
+
}));
|
|
574
|
+
// Emit coherence violation event
|
|
575
|
+
const violationData = {
|
|
576
|
+
energy: coherenceResult.energy,
|
|
577
|
+
lane: coherenceResult.lane,
|
|
578
|
+
contradictions: localContradictions,
|
|
579
|
+
timestamp: Date.now(),
|
|
580
|
+
usedFallback: coherenceResult.usedFallback,
|
|
581
|
+
};
|
|
582
|
+
this.emit('coherence_violation', violationData);
|
|
583
|
+
// Attempt reconciliation if we have contradictions and a reconciler
|
|
584
|
+
if (localContradictions.length > 0 && this.beliefReconciler) {
|
|
585
|
+
await this.attemptReconciliation(localContradictions);
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
else if (previousState === 'incoherent' && this.stats.currentCoherenceState !== 'incoherent') {
|
|
589
|
+
// Coherence restored
|
|
590
|
+
const incoherentDuration = this.incoherentSince ? Date.now() - this.incoherentSince : 0;
|
|
591
|
+
this.incoherentSince = null;
|
|
592
|
+
const restoredData = {
|
|
593
|
+
previousEnergy: this.lastCoherenceEnergy,
|
|
594
|
+
currentEnergy: coherenceResult.energy,
|
|
595
|
+
incoherentDurationMs: incoherentDuration,
|
|
596
|
+
restorationActions: [],
|
|
597
|
+
timestamp: Date.now(),
|
|
598
|
+
};
|
|
599
|
+
this.emit('coherence_restored', restoredData);
|
|
600
|
+
}
|
|
601
|
+
// Store energy for next comparison
|
|
602
|
+
this.lastCoherenceEnergy = coherenceResult.energy;
|
|
603
|
+
// Check for collapse risk prediction
|
|
604
|
+
await this.checkCollapseRiskFromObservation(observation);
|
|
605
|
+
return coherenceResult;
|
|
606
|
+
}
|
|
607
|
+
catch (error) {
|
|
608
|
+
if (this.config.verboseLogging) {
|
|
609
|
+
console.error('[StrangeLoop] Coherence check failed:', error);
|
|
610
|
+
}
|
|
611
|
+
return undefined;
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Map severity from coherence module to local type.
|
|
616
|
+
* The coherence module uses 'info' | 'low' | 'medium' | 'high' | 'critical'
|
|
617
|
+
* while we use 'low' | 'medium' | 'high' | 'critical'.
|
|
618
|
+
*/
|
|
619
|
+
mapSeverity(severity) {
|
|
620
|
+
switch (severity) {
|
|
621
|
+
case 'info':
|
|
622
|
+
case 'low':
|
|
623
|
+
return 'low';
|
|
624
|
+
case 'medium':
|
|
625
|
+
return 'medium';
|
|
626
|
+
case 'high':
|
|
627
|
+
return 'high';
|
|
628
|
+
case 'critical':
|
|
629
|
+
return 'critical';
|
|
630
|
+
default:
|
|
631
|
+
return 'medium';
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* Check collapse risk from observation data.
|
|
636
|
+
* Converts observation to SwarmState format required by coherence service.
|
|
637
|
+
*/
|
|
638
|
+
async checkCollapseRiskFromObservation(observation) {
|
|
639
|
+
if (!this.coherenceService?.predictCollapse) {
|
|
640
|
+
return;
|
|
641
|
+
}
|
|
642
|
+
try {
|
|
643
|
+
// Convert observation to SwarmState format
|
|
644
|
+
const swarmState = {
|
|
645
|
+
agents: Array.from(observation.agentHealth.entries()).map(([agentId, metrics]) => ({
|
|
646
|
+
agentId,
|
|
647
|
+
agentType: 'specialist', // Default type
|
|
648
|
+
health: metrics.responsiveness,
|
|
649
|
+
beliefs: [], // Empty beliefs for now
|
|
650
|
+
lastActivity: new Date(metrics.lastHeartbeat),
|
|
651
|
+
errorCount: Math.round(metrics.errorRate * 100),
|
|
652
|
+
successRate: metrics.taskCompletionRate,
|
|
653
|
+
})),
|
|
654
|
+
activeTasks: Array.from(observation.agentHealth.values()).reduce((sum, m) => sum + m.queuedTasks, 0),
|
|
655
|
+
pendingTasks: 0,
|
|
656
|
+
errorRate: observation.overallHealth < 0.5 ? 0.5 - observation.overallHealth : 0,
|
|
657
|
+
utilization: Array.from(observation.agentHealth.values()).reduce((sum, m) => sum + m.cpuUtilization, 0) / observation.agentHealth.size || 0,
|
|
658
|
+
timestamp: new Date(observation.timestamp),
|
|
659
|
+
};
|
|
660
|
+
const collapseRisk = await this.coherenceService.predictCollapse(swarmState);
|
|
661
|
+
this.updateCollapseRiskHistory(collapseRisk.risk);
|
|
662
|
+
if (collapseRisk.collapseImminent || collapseRisk.risk > 0.7) {
|
|
663
|
+
const collapsePredictedData = {
|
|
664
|
+
risk: collapseRisk.risk,
|
|
665
|
+
fiedlerValue: collapseRisk.fiedlerValue,
|
|
666
|
+
collapseImminent: collapseRisk.collapseImminent,
|
|
667
|
+
weakVertices: collapseRisk.weakVertices || [],
|
|
668
|
+
recommendations: collapseRisk.recommendations || [],
|
|
669
|
+
timestamp: Date.now(),
|
|
670
|
+
};
|
|
671
|
+
this.emit('collapse_predicted', collapsePredictedData);
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
catch (error) {
|
|
675
|
+
if (this.config.verboseLogging) {
|
|
676
|
+
console.warn('[StrangeLoop] Collapse prediction failed:', error);
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Attempt to reconcile contradicting beliefs.
|
|
682
|
+
*
|
|
683
|
+
* @param contradictions - Array of contradictions to resolve
|
|
684
|
+
*/
|
|
685
|
+
async attemptReconciliation(contradictions) {
|
|
686
|
+
if (!this.beliefReconciler) {
|
|
687
|
+
return;
|
|
688
|
+
}
|
|
689
|
+
try {
|
|
690
|
+
const result = await this.beliefReconciler.reconcile(contradictions);
|
|
691
|
+
// Update reconciliation stats
|
|
692
|
+
this.stats.consensusVerifications++;
|
|
693
|
+
const totalAttempts = this.stats.consensusVerifications;
|
|
694
|
+
const previousSuccessTotal = this.stats.reconciliationSuccessRate * (totalAttempts - 1);
|
|
695
|
+
const currentSuccess = result.resolvedCount > 0 ? 1 : 0;
|
|
696
|
+
this.stats.reconciliationSuccessRate = (previousSuccessTotal + currentSuccess) / totalAttempts;
|
|
697
|
+
if (result.unresolvedCount > 0) {
|
|
698
|
+
this.stats.invalidConsensusCount++;
|
|
699
|
+
}
|
|
700
|
+
// Emit reconciliation event
|
|
701
|
+
const reconciledData = {
|
|
702
|
+
reconciledContradictionIds: result.resolvedContradictionIds,
|
|
703
|
+
resolvedCount: result.resolvedCount,
|
|
704
|
+
remainingCount: result.unresolvedCount,
|
|
705
|
+
newEnergy: this.lastCoherenceEnergy, // Will be updated in next check
|
|
706
|
+
timestamp: Date.now(),
|
|
707
|
+
};
|
|
708
|
+
this.emit('belief_reconciled', reconciledData);
|
|
709
|
+
if (this.config.verboseLogging) {
|
|
710
|
+
console.log(`[StrangeLoop] Reconciled ${result.resolvedCount}/${contradictions.length} contradictions`);
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
catch (error) {
|
|
714
|
+
if (this.config.verboseLogging) {
|
|
715
|
+
console.error('[StrangeLoop] Reconciliation failed:', error);
|
|
716
|
+
}
|
|
717
|
+
this.stats.invalidConsensusCount++;
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
/**
|
|
721
|
+
* Update collapse risk history, maintaining the configured history size.
|
|
722
|
+
*
|
|
723
|
+
* @param risk - The new collapse risk value (0-1)
|
|
724
|
+
*/
|
|
725
|
+
updateCollapseRiskHistory(risk) {
|
|
726
|
+
this.stats.collapseRiskHistory.push(risk);
|
|
727
|
+
// Trim to configured size
|
|
728
|
+
while (this.stats.collapseRiskHistory.length > this.config.collapseRiskHistorySize) {
|
|
729
|
+
this.stats.collapseRiskHistory.shift();
|
|
730
|
+
}
|
|
731
|
+
}
|
|
335
732
|
}
|
|
336
|
-
// ============================================================================
|
|
337
|
-
// Factory Functions
|
|
338
|
-
// ============================================================================
|
|
339
733
|
/**
|
|
340
|
-
* Create a strange loop orchestrator
|
|
734
|
+
* Create a strange loop orchestrator.
|
|
735
|
+
*
|
|
736
|
+
* @param provider - Agent provider for observing swarm state
|
|
737
|
+
* @param executor - Action executor for healing actions
|
|
738
|
+
* @param config - Optional configuration overrides
|
|
341
739
|
*/
|
|
342
740
|
export function createStrangeLoopOrchestrator(provider, executor, config) {
|
|
343
741
|
return new StrangeLoopOrchestrator(provider, executor, config);
|
|
344
742
|
}
|
|
345
743
|
/**
|
|
346
|
-
* Create a strange loop orchestrator with
|
|
744
|
+
* Create a strange loop orchestrator with coherence integration (ADR-052).
|
|
745
|
+
*
|
|
746
|
+
* @param options - Configuration options including coherence dependencies
|
|
747
|
+
* @returns Configured StrangeLoopOrchestrator with coherence integration
|
|
748
|
+
*
|
|
749
|
+
* @example
|
|
750
|
+
* ```typescript
|
|
751
|
+
* const orchestrator = createStrangeLoopWithCoherence({
|
|
752
|
+
* provider: agentProvider,
|
|
753
|
+
* executor: actionExecutor,
|
|
754
|
+
* config: { verboseLogging: true },
|
|
755
|
+
* coherenceService: await createCoherenceService(wasmLoader),
|
|
756
|
+
* beliefReconciler: myReconciler,
|
|
757
|
+
* });
|
|
758
|
+
*
|
|
759
|
+
* orchestrator.on('coherence_violation', (event) => {
|
|
760
|
+
* console.log('Beliefs incoherent:', event.data);
|
|
761
|
+
* });
|
|
762
|
+
*
|
|
763
|
+
* await orchestrator.start();
|
|
764
|
+
* ```
|
|
765
|
+
*/
|
|
766
|
+
export function createStrangeLoopWithCoherence(options) {
|
|
767
|
+
return new StrangeLoopOrchestrator(options.provider, options.executor, options.config, options.coherenceService, options.beliefReconciler);
|
|
768
|
+
}
|
|
769
|
+
/**
|
|
770
|
+
* Create a strange loop orchestrator with in-memory components (for testing).
|
|
771
|
+
*
|
|
772
|
+
* @param observerId - ID of the observer agent
|
|
773
|
+
* @param config - Optional configuration overrides
|
|
774
|
+
* @returns Object containing orchestrator, provider, and executor
|
|
347
775
|
*/
|
|
348
776
|
export function createInMemoryStrangeLoop(observerId = 'observer-0', config) {
|
|
349
777
|
const provider = new InMemoryAgentProvider(observerId);
|
|
@@ -351,4 +779,19 @@ export function createInMemoryStrangeLoop(observerId = 'observer-0', config) {
|
|
|
351
779
|
const orchestrator = new StrangeLoopOrchestrator(provider, executor, config);
|
|
352
780
|
return { orchestrator, provider, executor };
|
|
353
781
|
}
|
|
782
|
+
/**
|
|
783
|
+
* Create a strange loop orchestrator with in-memory components and coherence (for testing).
|
|
784
|
+
*
|
|
785
|
+
* @param observerId - ID of the observer agent
|
|
786
|
+
* @param config - Optional configuration overrides
|
|
787
|
+
* @param coherenceService - Optional CoherenceService for belief coherence checking
|
|
788
|
+
* @param beliefReconciler - Optional belief reconciler for resolving contradictions
|
|
789
|
+
* @returns Object containing orchestrator, provider, and executor
|
|
790
|
+
*/
|
|
791
|
+
export function createInMemoryStrangeLoopWithCoherence(observerId = 'observer-0', config, coherenceService, beliefReconciler) {
|
|
792
|
+
const provider = new InMemoryAgentProvider(observerId);
|
|
793
|
+
const executor = new NoOpActionExecutor();
|
|
794
|
+
const orchestrator = new StrangeLoopOrchestrator(provider, executor, config, coherenceService, beliefReconciler);
|
|
795
|
+
return { orchestrator, provider, executor };
|
|
796
|
+
}
|
|
354
797
|
//# sourceMappingURL=strange-loop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strange-loop.js","sourceRoot":"","sources":["../../src/strange-loop/strange-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"strange-loop.js","sourceRoot":"","sources":["../../src/strange-loop/strange-loop.ts"],"names":[],"mappings":"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"}
|