@agentic-qe/v3 3.0.0-alpha.6 → 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 +7 -1
- 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
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-testing
|
|
3
|
+
description: "Test for security vulnerabilities using OWASP principles. Use when conducting security audits, testing auth, or implementing security practices."
|
|
4
|
+
category: specialized-testing
|
|
5
|
+
priority: critical
|
|
6
|
+
tokenEstimate: 1200
|
|
7
|
+
agents: [qe-security-scanner, qe-api-contract-validator, qe-quality-analyzer]
|
|
8
|
+
implementation_status: optimized
|
|
9
|
+
optimization_version: 1.0
|
|
10
|
+
last_optimized: 2025-12-02
|
|
11
|
+
dependencies: []
|
|
12
|
+
quick_reference_card: true
|
|
13
|
+
tags: [security, owasp, sast, dast, vulnerabilities, auth, injection]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Security Testing
|
|
17
|
+
|
|
18
|
+
<default_to_action>
|
|
19
|
+
When testing security or conducting audits:
|
|
20
|
+
1. TEST OWASP Top 10 vulnerabilities systematically
|
|
21
|
+
2. VALIDATE authentication and authorization on every endpoint
|
|
22
|
+
3. SCAN dependencies for known vulnerabilities (npm audit)
|
|
23
|
+
4. CHECK for injection attacks (SQL, XSS, command)
|
|
24
|
+
5. VERIFY secrets aren't exposed in code/logs
|
|
25
|
+
|
|
26
|
+
**Quick Security Checks:**
|
|
27
|
+
- Access control → Test horizontal/vertical privilege escalation
|
|
28
|
+
- Crypto → Verify password hashing, HTTPS, no sensitive data exposed
|
|
29
|
+
- Injection → Test SQL injection, XSS, command injection
|
|
30
|
+
- Auth → Test weak passwords, session fixation, MFA enforcement
|
|
31
|
+
- Config → Check error messages don't leak info
|
|
32
|
+
|
|
33
|
+
**Critical Success Factors:**
|
|
34
|
+
- Think like an attacker, build like a defender
|
|
35
|
+
- Security is built in, not added at the end
|
|
36
|
+
- Test continuously in CI/CD, not just before release
|
|
37
|
+
</default_to_action>
|
|
38
|
+
|
|
39
|
+
## Quick Reference Card
|
|
40
|
+
|
|
41
|
+
### When to Use
|
|
42
|
+
- Security audits and penetration testing
|
|
43
|
+
- Testing authentication/authorization
|
|
44
|
+
- Validating input sanitization
|
|
45
|
+
- Reviewing security configuration
|
|
46
|
+
|
|
47
|
+
### OWASP Top 10 (2021)
|
|
48
|
+
| # | Vulnerability | Key Test |
|
|
49
|
+
|---|---------------|----------|
|
|
50
|
+
| 1 | Broken Access Control | User A accessing User B's data |
|
|
51
|
+
| 2 | Cryptographic Failures | Plaintext passwords, HTTP |
|
|
52
|
+
| 3 | Injection | SQL/XSS/command injection |
|
|
53
|
+
| 4 | Insecure Design | Rate limiting, session timeout |
|
|
54
|
+
| 5 | Security Misconfiguration | Verbose errors, exposed /admin |
|
|
55
|
+
| 6 | Vulnerable Components | npm audit, outdated packages |
|
|
56
|
+
| 7 | Auth Failures | Weak passwords, no MFA |
|
|
57
|
+
| 8 | Integrity Failures | Unsigned updates, malware |
|
|
58
|
+
| 9 | Logging Failures | No audit trail for breaches |
|
|
59
|
+
| 10 | SSRF | Server fetching internal URLs |
|
|
60
|
+
|
|
61
|
+
### Tools
|
|
62
|
+
| Type | Tool | Purpose |
|
|
63
|
+
|------|------|---------|
|
|
64
|
+
| SAST | SonarQube, Semgrep | Static code analysis |
|
|
65
|
+
| DAST | OWASP ZAP, Burp | Dynamic scanning |
|
|
66
|
+
| Deps | npm audit, Snyk | Dependency vulnerabilities |
|
|
67
|
+
| Secrets | git-secrets, TruffleHog | Secret scanning |
|
|
68
|
+
|
|
69
|
+
### Agent Coordination
|
|
70
|
+
- `qe-security-scanner`: Multi-layer SAST/DAST scanning
|
|
71
|
+
- `qe-api-contract-validator`: API security testing
|
|
72
|
+
- `qe-quality-analyzer`: Security code review
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Key Vulnerability Tests
|
|
77
|
+
|
|
78
|
+
### 1. Broken Access Control
|
|
79
|
+
```javascript
|
|
80
|
+
// Horizontal escalation - User A accessing User B's data
|
|
81
|
+
test('user cannot access another user\'s order', async () => {
|
|
82
|
+
const userAToken = await login('userA');
|
|
83
|
+
const userBOrder = await createOrder('userB');
|
|
84
|
+
|
|
85
|
+
const response = await api.get(`/orders/${userBOrder.id}`, {
|
|
86
|
+
headers: { Authorization: `Bearer ${userAToken}` }
|
|
87
|
+
});
|
|
88
|
+
expect(response.status).toBe(403);
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
// Vertical escalation - Regular user accessing admin
|
|
92
|
+
test('regular user cannot access admin', async () => {
|
|
93
|
+
const userToken = await login('regularUser');
|
|
94
|
+
expect((await api.get('/admin/users', {
|
|
95
|
+
headers: { Authorization: `Bearer ${userToken}` }
|
|
96
|
+
})).status).toBe(403);
|
|
97
|
+
});
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 2. Injection Attacks
|
|
101
|
+
```javascript
|
|
102
|
+
// SQL Injection
|
|
103
|
+
test('prevents SQL injection', async () => {
|
|
104
|
+
const malicious = "' OR '1'='1";
|
|
105
|
+
const response = await api.get(`/products?search=${malicious}`);
|
|
106
|
+
expect(response.body.length).toBeLessThan(100); // Not all products
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// XSS
|
|
110
|
+
test('sanitizes HTML output', async () => {
|
|
111
|
+
const xss = '<script>alert("XSS")</script>';
|
|
112
|
+
await api.post('/comments', { text: xss });
|
|
113
|
+
|
|
114
|
+
const html = (await api.get('/comments')).body;
|
|
115
|
+
expect(html).toContain('<script>');
|
|
116
|
+
expect(html).not.toContain('<script>');
|
|
117
|
+
});
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 3. Cryptographic Failures
|
|
121
|
+
```javascript
|
|
122
|
+
test('passwords are hashed', async () => {
|
|
123
|
+
await db.users.create({ email: 'test@example.com', password: 'MyPassword123' });
|
|
124
|
+
const user = await db.users.findByEmail('test@example.com');
|
|
125
|
+
|
|
126
|
+
expect(user.password).not.toBe('MyPassword123');
|
|
127
|
+
expect(user.password).toMatch(/^\$2[aby]\$\d{2}\$/); // bcrypt
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
test('no sensitive data in API response', async () => {
|
|
131
|
+
const response = await api.get('/users/me');
|
|
132
|
+
expect(response.body).not.toHaveProperty('password');
|
|
133
|
+
expect(response.body).not.toHaveProperty('ssn');
|
|
134
|
+
});
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 4. Security Misconfiguration
|
|
138
|
+
```javascript
|
|
139
|
+
test('errors don\'t leak sensitive info', async () => {
|
|
140
|
+
const response = await api.post('/login', { email: 'nonexistent@test.com', password: 'wrong' });
|
|
141
|
+
expect(response.body.error).toBe('Invalid credentials'); // Generic message
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
test('sensitive endpoints not exposed', async () => {
|
|
145
|
+
const endpoints = ['/debug', '/.env', '/.git', '/admin'];
|
|
146
|
+
for (let ep of endpoints) {
|
|
147
|
+
expect((await fetch(`https://example.com${ep}`)).status).not.toBe(200);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 5. Rate Limiting
|
|
153
|
+
```javascript
|
|
154
|
+
test('rate limiting prevents brute force', async () => {
|
|
155
|
+
const responses = [];
|
|
156
|
+
for (let i = 0; i < 20; i++) {
|
|
157
|
+
responses.push(await api.post('/login', { email: 'test@example.com', password: 'wrong' }));
|
|
158
|
+
}
|
|
159
|
+
expect(responses.filter(r => r.status === 429).length).toBeGreaterThan(0);
|
|
160
|
+
});
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Security Checklist
|
|
166
|
+
|
|
167
|
+
### Authentication
|
|
168
|
+
- [ ] Strong password requirements (12+ chars)
|
|
169
|
+
- [ ] Password hashing (bcrypt, scrypt, Argon2)
|
|
170
|
+
- [ ] MFA for sensitive operations
|
|
171
|
+
- [ ] Account lockout after failed attempts
|
|
172
|
+
- [ ] Session ID changes after login
|
|
173
|
+
- [ ] Session timeout
|
|
174
|
+
|
|
175
|
+
### Authorization
|
|
176
|
+
- [ ] Check authorization on every request
|
|
177
|
+
- [ ] Least privilege principle
|
|
178
|
+
- [ ] No horizontal escalation
|
|
179
|
+
- [ ] No vertical escalation
|
|
180
|
+
|
|
181
|
+
### Data Protection
|
|
182
|
+
- [ ] HTTPS everywhere
|
|
183
|
+
- [ ] Encrypted at rest
|
|
184
|
+
- [ ] Secrets not in code/logs
|
|
185
|
+
- [ ] PII compliance (GDPR)
|
|
186
|
+
|
|
187
|
+
### Input Validation
|
|
188
|
+
- [ ] Server-side validation
|
|
189
|
+
- [ ] Parameterized queries (no SQL injection)
|
|
190
|
+
- [ ] Output encoding (no XSS)
|
|
191
|
+
- [ ] Rate limiting
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## CI/CD Integration
|
|
196
|
+
|
|
197
|
+
```yaml
|
|
198
|
+
# GitHub Actions
|
|
199
|
+
security-checks:
|
|
200
|
+
steps:
|
|
201
|
+
- name: Dependency audit
|
|
202
|
+
run: npm audit --audit-level=high
|
|
203
|
+
|
|
204
|
+
- name: SAST scan
|
|
205
|
+
run: npm run sast
|
|
206
|
+
|
|
207
|
+
- name: Secret scan
|
|
208
|
+
uses: trufflesecurity/trufflehog@main
|
|
209
|
+
|
|
210
|
+
- name: DAST scan
|
|
211
|
+
if: github.ref == 'refs/heads/main'
|
|
212
|
+
run: docker run owasp/zap2docker-stable zap-baseline.py -t https://staging.example.com
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Pre-commit hooks:**
|
|
216
|
+
```bash
|
|
217
|
+
#!/bin/sh
|
|
218
|
+
git-secrets --scan
|
|
219
|
+
npm run lint:security
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Agent-Assisted Security Testing
|
|
225
|
+
|
|
226
|
+
```typescript
|
|
227
|
+
// Comprehensive multi-layer scan
|
|
228
|
+
await Task("Security Scan", {
|
|
229
|
+
target: 'src/',
|
|
230
|
+
layers: { sast: true, dast: true, dependencies: true, secrets: true },
|
|
231
|
+
severity: ['critical', 'high', 'medium']
|
|
232
|
+
}, "qe-security-scanner");
|
|
233
|
+
|
|
234
|
+
// OWASP Top 10 testing
|
|
235
|
+
await Task("OWASP Scan", {
|
|
236
|
+
categories: ['broken-access-control', 'injection', 'cryptographic-failures'],
|
|
237
|
+
depth: 'comprehensive'
|
|
238
|
+
}, "qe-security-scanner");
|
|
239
|
+
|
|
240
|
+
// Validate fix
|
|
241
|
+
await Task("Validate Fix", {
|
|
242
|
+
vulnerability: 'CVE-2024-12345',
|
|
243
|
+
expectedResolution: 'upgrade package to v2.0.0',
|
|
244
|
+
retestAfterFix: true
|
|
245
|
+
}, "qe-security-scanner");
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Agent Coordination Hints
|
|
251
|
+
|
|
252
|
+
### Memory Namespace
|
|
253
|
+
```
|
|
254
|
+
aqe/security/
|
|
255
|
+
├── scans/* - Scan results
|
|
256
|
+
├── vulnerabilities/* - Found vulnerabilities
|
|
257
|
+
├── fixes/* - Remediation tracking
|
|
258
|
+
└── compliance/* - Compliance status
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Fleet Coordination
|
|
262
|
+
```typescript
|
|
263
|
+
const securityFleet = await FleetManager.coordinate({
|
|
264
|
+
strategy: 'security-testing',
|
|
265
|
+
agents: [
|
|
266
|
+
'qe-security-scanner',
|
|
267
|
+
'qe-api-contract-validator',
|
|
268
|
+
'qe-quality-analyzer',
|
|
269
|
+
'qe-deployment-readiness'
|
|
270
|
+
],
|
|
271
|
+
topology: 'parallel'
|
|
272
|
+
});
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## Common Mistakes
|
|
278
|
+
|
|
279
|
+
### ❌ Security by Obscurity
|
|
280
|
+
Hiding admin at `/super-secret-admin` → **Use proper auth**
|
|
281
|
+
|
|
282
|
+
### ❌ Client-Side Validation Only
|
|
283
|
+
JavaScript validation can be bypassed → **Always validate server-side**
|
|
284
|
+
|
|
285
|
+
### ❌ Trusting User Input
|
|
286
|
+
Assuming input is safe → **Sanitize, validate, escape all input**
|
|
287
|
+
|
|
288
|
+
### ❌ Hardcoded Secrets
|
|
289
|
+
API keys in code → **Environment variables, secret management**
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## Related Skills
|
|
294
|
+
- [agentic-quality-engineering](../agentic-quality-engineering/) - Security with agents
|
|
295
|
+
- [api-testing-patterns](../api-testing-patterns/) - API security testing
|
|
296
|
+
- [compliance-testing](../compliance-testing/) - GDPR, HIPAA, SOC2
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## Remember
|
|
301
|
+
|
|
302
|
+
**Think like an attacker:** What would you try to break? Test that.
|
|
303
|
+
**Build like a defender:** Assume input is malicious until proven otherwise.
|
|
304
|
+
**Test continuously:** Security testing is ongoing, not one-time.
|
|
305
|
+
|
|
306
|
+
**With Agents:** Agents automate vulnerability scanning, track remediation, and validate fixes. Use agents to maintain security posture at scale.
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sherlock-review
|
|
3
|
+
description: "Evidence-based investigative code review using deductive reasoning to determine what actually happened versus what was claimed. Use when verifying implementation claims, investigating bugs, validating fixes, or conducting root cause analysis. Elementary approach to finding truth through systematic observation."
|
|
4
|
+
category: quality-review
|
|
5
|
+
priority: high
|
|
6
|
+
tokenEstimate: 1100
|
|
7
|
+
agents: [qe-code-reviewer, qe-security-auditor, qe-performance-validator]
|
|
8
|
+
implementation_status: optimized
|
|
9
|
+
optimization_version: 1.0
|
|
10
|
+
last_optimized: 2025-12-03
|
|
11
|
+
dependencies: []
|
|
12
|
+
quick_reference_card: true
|
|
13
|
+
tags: [investigation, evidence-based, code-review, root-cause, deduction]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Sherlock Review
|
|
17
|
+
|
|
18
|
+
<default_to_action>
|
|
19
|
+
When investigating code claims:
|
|
20
|
+
1. OBSERVE: Gather all evidence (code, tests, history, behavior)
|
|
21
|
+
2. DEDUCE: What does evidence actually show vs. what was claimed?
|
|
22
|
+
3. ELIMINATE: Rule out what cannot be true
|
|
23
|
+
4. CONCLUDE: Does evidence support the claim?
|
|
24
|
+
5. DOCUMENT: Findings with proof, not assumptions
|
|
25
|
+
|
|
26
|
+
**The 3-Step Investigation:**
|
|
27
|
+
```bash
|
|
28
|
+
# 1. OBSERVE: Gather evidence
|
|
29
|
+
git diff <commit>
|
|
30
|
+
npm test -- --coverage
|
|
31
|
+
|
|
32
|
+
# 2. DEDUCE: Compare claim vs reality
|
|
33
|
+
# Does code match description?
|
|
34
|
+
# Do tests prove the fix/feature?
|
|
35
|
+
|
|
36
|
+
# 3. CONCLUDE: Verdict with evidence
|
|
37
|
+
# SUPPORTED / PARTIALLY SUPPORTED / NOT SUPPORTED
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Holmesian Principles:**
|
|
41
|
+
- "Data! Data! Data!" - Collect before concluding
|
|
42
|
+
- "Eliminate the impossible" - What cannot be true?
|
|
43
|
+
- "You see, but do not observe" - Run code, don't just read
|
|
44
|
+
- Trust only reproducible evidence
|
|
45
|
+
</default_to_action>
|
|
46
|
+
|
|
47
|
+
## Quick Reference Card
|
|
48
|
+
|
|
49
|
+
### Evidence Collection Checklist
|
|
50
|
+
|
|
51
|
+
| Category | What to Check | How |
|
|
52
|
+
|----------|---------------|-----|
|
|
53
|
+
| **Claim** | PR description, commit messages | Read thoroughly |
|
|
54
|
+
| **Code** | Actual file changes | `git diff` |
|
|
55
|
+
| **Tests** | Coverage, assertions | Run independently |
|
|
56
|
+
| **Behavior** | Runtime output | Execute locally |
|
|
57
|
+
| **Timeline** | When things happened | `git log`, `git blame` |
|
|
58
|
+
|
|
59
|
+
### Verdict Levels
|
|
60
|
+
|
|
61
|
+
| Verdict | Meaning |
|
|
62
|
+
|---------|---------|
|
|
63
|
+
| ✓ **TRUE** | Evidence fully supports claim |
|
|
64
|
+
| ⚠ **PARTIALLY TRUE** | Claim accurate but incomplete |
|
|
65
|
+
| ✗ **FALSE** | Evidence contradicts claim |
|
|
66
|
+
| ? **NONSENSICAL** | Claim doesn't apply to context |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Investigation Template
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
## Sherlock Investigation: [Claim]
|
|
74
|
+
|
|
75
|
+
### The Claim
|
|
76
|
+
"[What PR/commit claims to do]"
|
|
77
|
+
|
|
78
|
+
### Evidence Examined
|
|
79
|
+
- Code changes: [files, lines]
|
|
80
|
+
- Tests added: [count, coverage]
|
|
81
|
+
- Behavior observed: [what actually happens]
|
|
82
|
+
|
|
83
|
+
### Deductive Analysis
|
|
84
|
+
|
|
85
|
+
**Claim**: [specific assertion]
|
|
86
|
+
**Evidence**: [what you found]
|
|
87
|
+
**Deduction**: [logical conclusion]
|
|
88
|
+
**Verdict**: ✓/⚠/✗
|
|
89
|
+
|
|
90
|
+
### Findings
|
|
91
|
+
- What works: [with evidence]
|
|
92
|
+
- What doesn't: [with evidence]
|
|
93
|
+
- What's missing: [gaps in implementation/testing]
|
|
94
|
+
|
|
95
|
+
### Recommendations
|
|
96
|
+
1. [Action based on findings]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Investigation Scenarios
|
|
102
|
+
|
|
103
|
+
### Scenario 1: "This Fixed the Bug"
|
|
104
|
+
|
|
105
|
+
**Steps:**
|
|
106
|
+
1. Reproduce bug on commit before fix
|
|
107
|
+
2. Verify bug is gone on commit with fix
|
|
108
|
+
3. Check if fix addresses root cause or symptom
|
|
109
|
+
4. Test edge cases not in original report
|
|
110
|
+
|
|
111
|
+
**Red Flags:**
|
|
112
|
+
- Fix that just removes error logging
|
|
113
|
+
- Works only for specific test case
|
|
114
|
+
- Workarounds instead of root cause fix
|
|
115
|
+
- No regression test added
|
|
116
|
+
|
|
117
|
+
### Scenario 2: "Improved Performance by 50%"
|
|
118
|
+
|
|
119
|
+
**Steps:**
|
|
120
|
+
1. Run benchmark on baseline commit
|
|
121
|
+
2. Run same benchmark on optimized commit
|
|
122
|
+
3. Compare in identical conditions
|
|
123
|
+
4. Verify measurement methodology
|
|
124
|
+
|
|
125
|
+
**Red Flags:**
|
|
126
|
+
- Tested only on toy data
|
|
127
|
+
- Different comparison conditions
|
|
128
|
+
- Trade-offs not mentioned
|
|
129
|
+
|
|
130
|
+
### Scenario 3: "Handles All Edge Cases"
|
|
131
|
+
|
|
132
|
+
**Steps:**
|
|
133
|
+
1. List all edge cases in code path
|
|
134
|
+
2. Check each has test coverage
|
|
135
|
+
3. Test boundary conditions
|
|
136
|
+
4. Verify error handling paths
|
|
137
|
+
|
|
138
|
+
**Red Flags:**
|
|
139
|
+
- `catch {}` swallowing errors
|
|
140
|
+
- Generic error messages
|
|
141
|
+
- No logging of critical errors
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Example Investigation
|
|
146
|
+
|
|
147
|
+
```markdown
|
|
148
|
+
## Case: PR #123 "Fix race condition in async handler"
|
|
149
|
+
|
|
150
|
+
### Claims Examined:
|
|
151
|
+
1. "Eliminates race condition"
|
|
152
|
+
2. "Adds mutex locking"
|
|
153
|
+
3. "100% thread safe"
|
|
154
|
+
|
|
155
|
+
### Evidence:
|
|
156
|
+
- File: src/handlers/async-handler.js
|
|
157
|
+
- Changes: Added `async/await`, removed callbacks
|
|
158
|
+
- Tests: 2 new tests for async flow
|
|
159
|
+
- Coverage: 85% (was 75%)
|
|
160
|
+
|
|
161
|
+
### Analysis:
|
|
162
|
+
|
|
163
|
+
**Claim 1: "Eliminates race condition"**
|
|
164
|
+
Evidence: Added `await` to sequential operations. No actual mutex.
|
|
165
|
+
Deduction: Race avoided by removing concurrency, not synchronization.
|
|
166
|
+
Verdict: ⚠ PARTIALLY TRUE (solved differently than claimed)
|
|
167
|
+
|
|
168
|
+
**Claim 2: "Adds mutex locking"**
|
|
169
|
+
Evidence: No mutex library, no lock variables, no sync primitives.
|
|
170
|
+
Verdict: ✗ FALSE
|
|
171
|
+
|
|
172
|
+
**Claim 3: "100% thread safe"**
|
|
173
|
+
Evidence: JavaScript is single-threaded. No worker threads used.
|
|
174
|
+
Verdict: ? NONSENSICAL (meaningless in this context)
|
|
175
|
+
|
|
176
|
+
### Conclusion:
|
|
177
|
+
Fix works but not for reasons claimed. Race condition avoided by
|
|
178
|
+
making operations sequential, not by adding synchronization.
|
|
179
|
+
|
|
180
|
+
### Recommendations:
|
|
181
|
+
1. Update PR description to accurately reflect solution
|
|
182
|
+
2. Add test for concurrent request handling
|
|
183
|
+
3. Remove incorrect technical claims
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Agent Integration
|
|
189
|
+
|
|
190
|
+
```typescript
|
|
191
|
+
// Evidence-based code review
|
|
192
|
+
await Task("Sherlock Review", {
|
|
193
|
+
prNumber: 123,
|
|
194
|
+
claims: [
|
|
195
|
+
"Fixes memory leak",
|
|
196
|
+
"Improves performance 30%"
|
|
197
|
+
],
|
|
198
|
+
verifyReproduction: true,
|
|
199
|
+
testEdgeCases: true
|
|
200
|
+
}, "qe-code-reviewer");
|
|
201
|
+
|
|
202
|
+
// Bug fix verification
|
|
203
|
+
await Task("Verify Fix", {
|
|
204
|
+
bugCommit: 'abc123',
|
|
205
|
+
fixCommit: 'def456',
|
|
206
|
+
reproductionSteps: steps,
|
|
207
|
+
testBoundaryConditions: true
|
|
208
|
+
}, "qe-code-reviewer");
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Agent Coordination Hints
|
|
214
|
+
|
|
215
|
+
### Memory Namespace
|
|
216
|
+
```
|
|
217
|
+
aqe/sherlock/
|
|
218
|
+
├── investigations/* - Investigation reports
|
|
219
|
+
├── evidence/* - Collected evidence
|
|
220
|
+
├── verdicts/* - Claim verdicts
|
|
221
|
+
└── patterns/* - Common deception patterns
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Fleet Coordination
|
|
225
|
+
```typescript
|
|
226
|
+
const investigationFleet = await FleetManager.coordinate({
|
|
227
|
+
strategy: 'evidence-investigation',
|
|
228
|
+
agents: [
|
|
229
|
+
'qe-code-reviewer', // Code analysis
|
|
230
|
+
'qe-security-auditor', // Security claim verification
|
|
231
|
+
'qe-performance-validator' // Performance claim verification
|
|
232
|
+
],
|
|
233
|
+
topology: 'parallel'
|
|
234
|
+
});
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Related Skills
|
|
240
|
+
- [brutal-honesty-review](../brutal-honesty-review/) - Direct technical criticism
|
|
241
|
+
- [context-driven-testing](../context-driven-testing/) - Adapt to context
|
|
242
|
+
- [bug-reporting-excellence](../bug-reporting-excellence/) - Document findings
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Remember
|
|
247
|
+
|
|
248
|
+
**"It is a capital mistake to theorize before one has data."** Trust only reproducible evidence. Don't trust commit messages, documentation, or "works on my machine."
|
|
249
|
+
|
|
250
|
+
**The Sherlock Standard:** Every claim must be verified empirically. What does the evidence actually show?
|