@agentic-qe/v3 3.0.0-alpha.5 → 3.0.0-alpha.7
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/assets/agents/v3/subagents/v3-qe-code-reviewer.md +339 -0
- package/assets/agents/v3/subagents/v3-qe-integration-reviewer.md +344 -0
- package/assets/agents/v3/subagents/v3-qe-performance-reviewer.md +351 -0
- package/assets/agents/v3/subagents/v3-qe-security-reviewer.md +374 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-green.md +334 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-red.md +329 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-refactor.md +361 -0
- package/assets/agents/v3/v3-qe-accessibility-auditor.md +266 -0
- package/assets/agents/v3/v3-qe-bdd-generator.md +279 -0
- package/assets/agents/v3/v3-qe-chaos-engineer.md +265 -0
- package/assets/agents/v3/v3-qe-code-complexity.md +298 -0
- package/assets/agents/v3/v3-qe-code-intelligence.md +262 -0
- package/assets/agents/v3/v3-qe-contract-validator.md +267 -0
- package/assets/agents/v3/v3-qe-coverage-specialist.md +227 -0
- package/assets/agents/v3/v3-qe-defect-predictor.md +251 -0
- package/assets/agents/v3/v3-qe-dependency-mapper.md +277 -0
- package/assets/agents/v3/v3-qe-deployment-advisor.md +275 -0
- package/assets/agents/v3/v3-qe-flaky-hunter.md +248 -0
- package/assets/agents/v3/v3-qe-fleet-commander.md +293 -0
- package/assets/agents/v3/v3-qe-gap-detector.md +260 -0
- package/assets/agents/v3/v3-qe-graphql-tester.md +308 -0
- package/assets/agents/v3/v3-qe-impact-analyzer.md +299 -0
- package/assets/agents/v3/v3-qe-integration-tester.md +238 -0
- package/assets/agents/v3/v3-qe-kg-builder.md +273 -0
- package/assets/agents/v3/v3-qe-learning-coordinator.md +226 -0
- package/assets/agents/v3/v3-qe-load-tester.md +280 -0
- package/assets/agents/v3/v3-qe-metrics-optimizer.md +300 -0
- package/assets/agents/v3/v3-qe-mutation-tester.md +301 -0
- package/assets/agents/v3/v3-qe-parallel-executor.md +240 -0
- package/assets/agents/v3/v3-qe-pattern-learner.md +271 -0
- package/assets/agents/v3/v3-qe-performance-tester.md +262 -0
- package/assets/agents/v3/v3-qe-property-tester.md +247 -0
- package/assets/agents/v3/v3-qe-quality-gate.md +218 -0
- package/assets/agents/v3/v3-qe-queen-coordinator.md +214 -0
- package/assets/agents/v3/v3-qe-qx-partner.md +313 -0
- package/assets/agents/v3/v3-qe-regression-analyzer.md +322 -0
- package/assets/agents/v3/v3-qe-requirements-validator.md +360 -0
- package/assets/agents/v3/v3-qe-responsive-tester.md +311 -0
- package/assets/agents/v3/v3-qe-retry-handler.md +256 -0
- package/assets/agents/v3/v3-qe-risk-assessor.md +273 -0
- package/assets/agents/v3/v3-qe-root-cause-analyzer.md +286 -0
- package/assets/agents/v3/v3-qe-security-auditor.md +299 -0
- package/assets/agents/v3/v3-qe-security-scanner.md +235 -0
- package/assets/agents/v3/v3-qe-tdd-specialist.md +239 -0
- package/assets/agents/v3/v3-qe-test-architect.md +233 -0
- package/assets/agents/v3/v3-qe-transfer-specialist.md +295 -0
- package/assets/agents/v3/v3-qe-visual-tester.md +232 -0
- package/assets/skills/accessibility-testing/SKILL.md +216 -0
- package/assets/skills/agentdb-advanced/SKILL.md +550 -0
- package/assets/skills/agentdb-learning/SKILL.md +545 -0
- package/assets/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/assets/skills/agentdb-optimization/SKILL.md +509 -0
- package/assets/skills/agentdb-vector-search/SKILL.md +339 -0
- package/assets/skills/agentic-jujutsu/SKILL.md +645 -0
- package/assets/skills/agentic-quality-engineering/SKILL.md +335 -0
- package/assets/skills/api-testing-patterns/SKILL.md +294 -0
- package/assets/skills/aqe-v2-v3-migration/skill.md +322 -0
- package/assets/skills/brutal-honesty-review/README.md +218 -0
- package/assets/skills/brutal-honesty-review/SKILL.md +235 -0
- package/assets/skills/brutal-honesty-review/resources/assessment-rubrics.md +295 -0
- package/assets/skills/brutal-honesty-review/resources/review-template.md +102 -0
- package/assets/skills/brutal-honesty-review/scripts/assess-code.sh +179 -0
- package/assets/skills/brutal-honesty-review/scripts/assess-tests.sh +223 -0
- package/assets/skills/bug-reporting-excellence/SKILL.md +225 -0
- package/assets/skills/chaos-engineering-resilience/SKILL.md +158 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +304 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +315 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/microservice-pipeline.md +239 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/mobile-pipeline.md +375 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/monolith-pipeline.md +268 -0
- package/assets/skills/code-review-quality/SKILL.md +227 -0
- package/assets/skills/compatibility-testing/SKILL.md +205 -0
- package/assets/skills/compliance-testing/SKILL.md +225 -0
- package/assets/skills/consultancy-practices/SKILL.md +202 -0
- package/assets/skills/context-driven-testing/SKILL.md +196 -0
- package/assets/skills/contract-testing/SKILL.md +222 -0
- package/assets/skills/database-testing/SKILL.md +244 -0
- package/assets/skills/exploratory-testing-advanced/SKILL.md +201 -0
- package/assets/skills/flow-nexus-neural/SKILL.md +738 -0
- package/assets/skills/flow-nexus-platform/SKILL.md +1157 -0
- package/assets/skills/flow-nexus-swarm/SKILL.md +610 -0
- package/assets/skills/github-code-review/SKILL.md +1140 -0
- package/assets/skills/github-multi-repo/SKILL.md +874 -0
- package/assets/skills/github-project-management/SKILL.md +1277 -0
- package/assets/skills/github-release-management/SKILL.md +1081 -0
- package/assets/skills/github-workflow-automation/SKILL.md +1065 -0
- package/assets/skills/hive-mind-advanced/SKILL.md +712 -0
- package/assets/skills/holistic-testing-pact/SKILL.md +171 -0
- package/assets/skills/hooks-automation/SKILL.md +1201 -0
- package/assets/skills/localization-testing/SKILL.md +221 -0
- package/assets/skills/mobile-testing/SKILL.md +219 -0
- package/assets/skills/mutation-testing/SKILL.md +229 -0
- package/assets/skills/n8n-expression-testing/SKILL.md +434 -0
- package/assets/skills/n8n-integration-testing-patterns/SKILL.md +540 -0
- package/assets/skills/n8n-security-testing/SKILL.md +599 -0
- package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +541 -0
- package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +447 -0
- package/assets/skills/pair-programming/SKILL.md +1202 -0
- package/assets/skills/performance-analysis/SKILL.md +563 -0
- package/assets/skills/performance-testing/SKILL.md +310 -0
- package/assets/skills/quality-metrics/SKILL.md +225 -0
- package/assets/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/assets/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/assets/skills/refactoring-patterns/SKILL.md +205 -0
- package/assets/skills/regression-testing/SKILL.md +227 -0
- package/assets/skills/risk-based-testing/SKILL.md +206 -0
- package/assets/skills/security-testing/SKILL.md +306 -0
- package/assets/skills/sherlock-review/SKILL.md +250 -0
- package/assets/skills/shift-left-testing/SKILL.md +225 -0
- package/assets/skills/shift-right-testing/SKILL.md +227 -0
- package/assets/skills/six-thinking-hats/README.md +190 -0
- package/assets/skills/six-thinking-hats/SKILL.md +280 -0
- package/assets/skills/six-thinking-hats/resources/examples/api-testing-example.md +345 -0
- package/assets/skills/six-thinking-hats/resources/templates/solo-session-template.md +167 -0
- package/assets/skills/six-thinking-hats/resources/templates/team-session-template.md +336 -0
- package/assets/skills/skill-builder/SKILL.md +910 -0
- package/assets/skills/sparc-methodology/SKILL.md +1115 -0
- package/assets/skills/stream-chain/SKILL.md +563 -0
- package/assets/skills/swarm-advanced/SKILL.md +973 -0
- package/assets/skills/swarm-orchestration/SKILL.md +179 -0
- package/assets/skills/tdd-london-chicago/SKILL.md +244 -0
- package/assets/skills/technical-writing/SKILL.md +178 -0
- package/assets/skills/test-automation-strategy/SKILL.md +230 -0
- package/assets/skills/test-data-management/SKILL.md +270 -0
- package/assets/skills/test-design-techniques/SKILL.md +244 -0
- package/assets/skills/test-environment-management/SKILL.md +243 -0
- package/assets/skills/test-reporting-analytics/SKILL.md +214 -0
- package/assets/skills/testability-scoring/README.md +71 -0
- package/assets/skills/testability-scoring/SKILL.md +346 -0
- package/assets/skills/testability-scoring/resources/templates/config.template.js +84 -0
- package/assets/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
- package/assets/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
- package/assets/skills/testability-scoring/scripts/run-assessment.sh +70 -0
- package/assets/skills/v3-qe-chaos-resilience/SKILL.md +238 -0
- package/assets/skills/v3-qe-code-intelligence/SKILL.md +209 -0
- package/assets/skills/v3-qe-contract-testing/SKILL.md +218 -0
- package/assets/skills/v3-qe-coverage-analysis/SKILL.md +187 -0
- package/assets/skills/v3-qe-defect-intelligence/SKILL.md +205 -0
- package/assets/skills/v3-qe-learning-optimization/SKILL.md +238 -0
- package/assets/skills/v3-qe-quality-assessment/SKILL.md +213 -0
- package/assets/skills/v3-qe-requirements-validation/SKILL.md +248 -0
- package/assets/skills/v3-qe-test-execution/SKILL.md +182 -0
- package/assets/skills/v3-qe-test-generation/SKILL.md +141 -0
- package/assets/skills/v3-qe-visual-accessibility/SKILL.md +242 -0
- package/assets/skills/verification-quality/SKILL.md +649 -0
- package/assets/skills/visual-testing-advanced/SKILL.md +219 -0
- package/assets/skills/xp-practices/SKILL.md +229 -0
- package/dist/cli/bundle.js +8 -8
- package/dist/init/agents-installer.js +4 -4
- package/dist/init/agents-installer.js.map +1 -1
- package/dist/init/skills-installer.js +4 -4
- package/dist/init/skills-installer.js.map +1 -1
- package/package.json +8 -2
- package/docs/analysis/V3-INIT-REQUIREMENTS-ANALYSIS.md +0 -352
- package/implementation/README.md +0 -90
- package/implementation/adrs/ADR-030-coherence-gated-quality-gates.md +0 -312
- package/implementation/adrs/ADR-031-strange-loop-self-awareness.md +0 -484
- package/implementation/adrs/ADR-032-time-crystal-scheduling.md +0 -530
- package/implementation/adrs/ADR-033-early-exit-testing.md +0 -634
- package/implementation/adrs/ADR-034-neural-topology-optimizer.md +0 -589
- package/implementation/adrs/ADR-035-causal-discovery.md +0 -610
- package/implementation/adrs/ADR-036-result-persistence.md +0 -326
- package/implementation/adrs/ADR-037-v3-qe-agent-naming.md +0 -105
- package/implementation/adrs/ADR-038-v3-qe-memory-unification.md +0 -154
- package/implementation/adrs/ADR-039-v3-qe-mcp-optimization.md +0 -179
- package/implementation/adrs/ADR-040-v3-qe-agentic-flow-integration.md +0 -240
- package/implementation/adrs/ADR-041-v3-qe-cli-enhancement.md +0 -296
- package/implementation/adrs/ADR-042-v3-qe-token-tracking-integration.md +0 -517
- package/implementation/adrs/v3-adrs.md +0 -2783
- package/implementation/planning/AQE-V3-MASTER-PLAN.md +0 -815
- package/security-scan-report-2026-01-11.md +0 -410
- package/security-verification-report-2026-01-11.md +0 -278
- package/src/benchmarks/performance-benchmarks.ts +0 -646
- package/src/benchmarks/run-benchmarks.ts +0 -324
- package/src/causal-discovery/causal-graph.ts +0 -450
- package/src/causal-discovery/discovery-engine.ts +0 -438
- package/src/causal-discovery/index.ts +0 -117
- package/src/causal-discovery/types.ts +0 -456
- package/src/causal-discovery/weight-matrix.ts +0 -453
- package/src/cli/commands/qe-tools.ts +0 -634
- package/src/cli/index.ts +0 -1976
- package/src/compatibility/agent-mapper.ts +0 -291
- package/src/compatibility/cli-adapter.ts +0 -277
- package/src/compatibility/config-migrator.ts +0 -334
- package/src/compatibility/index.ts +0 -112
- package/src/compatibility/mcp-adapter.ts +0 -248
- package/src/compatibility/types.ts +0 -156
- package/src/coordination/claims/claim-repository.ts +0 -636
- package/src/coordination/claims/claim-service.ts +0 -675
- package/src/coordination/claims/handoff-manager.ts +0 -535
- package/src/coordination/claims/index.ts +0 -276
- package/src/coordination/claims/interfaces.ts +0 -687
- package/src/coordination/claims/work-stealing.ts +0 -436
- package/src/coordination/cross-domain-router.ts +0 -492
- package/src/coordination/index.ts +0 -127
- package/src/coordination/interfaces.ts +0 -691
- package/src/coordination/protocol-executor.ts +0 -760
- package/src/coordination/protocols/code-intelligence-index.ts +0 -855
- package/src/coordination/protocols/defect-investigation.ts +0 -1184
- package/src/coordination/protocols/index.ts +0 -11
- package/src/coordination/protocols/learning-consolidation.ts +0 -1181
- package/src/coordination/protocols/morning-sync.ts +0 -1055
- package/src/coordination/protocols/quality-gate.ts +0 -1566
- package/src/coordination/protocols/security-audit.ts +0 -1587
- package/src/coordination/queen-coordinator.ts +0 -1176
- package/src/coordination/result-saver.ts +0 -780
- package/src/coordination/task-executor.ts +0 -1146
- package/src/coordination/workflow-orchestrator.ts +0 -1917
- package/src/domains/chaos-resilience/coordinator.ts +0 -1032
- package/src/domains/chaos-resilience/index.ts +0 -143
- package/src/domains/chaos-resilience/interfaces.ts +0 -659
- package/src/domains/chaos-resilience/plugin.ts +0 -691
- package/src/domains/chaos-resilience/services/chaos-engineer.ts +0 -1097
- package/src/domains/chaos-resilience/services/index.ts +0 -19
- package/src/domains/chaos-resilience/services/load-tester.ts +0 -799
- package/src/domains/chaos-resilience/services/performance-profiler.ts +0 -792
- package/src/domains/code-intelligence/coordinator.ts +0 -631
- package/src/domains/code-intelligence/index.ts +0 -86
- package/src/domains/code-intelligence/interfaces.ts +0 -162
- package/src/domains/code-intelligence/plugin.ts +0 -451
- package/src/domains/code-intelligence/services/impact-analyzer.ts +0 -567
- package/src/domains/code-intelligence/services/index.ts +0 -26
- package/src/domains/code-intelligence/services/knowledge-graph.ts +0 -1067
- package/src/domains/code-intelligence/services/semantic-analyzer.ts +0 -901
- package/src/domains/contract-testing/coordinator.ts +0 -1038
- package/src/domains/contract-testing/index.ts +0 -122
- package/src/domains/contract-testing/interfaces.ts +0 -458
- package/src/domains/contract-testing/plugin.ts +0 -746
- package/src/domains/contract-testing/services/api-compatibility.ts +0 -748
- package/src/domains/contract-testing/services/contract-validator.ts +0 -1700
- package/src/domains/contract-testing/services/index.ts +0 -19
- package/src/domains/contract-testing/services/schema-validator.ts +0 -1102
- package/src/domains/coverage-analysis/coordinator.ts +0 -485
- package/src/domains/coverage-analysis/index.ts +0 -114
- package/src/domains/coverage-analysis/interfaces.ts +0 -142
- package/src/domains/coverage-analysis/plugin.ts +0 -172
- package/src/domains/coverage-analysis/services/coverage-analyzer.ts +0 -449
- package/src/domains/coverage-analysis/services/coverage-embedder.ts +0 -733
- package/src/domains/coverage-analysis/services/coverage-parser.ts +0 -753
- package/src/domains/coverage-analysis/services/gap-detector.ts +0 -592
- package/src/domains/coverage-analysis/services/hnsw-index.ts +0 -728
- package/src/domains/coverage-analysis/services/index.ts +0 -61
- package/src/domains/coverage-analysis/services/risk-scorer.ts +0 -540
- package/src/domains/coverage-analysis/services/sublinear-analyzer.ts +0 -747
- package/src/domains/defect-intelligence/coordinator.ts +0 -635
- package/src/domains/defect-intelligence/index.ts +0 -83
- package/src/domains/defect-intelligence/interfaces.ts +0 -152
- package/src/domains/defect-intelligence/plugin.ts +0 -483
- package/src/domains/defect-intelligence/services/causal-root-cause-analyzer.ts +0 -494
- package/src/domains/defect-intelligence/services/defect-predictor.ts +0 -852
- package/src/domains/defect-intelligence/services/index.ts +0 -37
- package/src/domains/defect-intelligence/services/pattern-learner.ts +0 -738
- package/src/domains/defect-intelligence/services/root-cause-analyzer.ts +0 -637
- package/src/domains/domain-interface.ts +0 -77
- package/src/domains/index.ts +0 -23
- package/src/domains/learning-optimization/coordinator.ts +0 -1215
- package/src/domains/learning-optimization/index.ts +0 -127
- package/src/domains/learning-optimization/interfaces.ts +0 -570
- package/src/domains/learning-optimization/plugin.ts +0 -851
- package/src/domains/learning-optimization/services/index.ts +0 -29
- package/src/domains/learning-optimization/services/learning-coordinator.ts +0 -972
- package/src/domains/learning-optimization/services/metrics-optimizer.ts +0 -915
- package/src/domains/learning-optimization/services/production-intel.ts +0 -971
- package/src/domains/learning-optimization/services/transfer-specialist.ts +0 -723
- package/src/domains/quality-assessment/coherence/gate-controller.ts +0 -549
- package/src/domains/quality-assessment/coherence/index.ts +0 -211
- package/src/domains/quality-assessment/coherence/lambda-calculator.ts +0 -384
- package/src/domains/quality-assessment/coherence/partition-detector.ts +0 -469
- package/src/domains/quality-assessment/coherence/types.ts +0 -384
- package/src/domains/quality-assessment/coordinator.ts +0 -605
- package/src/domains/quality-assessment/index.ts +0 -97
- package/src/domains/quality-assessment/interfaces.ts +0 -152
- package/src/domains/quality-assessment/plugin.ts +0 -496
- package/src/domains/quality-assessment/services/coherence-gate.ts +0 -358
- package/src/domains/quality-assessment/services/deployment-advisor.ts +0 -571
- package/src/domains/quality-assessment/services/index.ts +0 -34
- package/src/domains/quality-assessment/services/quality-analyzer.ts +0 -670
- package/src/domains/quality-assessment/services/quality-gate.ts +0 -384
- package/src/domains/requirements-validation/coordinator.ts +0 -812
- package/src/domains/requirements-validation/index.ts +0 -92
- package/src/domains/requirements-validation/interfaces.ts +0 -303
- package/src/domains/requirements-validation/plugin.ts +0 -576
- package/src/domains/requirements-validation/services/bdd-scenario-writer.ts +0 -676
- package/src/domains/requirements-validation/services/index.ts +0 -20
- package/src/domains/requirements-validation/services/requirements-validator.ts +0 -559
- package/src/domains/requirements-validation/services/testability-scorer.ts +0 -639
- package/src/domains/security-compliance/coordinator.ts +0 -757
- package/src/domains/security-compliance/index.ts +0 -120
- package/src/domains/security-compliance/interfaces.ts +0 -434
- package/src/domains/security-compliance/plugin.ts +0 -509
- package/src/domains/security-compliance/services/compliance-validator.ts +0 -1226
- package/src/domains/security-compliance/services/index.ts +0 -31
- package/src/domains/security-compliance/services/security-auditor.ts +0 -2227
- package/src/domains/security-compliance/services/security-scanner.ts +0 -2354
- package/src/domains/security-compliance/services/semgrep-integration.ts +0 -289
- package/src/domains/test-execution/coordinator.ts +0 -426
- package/src/domains/test-execution/index.ts +0 -76
- package/src/domains/test-execution/interfaces.ts +0 -119
- package/src/domains/test-execution/plugin.ts +0 -208
- package/src/domains/test-execution/services/flaky-detector.ts +0 -1240
- package/src/domains/test-execution/services/index.ts +0 -8
- package/src/domains/test-execution/services/retry-handler.ts +0 -820
- package/src/domains/test-execution/services/test-executor.ts +0 -885
- package/src/domains/test-generation/coordinator.ts +0 -656
- package/src/domains/test-generation/index.ts +0 -77
- package/src/domains/test-generation/interfaces.ts +0 -118
- package/src/domains/test-generation/plugin.ts +0 -397
- package/src/domains/test-generation/services/index.ts +0 -23
- package/src/domains/test-generation/services/pattern-matcher.ts +0 -1725
- package/src/domains/test-generation/services/test-generator.ts +0 -2750
- package/src/domains/visual-accessibility/coordinator.ts +0 -860
- package/src/domains/visual-accessibility/index.ts +0 -116
- package/src/domains/visual-accessibility/interfaces.ts +0 -435
- package/src/domains/visual-accessibility/plugin.ts +0 -568
- package/src/domains/visual-accessibility/services/accessibility-tester.ts +0 -982
- package/src/domains/visual-accessibility/services/axe-core-audit.ts +0 -630
- package/src/domains/visual-accessibility/services/index.ts +0 -28
- package/src/domains/visual-accessibility/services/responsive-tester.ts +0 -934
- package/src/domains/visual-accessibility/services/visual-tester.ts +0 -458
- package/src/early-exit/early-exit-controller.ts +0 -490
- package/src/early-exit/early-exit-decision.ts +0 -391
- package/src/early-exit/index.ts +0 -115
- package/src/early-exit/quality-signal.ts +0 -389
- package/src/early-exit/speculative-executor.ts +0 -505
- package/src/early-exit/types.ts +0 -407
- package/src/feedback/coverage-learner.ts +0 -456
- package/src/feedback/feedback-loop.ts +0 -426
- package/src/feedback/index.ts +0 -72
- package/src/feedback/pattern-promotion.ts +0 -373
- package/src/feedback/quality-score-calculator.ts +0 -334
- package/src/feedback/test-outcome-tracker.ts +0 -450
- package/src/feedback/types.ts +0 -497
- package/src/index.ts +0 -224
- package/src/init/agents-installer.ts +0 -536
- package/src/init/index.ts +0 -80
- package/src/init/init-wizard.ts +0 -1061
- package/src/init/project-analyzer.ts +0 -696
- package/src/init/self-configurator.ts +0 -488
- package/src/init/skills-installer.ts +0 -467
- package/src/init/types.ts +0 -432
- package/src/integrations/ruvector/ast-complexity.ts +0 -470
- package/src/integrations/ruvector/coverage-router.ts +0 -594
- package/src/integrations/ruvector/diff-risk-classifier.ts +0 -759
- package/src/integrations/ruvector/fallback.ts +0 -942
- package/src/integrations/ruvector/graph-boundaries.ts +0 -809
- package/src/integrations/ruvector/index.ts +0 -363
- package/src/integrations/ruvector/interfaces.ts +0 -609
- package/src/integrations/ruvector/q-learning-router.ts +0 -550
- package/src/kernel/agent-coordinator.ts +0 -165
- package/src/kernel/agentdb-backend.ts +0 -504
- package/src/kernel/event-bus.ts +0 -129
- package/src/kernel/hybrid-backend.ts +0 -538
- package/src/kernel/index.ts +0 -28
- package/src/kernel/interfaces.ts +0 -257
- package/src/kernel/kernel.ts +0 -285
- package/src/kernel/memory-backend.ts +0 -169
- package/src/kernel/memory-factory.ts +0 -293
- package/src/kernel/plugin-loader.ts +0 -179
- package/src/learning/index.ts +0 -219
- package/src/learning/pattern-store.ts +0 -990
- package/src/learning/qe-guidance.ts +0 -832
- package/src/learning/qe-hooks.ts +0 -644
- package/src/learning/qe-patterns.ts +0 -449
- package/src/learning/qe-reasoning-bank.ts +0 -951
- package/src/learning/real-embeddings.ts +0 -277
- package/src/learning/real-qe-reasoning-bank.ts +0 -833
- package/src/learning/sqlite-persistence.ts +0 -554
- package/src/mcp/entry.ts +0 -59
- package/src/mcp/handlers/agent-handlers.ts +0 -285
- package/src/mcp/handlers/core-handlers.ts +0 -317
- package/src/mcp/handlers/domain-handlers.ts +0 -1444
- package/src/mcp/handlers/index.ts +0 -57
- package/src/mcp/handlers/memory-handlers.ts +0 -338
- package/src/mcp/handlers/task-handlers.ts +0 -363
- package/src/mcp/index.ts +0 -30
- package/src/mcp/metrics/index.ts +0 -14
- package/src/mcp/metrics/metrics-collector.ts +0 -503
- package/src/mcp/protocol-server.ts +0 -752
- package/src/mcp/security/cve-prevention.ts +0 -742
- package/src/mcp/security/index.ts +0 -356
- package/src/mcp/security/oauth21-provider.ts +0 -821
- package/src/mcp/security/rate-limiter.ts +0 -615
- package/src/mcp/security/sampling-server.ts +0 -662
- package/src/mcp/security/schema-validator.ts +0 -855
- package/src/mcp/server.ts +0 -657
- package/src/mcp/tool-registry.ts +0 -391
- package/src/mcp/tools/base.ts +0 -399
- package/src/mcp/tools/chaos-resilience/inject.ts +0 -699
- package/src/mcp/tools/code-intelligence/analyze.ts +0 -745
- package/src/mcp/tools/contract-testing/validate.ts +0 -708
- package/src/mcp/tools/coverage-analysis/index.ts +0 -770
- package/src/mcp/tools/defect-intelligence/predict.ts +0 -466
- package/src/mcp/tools/index.ts +0 -214
- package/src/mcp/tools/learning-optimization/optimize.ts +0 -772
- package/src/mcp/tools/quality-assessment/evaluate.ts +0 -385
- package/src/mcp/tools/registry.ts +0 -248
- package/src/mcp/tools/requirements-validation/validate.ts +0 -394
- package/src/mcp/tools/security-compliance/scan.ts +0 -365
- package/src/mcp/tools/test-execution/execute.ts +0 -291
- package/src/mcp/tools/test-generation/generate.ts +0 -544
- package/src/mcp/tools/visual-accessibility/index.ts +0 -791
- package/src/mcp/transport/index.ts +0 -31
- package/src/mcp/transport/stdio.ts +0 -318
- package/src/mcp/types.ts +0 -543
- package/src/neural-optimizer/index.ts +0 -111
- package/src/neural-optimizer/replay-buffer.ts +0 -455
- package/src/neural-optimizer/swarm-topology.ts +0 -508
- package/src/neural-optimizer/topology-optimizer.ts +0 -828
- package/src/neural-optimizer/types.ts +0 -481
- package/src/neural-optimizer/value-network.ts +0 -351
- package/src/optimization/auto-tuner.ts +0 -817
- package/src/optimization/index.ts +0 -77
- package/src/optimization/metric-collectors.ts +0 -474
- package/src/optimization/qe-workers.ts +0 -704
- package/src/optimization/tuning-algorithm.ts +0 -401
- package/src/optimization/types.ts +0 -314
- package/src/routing/index.ts +0 -51
- package/src/routing/qe-agent-registry.ts +0 -963
- package/src/routing/qe-task-router.ts +0 -564
- package/src/routing/routing-feedback.ts +0 -365
- package/src/routing/types.ts +0 -406
- package/src/shared/embeddings/embedding-cache.ts +0 -157
- package/src/shared/embeddings/index.ts +0 -50
- package/src/shared/embeddings/nomic-embedder.ts +0 -404
- package/src/shared/embeddings/ollama-client.ts +0 -195
- package/src/shared/embeddings/types.ts +0 -147
- package/src/shared/entities/agent.ts +0 -141
- package/src/shared/entities/base-entity.ts +0 -79
- package/src/shared/entities/index.ts +0 -6
- package/src/shared/events/domain-events.ts +0 -259
- package/src/shared/events/index.ts +0 -5
- package/src/shared/git/git-analyzer.ts +0 -656
- package/src/shared/git/index.ts +0 -11
- package/src/shared/http/http-client.ts +0 -420
- package/src/shared/http/index.ts +0 -13
- package/src/shared/index.ts +0 -41
- package/src/shared/io/file-reader.ts +0 -525
- package/src/shared/io/index.ts +0 -25
- package/src/shared/llm/cache.ts +0 -473
- package/src/shared/llm/circuit-breaker.ts +0 -369
- package/src/shared/llm/cost-tracker.ts +0 -460
- package/src/shared/llm/index.ts +0 -140
- package/src/shared/llm/interfaces.ts +0 -629
- package/src/shared/llm/provider-manager.ts +0 -685
- package/src/shared/llm/providers/claude.ts +0 -524
- package/src/shared/llm/providers/index.ts +0 -8
- package/src/shared/llm/providers/ollama.ts +0 -575
- package/src/shared/llm/providers/openai.ts +0 -609
- package/src/shared/metrics/code-metrics.ts +0 -520
- package/src/shared/metrics/index.ts +0 -23
- package/src/shared/metrics/system-metrics.ts +0 -353
- package/src/shared/parsers/index.ts +0 -6
- package/src/shared/parsers/typescript-parser.ts +0 -841
- package/src/shared/security/compliance-patterns.ts +0 -666
- package/src/shared/security/index.ts +0 -30
- package/src/shared/security/osv-client.ts +0 -468
- package/src/shared/types/index.ts +0 -150
- package/src/shared/value-objects/index.ts +0 -273
- package/src/strange-loop/healing-controller.ts +0 -833
- package/src/strange-loop/index.ts +0 -104
- package/src/strange-loop/self-model.ts +0 -494
- package/src/strange-loop/strange-loop.ts +0 -446
- package/src/strange-loop/swarm-observer.ts +0 -448
- package/src/strange-loop/topology-analyzer.ts +0 -565
- package/src/strange-loop/types.ts +0 -640
- package/src/time-crystal/default-phases.ts +0 -520
- package/src/time-crystal/index.ts +0 -164
- package/src/time-crystal/oscillator.ts +0 -425
- package/src/time-crystal/phase-executor.ts +0 -521
- package/src/time-crystal/scheduler.ts +0 -1025
- package/src/time-crystal/test-runner.ts +0 -787
- package/src/time-crystal/types.ts +0 -421
- package/src/workers/base-worker.ts +0 -304
- package/src/workers/daemon.ts +0 -264
- package/src/workers/index.ts +0 -119
- package/src/workers/interfaces.ts +0 -393
- package/src/workers/worker-manager.ts +0 -424
- package/src/workers/workers/compliance-checker.ts +0 -445
- package/src/workers/workers/coverage-tracker.ts +0 -344
- package/src/workers/workers/defect-predictor.ts +0 -375
- package/src/workers/workers/flaky-detector.ts +0 -390
- package/src/workers/workers/index.ts +0 -17
- package/src/workers/workers/learning-consolidation.ts +0 -442
- package/src/workers/workers/performance-baseline.ts +0 -434
- package/src/workers/workers/quality-gate.ts +0 -419
- package/src/workers/workers/regression-monitor.ts +0 -357
- package/src/workers/workers/security-scan.ts +0 -349
- package/src/workers/workers/test-health.ts +0 -359
- package/tests/integration/code-intelligence/knowledge-graph-real.test.ts +0 -540
- package/tests/integration/coordination/cross-domain-router.test.ts +0 -403
- package/tests/integration/coordination/protocol-executor.test.ts +0 -454
- package/tests/integration/coordination/workflow-orchestrator.test.ts +0 -418
- package/tests/integration/feedback/feedback-loop-integration.test.ts +0 -560
- package/tests/integration/migration/v2-to-v3-migration.test.ts +0 -471
- package/tests/integration/parsers/typescript-parser.test.ts +0 -463
- package/tests/integration/security/vulnerability-detection.test.ts +0 -628
- package/tests/integration/test-execution/coordinator.test.ts +0 -410
- package/tests/integration/test-generation/coordinator.test.ts +0 -361
- package/tests/mocks/index.ts +0 -228
- package/tests/time-crystal/default-phases.test.ts +0 -476
- package/tests/time-crystal/oscillator.test.ts +0 -541
- package/tests/time-crystal/phase-executor.test.ts +0 -653
- package/tests/time-crystal/scheduler.test.ts +0 -626
- package/tests/time-crystal/test-runner.test.ts +0 -594
- package/tests/unit/causal-discovery/causal-graph.test.ts +0 -504
- package/tests/unit/causal-discovery/causal-root-cause-analyzer.test.ts +0 -347
- package/tests/unit/causal-discovery/discovery-engine.test.ts +0 -435
- package/tests/unit/causal-discovery/weight-matrix.test.ts +0 -328
- package/tests/unit/cli/cli.test.ts +0 -341
- package/tests/unit/cli/commands.test.ts +0 -414
- package/tests/unit/cli/init-command.test.ts +0 -274
- package/tests/unit/cli/migrate-command.test.ts +0 -396
- package/tests/unit/coordination/claims/claim-service.test.ts +0 -949
- package/tests/unit/coordination/claims/handoff-manager.test.ts +0 -773
- package/tests/unit/coordination/claims/work-stealing.test.ts +0 -492
- package/tests/unit/coordination/queen-coordinator.test.ts +0 -966
- package/tests/unit/coordination/result-saver.test.ts +0 -653
- package/tests/unit/coordination/task-executor.test.ts +0 -810
- package/tests/unit/domains/chaos-resilience/chaos-engineer.test.ts +0 -484
- package/tests/unit/domains/chaos-resilience/load-tester.test.ts +0 -559
- package/tests/unit/domains/chaos-resilience/performance-profiler.test.ts +0 -490
- package/tests/unit/domains/code-intelligence/impact-analyzer.test.ts +0 -560
- package/tests/unit/domains/code-intelligence/knowledge-graph.test.ts +0 -460
- package/tests/unit/domains/code-intelligence/semantic-analyzer.test.ts +0 -584
- package/tests/unit/domains/contract-testing/api-compatibility.test.ts +0 -483
- package/tests/unit/domains/contract-testing/contract-validator.test.ts +0 -370
- package/tests/unit/domains/contract-testing/schema-validator.test.ts +0 -610
- package/tests/unit/domains/coverage-analysis/coverage-embedder.test.ts +0 -298
- package/tests/unit/domains/coverage-analysis/hnsw-index.test.ts +0 -292
- package/tests/unit/domains/coverage-analysis/sublinear-analyzer.test.ts +0 -506
- package/tests/unit/domains/defect-intelligence/defect-predictor.test.ts +0 -370
- package/tests/unit/domains/defect-intelligence/pattern-learner.test.ts +0 -546
- package/tests/unit/domains/defect-intelligence/root-cause-analyzer.test.ts +0 -534
- package/tests/unit/domains/learning-optimization/learning-coordinator.test.ts +0 -541
- package/tests/unit/domains/learning-optimization/metrics-optimizer.test.ts +0 -552
- package/tests/unit/domains/learning-optimization/production-intel.test.ts +0 -589
- package/tests/unit/domains/learning-optimization/transfer-specialist.test.ts +0 -453
- package/tests/unit/domains/quality-assessment/coherence-gate.test.ts +0 -1006
- package/tests/unit/domains/quality-assessment/deployment-advisor.test.ts +0 -515
- package/tests/unit/domains/quality-assessment/quality-analyzer.test.ts +0 -401
- package/tests/unit/domains/quality-assessment/quality-gate.test.ts +0 -324
- package/tests/unit/domains/requirements-validation/bdd-scenario-writer.test.ts +0 -479
- package/tests/unit/domains/requirements-validation/requirements-validator.test.ts +0 -452
- package/tests/unit/domains/requirements-validation/testability-scorer.test.ts +0 -505
- package/tests/unit/domains/security-compliance/compliance-validator.test.ts +0 -500
- package/tests/unit/domains/security-compliance/security-auditor.test.ts +0 -498
- package/tests/unit/domains/security-compliance/security-scanner.test.ts +0 -412
- package/tests/unit/domains/visual-accessibility/accessibility-tester.test.ts +0 -432
- package/tests/unit/domains/visual-accessibility/responsive-tester.test.ts +0 -506
- package/tests/unit/domains/visual-accessibility/visual-tester.test.ts +0 -412
- package/tests/unit/early-exit/early-exit-controller.test.ts +0 -548
- package/tests/unit/early-exit/early-exit-decision.test.ts +0 -617
- package/tests/unit/early-exit/index.test.ts +0 -254
- package/tests/unit/early-exit/quality-signal.test.ts +0 -589
- package/tests/unit/early-exit/speculative-executor.test.ts +0 -453
- package/tests/unit/feedback/coverage-learner.test.ts +0 -288
- package/tests/unit/feedback/feedback-loop.test.ts +0 -458
- package/tests/unit/feedback/pattern-promotion.test.ts +0 -390
- package/tests/unit/feedback/quality-score-calculator.test.ts +0 -364
- package/tests/unit/feedback/test-outcome-tracker.test.ts +0 -243
- package/tests/unit/init/init-wizard.test.ts +0 -881
- package/tests/unit/init/project-analyzer.test.ts +0 -807
- package/tests/unit/init/self-configurator.test.ts +0 -493
- package/tests/unit/integrations/ruvector/ast-complexity.test.ts +0 -240
- package/tests/unit/integrations/ruvector/coverage-router.test.ts +0 -366
- package/tests/unit/integrations/ruvector/diff-risk-classifier.test.ts +0 -340
- package/tests/unit/integrations/ruvector/graph-boundaries.test.ts +0 -355
- package/tests/unit/integrations/ruvector/q-learning-router.test.ts +0 -314
- package/tests/unit/kernel/agent-coordinator.test.ts +0 -220
- package/tests/unit/kernel/event-bus.test.ts +0 -197
- package/tests/unit/learning/qe-reasoning-bank.test.ts +0 -666
- package/tests/unit/learning/real-qe-reasoning-bank.benchmark.test.ts +0 -415
- package/tests/unit/mcp/mcp-server.test.ts +0 -544
- package/tests/unit/mcp/metrics/metrics-collector.test.ts +0 -340
- package/tests/unit/mcp/security/cve-prevention.test.ts +0 -512
- package/tests/unit/mcp/security/oauth21-provider.test.ts +0 -624
- package/tests/unit/mcp/security/rate-limiter.test.ts +0 -410
- package/tests/unit/mcp/security/sampling-server.test.ts +0 -420
- package/tests/unit/mcp/security/schema-validator.test.ts +0 -494
- package/tests/unit/mcp/tools/base.test.ts +0 -336
- package/tests/unit/mcp/tools/domain-tools.test.ts +0 -759
- package/tests/unit/mcp/tools/registry.test.ts +0 -240
- package/tests/unit/neural-optimizer/replay-buffer.test.ts +0 -403
- package/tests/unit/neural-optimizer/swarm-topology.test.ts +0 -473
- package/tests/unit/neural-optimizer/topology-optimizer.test.ts +0 -595
- package/tests/unit/neural-optimizer/value-network.test.ts +0 -343
- package/tests/unit/optimization/auto-tuner.test.ts +0 -506
- package/tests/unit/optimization/metric-collectors.test.ts +0 -352
- package/tests/unit/optimization/qe-workers.test.ts +0 -407
- package/tests/unit/optimization/tuning-algorithm.test.ts +0 -467
- package/tests/unit/routing/qe-agent-registry.test.ts +0 -229
- package/tests/unit/routing/qe-task-router.test.ts +0 -390
- package/tests/unit/routing/routing-feedback.test.ts +0 -339
- package/tests/unit/shared/embeddings/nomic-embedder.test.ts +0 -419
- package/tests/unit/shared/http/http-client.test.ts +0 -719
- package/tests/unit/shared/io/file-reader.test.ts +0 -511
- package/tests/unit/shared/llm/cache.test.ts +0 -391
- package/tests/unit/shared/llm/circuit-breaker.test.ts +0 -293
- package/tests/unit/shared/llm/cost-tracker.test.ts +0 -431
- package/tests/unit/shared/llm/provider-manager.test.ts +0 -550
- package/tests/unit/shared/llm/providers.test.ts +0 -532
- package/tests/unit/shared/parsers/typescript-parser.test.ts +0 -693
- package/tests/unit/shared/value-objects.test.ts +0 -184
- package/tests/unit/strange-loop/strange-loop.test.ts +0 -1170
- package/tests/unit/workers/base-worker.test.ts +0 -341
- package/tests/unit/workers/daemon.test.ts +0 -291
- package/tests/unit/workers/worker-manager.test.ts +0 -284
- package/tsconfig.json +0 -32
- package/vitest.config.ts +0 -27
|
@@ -1,421 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agentic QE v3 - Time Crystal Scheduling Types
|
|
3
|
-
* ADR-032: Kuramoto CPG oscillators for self-sustaining scheduling
|
|
4
|
-
*
|
|
5
|
-
* Based on RuVector MinCut Analysis (time_crystal.rs):
|
|
6
|
-
* Time crystals exhibit periodic self-sustaining patterns. The SNN equivalent
|
|
7
|
-
* is a Central Pattern Generator - coupled oscillators that produce rhythmic
|
|
8
|
-
* output without external timing.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
// ============================================================================
|
|
12
|
-
// Test Execution Phase Types
|
|
13
|
-
// ============================================================================
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Types of tests that can be executed
|
|
17
|
-
*/
|
|
18
|
-
export type TestType =
|
|
19
|
-
| 'unit'
|
|
20
|
-
| 'integration'
|
|
21
|
-
| 'e2e'
|
|
22
|
-
| 'performance'
|
|
23
|
-
| 'security'
|
|
24
|
-
| 'visual'
|
|
25
|
-
| 'accessibility'
|
|
26
|
-
| 'contract';
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Quality thresholds for phase completion
|
|
30
|
-
*/
|
|
31
|
-
export interface PhaseThresholds {
|
|
32
|
-
/** Minimum pass rate to proceed (0-1) */
|
|
33
|
-
readonly minPassRate: number;
|
|
34
|
-
|
|
35
|
-
/** Maximum flaky test tolerance (0-1) */
|
|
36
|
-
readonly maxFlakyRatio: number;
|
|
37
|
-
|
|
38
|
-
/** Minimum coverage requirement (0-1) */
|
|
39
|
-
readonly minCoverage: number;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Agent configuration for a phase
|
|
44
|
-
*/
|
|
45
|
-
export interface PhaseAgentConfig {
|
|
46
|
-
/** Agent types to use in this phase */
|
|
47
|
-
readonly agents: string[];
|
|
48
|
-
|
|
49
|
-
/** Parallelism level */
|
|
50
|
-
readonly parallelism: number;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Test execution phase definition
|
|
55
|
-
*/
|
|
56
|
-
export interface TestPhase {
|
|
57
|
-
/** Phase identifier (0 to n-1) */
|
|
58
|
-
readonly id: number;
|
|
59
|
-
|
|
60
|
-
/** Phase name */
|
|
61
|
-
readonly name: string;
|
|
62
|
-
|
|
63
|
-
/** Test types executed in this phase */
|
|
64
|
-
readonly testTypes: TestType[];
|
|
65
|
-
|
|
66
|
-
/** Expected duration (ms) */
|
|
67
|
-
readonly expectedDuration: number;
|
|
68
|
-
|
|
69
|
-
/** Quality thresholds for phase completion */
|
|
70
|
-
readonly qualityThresholds: PhaseThresholds;
|
|
71
|
-
|
|
72
|
-
/** Phase-specific agent configuration */
|
|
73
|
-
readonly agentConfig: PhaseAgentConfig;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// ============================================================================
|
|
77
|
-
// CPG Configuration Types
|
|
78
|
-
// ============================================================================
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Central Pattern Generator configuration
|
|
82
|
-
*/
|
|
83
|
-
export interface CPGConfig {
|
|
84
|
-
/** Number of phases in the crystal */
|
|
85
|
-
readonly numPhases: number;
|
|
86
|
-
|
|
87
|
-
/** Oscillation frequency (Hz) - how fast phases cycle */
|
|
88
|
-
readonly frequency: number;
|
|
89
|
-
|
|
90
|
-
/** Coupling strength between adjacent phases (Kuramoto K parameter) */
|
|
91
|
-
readonly coupling: number;
|
|
92
|
-
|
|
93
|
-
/** Stability threshold for phase transitions */
|
|
94
|
-
readonly stabilityThreshold: number;
|
|
95
|
-
|
|
96
|
-
/** Time step for simulation (ms) */
|
|
97
|
-
readonly dt: number;
|
|
98
|
-
|
|
99
|
-
/** Phase transition threshold (activity level to trigger transition) */
|
|
100
|
-
readonly transitionThreshold: number;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Default CPG configuration for demo/testing
|
|
105
|
-
*/
|
|
106
|
-
export const DEFAULT_CPG_CONFIG: CPGConfig = {
|
|
107
|
-
numPhases: 4,
|
|
108
|
-
frequency: 0.1, // 0.1 Hz = 10s per cycle in demo mode
|
|
109
|
-
coupling: 0.3, // Moderate coupling strength
|
|
110
|
-
stabilityThreshold: 0.1,
|
|
111
|
-
dt: 100, // 100ms time steps
|
|
112
|
-
transitionThreshold: 0.8,
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Production CPG configuration for real workloads
|
|
117
|
-
*/
|
|
118
|
-
export const PRODUCTION_CPG_CONFIG: CPGConfig = {
|
|
119
|
-
numPhases: 4,
|
|
120
|
-
frequency: 0.001, // 0.001 Hz = ~17 min per full cycle
|
|
121
|
-
coupling: 0.3,
|
|
122
|
-
stabilityThreshold: 0.1,
|
|
123
|
-
dt: 1000, // 1s time steps
|
|
124
|
-
transitionThreshold: 0.8,
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Fast CPG configuration for testing
|
|
129
|
-
*/
|
|
130
|
-
export const FAST_CPG_CONFIG: CPGConfig = {
|
|
131
|
-
numPhases: 4,
|
|
132
|
-
frequency: 1.0, // 1 Hz = 1s per cycle
|
|
133
|
-
coupling: 0.3,
|
|
134
|
-
stabilityThreshold: 0.1,
|
|
135
|
-
dt: 10, // 10ms time steps
|
|
136
|
-
transitionThreshold: 0.8,
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
// ============================================================================
|
|
140
|
-
// Phase Transition Types
|
|
141
|
-
// ============================================================================
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Represents a transition between test execution phases
|
|
145
|
-
*/
|
|
146
|
-
export interface PhaseTransition {
|
|
147
|
-
/** Source phase index */
|
|
148
|
-
readonly from: number;
|
|
149
|
-
|
|
150
|
-
/** Target phase index */
|
|
151
|
-
readonly to: number;
|
|
152
|
-
|
|
153
|
-
/** Timestamp when transition occurred (simulation time in ms) */
|
|
154
|
-
readonly timestamp: number;
|
|
155
|
-
|
|
156
|
-
/** Source phase definition */
|
|
157
|
-
readonly fromPhase: TestPhase;
|
|
158
|
-
|
|
159
|
-
/** Target phase definition */
|
|
160
|
-
readonly toPhase: TestPhase;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Result of executing a test phase
|
|
165
|
-
*/
|
|
166
|
-
export interface PhaseResult {
|
|
167
|
-
/** Phase identifier */
|
|
168
|
-
readonly phaseId: number;
|
|
169
|
-
|
|
170
|
-
/** Phase name */
|
|
171
|
-
readonly phaseName: string;
|
|
172
|
-
|
|
173
|
-
/** Test pass rate (0-1) */
|
|
174
|
-
readonly passRate: number;
|
|
175
|
-
|
|
176
|
-
/** Flaky test ratio (0-1) */
|
|
177
|
-
readonly flakyRatio: number;
|
|
178
|
-
|
|
179
|
-
/** Code coverage achieved (0-1) */
|
|
180
|
-
readonly coverage: number;
|
|
181
|
-
|
|
182
|
-
/** Actual duration in ms */
|
|
183
|
-
readonly duration: number;
|
|
184
|
-
|
|
185
|
-
/** Total tests executed */
|
|
186
|
-
readonly testsRun: number;
|
|
187
|
-
|
|
188
|
-
/** Tests that passed */
|
|
189
|
-
readonly testsPassed: number;
|
|
190
|
-
|
|
191
|
-
/** Tests that failed */
|
|
192
|
-
readonly testsFailed: number;
|
|
193
|
-
|
|
194
|
-
/** Tests that were skipped */
|
|
195
|
-
readonly testsSkipped: number;
|
|
196
|
-
|
|
197
|
-
/** Whether quality thresholds were met */
|
|
198
|
-
readonly qualityMet: boolean;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
// ============================================================================
|
|
202
|
-
// Oscillator Types
|
|
203
|
-
// ============================================================================
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* State of an oscillator neuron
|
|
207
|
-
*/
|
|
208
|
-
export interface OscillatorState {
|
|
209
|
-
/** Oscillator identifier */
|
|
210
|
-
readonly id: number;
|
|
211
|
-
|
|
212
|
-
/** Current phase angle (0 to 2*PI radians) */
|
|
213
|
-
readonly phase: number;
|
|
214
|
-
|
|
215
|
-
/** Natural angular frequency (rad/ms) */
|
|
216
|
-
readonly omega: number;
|
|
217
|
-
|
|
218
|
-
/** Oscillation amplitude */
|
|
219
|
-
readonly amplitude: number;
|
|
220
|
-
|
|
221
|
-
/** Current activity level (-1 to 1) */
|
|
222
|
-
readonly activity: number;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
/**
|
|
226
|
-
* Coupling matrix entry
|
|
227
|
-
*/
|
|
228
|
-
export interface CouplingEntry {
|
|
229
|
-
/** Source oscillator index */
|
|
230
|
-
readonly from: number;
|
|
231
|
-
|
|
232
|
-
/** Target oscillator index */
|
|
233
|
-
readonly to: number;
|
|
234
|
-
|
|
235
|
-
/** Coupling strength */
|
|
236
|
-
readonly strength: number;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
// ============================================================================
|
|
240
|
-
// Scheduler Types
|
|
241
|
-
// ============================================================================
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* Time Crystal Scheduler state
|
|
245
|
-
*/
|
|
246
|
-
export interface SchedulerState {
|
|
247
|
-
/** Whether the scheduler is running */
|
|
248
|
-
readonly running: boolean;
|
|
249
|
-
|
|
250
|
-
/** Current simulation time (ms) */
|
|
251
|
-
readonly time: number;
|
|
252
|
-
|
|
253
|
-
/** Current active phase index */
|
|
254
|
-
readonly currentPhase: number;
|
|
255
|
-
|
|
256
|
-
/** Phase transition history */
|
|
257
|
-
readonly phaseHistory: number[];
|
|
258
|
-
|
|
259
|
-
/** Oscillator states */
|
|
260
|
-
readonly oscillatorStates: OscillatorState[];
|
|
261
|
-
|
|
262
|
-
/** Whether crystal is exhibiting stable periodic behavior */
|
|
263
|
-
readonly isStable: boolean;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
* Test runner interface for real test execution
|
|
268
|
-
* Full implementation in phase-executor.ts
|
|
269
|
-
*/
|
|
270
|
-
export interface TestRunnerRef {
|
|
271
|
-
run(
|
|
272
|
-
testTypes: string[],
|
|
273
|
-
options: {
|
|
274
|
-
parallelism: number;
|
|
275
|
-
timeout: number;
|
|
276
|
-
collectCoverage: boolean;
|
|
277
|
-
retryFailed: boolean;
|
|
278
|
-
maxRetries: number;
|
|
279
|
-
filter?: string;
|
|
280
|
-
}
|
|
281
|
-
): Promise<{
|
|
282
|
-
total: number;
|
|
283
|
-
passed: number;
|
|
284
|
-
failed: number;
|
|
285
|
-
skipped: number;
|
|
286
|
-
flaky: number;
|
|
287
|
-
coverage: number;
|
|
288
|
-
duration: number;
|
|
289
|
-
}>;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
/**
|
|
293
|
-
* Scheduler configuration options
|
|
294
|
-
*/
|
|
295
|
-
export interface SchedulerOptions {
|
|
296
|
-
/** CPG configuration */
|
|
297
|
-
readonly cpgConfig: CPGConfig;
|
|
298
|
-
|
|
299
|
-
/** Whether to auto-start on creation */
|
|
300
|
-
readonly autoStart: boolean;
|
|
301
|
-
|
|
302
|
-
/** Maximum phase history to retain */
|
|
303
|
-
readonly maxHistoryLength: number;
|
|
304
|
-
|
|
305
|
-
/**
|
|
306
|
-
* Test runner for REAL test execution.
|
|
307
|
-
* Use VitestTestRunner or JestTestRunner from test-runner.ts.
|
|
308
|
-
* If not provided, scheduler uses MOCK MODE with deterministic fake data.
|
|
309
|
-
*/
|
|
310
|
-
readonly testRunner?: TestRunnerRef;
|
|
311
|
-
|
|
312
|
-
/** Callback for phase transitions */
|
|
313
|
-
readonly onPhaseTransition?: (transition: PhaseTransition) => void | Promise<void>;
|
|
314
|
-
|
|
315
|
-
/** Callback for phase execution */
|
|
316
|
-
readonly onPhaseExecute?: (phase: TestPhase) => Promise<PhaseResult>;
|
|
317
|
-
|
|
318
|
-
/** Callback for quality gate failures */
|
|
319
|
-
readonly onQualityFailure?: (phase: TestPhase, result: PhaseResult) => void | Promise<void>;
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
/**
|
|
323
|
-
* Default scheduler options
|
|
324
|
-
*/
|
|
325
|
-
export const DEFAULT_SCHEDULER_OPTIONS: Omit<SchedulerOptions, 'onPhaseTransition' | 'onPhaseExecute' | 'onQualityFailure'> = {
|
|
326
|
-
cpgConfig: DEFAULT_CPG_CONFIG,
|
|
327
|
-
autoStart: false,
|
|
328
|
-
maxHistoryLength: 1000,
|
|
329
|
-
};
|
|
330
|
-
|
|
331
|
-
// ============================================================================
|
|
332
|
-
// Crystal Health Types
|
|
333
|
-
// ============================================================================
|
|
334
|
-
|
|
335
|
-
/**
|
|
336
|
-
* Crystal health status
|
|
337
|
-
*/
|
|
338
|
-
export type CrystalHealthStatus = 'healthy' | 'degraded' | 'unstable' | 'broken';
|
|
339
|
-
|
|
340
|
-
/**
|
|
341
|
-
* Crystal health metrics
|
|
342
|
-
*/
|
|
343
|
-
export interface CrystalHealth {
|
|
344
|
-
/** Overall health status */
|
|
345
|
-
readonly status: CrystalHealthStatus;
|
|
346
|
-
|
|
347
|
-
/** Whether oscillators are synchronized */
|
|
348
|
-
readonly synchronized: boolean;
|
|
349
|
-
|
|
350
|
-
/** Order parameter (0-1, higher = more synchronized) */
|
|
351
|
-
readonly orderParameter: number;
|
|
352
|
-
|
|
353
|
-
/** Phase coherence measure */
|
|
354
|
-
readonly coherence: number;
|
|
355
|
-
|
|
356
|
-
/** Number of completed cycles */
|
|
357
|
-
readonly completedCycles: number;
|
|
358
|
-
|
|
359
|
-
/** Average cycle duration (ms) */
|
|
360
|
-
readonly averageCycleDuration: number;
|
|
361
|
-
|
|
362
|
-
/** Phase execution success rate */
|
|
363
|
-
readonly phaseSuccessRate: number;
|
|
364
|
-
|
|
365
|
-
/** Issues detected */
|
|
366
|
-
readonly issues: CrystalIssue[];
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* Crystal issue
|
|
371
|
-
*/
|
|
372
|
-
export interface CrystalIssue {
|
|
373
|
-
/** Issue type */
|
|
374
|
-
readonly type: 'desynchronization' | 'quality_failure' | 'stall' | 'oscillation_decay';
|
|
375
|
-
|
|
376
|
-
/** Issue severity */
|
|
377
|
-
readonly severity: 'low' | 'medium' | 'high' | 'critical';
|
|
378
|
-
|
|
379
|
-
/** Human-readable description */
|
|
380
|
-
readonly message: string;
|
|
381
|
-
|
|
382
|
-
/** Timestamp when detected */
|
|
383
|
-
readonly timestamp: number;
|
|
384
|
-
|
|
385
|
-
/** Affected phase (if applicable) */
|
|
386
|
-
readonly affectedPhase?: number;
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
// ============================================================================
|
|
390
|
-
// Event Types
|
|
391
|
-
// ============================================================================
|
|
392
|
-
|
|
393
|
-
/**
|
|
394
|
-
* Time Crystal event types
|
|
395
|
-
*/
|
|
396
|
-
export type TimeCrystalEventType =
|
|
397
|
-
| 'crystal:started'
|
|
398
|
-
| 'crystal:stopped'
|
|
399
|
-
| 'crystal:tick'
|
|
400
|
-
| 'phase:transition'
|
|
401
|
-
| 'phase:started'
|
|
402
|
-
| 'phase:completed'
|
|
403
|
-
| 'phase:failed'
|
|
404
|
-
| 'quality:failure'
|
|
405
|
-
| 'crystal:repair'
|
|
406
|
-
| 'crystal:stable'
|
|
407
|
-
| 'crystal:unstable';
|
|
408
|
-
|
|
409
|
-
/**
|
|
410
|
-
* Base Time Crystal event
|
|
411
|
-
*/
|
|
412
|
-
export interface TimeCrystalEvent {
|
|
413
|
-
/** Event type */
|
|
414
|
-
readonly type: TimeCrystalEventType;
|
|
415
|
-
|
|
416
|
-
/** Timestamp (simulation time in ms) */
|
|
417
|
-
readonly timestamp: number;
|
|
418
|
-
|
|
419
|
-
/** Event payload */
|
|
420
|
-
readonly payload: Record<string, unknown>;
|
|
421
|
-
}
|
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agentic QE v3 - Base Worker Implementation
|
|
3
|
-
* ADR-014: Background Workers for QE Monitoring
|
|
4
|
-
*
|
|
5
|
-
* Abstract base class for all QE background workers.
|
|
6
|
-
* Provides common functionality for scheduling, retries, and health tracking.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
Worker,
|
|
11
|
-
WorkerConfig,
|
|
12
|
-
WorkerStatus,
|
|
13
|
-
WorkerResult,
|
|
14
|
-
WorkerContext,
|
|
15
|
-
WorkerHealth,
|
|
16
|
-
WorkerMetrics,
|
|
17
|
-
WorkerFinding,
|
|
18
|
-
WorkerRecommendation,
|
|
19
|
-
} from './interfaces';
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Abstract base class for QE background workers
|
|
23
|
-
*/
|
|
24
|
-
export abstract class BaseWorker implements Worker {
|
|
25
|
-
protected _status: WorkerStatus = 'idle';
|
|
26
|
-
protected _lastResult?: WorkerResult;
|
|
27
|
-
protected _lastRunAt?: Date;
|
|
28
|
-
protected _nextRunAt?: Date;
|
|
29
|
-
|
|
30
|
-
// Health tracking
|
|
31
|
-
protected _totalExecutions = 0;
|
|
32
|
-
protected _successfulExecutions = 0;
|
|
33
|
-
protected _failedExecutions = 0;
|
|
34
|
-
protected _executionDurations: number[] = [];
|
|
35
|
-
protected _recentResults: Array<{
|
|
36
|
-
timestamp: Date;
|
|
37
|
-
success: boolean;
|
|
38
|
-
durationMs: number;
|
|
39
|
-
}> = [];
|
|
40
|
-
|
|
41
|
-
constructor(public readonly config: WorkerConfig) {}
|
|
42
|
-
|
|
43
|
-
get status(): WorkerStatus {
|
|
44
|
-
return this._status;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
get lastResult(): WorkerResult | undefined {
|
|
48
|
-
return this._lastResult;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
get lastRunAt(): Date | undefined {
|
|
52
|
-
return this._lastRunAt;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
get nextRunAt(): Date | undefined {
|
|
56
|
-
return this._nextRunAt;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Initialize the worker
|
|
61
|
-
* Override in subclasses for custom initialization
|
|
62
|
-
*/
|
|
63
|
-
async initialize(): Promise<void> {
|
|
64
|
-
this._status = 'idle';
|
|
65
|
-
this._nextRunAt = new Date(Date.now() + this.config.intervalMs);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Execute the worker's main task with retry logic
|
|
70
|
-
*/
|
|
71
|
-
async execute(context: WorkerContext): Promise<WorkerResult> {
|
|
72
|
-
const startTime = Date.now();
|
|
73
|
-
this._status = 'running';
|
|
74
|
-
this._lastRunAt = new Date();
|
|
75
|
-
this._totalExecutions++;
|
|
76
|
-
|
|
77
|
-
let lastError: Error | undefined;
|
|
78
|
-
let result: WorkerResult | undefined;
|
|
79
|
-
|
|
80
|
-
// Retry loop
|
|
81
|
-
for (let attempt = 0; attempt <= this.config.retryCount; attempt++) {
|
|
82
|
-
try {
|
|
83
|
-
// Check for abort
|
|
84
|
-
if (context.signal.aborted) {
|
|
85
|
-
throw new Error('Worker execution aborted');
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// Execute with timeout
|
|
89
|
-
result = await this.executeWithTimeout(
|
|
90
|
-
() => this.doExecute(context),
|
|
91
|
-
this.config.timeoutMs,
|
|
92
|
-
context.signal
|
|
93
|
-
);
|
|
94
|
-
|
|
95
|
-
break; // Success, exit retry loop
|
|
96
|
-
} catch (error) {
|
|
97
|
-
lastError = error instanceof Error ? error : new Error(String(error));
|
|
98
|
-
context.logger.warn(
|
|
99
|
-
`Worker ${this.config.id} attempt ${attempt + 1} failed: ${lastError.message}`
|
|
100
|
-
);
|
|
101
|
-
|
|
102
|
-
if (attempt < this.config.retryCount) {
|
|
103
|
-
await this.delay(this.config.retryDelayMs);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const durationMs = Date.now() - startTime;
|
|
109
|
-
|
|
110
|
-
if (result) {
|
|
111
|
-
this._successfulExecutions++;
|
|
112
|
-
this._lastResult = result;
|
|
113
|
-
} else {
|
|
114
|
-
this._failedExecutions++;
|
|
115
|
-
result = this.createErrorResult(lastError!, durationMs);
|
|
116
|
-
this._lastResult = result;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// Track execution metrics
|
|
120
|
-
this._executionDurations.push(durationMs);
|
|
121
|
-
if (this._executionDurations.length > 100) {
|
|
122
|
-
this._executionDurations.shift();
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
this._recentResults.push({
|
|
126
|
-
timestamp: new Date(),
|
|
127
|
-
success: result.success,
|
|
128
|
-
durationMs,
|
|
129
|
-
});
|
|
130
|
-
if (this._recentResults.length > 5) {
|
|
131
|
-
this._recentResults.shift();
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// Schedule next run
|
|
135
|
-
this._nextRunAt = new Date(Date.now() + this.config.intervalMs);
|
|
136
|
-
this._status = result.success ? 'idle' : 'error';
|
|
137
|
-
|
|
138
|
-
// Publish result event
|
|
139
|
-
await context.eventBus.publish({
|
|
140
|
-
type: 'worker.executed',
|
|
141
|
-
workerId: this.config.id,
|
|
142
|
-
timestamp: new Date(),
|
|
143
|
-
payload: {
|
|
144
|
-
success: result.success,
|
|
145
|
-
durationMs,
|
|
146
|
-
findingsCount: result.findings.length,
|
|
147
|
-
healthScore: result.metrics.healthScore,
|
|
148
|
-
},
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
return result;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Abstract method - implement in subclasses
|
|
156
|
-
* Contains the actual worker logic
|
|
157
|
-
*/
|
|
158
|
-
protected abstract doExecute(context: WorkerContext): Promise<WorkerResult>;
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* Pause the worker
|
|
162
|
-
*/
|
|
163
|
-
pause(): void {
|
|
164
|
-
if (this._status !== 'stopped') {
|
|
165
|
-
this._status = 'paused';
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Resume the worker
|
|
171
|
-
*/
|
|
172
|
-
resume(): void {
|
|
173
|
-
if (this._status === 'paused') {
|
|
174
|
-
this._status = 'idle';
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
/**
|
|
179
|
-
* Stop the worker
|
|
180
|
-
*/
|
|
181
|
-
async stop(): Promise<void> {
|
|
182
|
-
this._status = 'stopped';
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Get worker health status
|
|
187
|
-
*/
|
|
188
|
-
getHealth(): WorkerHealth {
|
|
189
|
-
const avgDurationMs =
|
|
190
|
-
this._executionDurations.length > 0
|
|
191
|
-
? this._executionDurations.reduce((a, b) => a + b, 0) /
|
|
192
|
-
this._executionDurations.length
|
|
193
|
-
: 0;
|
|
194
|
-
|
|
195
|
-
const successRate =
|
|
196
|
-
this._totalExecutions > 0
|
|
197
|
-
? this._successfulExecutions / this._totalExecutions
|
|
198
|
-
: 1;
|
|
199
|
-
|
|
200
|
-
return {
|
|
201
|
-
status: this._status,
|
|
202
|
-
healthScore: Math.round(successRate * 100),
|
|
203
|
-
totalExecutions: this._totalExecutions,
|
|
204
|
-
successfulExecutions: this._successfulExecutions,
|
|
205
|
-
failedExecutions: this._failedExecutions,
|
|
206
|
-
avgDurationMs: Math.round(avgDurationMs),
|
|
207
|
-
recentResults: [...this._recentResults],
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
// ============================================================================
|
|
212
|
-
// Helper Methods
|
|
213
|
-
// ============================================================================
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Execute a function with timeout
|
|
217
|
-
*/
|
|
218
|
-
protected async executeWithTimeout<T>(
|
|
219
|
-
fn: () => Promise<T>,
|
|
220
|
-
timeoutMs: number,
|
|
221
|
-
signal: AbortSignal
|
|
222
|
-
): Promise<T> {
|
|
223
|
-
return new Promise((resolve, reject) => {
|
|
224
|
-
const timeoutId = setTimeout(() => {
|
|
225
|
-
reject(new Error(`Worker execution timed out after ${timeoutMs}ms`));
|
|
226
|
-
}, timeoutMs);
|
|
227
|
-
|
|
228
|
-
const abortHandler = () => {
|
|
229
|
-
clearTimeout(timeoutId);
|
|
230
|
-
reject(new Error('Worker execution aborted'));
|
|
231
|
-
};
|
|
232
|
-
|
|
233
|
-
signal.addEventListener('abort', abortHandler, { once: true });
|
|
234
|
-
|
|
235
|
-
fn()
|
|
236
|
-
.then((result) => {
|
|
237
|
-
clearTimeout(timeoutId);
|
|
238
|
-
signal.removeEventListener('abort', abortHandler);
|
|
239
|
-
resolve(result);
|
|
240
|
-
})
|
|
241
|
-
.catch((error) => {
|
|
242
|
-
clearTimeout(timeoutId);
|
|
243
|
-
signal.removeEventListener('abort', abortHandler);
|
|
244
|
-
reject(error);
|
|
245
|
-
});
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* Create an error result
|
|
251
|
-
*/
|
|
252
|
-
protected createErrorResult(error: Error, durationMs: number): WorkerResult {
|
|
253
|
-
return {
|
|
254
|
-
workerId: this.config.id,
|
|
255
|
-
timestamp: new Date(),
|
|
256
|
-
durationMs,
|
|
257
|
-
success: false,
|
|
258
|
-
error: error.message,
|
|
259
|
-
metrics: {
|
|
260
|
-
itemsAnalyzed: 0,
|
|
261
|
-
issuesFound: 0,
|
|
262
|
-
healthScore: 0,
|
|
263
|
-
trend: 'degrading',
|
|
264
|
-
domainMetrics: {},
|
|
265
|
-
},
|
|
266
|
-
findings: [],
|
|
267
|
-
recommendations: [],
|
|
268
|
-
};
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* Create a successful result
|
|
273
|
-
*/
|
|
274
|
-
protected createResult(
|
|
275
|
-
durationMs: number,
|
|
276
|
-
metrics: WorkerMetrics,
|
|
277
|
-
findings: WorkerFinding[],
|
|
278
|
-
recommendations: WorkerRecommendation[]
|
|
279
|
-
): WorkerResult {
|
|
280
|
-
return {
|
|
281
|
-
workerId: this.config.id,
|
|
282
|
-
timestamp: new Date(),
|
|
283
|
-
durationMs,
|
|
284
|
-
success: true,
|
|
285
|
-
metrics,
|
|
286
|
-
findings,
|
|
287
|
-
recommendations,
|
|
288
|
-
};
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
/**
|
|
292
|
-
* Delay helper
|
|
293
|
-
*/
|
|
294
|
-
protected delay(ms: number): Promise<void> {
|
|
295
|
-
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
/**
|
|
299
|
-
* Generate a unique ID
|
|
300
|
-
*/
|
|
301
|
-
protected generateId(): string {
|
|
302
|
-
return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
303
|
-
}
|
|
304
|
-
}
|