agentic-qe 3.8.1 → 3.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/v3/qe-security-scanner.md +2 -2
- package/.claude/commands/claude-flow-help.md +1 -1
- package/.claude/helpers/github-setup.sh +4 -4
- package/.claude/helpers/post-commit +1 -1
- package/.claude/helpers/pre-commit +1 -1
- package/.claude/helpers/quick-start.sh +4 -4
- package/.claude/helpers/setup-mcp.sh +3 -3
- package/.claude/helpers/statusline-v3.cjs +1 -1
- package/.claude/helpers/validation-pipeline.cjs +625 -0
- package/.claude/skills/README.md +29 -7
- package/.claude/skills/TRUST-TIERS.md +26 -10
- package/.claude/skills/a11y-ally/SKILL.md +10 -2
- package/.claude/skills/accessibility-testing/SKILL.md +2 -1
- package/.claude/skills/agentic-quality-engineering/SKILL.md +1 -2
- package/.claude/skills/api-testing-patterns/SKILL.md +8 -0
- package/.claude/skills/api-testing-patterns/config.json +14 -0
- package/.claude/skills/api-testing-patterns/templates/api-test-scaffold.md +87 -0
- package/.claude/skills/brutal-honesty-review/SKILL.md +0 -1
- package/.claude/skills/bug-reporting-excellence/SKILL.md +14 -1
- package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +0 -1
- package/.claude/skills/code-review-quality/SKILL.md +14 -1
- package/.claude/skills/compatibility-testing/SKILL.md +1 -54
- package/.claude/skills/compliance-testing/SKILL.md +8 -1
- package/.claude/skills/compliance-testing/config.json +13 -0
- package/.claude/skills/consultancy-practices/SKILL.md +1 -33
- package/.claude/skills/context-driven-testing/SKILL.md +0 -42
- package/.claude/skills/contract-testing/SKILL.md +12 -0
- package/.claude/skills/contract-testing/config.json +13 -0
- package/.claude/skills/contract-testing/references/agent-commands.md +103 -0
- package/.claude/skills/contract-testing/references/provider-states.md +45 -0
- package/.claude/skills/coverage-drop-investigator/SKILL.md +90 -0
- package/.claude/skills/coverage-guard/SKILL.md +82 -0
- package/.claude/skills/coverage-guard/scripts/check-coverage.sh +42 -0
- package/.claude/skills/database-testing/SKILL.md +0 -10
- package/.claude/skills/debug-loop/SKILL.md +1 -1
- package/.claude/skills/e2e-flow-verifier/SKILL.md +78 -0
- package/.claude/skills/enterprise-integration-testing/SKILL.md +1 -1
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +8 -1
- package/.claude/skills/exploratory-testing-advanced/references/heuristic-cheatsheet.md +48 -0
- package/.claude/skills/freeze-tests/SKILL.md +67 -0
- package/.claude/skills/freeze-tests/scripts/block-test-edits.sh +27 -0
- package/.claude/skills/holistic-testing-pact/SKILL.md +0 -1
- package/.claude/skills/iterative-loop/SKILL.md +6 -6
- package/.claude/skills/localization-testing/SKILL.md +0 -18
- package/.claude/skills/mobile-testing/SKILL.md +2 -50
- package/.claude/skills/mutation-testing/SKILL.md +26 -1
- package/.claude/skills/mutation-testing/config.json +14 -0
- package/.claude/skills/mutation-testing/references/mutation-operators.md +38 -0
- package/.claude/skills/mutation-testing/run-history.json +6 -0
- package/.claude/skills/n8n-expression-testing/SKILL.md +0 -1
- package/.claude/skills/n8n-integration-testing-patterns/SKILL.md +0 -1
- package/.claude/skills/n8n-security-testing/SKILL.md +0 -1
- package/.claude/skills/n8n-trigger-testing-strategies/SKILL.md +0 -1
- package/.claude/skills/n8n-workflow-testing-fundamentals/SKILL.md +0 -1
- package/.claude/skills/no-skip/SKILL.md +74 -0
- package/.claude/skills/no-skip/scripts/check-skips.sh +28 -0
- package/.claude/skills/pair-programming/SKILL.md +1 -1
- package/.claude/skills/pentest-validation/SKILL.md +2 -3
- package/.claude/skills/performance-testing/SKILL.md +21 -0
- package/.claude/skills/performance-testing/config.json +18 -0
- package/.claude/skills/performance-testing/references/k6-patterns.md +72 -0
- package/.claude/skills/performance-testing/run-history.json +6 -0
- package/.claude/skills/pr-review/SKILL.md +3 -3
- package/.claude/skills/qcsd-cicd-swarm/SKILL.md +1 -2
- package/.claude/skills/qcsd-development-swarm/SKILL.md +1 -2
- package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1 -2
- package/.claude/skills/qcsd-production-swarm/SKILL.md +1 -2
- package/.claude/skills/qcsd-production-swarm/steps/01-flag-detection.md +1 -1
- package/.claude/skills/qcsd-production-swarm/steps/07-learning-persistence.md +2 -2
- package/.claude/skills/qcsd-refinement-swarm/SKILL.md +1 -2
- package/.claude/skills/qcsd-refinement-swarm/steps/01-flag-detection.md +1 -1
- package/.claude/skills/qe-chaos-resilience/SKILL.md +2 -3
- package/.claude/skills/qe-code-intelligence/SKILL.md +9 -2
- package/.claude/skills/qe-coverage-analysis/SKILL.md +28 -2
- package/.claude/skills/qe-coverage-analysis/run-history.json +6 -0
- package/.claude/skills/qe-defect-intelligence/SKILL.md +1 -2
- package/.claude/skills/qe-iterative-loop/SKILL.md +0 -1
- package/.claude/skills/qe-learning-optimization/SKILL.md +1 -2
- package/.claude/skills/qe-quality-assessment/SKILL.md +29 -3
- package/.claude/skills/qe-quality-assessment/run-history.json +6 -0
- package/.claude/skills/qe-requirements-validation/SKILL.md +1 -2
- package/.claude/skills/qe-test-execution/SKILL.md +9 -2
- package/.claude/skills/qe-test-generation/SKILL.md +15 -2
- package/.claude/skills/qe-test-generation/config.json +14 -0
- package/.claude/skills/qe-test-generation/templates/test-scaffold-jest.md +72 -0
- package/.claude/skills/qe-visual-accessibility/SKILL.md +1 -2
- package/.claude/skills/quality-metrics/SKILL.md +3 -78
- package/.claude/skills/refactoring-patterns/SKILL.md +0 -1
- package/.claude/skills/regression-testing/SKILL.md +13 -49
- package/.claude/skills/risk-based-testing/SKILL.md +6 -52
- package/.claude/skills/security-testing/SKILL.md +30 -0
- package/.claude/skills/security-testing/config.json +13 -0
- package/.claude/skills/security-testing/references/compliance-agent-commands.md +131 -0
- package/.claude/skills/security-testing/references/owasp-top-10.md +66 -0
- package/.claude/skills/security-testing/run-history.json +6 -0
- package/.claude/skills/security-testing/templates/security-report.md +44 -0
- package/.claude/skills/security-visual-testing/SKILL.md +0 -1
- package/.claude/skills/security-watch/SKILL.md +93 -0
- package/.claude/skills/security-watch/scripts/scan-security.sh +46 -0
- package/.claude/skills/sherlock-review/SKILL.md +0 -1
- package/.claude/skills/shift-left-testing/SKILL.md +16 -88
- package/.claude/skills/shift-right-testing/SKILL.md +0 -1
- package/.claude/skills/six-thinking-hats/SKILL.md +0 -1
- package/.claude/skills/skill-stats/SKILL.md +79 -0
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/strict-tdd/SKILL.md +72 -0
- package/.claude/skills/strict-tdd/scripts/enforce-red-phase.sh +36 -0
- package/.claude/skills/tdd-london-chicago/SKILL.md +8 -1
- package/.claude/skills/technical-writing/SKILL.md +0 -1
- package/.claude/skills/test-automation-strategy/SKILL.md +13 -65
- package/.claude/skills/test-data-management/SKILL.md +1 -105
- package/.claude/skills/test-design-techniques/SKILL.md +2 -152
- package/.claude/skills/test-environment-management/SKILL.md +0 -48
- package/.claude/skills/test-failure-investigator/SKILL.md +99 -0
- package/.claude/skills/test-metrics-dashboard/SKILL.md +97 -0
- package/.claude/skills/test-reporting-analytics/SKILL.md +0 -1
- package/.claude/skills/trust-tier-manifest.json +135 -61
- package/.claude/skills/validation-pipeline/SKILL.md +5 -6
- package/.claude/skills/verification-quality/SKILL.md +15 -1
- package/.claude/skills/visual-testing-advanced/SKILL.md +0 -1
- package/.claude/skills/xp-practices/SKILL.md +2 -110
- package/.opencode/agents/collective-intelligence-coordinator.yaml +52 -0
- package/.opencode/agents/ddd-domain-expert.yaml +49 -0
- package/.opencode/agents/memory-specialist.yaml +49 -0
- package/.opencode/agents/performance-engineer.yaml +53 -0
- package/.opencode/agents/qe-accessibility-auditor.yaml +118 -0
- package/.opencode/agents/qe-api-contract-validator.yaml +85 -0
- package/.opencode/agents/qe-bdd-generator.yaml +83 -0
- package/.opencode/agents/qe-chaos-engineer.yaml +114 -0
- package/.opencode/agents/qe-code-complexity.yaml +82 -0
- package/.opencode/agents/qe-code-intelligence.yaml +80 -0
- package/.opencode/agents/qe-coverage-analyzer.yaml +75 -0
- package/.opencode/agents/qe-defect-predictor.yaml +81 -0
- package/.opencode/agents/qe-dependency-mapper.yaml +81 -0
- package/.opencode/agents/qe-deployment-advisor.yaml +82 -0
- package/.opencode/agents/qe-devils-advocate.yaml +63 -0
- package/.opencode/agents/qe-flaky-hunter.yaml +116 -0
- package/.opencode/agents/qe-fleet-commander.yaml +83 -0
- package/.opencode/agents/qe-gap-detector.yaml +81 -0
- package/.opencode/agents/qe-graphql-tester.yaml +84 -0
- package/.opencode/agents/qe-impact-analyzer.yaml +81 -0
- package/.opencode/agents/qe-integration-architect.yaml +46 -0
- package/.opencode/agents/qe-integration-tester.yaml +84 -0
- package/.opencode/agents/qe-kg-builder.yaml +75 -0
- package/.opencode/agents/qe-learning-coordinator.yaml +82 -0
- package/.opencode/agents/qe-load-tester.yaml +84 -0
- package/.opencode/agents/qe-message-broker-tester.yaml +94 -0
- package/.opencode/agents/qe-metrics-optimizer.yaml +81 -0
- package/.opencode/agents/qe-middleware-validator.yaml +92 -0
- package/.opencode/agents/qe-mutation-tester.yaml +84 -0
- package/.opencode/agents/qe-odata-contract-tester.yaml +98 -0
- package/.opencode/agents/qe-parallel-executor.yaml +79 -0
- package/.opencode/agents/qe-pattern-learner.yaml +80 -0
- package/.opencode/agents/qe-pentest-validator.yaml +137 -0
- package/.opencode/agents/qe-performance-tester.yaml +83 -0
- package/.opencode/agents/qe-product-factors-assessor.yaml +116 -0
- package/.opencode/agents/qe-property-tester.yaml +82 -0
- package/.opencode/agents/qe-quality-criteria-recommender.yaml +111 -0
- package/.opencode/agents/qe-quality-gate.yaml +80 -0
- package/.opencode/agents/qe-queen-coordinator.yaml +59 -0
- package/.opencode/agents/qe-qx-partner.yaml +75 -0
- package/.opencode/agents/qe-regression-analyzer.yaml +90 -0
- package/.opencode/agents/qe-requirements-validator.yaml +111 -0
- package/.opencode/agents/qe-responsive-tester.yaml +85 -0
- package/.opencode/agents/qe-retry-handler.yaml +82 -0
- package/.opencode/agents/qe-risk-assessor.yaml +81 -0
- package/.opencode/agents/qe-root-cause-analyzer.yaml +82 -0
- package/.opencode/agents/qe-sap-idoc-tester.yaml +104 -0
- package/.opencode/agents/qe-sap-rfc-tester.yaml +94 -0
- package/.opencode/agents/qe-security-auditor.yaml +90 -0
- package/.opencode/agents/qe-security-scanner.yaml +80 -0
- package/.opencode/agents/qe-soap-tester.yaml +93 -0
- package/.opencode/agents/qe-sod-analyzer.yaml +96 -0
- package/.opencode/agents/qe-tdd-specialist.yaml +84 -0
- package/.opencode/agents/qe-test-generator.yaml +78 -0
- package/.opencode/agents/qe-test-idea-rewriter.yaml +88 -0
- package/.opencode/agents/qe-transfer-specialist.yaml +81 -0
- package/.opencode/agents/qe-visual-tester.yaml +82 -0
- package/.opencode/agents/security-architect.yaml +51 -0
- package/.opencode/agents/security-auditor.yaml +50 -0
- package/.opencode/permissions.yaml +74 -0
- package/.opencode/skills/qcsd-cicd-swarm.yaml +45 -0
- package/.opencode/skills/qcsd-development-swarm.yaml +45 -0
- package/.opencode/skills/qcsd-ideation-swarm.yaml +45 -0
- package/.opencode/skills/qcsd-production-swarm.yaml +45 -0
- package/.opencode/skills/qcsd-refinement-swarm.yaml +45 -0
- package/.opencode/skills/qe-a11y-ally.yaml +45 -0
- package/.opencode/skills/qe-accessibility-testing.yaml +45 -0
- package/.opencode/skills/qe-agentic-jujutsu.yaml +45 -0
- package/.opencode/skills/qe-agentic-quality-engineering.yaml +45 -0
- package/.opencode/skills/qe-api-testing-patterns.yaml +45 -0
- package/.opencode/skills/qe-aqe-v2-v3-migration.yaml +45 -0
- package/.opencode/skills/qe-brutal-honesty-review.yaml +45 -0
- package/.opencode/skills/qe-bug-reporting-excellence.yaml +45 -0
- package/.opencode/skills/qe-chaos-engineering-resilience.yaml +30 -0
- package/.opencode/skills/qe-chaos-resilience.yaml +45 -0
- package/.opencode/skills/qe-cicd-pipeline-qe-orchestrator.yaml +45 -0
- package/.opencode/skills/qe-code-intelligence.yaml +45 -0
- package/.opencode/skills/qe-code-review-quality.yaml +45 -0
- package/.opencode/skills/qe-compatibility-testing.yaml +35 -0
- package/.opencode/skills/qe-compliance-testing.yaml +35 -0
- package/.opencode/skills/qe-consultancy-practices.yaml +45 -0
- package/.opencode/skills/qe-context-driven-testing.yaml +45 -0
- package/.opencode/skills/qe-coverage-analysis.yaml +45 -0
- package/.opencode/skills/qe-database-testing.yaml +40 -0
- package/.opencode/skills/qe-debug-loop.yaml +45 -0
- package/.opencode/skills/qe-defect-intelligence.yaml +45 -0
- package/.opencode/skills/qe-enterprise-integration-testing.yaml +45 -0
- package/.opencode/skills/qe-exploratory-testing-advanced.yaml +45 -0
- package/.opencode/skills/qe-github-code-review.yaml +45 -0
- package/.opencode/skills/qe-github-multi-repo.yaml +45 -0
- package/.opencode/skills/qe-github-project-management.yaml +45 -0
- package/.opencode/skills/qe-github-release-management.yaml +45 -0
- package/.opencode/skills/qe-github-workflow-automation.yaml +45 -0
- package/.opencode/skills/qe-holistic-testing-pact.yaml +45 -0
- package/.opencode/skills/qe-iterative-loop.yaml +45 -0
- package/.opencode/skills/qe-learning-optimization.yaml +45 -0
- package/.opencode/skills/qe-localization-testing.yaml +40 -0
- package/.opencode/skills/qe-middleware-testing-patterns.yaml +45 -0
- package/.opencode/skills/qe-mobile-testing.yaml +35 -0
- package/.opencode/skills/qe-mutation-testing.yaml +35 -0
- package/.opencode/skills/qe-n8n-expression-testing.yaml +45 -0
- package/.opencode/skills/qe-n8n-integration-testing-patterns.yaml +45 -0
- package/.opencode/skills/qe-n8n-security-testing.yaml +45 -0
- package/.opencode/skills/qe-n8n-trigger-testing-strategies.yaml +45 -0
- package/.opencode/skills/qe-n8n-workflow-testing-fundamentals.yaml +45 -0
- package/.opencode/skills/qe-observability-testing-patterns.yaml +45 -0
- package/.opencode/skills/qe-pair-programming.yaml +45 -0
- package/.opencode/skills/qe-pentest-validation.yaml +45 -0
- package/.opencode/skills/qe-performance-analysis.yaml +45 -0
- package/.opencode/skills/qe-performance-testing.yaml +45 -0
- package/.opencode/skills/qe-pr-review.yaml +45 -0
- package/.opencode/skills/qe-quality-assessment.yaml +45 -0
- package/.opencode/skills/qe-quality-metrics.yaml +45 -0
- package/.opencode/skills/qe-refactoring-patterns.yaml +40 -0
- package/.opencode/skills/qe-regression-testing.yaml +40 -0
- package/.opencode/skills/qe-release.yaml +45 -0
- package/.opencode/skills/qe-requirements-validation.yaml +45 -0
- package/.opencode/skills/qe-risk-based-testing.yaml +45 -0
- package/.opencode/skills/qe-security-testing.yaml +45 -0
- package/.opencode/skills/qe-security-visual-testing.yaml +45 -0
- package/.opencode/skills/qe-sfdipot-product-factors.yaml +45 -0
- package/.opencode/skills/qe-sherlock-review.yaml +45 -0
- package/.opencode/skills/qe-shift-left-testing.yaml +45 -0
- package/.opencode/skills/qe-shift-right-testing.yaml +45 -0
- package/.opencode/skills/qe-six-thinking-hats.yaml +45 -0
- package/.opencode/skills/qe-skill-builder.yaml +45 -0
- package/.opencode/skills/qe-sparc-methodology.yaml +45 -0
- package/.opencode/skills/qe-stream-chain.yaml +45 -0
- package/.opencode/skills/qe-tdd-london-chicago.yaml +45 -0
- package/.opencode/skills/qe-technical-writing.yaml +45 -0
- package/.opencode/skills/qe-test-automation-strategy.yaml +35 -0
- package/.opencode/skills/qe-test-data-management.yaml +45 -0
- package/.opencode/skills/qe-test-design-techniques.yaml +40 -0
- package/.opencode/skills/qe-test-environment-management.yaml +40 -0
- package/.opencode/skills/qe-test-execution.yaml +45 -0
- package/.opencode/skills/qe-test-generation.yaml +45 -0
- package/.opencode/skills/qe-test-idea-rewriting.yaml +45 -0
- package/.opencode/skills/qe-test-reporting-analytics.yaml +45 -0
- package/.opencode/skills/qe-testability-scoring.yaml +45 -0
- package/.opencode/skills/qe-verification-quality.yaml +45 -0
- package/.opencode/skills/qe-visual-accessibility.yaml +45 -0
- package/.opencode/skills/qe-visual-testing-advanced.yaml +40 -0
- package/.opencode/skills/qe-wms-testing-patterns.yaml +45 -0
- package/.opencode/skills/qe-xp-practices.yaml +45 -0
- package/.opencode/tools/qe-defect-scan.ts +79 -0
- package/.opencode/tools/qe-fleet-status.ts +59 -0
- package/.opencode/tools/qe-full-audit.ts +81 -0
- package/.opencode/tools/qe-learning-report.ts +74 -0
- package/.opencode/tools/qe-test-and-verify.ts +97 -0
- package/CHANGELOG.md +50 -0
- package/README.md +5 -1
- package/assets/agents/v3/qe-security-scanner.md +2 -2
- package/assets/helpers/statusline-v3.cjs +1 -1
- package/assets/helpers/validation-pipeline.cjs +625 -0
- package/assets/skills/README.md +173 -0
- package/assets/skills/TRUST-TIERS.md +174 -0
- package/assets/skills/a11y-ally/SKILL.md +10 -2
- package/assets/skills/accessibility-testing/SKILL.md +2 -1
- package/assets/skills/agentic-quality-engineering/SKILL.md +1 -2
- package/assets/skills/api-testing-patterns/SKILL.md +8 -0
- package/assets/skills/api-testing-patterns/config.json +14 -0
- package/assets/skills/api-testing-patterns/templates/api-test-scaffold.md +87 -0
- package/assets/skills/brutal-honesty-review/SKILL.md +0 -1
- package/assets/skills/bug-reporting-excellence/SKILL.md +14 -1
- package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +0 -1
- package/assets/skills/code-review-quality/SKILL.md +14 -1
- package/assets/skills/compatibility-testing/SKILL.md +1 -54
- package/assets/skills/compliance-testing/SKILL.md +8 -1
- package/assets/skills/compliance-testing/config.json +13 -0
- package/assets/skills/consultancy-practices/SKILL.md +1 -33
- package/assets/skills/context-driven-testing/SKILL.md +0 -42
- package/assets/skills/contract-testing/SKILL.md +12 -0
- package/assets/skills/contract-testing/config.json +13 -0
- package/assets/skills/contract-testing/references/agent-commands.md +103 -0
- package/assets/skills/contract-testing/references/provider-states.md +45 -0
- package/assets/skills/coverage-drop-investigator/SKILL.md +90 -0
- package/assets/skills/coverage-guard/SKILL.md +82 -0
- package/assets/skills/coverage-guard/scripts/check-coverage.sh +42 -0
- package/assets/skills/database-testing/SKILL.md +0 -10
- package/assets/skills/debug-loop/SKILL.md +1 -1
- package/assets/skills/e2e-flow-verifier/SKILL.md +78 -0
- package/assets/skills/enterprise-integration-testing/SKILL.md +1 -1
- package/assets/skills/exploratory-testing-advanced/SKILL.md +8 -1
- package/assets/skills/exploratory-testing-advanced/references/heuristic-cheatsheet.md +48 -0
- package/assets/skills/freeze-tests/SKILL.md +67 -0
- package/assets/skills/freeze-tests/scripts/block-test-edits.sh +27 -0
- package/assets/skills/holistic-testing-pact/SKILL.md +0 -1
- package/assets/skills/localization-testing/SKILL.md +0 -18
- package/assets/skills/mobile-testing/SKILL.md +2 -50
- package/assets/skills/mutation-testing/SKILL.md +26 -1
- package/assets/skills/mutation-testing/config.json +14 -0
- package/assets/skills/mutation-testing/references/mutation-operators.md +38 -0
- package/assets/skills/mutation-testing/run-history.json +6 -0
- package/assets/skills/n8n-expression-testing/SKILL.md +0 -1
- package/assets/skills/n8n-integration-testing-patterns/SKILL.md +0 -1
- package/assets/skills/n8n-security-testing/SKILL.md +0 -1
- package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +0 -1
- package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +0 -1
- package/assets/skills/no-skip/SKILL.md +74 -0
- package/assets/skills/no-skip/scripts/check-skips.sh +28 -0
- package/assets/skills/pair-programming/SKILL.md +1 -1
- package/assets/skills/pentest-validation/SKILL.md +2 -3
- package/assets/skills/performance-testing/SKILL.md +21 -0
- package/assets/skills/performance-testing/config.json +18 -0
- package/assets/skills/performance-testing/references/k6-patterns.md +72 -0
- package/assets/skills/performance-testing/run-history.json +6 -0
- package/assets/skills/pr-review/SKILL.md +3 -3
- package/assets/skills/qcsd-cicd-swarm/SKILL.md +1 -2
- package/assets/skills/qcsd-development-swarm/SKILL.md +1 -2
- package/assets/skills/qcsd-ideation-swarm/SKILL.md +1 -2
- package/assets/skills/qcsd-production-swarm/SKILL.md +1 -2
- package/assets/skills/qcsd-production-swarm/steps/01-flag-detection.md +1 -1
- package/assets/skills/qcsd-production-swarm/steps/07-learning-persistence.md +2 -2
- package/assets/skills/qcsd-refinement-swarm/SKILL.md +1 -2
- package/assets/skills/qcsd-refinement-swarm/steps/01-flag-detection.md +1 -1
- package/assets/skills/qe-chaos-resilience/SKILL.md +2 -3
- package/assets/skills/qe-code-intelligence/SKILL.md +9 -2
- package/assets/skills/qe-coverage-analysis/SKILL.md +28 -2
- package/assets/skills/qe-coverage-analysis/run-history.json +6 -0
- package/assets/skills/qe-defect-intelligence/SKILL.md +1 -2
- package/assets/skills/qe-iterative-loop/SKILL.md +0 -1
- package/assets/skills/qe-learning-optimization/SKILL.md +1 -2
- package/assets/skills/qe-quality-assessment/SKILL.md +29 -3
- package/assets/skills/qe-quality-assessment/run-history.json +6 -0
- package/assets/skills/qe-requirements-validation/SKILL.md +1 -2
- package/assets/skills/qe-test-execution/SKILL.md +9 -2
- package/assets/skills/qe-test-generation/SKILL.md +15 -2
- package/assets/skills/qe-test-generation/config.json +14 -0
- package/assets/skills/qe-test-generation/templates/test-scaffold-jest.md +72 -0
- package/assets/skills/qe-visual-accessibility/SKILL.md +1 -2
- package/assets/skills/quality-metrics/SKILL.md +3 -78
- package/assets/skills/refactoring-patterns/SKILL.md +0 -1
- package/assets/skills/regression-testing/SKILL.md +13 -49
- package/assets/skills/risk-based-testing/SKILL.md +6 -52
- package/assets/skills/security-testing/SKILL.md +30 -0
- package/assets/skills/security-testing/config.json +13 -0
- package/assets/skills/security-testing/references/compliance-agent-commands.md +131 -0
- package/assets/skills/security-testing/references/owasp-top-10.md +66 -0
- package/assets/skills/security-testing/run-history.json +6 -0
- package/assets/skills/security-testing/templates/security-report.md +44 -0
- package/assets/skills/security-visual-testing/SKILL.md +0 -1
- package/assets/skills/security-watch/SKILL.md +93 -0
- package/assets/skills/security-watch/scripts/scan-security.sh +46 -0
- package/assets/skills/sherlock-review/SKILL.md +0 -1
- package/assets/skills/shift-left-testing/SKILL.md +16 -88
- package/assets/skills/shift-right-testing/SKILL.md +0 -1
- package/assets/skills/six-thinking-hats/SKILL.md +0 -1
- package/assets/skills/skill-stats/SKILL.md +79 -0
- package/assets/skills/strict-tdd/SKILL.md +72 -0
- package/assets/skills/strict-tdd/scripts/enforce-red-phase.sh +36 -0
- package/assets/skills/tdd-london-chicago/SKILL.md +8 -1
- package/assets/skills/technical-writing/SKILL.md +0 -1
- package/assets/skills/test-automation-strategy/SKILL.md +13 -65
- package/assets/skills/test-data-management/SKILL.md +1 -105
- package/assets/skills/test-design-techniques/SKILL.md +2 -152
- package/assets/skills/test-environment-management/SKILL.md +0 -48
- package/assets/skills/test-failure-investigator/SKILL.md +99 -0
- package/assets/skills/test-metrics-dashboard/SKILL.md +97 -0
- package/assets/skills/test-reporting-analytics/SKILL.md +0 -1
- package/assets/skills/trust-tier-manifest.json +135 -61
- package/assets/skills/validation-pipeline/SKILL.md +5 -6
- package/assets/skills/verification-quality/SKILL.md +15 -1
- package/assets/skills/visual-testing-advanced/SKILL.md +0 -1
- package/assets/skills/xp-practices/SKILL.md +2 -110
- package/dist/adapters/claude-flow/detect.d.ts +5 -0
- package/dist/adapters/claude-flow/detect.js +38 -18
- package/dist/adapters/claude-flow/model-router-bridge.js +4 -3
- package/dist/adapters/claude-flow/pretrain-bridge.js +5 -4
- package/dist/adapters/claude-flow/trajectory-bridge.js +5 -4
- package/dist/cli/bundle.js +262 -79
- package/dist/cli/commands/claude-flow-setup.js +4 -4
- package/dist/domains/learning-optimization/coordinator.d.ts +6 -1
- package/dist/domains/learning-optimization/coordinator.js +26 -4
- package/dist/domains/learning-optimization/plugin.d.ts +2 -0
- package/dist/domains/learning-optimization/plugin.js +2 -0
- package/dist/governance/adversarial-defense-integration.js +1 -0
- package/dist/governance/continue-gate-integration.d.ts +1 -0
- package/dist/governance/continue-gate-integration.js +1 -0
- package/dist/governance/deterministic-gateway-integration.d.ts +1 -0
- package/dist/governance/deterministic-gateway-integration.js +1 -0
- package/dist/governance/evolution-pipeline-integration.d.ts +1 -0
- package/dist/governance/evolution-pipeline-integration.js +1 -0
- package/dist/governance/memory-write-gate-integration.d.ts +1 -0
- package/dist/governance/memory-write-gate-integration.js +1 -0
- package/dist/governance/proof-envelope-integration.d.ts +1 -0
- package/dist/governance/proof-envelope-integration.js +1 -0
- package/dist/governance/shard-retriever-integration.d.ts +1 -0
- package/dist/governance/shard-retriever-integration.js +1 -0
- package/dist/governance/trust-accumulator-integration.d.ts +1 -0
- package/dist/governance/trust-accumulator-integration.js +1 -0
- package/dist/init/agents-installer.js +28 -1
- package/dist/init/enhancements/claude-flow-adapter.js +15 -2
- package/dist/init/init-wizard-hooks.js +3 -3
- package/dist/init/kiro-installer.js +10 -4
- package/dist/init/opencode-installer.d.ts +13 -1
- package/dist/init/opencode-installer.js +52 -14
- package/dist/init/phases/07-hooks.js +21 -7
- package/dist/init/settings-merge.d.ts +1 -1
- package/dist/init/settings-merge.js +12 -13
- package/dist/init/skills-installer.d.ts +10 -0
- package/dist/init/skills-installer.js +68 -6
- package/dist/integrations/ruvector/sona-persistence.d.ts +6 -0
- package/dist/integrations/ruvector/sona-persistence.js +26 -1
- package/dist/mcp/bundle.js +98 -37
- package/dist/mcp/entry.js +6 -6
- package/dist/migration/agent-compat.js +2 -2
- package/package.json +9 -4
- package/.claude/skills/aqe-v2-v3-migration/schemas/output.json +0 -513
- package/.claude/skills/aqe-v2-v3-migration/skill.md +0 -326
- package/.claude/skills/qe-contract-testing/SKILL.md +0 -224
- package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +0 -513
- package/.claude/skills/qe-contract-testing/schemas/output.json +0 -295
- package/.claude/skills/qe-contract-testing/scripts/validate-config.json +0 -42
- package/.claude/skills/qe-security-compliance/SKILL.md +0 -261
- package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +0 -595
- package/.claude/skills/qe-security-compliance/schemas/output.json +0 -498
- package/.claude/skills/qe-security-compliance/scripts/validate-config.json +0 -41
- package/assets/skills/aqe-v2-v3-migration/schemas/output.json +0 -513
- package/assets/skills/aqe-v2-v3-migration/skill.md +0 -326
- package/assets/skills/qe-contract-testing/SKILL.md +0 -224
- package/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +0 -513
- package/assets/skills/qe-contract-testing/schemas/output.json +0 -295
- package/assets/skills/qe-contract-testing/scripts/validate-config.json +0 -42
- package/assets/skills/qe-security-compliance/SKILL.md +0 -261
- package/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +0 -595
- package/assets/skills/qe-security-compliance/schemas/output.json +0 -498
- package/assets/skills/qe-security-compliance/scripts/validate-config.json +0 -41
|
@@ -58,7 +58,7 @@ export class HooksPhase extends BasePhase {
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
// Generate new AQE hooks
|
|
61
|
-
const aqeHooks = this.generateHooksConfig(config);
|
|
61
|
+
const aqeHooks = this.generateHooksConfig(config, projectRoot);
|
|
62
62
|
const hookTypes = Object.keys(aqeHooks);
|
|
63
63
|
// Detect if there are existing AQE hooks
|
|
64
64
|
const existingHooks = settings.hooks || {};
|
|
@@ -74,10 +74,24 @@ export class HooksPhase extends BasePhase {
|
|
|
74
74
|
...existingEnv,
|
|
75
75
|
...generateAqeEnvVars(config),
|
|
76
76
|
};
|
|
77
|
-
// Apply v3 settings sections (statusLine,
|
|
78
|
-
|
|
77
|
+
// Apply v3 settings sections (statusLine, v3Configuration, v3Learning, etc.)
|
|
78
|
+
// Permissions are union-merged to preserve user entries (#362)
|
|
79
|
+
const v3Sections = generateV3SettingsSections(config, projectRoot);
|
|
79
80
|
for (const [key, value] of Object.entries(v3Sections)) {
|
|
80
|
-
|
|
81
|
+
if (key === '_aqePermissions') {
|
|
82
|
+
// Union-merge: add AQE entries without removing user-added permissions
|
|
83
|
+
const existingPerms = settings.permissions || {};
|
|
84
|
+
const existingAllow = existingPerms.allow || [];
|
|
85
|
+
const aqeEntries = value;
|
|
86
|
+
const merged = [...new Set([...existingAllow, ...aqeEntries])];
|
|
87
|
+
settings.permissions = {
|
|
88
|
+
...existingPerms,
|
|
89
|
+
allow: merged,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
settings[key] = value;
|
|
94
|
+
}
|
|
81
95
|
}
|
|
82
96
|
// Enable MCP servers (deduplicate, replace old 'aqe' with 'agentic-qe')
|
|
83
97
|
let existingMcp = settings.enabledMcpjsonServers || [];
|
|
@@ -378,7 +392,7 @@ if (process.argv.includes('--json')) process.stdout.write(JSON.stringify(result)
|
|
|
378
392
|
* Uses `npx agentic-qe` for portability - works without global installation.
|
|
379
393
|
* All hooks use --json output for structured data and fail silently with continueOnError.
|
|
380
394
|
*/
|
|
381
|
-
generateHooksConfig(_config) {
|
|
395
|
+
generateHooksConfig(_config, _projectRoot) {
|
|
382
396
|
// Shell injection safety: env vars like $TOOL_INPUT_file_path are set by
|
|
383
397
|
// Claude Code as environment variables before invoking the hook command.
|
|
384
398
|
// We pass them via --file "$TOOL_INPUT_file_path" which is safe because
|
|
@@ -498,7 +512,7 @@ if (process.argv.includes('--json')) process.stdout.write(JSON.stringify(result)
|
|
|
498
512
|
hooks: [
|
|
499
513
|
{
|
|
500
514
|
type: 'command',
|
|
501
|
-
command: 'node
|
|
515
|
+
command: 'node .claude/helpers/brain-checkpoint.cjs verify --json',
|
|
502
516
|
timeout: 5000,
|
|
503
517
|
continueOnError: true,
|
|
504
518
|
},
|
|
@@ -520,7 +534,7 @@ if (process.argv.includes('--json')) process.stdout.write(JSON.stringify(result)
|
|
|
520
534
|
hooks: [
|
|
521
535
|
{
|
|
522
536
|
type: 'command',
|
|
523
|
-
command: 'node
|
|
537
|
+
command: 'node .claude/helpers/brain-checkpoint.cjs export --json',
|
|
524
538
|
timeout: 60000,
|
|
525
539
|
continueOnError: true,
|
|
526
540
|
},
|
|
@@ -31,5 +31,5 @@ export declare function generateAqeEnvVars(config: AQEInitConfig): Record<string
|
|
|
31
31
|
* Generate v3-specific settings sections for settings.json.
|
|
32
32
|
* These sections enable the self-learning system, status line, and permissions.
|
|
33
33
|
*/
|
|
34
|
-
export declare function generateV3SettingsSections(config: AQEInitConfig): Record<string, unknown>;
|
|
34
|
+
export declare function generateV3SettingsSections(config: AQEInitConfig, projectRoot?: string): Record<string, unknown>;
|
|
35
35
|
//# sourceMappingURL=settings-merge.d.ts.map
|
|
@@ -87,7 +87,7 @@ export function generateAqeEnvVars(config) {
|
|
|
87
87
|
* Generate v3-specific settings sections for settings.json.
|
|
88
88
|
* These sections enable the self-learning system, status line, and permissions.
|
|
89
89
|
*/
|
|
90
|
-
export function generateV3SettingsSections(config) {
|
|
90
|
+
export function generateV3SettingsSections(config, projectRoot) {
|
|
91
91
|
const domains = config.domains?.enabled || [];
|
|
92
92
|
return {
|
|
93
93
|
aqe: {
|
|
@@ -97,21 +97,20 @@ export function generateV3SettingsSections(config) {
|
|
|
97
97
|
},
|
|
98
98
|
statusLine: {
|
|
99
99
|
type: 'command',
|
|
100
|
-
command: 'node
|
|
100
|
+
command: 'node .claude/helpers/statusline-v3.cjs 2>/dev/null || echo "▊ Agentic QE v3"',
|
|
101
101
|
refreshMs: 5000,
|
|
102
102
|
enabled: true,
|
|
103
103
|
},
|
|
104
|
-
permissions
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
},
|
|
104
|
+
// permissions are union-merged in 07-hooks.ts — not set here to avoid overwriting user entries (#362)
|
|
105
|
+
_aqePermissions: [
|
|
106
|
+
'Bash(npx ruflo:*)',
|
|
107
|
+
'Bash(npx @ruflo/cli:*)',
|
|
108
|
+
'Bash(npx claude-flow:*)',
|
|
109
|
+
'Bash(npx @claude-flow/cli:*)',
|
|
110
|
+
'mcp__ruflo__:*',
|
|
111
|
+
'mcp__claude-flow__:*',
|
|
112
|
+
'mcp__agentic-qe__*',
|
|
113
|
+
],
|
|
115
114
|
includeCoAuthoredBy: true,
|
|
116
115
|
v3Configuration: {
|
|
117
116
|
domains: {
|
|
@@ -14,6 +14,7 @@ export interface SkillInfo {
|
|
|
14
14
|
export interface SkillsInstallResult {
|
|
15
15
|
installed: SkillInfo[];
|
|
16
16
|
skipped: string[];
|
|
17
|
+
removed: string[];
|
|
17
18
|
errors: string[];
|
|
18
19
|
totalCount: number;
|
|
19
20
|
skillsDir: string;
|
|
@@ -52,6 +53,15 @@ export declare class SkillsInstaller {
|
|
|
52
53
|
* ADR-056: Deterministic Skill Validation System
|
|
53
54
|
*/
|
|
54
55
|
private installValidationInfrastructure;
|
|
56
|
+
/**
|
|
57
|
+
* Remove deprecated/merged skills from an existing installation.
|
|
58
|
+
* Only runs during --upgrade to clean up stale skill directories.
|
|
59
|
+
*/
|
|
60
|
+
private removeDeprecatedSkills;
|
|
61
|
+
/**
|
|
62
|
+
* Remove a directory and all its contents recursively
|
|
63
|
+
*/
|
|
64
|
+
private removeDirectoryRecursive;
|
|
55
65
|
/**
|
|
56
66
|
* Get list of available skills from source directory
|
|
57
67
|
*/
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Installs AQE skills (both v2 methodology and v3 domain skills) to user projects.
|
|
6
6
|
* Skills are copied from the bundled skills directory to the project's .claude/skills/.
|
|
7
7
|
*/
|
|
8
|
-
import { existsSync, mkdirSync, readdirSync, statSync, readFileSync, writeFileSync, copyFileSync } from 'fs';
|
|
8
|
+
import { existsSync, mkdirSync, readdirSync, statSync, readFileSync, writeFileSync, copyFileSync, unlinkSync, rmdirSync } from 'fs';
|
|
9
9
|
import { join, dirname } from 'path';
|
|
10
10
|
import { fileURLToPath } from 'url';
|
|
11
11
|
import { toErrorMessage } from '../shared/error-utils.js';
|
|
@@ -13,11 +13,11 @@ import { toErrorMessage } from '../shared/error-utils.js';
|
|
|
13
13
|
// Skill Categories (QE Skills Only - Claude Flow skills are managed separately)
|
|
14
14
|
// ============================================================================
|
|
15
15
|
/**
|
|
16
|
-
* V3 QE domain skills -
|
|
16
|
+
* V3 QE domain skills - 10 bounded contexts + utilities + new ADR-086 skills
|
|
17
17
|
* These are QE-specific skills for v3's DDD architecture
|
|
18
18
|
*/
|
|
19
19
|
const V3_DOMAIN_SKILLS = [
|
|
20
|
-
//
|
|
20
|
+
// 10 DDD bounded context skills (qe-security-compliance merged into security-testing, qe-contract-testing merged into contract-testing)
|
|
21
21
|
'qe-test-generation', // AI-powered test synthesis
|
|
22
22
|
'qe-test-execution', // Parallel execution, retry logic
|
|
23
23
|
'qe-coverage-analysis', // O(log n) sublinear coverage
|
|
@@ -25,15 +25,23 @@ const V3_DOMAIN_SKILLS = [
|
|
|
25
25
|
'qe-defect-intelligence', // ML defect prediction, root cause
|
|
26
26
|
'qe-requirements-validation', // BDD scenarios, acceptance criteria
|
|
27
27
|
'qe-code-intelligence', // Knowledge graphs, 80% token reduction
|
|
28
|
-
'qe-security-compliance', // OWASP, CVE detection
|
|
29
28
|
'pentest-validation', // Graduated exploit validation (Shannon-inspired)
|
|
30
|
-
'qe-contract-testing', // Pact, schema validation
|
|
31
29
|
'qe-visual-accessibility', // Visual regression, WCAG
|
|
32
30
|
'qe-chaos-resilience', // Fault injection, resilience
|
|
33
31
|
'qe-learning-optimization', // Transfer learning, self-improvement
|
|
34
32
|
// V3 utilities
|
|
35
|
-
'aqe-v2-v3-migration', // Migration guide from v2 to v3
|
|
36
33
|
'qe-iterative-loop', // QE iteration patterns
|
|
34
|
+
// New skills (ADR-086 skill design standards)
|
|
35
|
+
'strict-tdd', // On-demand hook: TDD enforcement
|
|
36
|
+
'no-skip', // On-demand hook: prevent test skips
|
|
37
|
+
'coverage-guard', // On-demand hook: coverage regression prevention
|
|
38
|
+
'freeze-tests', // On-demand hook: block test edits during refactoring
|
|
39
|
+
'security-watch', // On-demand hook: real-time security scanning
|
|
40
|
+
'skill-stats', // Skill usage measurement
|
|
41
|
+
'test-failure-investigator', // Runbook: test failure root cause
|
|
42
|
+
'coverage-drop-investigator', // Runbook: coverage regression tracing
|
|
43
|
+
'e2e-flow-verifier', // Product verification with Playwright
|
|
44
|
+
'test-metrics-dashboard', // Test history and trend analysis
|
|
37
45
|
];
|
|
38
46
|
/**
|
|
39
47
|
* Internal/excluded skills - NOT installed for end users
|
|
@@ -95,6 +103,16 @@ const EXCLUDED_SKILLS = [
|
|
|
95
103
|
// Internal release workflow skill
|
|
96
104
|
'release',
|
|
97
105
|
];
|
|
106
|
+
/**
|
|
107
|
+
* Deprecated/removed skills that should be cleaned up from existing installations.
|
|
108
|
+
* These were merged into other skills or removed entirely.
|
|
109
|
+
* On --upgrade, these directories are deleted from the user's .claude/skills/.
|
|
110
|
+
*/
|
|
111
|
+
const DEPRECATED_SKILLS = [
|
|
112
|
+
'qe-contract-testing', // Merged into contract-testing (ADR-086)
|
|
113
|
+
'qe-security-compliance', // Merged into security-testing (ADR-086)
|
|
114
|
+
'aqe-v2-v3-migration', // No longer needed
|
|
115
|
+
];
|
|
98
116
|
// ============================================================================
|
|
99
117
|
// Skills Installer Class
|
|
100
118
|
// ============================================================================
|
|
@@ -170,6 +188,7 @@ export class SkillsInstaller {
|
|
|
170
188
|
const result = {
|
|
171
189
|
installed: [],
|
|
172
190
|
skipped: [],
|
|
191
|
+
removed: [],
|
|
173
192
|
errors: [],
|
|
174
193
|
totalCount: 0,
|
|
175
194
|
skillsDir: join(this.projectRoot, '.claude', 'skills'),
|
|
@@ -205,6 +224,10 @@ export class SkillsInstaller {
|
|
|
205
224
|
result.errors.push(`Failed to install ${skillName}: ${toErrorMessage(error)}`);
|
|
206
225
|
}
|
|
207
226
|
}
|
|
227
|
+
// Remove deprecated skills from existing installations
|
|
228
|
+
if (this.options.overwrite) {
|
|
229
|
+
result.removed = this.removeDeprecatedSkills(targetSkillsDir);
|
|
230
|
+
}
|
|
208
231
|
// Install validation infrastructure (ADR-056)
|
|
209
232
|
result.validationInstalled = this.installValidationInfrastructure(targetSkillsDir);
|
|
210
233
|
// Create skills index file
|
|
@@ -243,6 +266,45 @@ export class SkillsInstaller {
|
|
|
243
266
|
return false;
|
|
244
267
|
}
|
|
245
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Remove deprecated/merged skills from an existing installation.
|
|
271
|
+
* Only runs during --upgrade to clean up stale skill directories.
|
|
272
|
+
*/
|
|
273
|
+
removeDeprecatedSkills(targetSkillsDir) {
|
|
274
|
+
const removed = [];
|
|
275
|
+
for (const skillName of DEPRECATED_SKILLS) {
|
|
276
|
+
const skillDir = join(targetSkillsDir, skillName);
|
|
277
|
+
if (existsSync(skillDir)) {
|
|
278
|
+
try {
|
|
279
|
+
this.removeDirectoryRecursive(skillDir);
|
|
280
|
+
removed.push(skillName);
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
console.error(`[SkillsInstaller] Failed to remove deprecated skill ${skillName}:`, error instanceof Error ? error.message : error);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
if (removed.length > 0) {
|
|
288
|
+
console.debug(`[SkillsInstaller] Removed ${removed.length} deprecated skills: ${removed.join(', ')}`);
|
|
289
|
+
}
|
|
290
|
+
return removed;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Remove a directory and all its contents recursively
|
|
294
|
+
*/
|
|
295
|
+
removeDirectoryRecursive(dirPath) {
|
|
296
|
+
const entries = readdirSync(dirPath, { withFileTypes: true });
|
|
297
|
+
for (const entry of entries) {
|
|
298
|
+
const fullPath = join(dirPath, entry.name);
|
|
299
|
+
if (entry.isDirectory()) {
|
|
300
|
+
this.removeDirectoryRecursive(fullPath);
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
unlinkSync(fullPath);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
rmdirSync(dirPath);
|
|
307
|
+
}
|
|
246
308
|
/**
|
|
247
309
|
* Get list of available skills from source directory
|
|
248
310
|
*/
|
|
@@ -302,6 +302,12 @@ export declare class PersistentSONAEngine {
|
|
|
302
302
|
requestCount: number;
|
|
303
303
|
ewcLambda: number;
|
|
304
304
|
} | null;
|
|
305
|
+
/**
|
|
306
|
+
* Internal variant of loadFisherMatrix that skips ensureInitialized().
|
|
307
|
+
* Used only during _doInitialize() when DB and statements are ready
|
|
308
|
+
* but this.initialized has not been set yet.
|
|
309
|
+
*/
|
|
310
|
+
private _loadFisherMatrixUnsafe;
|
|
305
311
|
/**
|
|
306
312
|
* Delete Fisher matrix for a domain.
|
|
307
313
|
*
|
|
@@ -168,7 +168,9 @@ export class PersistentSONAEngine {
|
|
|
168
168
|
this.saveFisherMatrix(domain, fisher, optimal, base, meta);
|
|
169
169
|
}, this.config.domain);
|
|
170
170
|
// Restore Fisher state from SQLite if available
|
|
171
|
-
|
|
171
|
+
// Use prepared statement directly — ensureInitialized() would throw
|
|
172
|
+
// because this.initialized is not yet set during _doInitialize()
|
|
173
|
+
const saved = this._loadFisherMatrixUnsafe(this.config.domain);
|
|
172
174
|
if (saved) {
|
|
173
175
|
const engine = this.baseEngine.getThreeLoopEngine();
|
|
174
176
|
if (engine) {
|
|
@@ -770,6 +772,29 @@ export class PersistentSONAEngine {
|
|
|
770
772
|
ewcLambda: row.ewc_lambda,
|
|
771
773
|
};
|
|
772
774
|
}
|
|
775
|
+
/**
|
|
776
|
+
* Internal variant of loadFisherMatrix that skips ensureInitialized().
|
|
777
|
+
* Used only during _doInitialize() when DB and statements are ready
|
|
778
|
+
* but this.initialized has not been set yet.
|
|
779
|
+
*/
|
|
780
|
+
_loadFisherMatrixUnsafe(domain) {
|
|
781
|
+
const stmt = this.prepared.get('getFisher');
|
|
782
|
+
if (!stmt)
|
|
783
|
+
return null;
|
|
784
|
+
const row = stmt.get(domain);
|
|
785
|
+
if (!row)
|
|
786
|
+
return null;
|
|
787
|
+
return {
|
|
788
|
+
fisherDiagonal: this.bufferToFloat32(row.fisher_diagonal),
|
|
789
|
+
optimalParams: this.bufferToFloat32(row.optimal_params),
|
|
790
|
+
baseWeights: row.base_weights ? this.bufferToFloat32(row.base_weights) : null,
|
|
791
|
+
dimension: row.dimension,
|
|
792
|
+
taskBoundaries: row.task_boundaries,
|
|
793
|
+
consolidationCycles: row.consolidation_cycles,
|
|
794
|
+
requestCount: row.request_count,
|
|
795
|
+
ewcLambda: row.ewc_lambda,
|
|
796
|
+
};
|
|
797
|
+
}
|
|
773
798
|
/**
|
|
774
799
|
* Delete Fisher matrix for a domain.
|
|
775
800
|
*
|