qa360 2.2.1 → 2.2.13
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/CHANGELOG.md +28 -0
- package/README.md +79 -0
- package/cli/dist/cli-minimal.d.ts +6 -0
- package/cli/dist/cli-minimal.js +36 -0
- package/cli/dist/commands/ai.d.ts +43 -0
- package/cli/dist/commands/ai.js +616 -0
- package/cli/dist/commands/ask.d.ts +94 -0
- package/cli/dist/commands/ask.js +582 -0
- package/cli/dist/commands/coverage.d.ts +8 -0
- package/cli/dist/commands/coverage.js +252 -0
- package/cli/dist/commands/crawl.d.ts +24 -0
- package/cli/dist/commands/crawl.js +121 -0
- package/cli/dist/commands/doctor.d.ts +54 -0
- package/cli/dist/commands/doctor.js +513 -0
- package/cli/dist/commands/examples.d.ts +33 -0
- package/cli/dist/commands/examples.js +193 -0
- package/cli/dist/commands/explain.d.ts +27 -0
- package/cli/dist/commands/explain.js +630 -0
- package/cli/dist/commands/flakiness.d.ts +73 -0
- package/cli/dist/commands/flakiness.js +435 -0
- package/cli/dist/commands/generate.d.ts +66 -0
- package/cli/dist/commands/generate.js +438 -0
- package/cli/dist/commands/history.d.ts +76 -0
- package/cli/dist/commands/history.js +755 -0
- package/cli/dist/commands/init.d.ts +106 -0
- package/cli/dist/commands/init.js +616 -0
- package/cli/dist/commands/monitor.d.ts +27 -0
- package/cli/dist/commands/monitor.js +225 -0
- package/cli/dist/commands/ollama.d.ts +40 -0
- package/cli/dist/commands/ollama.js +346 -0
- package/cli/dist/commands/pack.d.ts +70 -0
- package/cli/dist/commands/pack.js +413 -0
- package/cli/dist/commands/regression.d.ts +8 -0
- package/cli/dist/commands/regression.js +340 -0
- package/cli/dist/commands/repair.d.ts +26 -0
- package/cli/dist/commands/repair.js +307 -0
- package/cli/dist/commands/report.d.ts +62 -0
- package/cli/dist/commands/report.js +378 -0
- package/cli/dist/commands/retry.d.ts +43 -0
- package/cli/dist/commands/retry.js +275 -0
- package/cli/dist/commands/run.d.ts +41 -0
- package/cli/dist/commands/run.js +171 -0
- package/cli/dist/commands/scan.d.ts +5 -0
- package/cli/dist/commands/scan.js +155 -0
- package/cli/dist/commands/secrets.d.ts +58 -0
- package/cli/dist/commands/secrets.js +289 -0
- package/cli/dist/commands/serve.d.ts +13 -0
- package/cli/dist/commands/serve.js +156 -0
- package/cli/dist/commands/slo.d.ts +8 -0
- package/cli/dist/commands/slo.js +327 -0
- package/cli/dist/commands/verify.d.ts +32 -0
- package/cli/dist/commands/verify.js +278 -0
- package/cli/dist/core/adapters/gitleaks-secrets.d.ts +114 -0
- package/cli/dist/core/adapters/gitleaks-secrets.js +410 -0
- package/cli/dist/core/adapters/jest-adapter.d.ts +44 -0
- package/cli/dist/core/adapters/jest-adapter.js +261 -0
- package/cli/dist/core/adapters/k6-perf.d.ts +85 -0
- package/cli/dist/core/adapters/k6-perf.js +398 -0
- package/cli/dist/core/adapters/osv-deps.d.ts +123 -0
- package/cli/dist/core/adapters/osv-deps.js +372 -0
- package/cli/dist/core/adapters/playwright-native-adapter.d.ts +121 -0
- package/cli/dist/core/adapters/playwright-native-adapter.js +339 -0
- package/cli/dist/core/adapters/playwright-native-api.d.ts +183 -0
- package/cli/dist/core/adapters/playwright-native-api.js +465 -0
- package/cli/dist/core/adapters/playwright-ui.d.ts +197 -0
- package/cli/dist/core/adapters/playwright-ui.js +864 -0
- package/cli/dist/core/adapters/pytest-adapter.d.ts +49 -0
- package/cli/dist/core/adapters/pytest-adapter.js +324 -0
- package/cli/dist/core/adapters/semgrep-sast.d.ts +99 -0
- package/cli/dist/core/adapters/semgrep-sast.js +322 -0
- package/cli/dist/core/adapters/unit-test-types.d.ts +119 -0
- package/cli/dist/core/adapters/unit-test-types.js +6 -0
- package/cli/dist/core/adapters/vitest-adapter.d.ts +46 -0
- package/cli/dist/core/adapters/vitest-adapter.js +272 -0
- package/cli/dist/core/adapters/zap-dast.d.ts +133 -0
- package/cli/dist/core/adapters/zap-dast.js +424 -0
- package/cli/dist/core/ai/anthropic-provider.d.ts +50 -0
- package/cli/dist/core/ai/anthropic-provider.js +223 -0
- package/cli/dist/core/ai/deepseek-provider.d.ts +81 -0
- package/cli/dist/core/ai/deepseek-provider.js +266 -0
- package/cli/dist/core/ai/index.d.ts +60 -0
- package/cli/dist/core/ai/index.js +18 -0
- package/cli/dist/core/ai/llm-client.d.ts +45 -0
- package/cli/dist/core/ai/llm-client.js +7 -0
- package/cli/dist/core/ai/mock-provider.d.ts +49 -0
- package/cli/dist/core/ai/mock-provider.js +121 -0
- package/cli/dist/core/ai/ollama-provider.d.ts +78 -0
- package/cli/dist/core/ai/ollama-provider.js +216 -0
- package/cli/dist/core/ai/openai-provider.d.ts +48 -0
- package/cli/dist/core/ai/openai-provider.js +200 -0
- package/cli/dist/core/ai/provider-factory.d.ts +160 -0
- package/cli/dist/core/ai/provider-factory.js +269 -0
- package/cli/dist/core/artifacts/index.d.ts +6 -0
- package/cli/dist/core/artifacts/index.js +6 -0
- package/cli/dist/core/artifacts/ui-artifacts.d.ts +133 -0
- package/cli/dist/core/artifacts/ui-artifacts.js +304 -0
- package/cli/dist/core/assertions/engine.d.ts +51 -0
- package/cli/dist/core/assertions/engine.js +530 -0
- package/cli/dist/core/assertions/index.d.ts +11 -0
- package/cli/dist/core/assertions/index.js +11 -0
- package/cli/dist/core/assertions/types.d.ts +121 -0
- package/cli/dist/core/assertions/types.js +37 -0
- package/cli/dist/core/auth/api-key-provider.d.ts +16 -0
- package/cli/dist/core/auth/api-key-provider.js +63 -0
- package/cli/dist/core/auth/aws-iam-provider.d.ts +35 -0
- package/cli/dist/core/auth/aws-iam-provider.js +177 -0
- package/cli/dist/core/auth/azure-ad-provider.d.ts +15 -0
- package/cli/dist/core/auth/azure-ad-provider.js +99 -0
- package/cli/dist/core/auth/basic-auth-provider.d.ts +26 -0
- package/cli/dist/core/auth/basic-auth-provider.js +111 -0
- package/cli/dist/core/auth/gcp-adc-provider.d.ts +27 -0
- package/cli/dist/core/auth/gcp-adc-provider.js +126 -0
- package/cli/dist/core/auth/index.d.ts +238 -0
- package/cli/dist/core/auth/index.js +82 -0
- package/cli/dist/core/auth/jwt-provider.d.ts +19 -0
- package/cli/dist/core/auth/jwt-provider.js +160 -0
- package/cli/dist/core/auth/manager.d.ts +84 -0
- package/cli/dist/core/auth/manager.js +230 -0
- package/cli/dist/core/auth/oauth2-provider.d.ts +17 -0
- package/cli/dist/core/auth/oauth2-provider.js +114 -0
- package/cli/dist/core/auth/totp-provider.d.ts +31 -0
- package/cli/dist/core/auth/totp-provider.js +134 -0
- package/cli/dist/core/auth/ui-login-provider.d.ts +26 -0
- package/cli/dist/core/auth/ui-login-provider.js +198 -0
- package/cli/dist/core/cache/index.d.ts +7 -0
- package/cli/dist/core/cache/index.js +6 -0
- package/cli/dist/core/cache/lru-cache.d.ts +203 -0
- package/cli/dist/core/cache/lru-cache.js +397 -0
- package/cli/dist/core/coverage/analyzer.d.ts +101 -0
- package/cli/dist/core/coverage/analyzer.js +415 -0
- package/cli/dist/core/coverage/collector.d.ts +74 -0
- package/cli/dist/core/coverage/collector.js +459 -0
- package/cli/dist/core/coverage/config.d.ts +37 -0
- package/cli/dist/core/coverage/config.js +156 -0
- package/cli/dist/core/coverage/index.d.ts +11 -0
- package/cli/dist/core/coverage/index.js +15 -0
- package/cli/dist/core/coverage/types.d.ts +267 -0
- package/cli/dist/core/coverage/types.js +6 -0
- package/cli/dist/core/coverage/vault.d.ts +95 -0
- package/cli/dist/core/coverage/vault.js +405 -0
- package/cli/dist/core/crawler/index.d.ts +57 -0
- package/cli/dist/core/crawler/index.js +281 -0
- package/cli/dist/core/crawler/journey-generator.d.ts +49 -0
- package/cli/dist/core/crawler/journey-generator.js +412 -0
- package/cli/dist/core/crawler/page-analyzer.d.ts +88 -0
- package/cli/dist/core/crawler/page-analyzer.js +709 -0
- package/cli/dist/core/crawler/selector-generator.d.ts +34 -0
- package/cli/dist/core/crawler/selector-generator.js +309 -0
- package/cli/dist/core/crawler/types.d.ts +353 -0
- package/cli/dist/core/crawler/types.js +6 -0
- package/cli/dist/core/dashboard/assets.d.ts +6 -0
- package/cli/dist/core/dashboard/assets.js +690 -0
- package/cli/dist/core/dashboard/index.d.ts +6 -0
- package/cli/dist/core/dashboard/index.js +5 -0
- package/cli/dist/core/dashboard/server.d.ts +72 -0
- package/cli/dist/core/dashboard/server.js +354 -0
- package/cli/dist/core/dashboard/types.d.ts +70 -0
- package/cli/dist/core/dashboard/types.js +5 -0
- package/cli/dist/core/discoverer/index.d.ts +115 -0
- package/cli/dist/core/discoverer/index.js +250 -0
- package/cli/dist/core/fixtures/index.d.ts +8 -0
- package/cli/dist/core/fixtures/index.js +8 -0
- package/cli/dist/core/fixtures/loader.d.ts +65 -0
- package/cli/dist/core/fixtures/loader.js +161 -0
- package/cli/dist/core/fixtures/resolver.d.ts +79 -0
- package/cli/dist/core/fixtures/resolver.js +181 -0
- package/cli/dist/core/fixtures/types.d.ts +75 -0
- package/cli/dist/core/fixtures/types.js +30 -0
- package/cli/dist/core/flakiness/index.d.ts +228 -0
- package/cli/dist/core/flakiness/index.js +384 -0
- package/cli/dist/core/generation/code-formatter.d.ts +111 -0
- package/cli/dist/core/generation/code-formatter.js +307 -0
- package/cli/dist/core/generation/code-generator.d.ts +144 -0
- package/cli/dist/core/generation/code-generator.js +293 -0
- package/cli/dist/core/generation/crawler-pack-generator.d.ts +44 -0
- package/cli/dist/core/generation/crawler-pack-generator.js +245 -0
- package/cli/dist/core/generation/generator.d.ts +40 -0
- package/cli/dist/core/generation/generator.js +76 -0
- package/cli/dist/core/generation/index.d.ts +32 -0
- package/cli/dist/core/generation/index.js +30 -0
- package/cli/dist/core/generation/pack-generator.d.ts +107 -0
- package/cli/dist/core/generation/pack-generator.js +416 -0
- package/cli/dist/core/generation/prompt-builder.d.ts +132 -0
- package/cli/dist/core/generation/prompt-builder.js +672 -0
- package/cli/dist/core/generation/source-analyzer.d.ts +213 -0
- package/cli/dist/core/generation/source-analyzer.js +657 -0
- package/cli/dist/core/generation/test-optimizer.d.ts +117 -0
- package/cli/dist/core/generation/test-optimizer.js +328 -0
- package/cli/dist/core/generation/types.d.ts +214 -0
- package/cli/dist/core/generation/types.js +4 -0
- package/cli/dist/core/hooks/compose.d.ts +61 -0
- package/cli/dist/core/hooks/compose.js +225 -0
- package/cli/dist/core/hooks/runner.d.ts +68 -0
- package/cli/dist/core/hooks/runner.js +303 -0
- package/cli/dist/core/index.d.ts +110 -0
- package/cli/dist/core/index.js +99 -0
- package/cli/dist/core/pack/migrator.d.ts +51 -0
- package/cli/dist/core/pack/migrator.js +304 -0
- package/cli/dist/core/pack/validator.d.ts +42 -0
- package/cli/dist/core/pack/validator.js +330 -0
- package/cli/dist/core/pack-v2/index.d.ts +9 -0
- package/cli/dist/core/pack-v2/index.js +8 -0
- package/cli/dist/core/pack-v2/loader.d.ts +63 -0
- package/cli/dist/core/pack-v2/loader.js +292 -0
- package/cli/dist/core/pack-v2/migrator.d.ts +62 -0
- package/cli/dist/core/pack-v2/migrator.js +505 -0
- package/cli/dist/core/pack-v2/validator.d.ts +65 -0
- package/cli/dist/core/pack-v2/validator.js +629 -0
- package/cli/dist/core/parallel/index.d.ts +6 -0
- package/cli/dist/core/parallel/index.js +6 -0
- package/cli/dist/core/parallel/parallel-runner.d.ts +107 -0
- package/cli/dist/core/parallel/parallel-runner.js +192 -0
- package/cli/dist/core/pom/base-page.d.ts +237 -0
- package/cli/dist/core/pom/base-page.js +354 -0
- package/cli/dist/core/pom/index.d.ts +22 -0
- package/cli/dist/core/pom/index.js +23 -0
- package/cli/dist/core/pom/loader.d.ts +118 -0
- package/cli/dist/core/pom/loader.js +382 -0
- package/cli/dist/core/pom/types.d.ts +112 -0
- package/cli/dist/core/pom/types.js +9 -0
- package/cli/dist/core/proof/bundle.d.ts +137 -0
- package/cli/dist/core/proof/bundle.js +160 -0
- package/cli/dist/core/proof/canonicalize.d.ts +47 -0
- package/cli/dist/core/proof/canonicalize.js +105 -0
- package/cli/dist/core/proof/index.d.ts +13 -0
- package/cli/dist/core/proof/index.js +18 -0
- package/cli/dist/core/proof/schema.d.ts +217 -0
- package/cli/dist/core/proof/schema.js +263 -0
- package/cli/dist/core/proof/signer.d.ts +111 -0
- package/cli/dist/core/proof/signer.js +226 -0
- package/cli/dist/core/proof/verifier.d.ts +97 -0
- package/cli/dist/core/proof/verifier.js +308 -0
- package/cli/dist/core/regression/detector.d.ts +107 -0
- package/cli/dist/core/regression/detector.js +497 -0
- package/cli/dist/core/regression/index.d.ts +9 -0
- package/cli/dist/core/regression/index.js +11 -0
- package/cli/dist/core/regression/trend-analyzer.d.ts +102 -0
- package/cli/dist/core/regression/trend-analyzer.js +345 -0
- package/cli/dist/core/regression/types.d.ts +222 -0
- package/cli/dist/core/regression/types.js +7 -0
- package/cli/dist/core/regression/vault.d.ts +87 -0
- package/cli/dist/core/regression/vault.js +289 -0
- package/cli/dist/core/repair/engine/fixer.d.ts +24 -0
- package/cli/dist/core/repair/engine/fixer.js +226 -0
- package/cli/dist/core/repair/engine/suggestion-engine.d.ts +18 -0
- package/cli/dist/core/repair/engine/suggestion-engine.js +187 -0
- package/cli/dist/core/repair/index.d.ts +10 -0
- package/cli/dist/core/repair/index.js +13 -0
- package/cli/dist/core/repair/repairer.d.ts +90 -0
- package/cli/dist/core/repair/repairer.js +284 -0
- package/cli/dist/core/repair/types.d.ts +91 -0
- package/cli/dist/core/repair/types.js +6 -0
- package/cli/dist/core/repair/utils/error-analyzer.d.ts +28 -0
- package/cli/dist/core/repair/utils/error-analyzer.js +264 -0
- package/cli/dist/core/reporting/html-reporter.d.ts +119 -0
- package/cli/dist/core/reporting/html-reporter.js +737 -0
- package/cli/dist/core/reporting/index.d.ts +6 -0
- package/cli/dist/core/reporting/index.js +6 -0
- package/cli/dist/core/retry/flakiness-integration.d.ts +60 -0
- package/cli/dist/core/retry/flakiness-integration.js +228 -0
- package/cli/dist/core/retry/index.d.ts +14 -0
- package/cli/dist/core/retry/index.js +16 -0
- package/cli/dist/core/retry/retry-engine.d.ts +80 -0
- package/cli/dist/core/retry/retry-engine.js +296 -0
- package/cli/dist/core/retry/types.d.ts +178 -0
- package/cli/dist/core/retry/types.js +52 -0
- package/cli/dist/core/retry/vault.d.ts +77 -0
- package/cli/dist/core/retry/vault.js +304 -0
- package/cli/dist/core/runner/e2e-helpers.d.ts +102 -0
- package/cli/dist/core/runner/e2e-helpers.js +153 -0
- package/cli/dist/core/runner/phase3-runner.d.ts +249 -0
- package/cli/dist/core/runner/phase3-runner.js +1323 -0
- package/cli/dist/core/schemas/pack.schema.json +236 -0
- package/cli/dist/core/secrets/crypto.d.ts +75 -0
- package/cli/dist/core/secrets/crypto.js +223 -0
- package/cli/dist/core/secrets/manager.d.ts +76 -0
- package/cli/dist/core/secrets/manager.js +219 -0
- package/cli/dist/core/security/redaction-patterns-extended.d.ts +27 -0
- package/cli/dist/core/security/redaction-patterns-extended.js +247 -0
- package/cli/dist/core/security/redactor.d.ts +71 -0
- package/cli/dist/core/security/redactor.js +279 -0
- package/cli/dist/core/self-healing/assertion-healer.d.ts +97 -0
- package/cli/dist/core/self-healing/assertion-healer.js +371 -0
- package/cli/dist/core/self-healing/engine.d.ts +122 -0
- package/cli/dist/core/self-healing/engine.js +538 -0
- package/cli/dist/core/self-healing/index.d.ts +10 -0
- package/cli/dist/core/self-healing/index.js +11 -0
- package/cli/dist/core/self-healing/selector-healer.d.ts +103 -0
- package/cli/dist/core/self-healing/selector-healer.js +372 -0
- package/cli/dist/core/self-healing/types.d.ts +152 -0
- package/cli/dist/core/self-healing/types.js +6 -0
- package/cli/dist/core/serve/diagnostics-collector.d.ts +32 -0
- package/cli/dist/core/serve/diagnostics-collector.js +149 -0
- package/cli/dist/core/serve/health-checker.d.ts +44 -0
- package/cli/dist/core/serve/health-checker.js +219 -0
- package/cli/dist/core/serve/index.d.ts +8 -0
- package/cli/dist/core/serve/index.js +8 -0
- package/cli/dist/core/serve/metrics-collector.d.ts +24 -0
- package/cli/dist/core/serve/metrics-collector.js +322 -0
- package/cli/dist/core/serve/process-manager.d.ts +36 -0
- package/cli/dist/core/serve/process-manager.js +213 -0
- package/cli/dist/core/serve/server.d.ts +36 -0
- package/cli/dist/core/serve/server.js +191 -0
- package/cli/dist/core/slo/config.d.ts +107 -0
- package/cli/dist/core/slo/config.js +360 -0
- package/cli/dist/core/slo/index.d.ts +11 -0
- package/cli/dist/core/slo/index.js +15 -0
- package/cli/dist/core/slo/sli-calculator.d.ts +92 -0
- package/cli/dist/core/slo/sli-calculator.js +364 -0
- package/cli/dist/core/slo/slo-tracker.d.ts +148 -0
- package/cli/dist/core/slo/slo-tracker.js +379 -0
- package/cli/dist/core/slo/types.d.ts +281 -0
- package/cli/dist/core/slo/types.js +7 -0
- package/cli/dist/core/slo/vault.d.ts +102 -0
- package/cli/dist/core/slo/vault.js +427 -0
- package/cli/dist/core/tui/index.d.ts +7 -0
- package/cli/dist/core/tui/index.js +6 -0
- package/cli/dist/core/tui/monitor.d.ts +92 -0
- package/cli/dist/core/tui/monitor.js +271 -0
- package/cli/dist/core/tui/renderer.d.ts +33 -0
- package/cli/dist/core/tui/renderer.js +218 -0
- package/cli/dist/core/tui/types.d.ts +63 -0
- package/cli/dist/core/tui/types.js +5 -0
- package/cli/dist/core/types/pack-v1.d.ts +251 -0
- package/cli/dist/core/types/pack-v1.js +5 -0
- package/cli/dist/core/types/pack-v2.d.ts +456 -0
- package/cli/dist/core/types/pack-v2.js +8 -0
- package/cli/dist/core/types/trust-score.d.ts +69 -0
- package/cli/dist/core/types/trust-score.js +191 -0
- package/cli/dist/core/vault/cas.d.ts +90 -0
- package/cli/dist/core/vault/cas.js +261 -0
- package/cli/dist/core/vault/index.d.ts +326 -0
- package/cli/dist/core/vault/index.js +1042 -0
- package/cli/dist/core/visual/index.d.ts +6 -0
- package/cli/dist/core/visual/index.js +6 -0
- package/cli/dist/core/visual/visual-regression.d.ts +113 -0
- package/cli/dist/core/visual/visual-regression.js +236 -0
- package/cli/dist/core/watch/index.d.ts +7 -0
- package/cli/dist/core/watch/index.js +6 -0
- package/cli/dist/core/watch/watch-mode.d.ts +213 -0
- package/cli/dist/core/watch/watch-mode.js +389 -0
- package/cli/dist/generators/index.d.ts +5 -0
- package/cli/dist/generators/index.js +5 -0
- package/cli/dist/generators/json-reporter.d.ts +10 -0
- package/cli/dist/generators/json-reporter.js +12 -0
- package/cli/dist/generators/test-generator.d.ts +18 -0
- package/cli/dist/generators/test-generator.js +78 -0
- package/cli/dist/index.d.ts +8 -0
- package/cli/dist/index.js +262 -0
- package/cli/dist/scanners/dom-scanner.d.ts +52 -0
- package/cli/dist/scanners/dom-scanner.js +296 -0
- package/cli/dist/scanners/index.d.ts +4 -0
- package/cli/dist/scanners/index.js +4 -0
- package/cli/dist/schemas/pack.schema.json +236 -0
- package/cli/dist/types/scan.d.ts +68 -0
- package/cli/dist/types/scan.js +4 -0
- package/cli/dist/utils/config.d.ts +35 -0
- package/cli/dist/utils/config.js +196 -0
- package/cli/package.json +1 -1
- package/package.json +26 -2
- package/.BETA_TESTING_FEEDBACK.md +0 -256
- package/.claude/settings.local.json +0 -154
- package/.editorconfig +0 -21
- package/.github/CODEOWNERS +0 -23
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -108
- package/.github/ISSUE_TEMPLATE/feedback_dx.yml +0 -121
- package/.github/dependabot.yml +0 -35
- package/.github/workflows/mcp-dx.yml +0 -106
- package/.github/workflows/release.yml +0 -26
- package/.github/workflows/test.yml +0 -93
- package/.nvmrc +0 -1
- package/.qa360/vault.db +0 -0
- package/.qa360/vault.db-shm +0 -0
- package/.qa360/vault.db-wal +0 -0
- package/.qa360-artifacts/.gitkeep +0 -0
- package/.qa360-artifacts/baselines/.gitkeep +0 -0
- package/.qa360-artifacts/cache/.gitkeep +0 -0
- package/.qa360-artifacts/reports/.gitkeep +0 -0
- package/.qa360-artifacts/screenshots/.gitkeep +0 -0
- package/.qa360-baselines/www_xyqo_ai.baseline.json +0 -33
- package/CODEOWNERS +0 -43
- package/NOVICE_USER_GUIDE.md +0 -272
- package/adapters/README.md +0 -46
- package/check-branches.sh +0 -32
- package/cli/.qa360/keys/ed25519.key +0 -1
- package/cli/.qa360/keys/ed25519.pub +0 -1
- package/cli/examples/README.md +0 -160
- package/cli/examples/accessibility.yml +0 -48
- package/cli/examples/api-basic.yml +0 -27
- package/cli/examples/complete.yml +0 -146
- package/cli/examples/crawler.yml +0 -38
- package/cli/examples/fullstack.yml +0 -78
- package/cli/examples/security.yml +0 -58
- package/cli/examples/ui-advanced.yml +0 -49
- package/cli/examples/ui-basic.yml +0 -24
- package/cli/scripts/bundle-for-npm.sh +0 -51
- package/cli/scripts/validate-package.js +0 -116
- package/cli/src/__tests__/commands/doctor.test.ts +0 -108
- package/cli/src/__tests__/index.test.ts +0 -15
- package/cli/src/cli-minimal.ts +0 -44
- package/cli/src/commands/__tests__/crawl.test.ts +0 -412
- package/cli/src/commands/__tests__/doctor-qa360-home.test.ts +0 -156
- package/cli/src/commands/__tests__/e2e-ui-tests.test.ts +0 -494
- package/cli/src/commands/__tests__/e2e.test.ts +0 -187
- package/cli/src/commands/__tests__/flakiness.test.ts +0 -528
- package/cli/src/commands/__tests__/generate.test.ts +0 -507
- package/cli/src/commands/__tests__/history.integration.test.ts +0 -358
- package/cli/src/commands/__tests__/history.test.ts +0 -433
- package/cli/src/commands/__tests__/monitor-realworld.test.ts +0 -199
- package/cli/src/commands/__tests__/monitor.test.ts +0 -81
- package/cli/src/commands/__tests__/ollama.test.ts +0 -529
- package/cli/src/commands/__tests__/repair.test.ts +0 -225
- package/cli/src/commands/__tests__/report.integration.test.ts +0 -167
- package/cli/src/commands/__tests__/report.test.ts +0 -294
- package/cli/src/commands/__tests__/report.vitest.ts +0 -288
- package/cli/src/commands/__tests__/retry.test.ts +0 -78
- package/cli/src/commands/__tests__/run.integration.test.ts +0 -240
- package/cli/src/commands/__tests__/run.test.ts +0 -346
- package/cli/src/commands/__tests__/run.vitest.ts +0 -301
- package/cli/src/commands/__tests__/secrets.test.ts +0 -114
- package/cli/src/commands/__tests__/serve.test.ts +0 -80
- package/cli/src/commands/__tests__/verify.test.ts +0 -103
- package/cli/src/commands/ai.ts +0 -702
- package/cli/src/commands/ask.ts +0 -678
- package/cli/src/commands/coverage.ts +0 -305
- package/cli/src/commands/crawl.ts +0 -155
- package/cli/src/commands/doctor.ts +0 -610
- package/cli/src/commands/examples.ts +0 -248
- package/cli/src/commands/explain.ts +0 -710
- package/cli/src/commands/flakiness.ts +0 -560
- package/cli/src/commands/generate.ts +0 -566
- package/cli/src/commands/history.ts +0 -914
- package/cli/src/commands/init.ts +0 -777
- package/cli/src/commands/monitor.ts +0 -270
- package/cli/src/commands/ollama.ts +0 -337
- package/cli/src/commands/pack.ts +0 -497
- package/cli/src/commands/regression.ts +0 -400
- package/cli/src/commands/repair.ts +0 -356
- package/cli/src/commands/report.ts +0 -463
- package/cli/src/commands/retry.ts +0 -380
- package/cli/src/commands/run.ts +0 -220
- package/cli/src/commands/scan.ts +0 -177
- package/cli/src/commands/secrets.ts +0 -340
- package/cli/src/commands/serve.ts +0 -194
- package/cli/src/commands/slo.ts +0 -387
- package/cli/src/commands/verify-temp-note.md +0 -11
- package/cli/src/commands/verify.ts +0 -322
- package/cli/src/generators/index.ts +0 -6
- package/cli/src/generators/json-reporter.ts +0 -15
- package/cli/src/generators/test-generator.ts +0 -90
- package/cli/src/index.ts +0 -289
- package/cli/src/scanners/dom-scanner.ts +0 -360
- package/cli/src/scanners/index.ts +0 -5
- package/cli/src/types/scan.ts +0 -84
- package/cli/src/utils/config.ts +0 -145
- package/cli/tsconfig.bundle.json +0 -12
- package/cli/tsconfig.json +0 -23
- package/cli/vitest.config.ts +0 -59
- package/core/src/__tests__/adapters-contract/adapters-contract.test.md +0 -156
- package/core/src/__tests__/index.test.ts +0 -31
- package/core/src/__tests__/integration/phase3.test.ts +0 -405
- package/core/src/__tests__/pack/validator.test.ts +0 -312
- package/core/src/__tests__/secrets/crypto.test.ts +0 -190
- package/core/src/__tests__/secrets/manager.test.ts +0 -316
- package/core/src/__tests__/security/redactor-phase3.test.ts +0 -233
- package/core/src/__tests__/serve/health-checker.test.ts +0 -155
- package/core/src/__tests__/serve/process-manager.test.ts +0 -213
- package/core/src/__tests__/serve/server.test.ts +0 -103
- package/core/src/__tests__/vault/cas.test.ts +0 -178
- package/core/src/__tests__/vault/vault.test.ts +0 -296
- package/core/src/adapters/__tests__/fixtures/jest-coverage.json +0 -8
- package/core/src/adapters/__tests__/fixtures/jest-results.json +0 -41
- package/core/src/adapters/__tests__/fixtures/pytest-junit.xml +0 -16
- package/core/src/adapters/__tests__/fixtures/vitest-coverage.json +0 -8
- package/core/src/adapters/__tests__/fixtures/vitest-results.json +0 -50
- package/core/src/adapters/__tests__/gitleaks-secrets.test.ts +0 -452
- package/core/src/adapters/__tests__/jest-adapter.test.ts +0 -276
- package/core/src/adapters/__tests__/k6-perf.test.ts +0 -538
- package/core/src/adapters/__tests__/osv-deps.test.ts +0 -471
- package/core/src/adapters/__tests__/playwright-native-api.test.ts +0 -792
- package/core/src/adapters/__tests__/playwright-ui-e2e.test.ts +0 -431
- package/core/src/adapters/__tests__/playwright-ui.test.ts +0 -1073
- package/core/src/adapters/__tests__/pytest-adapter.test.ts +0 -207
- package/core/src/adapters/__tests__/semgrep-sast.test.ts +0 -436
- package/core/src/adapters/__tests__/vitest-adapter.test.ts +0 -208
- package/core/src/adapters/__tests__/zap-dast.test.ts +0 -453
- package/core/src/adapters/gitleaks-secrets.ts +0 -521
- package/core/src/adapters/jest-adapter.ts +0 -306
- package/core/src/adapters/k6-perf.ts +0 -479
- package/core/src/adapters/osv-deps.ts +0 -467
- package/core/src/adapters/playwright-native-adapter.ts +0 -472
- package/core/src/adapters/playwright-native-api.ts +0 -619
- package/core/src/adapters/playwright-ui.ts +0 -1088
- package/core/src/adapters/pytest-adapter.ts +0 -472
- package/core/src/adapters/semgrep-sast.ts +0 -410
- package/core/src/adapters/unit-test-types.ts +0 -106
- package/core/src/adapters/vitest-adapter.ts +0 -295
- package/core/src/adapters/zap-dast.ts +0 -551
- package/core/src/ai/__tests__/deepseek-provider.test.ts +0 -586
- package/core/src/ai/__tests__/ollama-provider.test.ts +0 -641
- package/core/src/ai/anthropic-provider.ts +0 -262
- package/core/src/ai/deepseek-provider.ts +0 -315
- package/core/src/ai/index.ts +0 -87
- package/core/src/ai/llm-client.ts +0 -52
- package/core/src/ai/mock-provider.ts +0 -146
- package/core/src/ai/ollama-provider.ts +0 -269
- package/core/src/ai/openai-provider.ts +0 -240
- package/core/src/ai/provider-factory.ts +0 -408
- package/core/src/artifacts/README.md +0 -78
- package/core/src/artifacts/index.ts +0 -16
- package/core/src/artifacts/ui-artifacts.ts +0 -412
- package/core/src/assertions/__tests__/engine.test.ts +0 -360
- package/core/src/assertions/engine.ts +0 -577
- package/core/src/assertions/index.ts +0 -13
- package/core/src/assertions/types.ts +0 -229
- package/core/src/auth/__tests__/api-key-provider.test.ts +0 -282
- package/core/src/auth/__tests__/auth-manager.test.ts +0 -430
- package/core/src/auth/__tests__/basic-auth-provider.test.ts +0 -364
- package/core/src/auth/__tests__/cloud-providers.test.ts +0 -751
- package/core/src/auth/__tests__/jwt-provider.test.ts +0 -400
- package/core/src/auth/__tests__/oauth2-provider.test.ts +0 -383
- package/core/src/auth/__tests__/totp-provider.test.ts +0 -294
- package/core/src/auth/__tests__/ui-login-provider.test.ts +0 -323
- package/core/src/auth/api-key-provider.ts +0 -75
- package/core/src/auth/aws-iam-provider.ts +0 -212
- package/core/src/auth/azure-ad-provider.ts +0 -126
- package/core/src/auth/basic-auth-provider.ts +0 -133
- package/core/src/auth/gcp-adc-provider.ts +0 -146
- package/core/src/auth/index.ts +0 -342
- package/core/src/auth/jwt-provider.ts +0 -193
- package/core/src/auth/manager.ts +0 -281
- package/core/src/auth/oauth2-provider.ts +0 -141
- package/core/src/auth/totp-provider.ts +0 -163
- package/core/src/auth/ui-login-provider.ts +0 -242
- package/core/src/cache/__tests__/lru-cache.test.ts +0 -564
- package/core/src/cache/index.ts +0 -13
- package/core/src/cache/lru-cache.ts +0 -536
- package/core/src/crawler/__tests__/journey-generator.test.ts +0 -344
- package/core/src/crawler/__tests__/selector-generator.test.ts +0 -211
- package/core/src/crawler/index.ts +0 -335
- package/core/src/crawler/journey-generator.ts +0 -471
- package/core/src/crawler/page-analyzer.ts +0 -857
- package/core/src/crawler/selector-generator.ts +0 -280
- package/core/src/crawler/types.ts +0 -475
- package/core/src/dashboard/__tests__/real-world.test.ts +0 -430
- package/core/src/dashboard/__tests__/server.test.ts +0 -283
- package/core/src/dashboard/__tests__/types.test.ts +0 -208
- package/core/src/dashboard/assets.ts +0 -692
- package/core/src/dashboard/index.ts +0 -17
- package/core/src/dashboard/server.ts +0 -401
- package/core/src/dashboard/types.ts +0 -78
- package/core/src/discoverer/__tests__/test-discoverer.test.ts +0 -444
- package/core/src/discoverer/index.ts +0 -374
- package/core/src/fixtures/__tests__/loader.test.ts +0 -246
- package/core/src/fixtures/__tests__/resolver.test.ts +0 -334
- package/core/src/fixtures/index.ts +0 -9
- package/core/src/fixtures/loader.ts +0 -200
- package/core/src/fixtures/resolver.ts +0 -221
- package/core/src/fixtures/types.ts +0 -86
- package/core/src/flakiness/__tests__/flakiness.test.ts +0 -554
- package/core/src/flakiness/index.ts +0 -536
- package/core/src/generation/__tests__/code-formatter.test.ts +0 -170
- package/core/src/generation/__tests__/code-generator-contract.test.ts +0 -207
- package/core/src/generation/__tests__/code-generator.test.ts +0 -586
- package/core/src/generation/__tests__/crawler-pack-generator.test.ts +0 -479
- package/core/src/generation/__tests__/generation-e2e-b2bshop.test.ts +0 -718
- package/core/src/generation/__tests__/generation-integration.test.ts +0 -655
- package/core/src/generation/__tests__/pack-generator.test.ts +0 -408
- package/core/src/generation/__tests__/prompt-builder.test.ts +0 -200
- package/core/src/generation/__tests__/real-provider-integration.test.ts +0 -414
- package/core/src/generation/__tests__/source-analyzer.test.ts +0 -774
- package/core/src/generation/__tests__/test-optimizer.test.ts +0 -255
- package/core/src/generation/code-formatter.ts +0 -408
- package/core/src/generation/code-generator.ts +0 -470
- package/core/src/generation/crawler-pack-generator.ts +0 -289
- package/core/src/generation/generator.ts +0 -113
- package/core/src/generation/index.ts +0 -59
- package/core/src/generation/pack-generator.ts +0 -527
- package/core/src/generation/prompt-builder.ts +0 -772
- package/core/src/generation/source-analyzer.ts +0 -830
- package/core/src/generation/test-optimizer.ts +0 -474
- package/core/src/generation/types.ts +0 -217
- package/core/src/hooks/__tests__/compose.test.ts +0 -636
- package/core/src/hooks/__tests__/runner.test.ts +0 -478
- package/core/src/hooks/compose.ts +0 -268
- package/core/src/hooks/runner.ts +0 -364
- package/core/src/index.ts +0 -255
- package/core/src/pack/__tests__/migrator.test.ts +0 -594
- package/core/src/pack/__tests__/validator.test.ts +0 -759
- package/core/src/pack/migrator.ts +0 -353
- package/core/src/pack/validator.ts +0 -359
- package/core/src/pack-v2/__tests__/loader.test.ts +0 -533
- package/core/src/pack-v2/__tests__/migrator.test.ts +0 -455
- package/core/src/pack-v2/__tests__/validator.test.ts +0 -609
- package/core/src/pack-v2/index.ts +0 -41
- package/core/src/pack-v2/loader.ts +0 -358
- package/core/src/pack-v2/migrator.ts +0 -540
- package/core/src/pack-v2/validator.ts +0 -731
- package/core/src/parallel/README.md +0 -143
- package/core/src/parallel/index.ts +0 -16
- package/core/src/parallel/parallel-runner.ts +0 -282
- package/core/src/pom/__tests__/loader.test.ts +0 -378
- package/core/src/pom/base-page.ts +0 -425
- package/core/src/pom/index.ts +0 -45
- package/core/src/pom/loader.ts +0 -480
- package/core/src/pom/types.ts +0 -146
- package/core/src/proof/__tests__/proof-roundtrip.test.ts +0 -149
- package/core/src/proof/__tests__/schema-validation-manual.mjs +0 -211
- package/core/src/proof/__tests__/schema-validation.test.ts +0 -336
- package/core/src/proof/__tests__/signer.test.ts +0 -486
- package/core/src/proof/__tests__/temporal-regression.test.ts +0 -537
- package/core/src/proof/__tests__/verifier-advanced.test.ts +0 -588
- package/core/src/proof/__tests__/verifier.test.ts +0 -413
- package/core/src/proof/bundle.ts +0 -290
- package/core/src/proof/canonicalize.ts +0 -116
- package/core/src/proof/index.ts +0 -74
- package/core/src/proof/schema.ts +0 -285
- package/core/src/proof/signer.ts +0 -293
- package/core/src/proof/verifier.ts +0 -380
- package/core/src/regression/__tests__/detector.test.ts +0 -396
- package/core/src/regression/__tests__/trend-analyzer.test.ts +0 -300
- package/core/src/regression/detector.ts +0 -629
- package/core/src/regression/index.ts +0 -34
- package/core/src/regression/trend-analyzer.ts +0 -468
- package/core/src/regression/types.ts +0 -295
- package/core/src/regression/vault.ts +0 -419
- package/core/src/repair/__tests__/repairer.test.ts +0 -572
- package/core/src/repair/__tests__/types.test.ts +0 -302
- package/core/src/repair/engine/__tests__/fixer.test.ts +0 -482
- package/core/src/repair/engine/__tests__/suggestion-engine.test.ts +0 -395
- package/core/src/repair/engine/fixer.ts +0 -271
- package/core/src/repair/engine/suggestion-engine.ts +0 -234
- package/core/src/repair/index.ts +0 -53
- package/core/src/repair/repairer.ts +0 -376
- package/core/src/repair/types.ts +0 -119
- package/core/src/repair/utils/__tests__/error-analyzer.test.ts +0 -454
- package/core/src/repair/utils/error-analyzer.ts +0 -308
- package/core/src/reporting/README.md +0 -144
- package/core/src/reporting/html-reporter.ts +0 -835
- package/core/src/reporting/index.ts +0 -16
- package/core/src/retry/README.md +0 -192
- package/core/src/retry/__tests__/flakiness-integration.test.ts +0 -475
- package/core/src/retry/__tests__/retry-engine.test.ts +0 -424
- package/core/src/retry/flakiness-integration.ts +0 -267
- package/core/src/retry/index.ts +0 -48
- package/core/src/retry/retry-engine.ts +0 -368
- package/core/src/retry/types.ts +0 -208
- package/core/src/retry/vault.ts +0 -413
- package/core/src/runner/__tests__/flakiness-integration.test.ts +0 -566
- package/core/src/runner/__tests__/phase3-e2e-b2bshop.test.ts +0 -218
- package/core/src/runner/__tests__/phase3-e2e-reqres.test.ts +0 -199
- package/core/src/runner/__tests__/phase3-runner.test.ts +0 -1118
- package/core/src/runner/e2e-helpers.ts +0 -216
- package/core/src/runner/phase3-runner.ts +0 -1536
- package/core/src/schemas/gherkin-report.json +0 -122
- package/core/src/secrets/__tests__/crypto.test.ts +0 -180
- package/core/src/secrets/crypto.ts +0 -289
- package/core/src/secrets/manager.ts +0 -272
- package/core/src/security/__tests__/hardening.test.ts +0 -480
- package/core/src/security/redaction-patterns-extended.ts +0 -278
- package/core/src/security/redactor.ts +0 -326
- package/core/src/self-healing/assertion-healer.ts +0 -485
- package/core/src/self-healing/engine.ts +0 -626
- package/core/src/self-healing/index.ts +0 -33
- package/core/src/self-healing/selector-healer.ts +0 -488
- package/core/src/self-healing/types.ts +0 -193
- package/core/src/serve/diagnostics-collector.ts +0 -201
- package/core/src/serve/health-checker.ts +0 -274
- package/core/src/serve/index.ts +0 -9
- package/core/src/serve/metrics-collector.ts +0 -386
- package/core/src/serve/process-manager.ts +0 -265
- package/core/src/serve/server.ts +0 -230
- package/core/src/slo/config.ts +0 -408
- package/core/src/slo/index.ts +0 -68
- package/core/src/slo/sli-calculator.ts +0 -474
- package/core/src/slo/slo-tracker.ts +0 -481
- package/core/src/slo/types.ts +0 -408
- package/core/src/slo/vault.ts +0 -600
- package/core/src/tui/__tests__/monitor.test.ts +0 -336
- package/core/src/tui/__tests__/real-world.test.ts +0 -376
- package/core/src/tui/__tests__/renderer.test.ts +0 -201
- package/core/src/tui/__tests__/types.test.ts +0 -295
- package/core/src/tui/index.ts +0 -19
- package/core/src/tui/monitor.ts +0 -331
- package/core/src/tui/renderer.ts +0 -269
- package/core/src/tui/types.ts +0 -68
- package/core/src/types/pack-v1.ts +0 -305
- package/core/src/types/pack-v2.ts +0 -525
- package/core/src/types/trust-score.ts +0 -258
- package/core/src/vault/__tests__/flakiness-vault.test.ts +0 -562
- package/core/src/vault/__tests__/vault.test.ts +0 -259
- package/core/src/vault/cas.ts +0 -323
- package/core/src/vault/index.ts +0 -1361
- package/core/src/vault/schema.sql +0 -168
- package/core/src/visual/README.md +0 -185
- package/core/src/visual/index.ts +0 -14
- package/core/src/visual/visual-regression.ts +0 -347
- package/core/src/watch/__tests__/watch-mode.test.ts +0 -192
- package/core/src/watch/index.ts +0 -14
- package/core/src/watch/watch-mode.ts +0 -565
- package/core/tsconfig.json +0 -12
- package/core/vitest.config.ts +0 -52
- package/docs/ARCHITECTURE.md +0 -901
- package/docs/AUDIT-GLOBAL-DEC2025.md +0 -271
- package/docs/BETA_TESTING.md +0 -257
- package/docs/BETA_TESTING_PLAN.md +0 -727
- package/docs/CERTIFICATION-REPORT.md +0 -142
- package/docs/COMPLETE_AUDIT_REFACTORING.md +0 -965
- package/docs/DEVELOPMENT.md +0 -545
- package/docs/DEVELOPMENT_HISTORY.md +0 -345
- package/docs/LIMITATIONS.md +0 -176
- package/docs/MIGRATION.md +0 -303
- package/docs/OPTION_3_4_EXPLORATION.md +0 -1257
- package/docs/PHASE1_PERFORMANCE.md +0 -144
- package/docs/QA360_Cloud.postman_collection.json +0 -89
- package/docs/QA360_TESTING_PHILOSOPHY.md +0 -769
- package/docs/QA_TEST_PLAN.md +0 -727
- package/docs/README.md +0 -50
- package/docs/STATUS.md +0 -198
- package/docs/STRATEGIC_STUDY_GOOSE_INTEGRATION.md +0 -615
- package/docs/USER_GUIDE.md +0 -687
- package/docs/WORK-DONE-ADAPTER-TESTS.md +0 -136
- package/docs/adapters-security.md +0 -485
- package/docs/architecture-diagram.mmd +0 -168
- package/docs/archive/ARCH-01-DAY6-BUILD-FIXES.md +0 -396
- package/docs/archive/ARCH-01-DAY6-FINAL-STATUS.md +0 -324
- package/docs/archive/ARCH-01_MCP_MERGE_ANALYSIS.md +0 -644
- package/docs/archive/ARCH-01_NEXT_STEPS.md +0 -60
- package/docs/archive/BRANCH_PROTECTION.md +0 -183
- package/docs/archive/CI_LOCKDOWN_CHECKLIST.md +0 -222
- package/docs/archive/HANDOFF_TEST-01.md +0 -669
- package/docs/archive/LEGAL_READY_PLACEHOLDERS.md +0 -372
- package/docs/archive/NODE_UPGRADE_GUIDE.md +0 -188
- package/docs/archive/PHASE1_COMPLETION.md +0 -386
- package/docs/archive/PHASE2_COMPLETION.md +0 -404
- package/docs/archive/PHASE3_AND_4_FINAL.md +0 -360
- package/docs/archive/PHASE3_COMPLETE.md +0 -301
- package/docs/archive/PHASE3_STATUS.md +0 -255
- package/docs/archive/PRE-WEEK2-AUDIT.md +0 -364
- package/docs/archive/README.md +0 -16
- package/docs/archive/SCHEMA_AJV_2020_FIX.md +0 -245
- package/docs/archive/TEST-01_AUDIT_REPORT.md +0 -240
- package/docs/archive/TEST-01_COVERAGE_PLAN.md +0 -423
- package/docs/archive/obsolete-proposals/dom-element-discovery-mode.md +0 -250
- package/docs/archive/obsolete-proposals/qa360-comprehensive-test-plan.md +0 -1249
- package/docs/archive/obsolete-proposals/qa360-quick-start-guide.md +0 -298
- package/docs/archive/obsolete-proposals/technical-plan-dom-discovery.md +0 -870
- package/docs/budgets-advanced.md +0 -308
- package/docs/examples/history-export-gc.md +0 -285
- package/docs/examples/pack-v2-complete.yaml +0 -158
- package/docs/examples/pack-v2-quickstart.yaml +0 -24
- package/docs/examples/pack-v2-ui-login.yaml +0 -81
- package/docs/examples/qa360-report.json +0 -50
- package/docs/history.md +0 -565
- package/docs/hooks.md +0 -304
- package/docs/llm-providers.md +0 -512
- package/docs/mcp-server.md +0 -651
- package/docs/mcp-tools.md +0 -1131
- package/docs/pack-v1.md +0 -383
- package/docs/pack-v2.md +0 -558
- package/docs/page-objects.md +0 -366
- package/docs/proofs.md +0 -670
- package/docs/quickstart-5min.md +0 -257
- package/docs/readiness-ci.md +0 -654
- package/docs/rfc/README.md +0 -20
- package/docs/rfc/proof-bundle-v1.md +0 -787
- package/docs/secrets.md +0 -392
- package/docs/serve.md +0 -494
- package/docs/unit-test-adapters.md +0 -168
- package/docs/vault.md +0 -491
- package/e2e/qa360-e2e.test.ts +0 -696
- package/e2e/vitest.config.ts +0 -18
- package/examples/README.md +0 -50
- package/examples/ci/docker-compose-serve.yml +0 -375
- package/examples/ci/github-actions-serve.yml +0 -345
- package/examples/ci/gitlab-ci-serve.yml +0 -407
- package/examples/datasets/README.md +0 -101
- package/examples/datasets/b2bshop.ts +0 -155
- package/examples/datasets/index.ts +0 -57
- package/examples/datasets/reqres.ts +0 -195
- package/examples/fixtures-demo/fixtures/users.yml +0 -39
- package/examples/fixtures-demo/pack.yml +0 -71
- package/examples/future-api/README.md +0 -16
- package/examples/future-api/diag.js +0 -7
- package/examples/future-api/health.js +0 -4
- package/examples/future-api/packs.js +0 -13
- package/examples/future-api/runpack.js +0 -10
- package/examples/generation/README.md +0 -148
- package/examples/generation/pack-generator-example.js +0 -115
- package/examples/generation/source-analyzer-example.js +0 -115
- package/examples/httpbin/pack.yml +0 -59
- package/examples/load-testing/mcp-load.yml +0 -115
- package/examples/load-testing/mcp-stdio.yml +0 -95
- package/examples/mcp/claude-desktop-config.json +0 -33
- package/examples/mcp/claude-desktop.json +0 -16
- package/examples/mcp/conversation-sample.md +0 -131
- package/examples/mcp/demo-60s.md +0 -330
- package/examples/mcp/sample-conversation.jsonl +0 -21
- package/examples/mcp/vscode-settings.json +0 -22
- package/examples/pack-v2-complete.yml +0 -242
- package/examples/pack-v2-examples.md +0 -244
- package/examples/pack-v2-quickstart.yml +0 -55
- package/examples/packs-business/ecommerce-api.yml +0 -121
- package/examples/packs-business/saas-dashboard-ui.yml +0 -133
- package/examples/packs-conformance/compose-multi.yml +0 -174
- package/examples/packs-conformance/full.yml +0 -152
- package/examples/packs-conformance/heavy-artifacts.yml +0 -152
- package/examples/packs-conformance/minimal.yml +0 -71
- package/examples/packs-conformance/secrets-missing.yml +0 -97
- package/examples/packs-conformance/timeouts.yml +0 -77
- package/examples/pom-demo/README.md +0 -104
- package/examples/pom-demo/pack.yml +0 -60
- package/examples/pom-demo/pages/DashboardPage.page.ts +0 -73
- package/examples/pom-demo/pages/LoginPage.page.ts +0 -76
- package/examples/proofs/e2e-playwright-proof.json +0 -75
- package/examples/proofs/httpbin-proof.json +0 -69
- package/examples/proofs/multi-adapter-proof.json +0 -117
- package/examples/proofs/test-proof.json +0 -26
- package/examples/restful-api-dev/README.md +0 -102
- package/examples/restful-api-dev/restful-api-advanced.yml +0 -29
- package/examples/restful-api-dev/restful-api-basic.yml +0 -29
- package/examples/web-lite/.github/workflows/qa360-phase3.yml +0 -73
- package/examples/web-lite/api-mock/server.js +0 -258
- package/examples/web-lite/pack.yml +0 -71
- package/examples/web-lite/services.yml +0 -43
- package/examples/web-lite/web-content/healthz +0 -1
- package/examples/web-lite/web-content/index.html +0 -259
- package/packages/mcp/CHANGELOG.md +0 -109
- package/packages/mcp/IMPLEMENTATION_SUMMARY.md +0 -350
- package/packages/mcp/LICENSE +0 -21
- package/packages/mcp/QUICK_START.md +0 -291
- package/packages/mcp/README.md +0 -294
- package/packages/mcp/TELEMETRY.md +0 -220
- package/packages/mcp/package.json +0 -91
- package/packages/mcp/scripts/generate-sbom-fallback.cjs +0 -84
- package/packages/mcp/scripts/safe-postinstall.cjs +0 -32
- package/packages/mcp/src/__tests__/contract.test.ts +0 -902
- package/packages/mcp/src/cli/cli.ts +0 -137
- package/packages/mcp/src/cli/doctor.ts +0 -286
- package/packages/mcp/src/cli/fix.ts +0 -99
- package/packages/mcp/src/cli/init.ts +0 -233
- package/packages/mcp/src/cli/postinstall.ts +0 -14
- package/packages/mcp/src/cli/reset.ts +0 -44
- package/packages/mcp/src/cli/telemetry.ts +0 -166
- package/packages/mcp/src/cli/test-dx.ts +0 -94
- package/packages/mcp/src/cli/uninstall.ts +0 -80
- package/packages/mcp/src/cli/up.ts +0 -178
- package/packages/mcp/src/index.ts +0 -12
- package/packages/mcp/src/scripts/e2e-local.ts +0 -337
- package/packages/mcp/src/scripts/verify-settings.ts +0 -242
- package/packages/mcp/src/security/audit.ts +0 -244
- package/packages/mcp/src/security/manager.ts +0 -242
- package/packages/mcp/src/server/full-server.ts +0 -212
- package/packages/mcp/src/server/minimal-server.ts +0 -134
- package/packages/mcp/src/tools/history.ts +0 -388
- package/packages/mcp/src/tools/pack.ts +0 -449
- package/packages/mcp/src/tools/registry.ts +0 -638
- package/packages/mcp/src/tools/report.ts +0 -100
- package/packages/mcp/src/tools/run.ts +0 -268
- package/packages/mcp/src/tools/secrets.ts +0 -198
- package/packages/mcp/src/tools/serve.ts +0 -221
- package/packages/mcp/src/tools/triage.ts +0 -532
- package/packages/mcp/src/tools/types.ts +0 -26
- package/packages/mcp/src/tools/vault.ts +0 -164
- package/packages/mcp/src/tools/verify.ts +0 -166
- package/packages/mcp/src/types/index.ts +0 -311
- package/packages/mcp/src/types/mcp-stubs.ts +0 -83
- package/packages/mcp/tsconfig.json +0 -16
- package/playwright.config.ts +0 -20
- package/pnpm-workspace.yaml +0 -4
- package/run-test-and-push.sh +0 -20
- package/scripts/build-proof-cli.sh +0 -110
- package/scripts/ci/check-windows-paths.js +0 -92
- package/scripts/ci/invariants.sh +0 -124
- package/scripts/ci/make-final-bundle.js +0 -106
- package/scripts/ci/mcp-run-multipack.js +0 -305
- package/scripts/ci/run-pack-suite.sh +0 -103
- package/scripts/ci/run-phase7-final.sh +0 -190
- package/scripts/ci/slo-assert.js +0 -158
- package/scripts/ci/test-fault-tolerance.sh +0 -301
- package/scripts/install-mcp.sh +0 -66
- package/scripts/mcp-smoke.mjs +0 -27
- package/scripts/smoke.sh +0 -26
- package/scripts/stress-test.js +0 -288
- package/scripts/sync-version.mjs +0 -50
- package/scripts/validate-examples.mjs +0 -404
- package/scripts/validation/simple-pack-check.sh +0 -51
- package/scripts/validation/validate-universal-pack.mjs +0 -77
- package/scripts/verify-persistence.js +0 -127
- package/test-pack.yaml +0 -43
- package/test-results/.last-run.json +0 -4
- package/test-runner.mjs +0 -87
- package/tests/artifacts.spec.js +0 -147
- package/tests/contracts.spec.js +0 -239
- package/tests/e2e/assertions.test.mjs +0 -370
- package/tests/e2e/crawler.test.mjs +0 -451
- package/tests/e2e/playwright-plus-plus.test.mjs +0 -604
- package/tests/e2e/proof-bundle.test.mjs +0 -258
- package/tests/e2e/real-world/saucedemo.test.mjs +0 -714
- package/tests/e2e/real-world/the-internet-herokuapp.test.mjs +0 -760
- package/tests/e2e/ui-actions.test.mjs +0 -546
- package/tests/gherkin.e2e.spec.ts +0 -310
- package/tests/no-console-errors.spec.js +0 -136
- package/tests/pdf.spec.ts +0 -252
- package/tests/run-pack.spec.ts +0 -58
- package/tsconfig.base.json +0 -15
- package/tsconfig.build.json +0 -8
- package/tsconfig.json +0 -37
- package/tsconfig.test.json +0 -18
- package/typedoc.json +0 -37
- package/ui/README.md +0 -50
- package/verify-proof.mjs +0 -60
package/docs/budgets-advanced.md
DELETED
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
# QA360 Phase 4 - Budgets Avancés & Trust Score
|
|
2
|
-
|
|
3
|
-
Guide complet des budgets granulaires et du système de Trust Score pondéré.
|
|
4
|
-
|
|
5
|
-
## 📊 Schéma Budgets Avancés
|
|
6
|
-
|
|
7
|
-
### Structure Complète
|
|
8
|
-
|
|
9
|
-
```yaml
|
|
10
|
-
version: 1
|
|
11
|
-
name: "enterprise-app"
|
|
12
|
-
gates: ["ui", "api", "perf", "a11y", "sast", "deps", "secrets", "dast"]
|
|
13
|
-
|
|
14
|
-
budgets:
|
|
15
|
-
perf:
|
|
16
|
-
p95_ms: 800 # P95 response time budget
|
|
17
|
-
p90_ms: 600 # P90 response time budget
|
|
18
|
-
p50_ms: 300 # P50 response time budget
|
|
19
|
-
max_errors_rate: 0.1 # 10% max error rate
|
|
20
|
-
|
|
21
|
-
a11y:
|
|
22
|
-
min_score: 90 # Minimum accessibility score
|
|
23
|
-
max_violations:
|
|
24
|
-
critical: 0 # Zero critical violations
|
|
25
|
-
serious: 2 # Max 2 serious violations
|
|
26
|
-
moderate: 5 # Max 5 moderate violations
|
|
27
|
-
minor: 10 # Max 10 minor violations
|
|
28
|
-
|
|
29
|
-
security:
|
|
30
|
-
sast: # Static Application Security Testing
|
|
31
|
-
max_high: 0 # Zero high severity findings
|
|
32
|
-
max_critical: 0 # Zero critical findings
|
|
33
|
-
max_medium: 3 # Max 3 medium findings
|
|
34
|
-
|
|
35
|
-
deps: # Dependency vulnerabilities
|
|
36
|
-
max_high: 0 # Zero high severity vulns
|
|
37
|
-
max_critical: 0 # Zero critical vulns
|
|
38
|
-
max_medium: 2 # Max 2 medium vulns
|
|
39
|
-
|
|
40
|
-
secrets: # Secret detection
|
|
41
|
-
max_findings: 0 # Zero secrets in code
|
|
42
|
-
|
|
43
|
-
dast: # Dynamic Application Security Testing
|
|
44
|
-
max_high: 0 # Zero high severity alerts
|
|
45
|
-
max_critical: 0 # Zero critical alerts
|
|
46
|
-
max_medium: 1 # Max 1 medium alert
|
|
47
|
-
timeout_ms: 300000 # 5 minutes ZAP scan timeout
|
|
48
|
-
|
|
49
|
-
execution:
|
|
50
|
-
on_failure: "continue" # continue | stop
|
|
51
|
-
mode: "strict" # strict | soft
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### Modes d'Exécution
|
|
55
|
-
|
|
56
|
-
#### Mode Strict (Défaut)
|
|
57
|
-
```yaml
|
|
58
|
-
execution:
|
|
59
|
-
mode: "strict"
|
|
60
|
-
```
|
|
61
|
-
- Échec immédiat si budget dépassé
|
|
62
|
-
- Exit code 1 pour CI/CD
|
|
63
|
-
- Blocage du pipeline
|
|
64
|
-
|
|
65
|
-
#### Mode Soft
|
|
66
|
-
```yaml
|
|
67
|
-
execution:
|
|
68
|
-
mode: "soft"
|
|
69
|
-
```
|
|
70
|
-
- Transformation en warnings
|
|
71
|
-
- Dégradation du Trust Score
|
|
72
|
-
- Pipeline continue
|
|
73
|
-
|
|
74
|
-
## 🎯 Trust Score Pondéré
|
|
75
|
-
|
|
76
|
-
### Pondération Par Défaut
|
|
77
|
-
|
|
78
|
-
```typescript
|
|
79
|
-
const DEFAULT_WEIGHTS = {
|
|
80
|
-
ui: 20, // Tests UI/UX
|
|
81
|
-
api: 20, // Tests API
|
|
82
|
-
perf: 15, // Performance
|
|
83
|
-
a11y: 10, // Accessibilité
|
|
84
|
-
sast: 15, // Sécurité statique
|
|
85
|
-
deps: 10, // Vulnérabilités dépendances
|
|
86
|
-
secrets: 5, // Détection secrets
|
|
87
|
-
dast: 5 // Sécurité dynamique
|
|
88
|
-
};
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Personnalisation Weights
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
# Via CLI
|
|
95
|
-
qa360 run --url <url> --weights "ui:25,api:25,perf:20,sast:20,dast:10"
|
|
96
|
-
|
|
97
|
-
# Via pack.yml
|
|
98
|
-
weights:
|
|
99
|
-
ui: 25
|
|
100
|
-
api: 25
|
|
101
|
-
perf: 20
|
|
102
|
-
sast: 20
|
|
103
|
-
dast: 10
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### Calcul Trust Score
|
|
107
|
-
|
|
108
|
-
```
|
|
109
|
-
Trust Score = Σ(Gate Score × Weight) / 100
|
|
110
|
-
|
|
111
|
-
Exemple:
|
|
112
|
-
- UI: 85% × 20% = 17.0
|
|
113
|
-
- API: 90% × 20% = 18.0
|
|
114
|
-
- Perf: 75% × 15% = 11.25
|
|
115
|
-
- A11y: 95% × 10% = 9.5
|
|
116
|
-
- SAST: 100% × 15% = 15.0
|
|
117
|
-
- Deps: 100% × 10% = 10.0
|
|
118
|
-
- Secrets: 100% × 5% = 5.0
|
|
119
|
-
- DAST: 90% × 5% = 4.5
|
|
120
|
-
|
|
121
|
-
Trust Score = 90.25%
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
## 🔧 Exemples par Secteur
|
|
125
|
-
|
|
126
|
-
### E-commerce
|
|
127
|
-
```yaml
|
|
128
|
-
budgets:
|
|
129
|
-
perf:
|
|
130
|
-
p95_ms: 500 # Performance critique
|
|
131
|
-
max_errors_rate: 0.01
|
|
132
|
-
a11y:
|
|
133
|
-
min_score: 95 # Accessibilité légale
|
|
134
|
-
security:
|
|
135
|
-
sast:
|
|
136
|
-
max_high: 0 # Sécurité paiements
|
|
137
|
-
dast:
|
|
138
|
-
max_high: 0
|
|
139
|
-
|
|
140
|
-
weights:
|
|
141
|
-
perf: 30 # Performance prioritaire
|
|
142
|
-
ui: 25
|
|
143
|
-
sast: 20 # Sécurité critique
|
|
144
|
-
api: 15
|
|
145
|
-
dast: 10
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
### SaaS B2B
|
|
149
|
-
```yaml
|
|
150
|
-
budgets:
|
|
151
|
-
perf:
|
|
152
|
-
p95_ms: 1000 # Tolérance plus élevée
|
|
153
|
-
a11y:
|
|
154
|
-
min_score: 85 # Standard business
|
|
155
|
-
security:
|
|
156
|
-
sast:
|
|
157
|
-
max_high: 1 # Tolérance limitée
|
|
158
|
-
secrets:
|
|
159
|
-
max_findings: 0 # Zero secret
|
|
160
|
-
|
|
161
|
-
weights:
|
|
162
|
-
api: 30 # API-first
|
|
163
|
-
ui: 25
|
|
164
|
-
sast: 20
|
|
165
|
-
perf: 15
|
|
166
|
-
deps: 10
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
### Application Interne
|
|
170
|
-
```yaml
|
|
171
|
-
budgets:
|
|
172
|
-
perf:
|
|
173
|
-
p95_ms: 2000 # Réseau interne
|
|
174
|
-
a11y:
|
|
175
|
-
min_score: 70 # Standard interne
|
|
176
|
-
security:
|
|
177
|
-
sast:
|
|
178
|
-
max_high: 3 # Plus permissif
|
|
179
|
-
dast:
|
|
180
|
-
max_medium: 5
|
|
181
|
-
|
|
182
|
-
weights:
|
|
183
|
-
ui: 40 # UX prioritaire
|
|
184
|
-
api: 30
|
|
185
|
-
perf: 20
|
|
186
|
-
sast: 10
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
## 📈 Recommandations Trust Score
|
|
190
|
-
|
|
191
|
-
### Excellent (90-100%)
|
|
192
|
-
- ✅ Prêt pour production
|
|
193
|
-
- ✅ Qualité enterprise
|
|
194
|
-
- ✅ Sécurité optimale
|
|
195
|
-
|
|
196
|
-
### Good (80-89%)
|
|
197
|
-
- ✅ Production acceptable
|
|
198
|
-
- ⚠️ Améliorations mineures
|
|
199
|
-
- ✅ Sécurité correcte
|
|
200
|
-
|
|
201
|
-
### Acceptable (70-79%)
|
|
202
|
-
- ⚠️ Production conditionnelle
|
|
203
|
-
- 🔧 Améliorations requises
|
|
204
|
-
- ⚠️ Révision sécurité
|
|
205
|
-
|
|
206
|
-
### Needs Improvement (50-69%)
|
|
207
|
-
- ❌ Production non recommandée
|
|
208
|
-
- 🔧 Corrections majeures
|
|
209
|
-
- 🔍 Audit sécurité
|
|
210
|
-
|
|
211
|
-
### Critical (<50%)
|
|
212
|
-
- 🚨 Blocage production
|
|
213
|
-
- 🔧 Refactoring requis
|
|
214
|
-
- 🚨 Failles critiques
|
|
215
|
-
|
|
216
|
-
## 🛠️ Intégration CI/CD
|
|
217
|
-
|
|
218
|
-
### GitHub Actions
|
|
219
|
-
```yaml
|
|
220
|
-
- name: QA360 Quality Gate
|
|
221
|
-
run: |
|
|
222
|
-
qa360 run --url ${{ env.STAGING_URL }} \
|
|
223
|
-
--mode strict \
|
|
224
|
-
--weights "perf:25,sast:25,ui:20,api:20,dast:10" \
|
|
225
|
-
--report-format json
|
|
226
|
-
|
|
227
|
-
# Vérifier Trust Score
|
|
228
|
-
TRUST_SCORE=$(jq '.trustScore.weightedScore' qa360-report.json)
|
|
229
|
-
if [ $TRUST_SCORE -lt 80 ]; then
|
|
230
|
-
echo "Trust Score too low: $TRUST_SCORE%"
|
|
231
|
-
exit 1
|
|
232
|
-
fi
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### GitLab CI
|
|
236
|
-
```yaml
|
|
237
|
-
qa360_quality_gate:
|
|
238
|
-
script:
|
|
239
|
-
- qa360 run --url $STAGING_URL --mode strict
|
|
240
|
-
- qa360 report --format badge --output trust-score.svg
|
|
241
|
-
artifacts:
|
|
242
|
-
reports:
|
|
243
|
-
junit: qa360-junit.xml
|
|
244
|
-
paths:
|
|
245
|
-
- trust-score.svg
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
## 🎨 Badges & Rapports
|
|
249
|
-
|
|
250
|
-
### Badge Trust Score
|
|
251
|
-
```markdown
|
|
252
|
-

|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
### Rapport Exécutif
|
|
256
|
-
```bash
|
|
257
|
-
qa360 report --format executive --output executive-report.pdf
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
### Dashboard Multi-Projets
|
|
261
|
-
```bash
|
|
262
|
-
qa360 dashboard --input "./projects/**/qa360-report.json" \
|
|
263
|
-
--output dashboard.html \
|
|
264
|
-
--weights "perf:30,sast:25,ui:25,api:20"
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
## 🔍 Monitoring & Alertes
|
|
268
|
-
|
|
269
|
-
### Métriques Prometheus
|
|
270
|
-
```
|
|
271
|
-
qa360_trust_score{project="app",environment="prod"} 85
|
|
272
|
-
qa360_gate_score{gate="perf",project="app"} 78
|
|
273
|
-
qa360_budget_exceeded{gate="sast",severity="high"} 1
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
### Alertes Slack
|
|
277
|
-
```yaml
|
|
278
|
-
alerts:
|
|
279
|
-
trust_score_threshold: 80
|
|
280
|
-
webhook_url: "https://hooks.slack.com/..."
|
|
281
|
-
channels:
|
|
282
|
-
critical: "#security-alerts"
|
|
283
|
-
warning: "#qa-team"
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
## 📚 Bonnes Pratiques
|
|
287
|
-
|
|
288
|
-
### 1. Définition Budgets
|
|
289
|
-
- Commencer permissif, durcir progressivement
|
|
290
|
-
- Adapter selon criticité métier
|
|
291
|
-
- Réviser trimestriellement
|
|
292
|
-
|
|
293
|
-
### 2. Pondération Weights
|
|
294
|
-
- Aligner sur priorités business
|
|
295
|
-
- Ajuster selon phase projet
|
|
296
|
-
- Documenter les choix
|
|
297
|
-
|
|
298
|
-
### 3. Monitoring Continu
|
|
299
|
-
- Tracking évolution Trust Score
|
|
300
|
-
- Alertes sur régressions
|
|
301
|
-
- Rapports réguliers stakeholders
|
|
302
|
-
|
|
303
|
-
### 4. Amélioration Continue
|
|
304
|
-
- Analyse tendances
|
|
305
|
-
- Identification goulots
|
|
306
|
-
- Formation équipes
|
|
307
|
-
|
|
308
|
-
Ce système de budgets avancés et Trust Score pondéré transforme QA360 en véritable plateforme de gouvernance qualité enterprise.
|
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
# QA360 History Export & Garbage Collection Examples
|
|
2
|
-
|
|
3
|
-
This guide demonstrates how to use the `export` and `gc` subcommands of `qa360 history`.
|
|
4
|
-
|
|
5
|
-
## Table of Contents
|
|
6
|
-
- [Exporting Proof Bundles](#exporting-proof-bundles)
|
|
7
|
-
- [Garbage Collection](#garbage-collection)
|
|
8
|
-
- [Workflow Examples](#workflow-examples)
|
|
9
|
-
|
|
10
|
-
## Exporting Proof Bundles
|
|
11
|
-
|
|
12
|
-
The `export` command packages a complete test run into a portable ZIP archive for sharing or archival.
|
|
13
|
-
|
|
14
|
-
### Basic Export
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
# Export the latest run
|
|
18
|
-
qa360 history list --limit 1 # Get the run ID
|
|
19
|
-
qa360 history export abc123 --bundle my-proof.zip
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### What's Inside the Bundle?
|
|
23
|
-
|
|
24
|
-
The exported ZIP contains:
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
my-proof.zip
|
|
28
|
-
├── abc123-proof.json # Cryptographically signed proof
|
|
29
|
-
├── abc123-report.pdf # PDF report (if generated)
|
|
30
|
-
├── abc123-run.json # Complete run metadata
|
|
31
|
-
├── artifacts/ # All test artifacts
|
|
32
|
-
│ ├── screenshot1.png
|
|
33
|
-
│ ├── screenshot2.png
|
|
34
|
-
│ └── trace.json
|
|
35
|
-
└── VERIFICATION.json # Instructions for verification
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Use Cases
|
|
39
|
-
|
|
40
|
-
**1. Share proof with stakeholders:**
|
|
41
|
-
```bash
|
|
42
|
-
# Export critical production run
|
|
43
|
-
qa360 history pin def456 # Pin to protect from GC
|
|
44
|
-
qa360 history export def456 --bundle production-v1.2.0.zip
|
|
45
|
-
|
|
46
|
-
# Send to stakeholders
|
|
47
|
-
# Recipient can verify:
|
|
48
|
-
unzip production-v1.2.0.zip
|
|
49
|
-
qa360 verify def456-proof.json
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
**2. Archive important releases:**
|
|
53
|
-
```bash
|
|
54
|
-
# Export all pinned runs
|
|
55
|
-
for run_id in $(qa360 history list --json | jq -r '.[] | select(.pinned == 1) | .id'); do
|
|
56
|
-
qa360 history export $run_id --bundle "archive-${run_id}.zip"
|
|
57
|
-
done
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**3. CI/CD artifact preservation:**
|
|
61
|
-
```bash
|
|
62
|
-
# In your CI pipeline
|
|
63
|
-
qa360 run pack.yml
|
|
64
|
-
LATEST_RUN=$(qa360 history list --json --limit 1 | jq -r '.[0].id')
|
|
65
|
-
qa360 history export $LATEST_RUN --bundle build-${CI_COMMIT_SHA}.zip
|
|
66
|
-
# Upload to artifact storage
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Garbage Collection
|
|
70
|
-
|
|
71
|
-
The `gc` command removes old runs and orphaned artifacts to free disk space.
|
|
72
|
-
|
|
73
|
-
### Basic Garbage Collection
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
# Preview what will be deleted (safe)
|
|
77
|
-
qa360 history gc --dry-run
|
|
78
|
-
|
|
79
|
-
# Actually delete (keeps last 10 unpinned runs)
|
|
80
|
-
qa360 history gc
|
|
81
|
-
|
|
82
|
-
# Keep more runs
|
|
83
|
-
qa360 history gc --keep-last 50
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
### How GC Works
|
|
87
|
-
|
|
88
|
-
1. **Identifies runs to delete**: All unpinned runs beyond `--keep-last` threshold
|
|
89
|
-
2. **Protects pinned runs**: Pinned runs are NEVER deleted
|
|
90
|
-
3. **Tracks artifact references**: Scans all kept runs to find referenced artifacts
|
|
91
|
-
4. **Removes orphaned artifacts**: Deletes artifacts no longer referenced by any run
|
|
92
|
-
5. **Reports space freed**: Shows how much disk space was reclaimed
|
|
93
|
-
|
|
94
|
-
### Example Output
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
$ qa360 history gc --keep-last 10
|
|
98
|
-
|
|
99
|
-
🧹 Starting garbage collection...
|
|
100
|
-
|
|
101
|
-
📊 Total runs: 45
|
|
102
|
-
📌 Pinned runs: 3
|
|
103
|
-
📦 Unpinned runs: 42
|
|
104
|
-
|
|
105
|
-
🗑️ Runs to delete: 32 (keeping last 10)
|
|
106
|
-
🔗 Referenced artifacts: 127
|
|
107
|
-
🗑️ Orphaned artifacts: 48 (342.5 MB)
|
|
108
|
-
|
|
109
|
-
✅ Garbage collection completed!
|
|
110
|
-
Deleted: 32 runs
|
|
111
|
-
Freed: 342.5 MB
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### Dry Run Mode
|
|
115
|
-
|
|
116
|
-
Always preview before deleting:
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
$ qa360 history gc --keep-last 5 --dry-run
|
|
120
|
-
|
|
121
|
-
⚠️ DRY RUN MODE - No changes will be made
|
|
122
|
-
|
|
123
|
-
📊 Total runs: 20
|
|
124
|
-
📌 Pinned runs: 2
|
|
125
|
-
📦 Unpinned runs: 18
|
|
126
|
-
|
|
127
|
-
⚠️ DRY RUN - Would delete:
|
|
128
|
-
13 runs
|
|
129
|
-
25 orphaned artifacts (128.3 MB)
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Pinning Important Runs
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
# Pin production releases
|
|
136
|
-
qa360 history list --limit 20
|
|
137
|
-
qa360 history pin abc123 # v1.0.0 release
|
|
138
|
-
qa360 history pin def456 # v1.1.0 release
|
|
139
|
-
qa360 history pin ghi789 # v1.2.0 release
|
|
140
|
-
|
|
141
|
-
# Now GC will never delete these
|
|
142
|
-
qa360 history gc --keep-last 5
|
|
143
|
-
|
|
144
|
-
# Unpin when no longer needed
|
|
145
|
-
qa360 history unpin abc123
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
## Workflow Examples
|
|
149
|
-
|
|
150
|
-
### Scenario 1: Regular Maintenance
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
# Weekly cleanup task
|
|
154
|
-
qa360 history gc --keep-last 20
|
|
155
|
-
|
|
156
|
-
# Before cleanup, export important runs
|
|
157
|
-
qa360 history list --status passed --limit 5
|
|
158
|
-
qa360 history export abc123 --bundle weekly-backup.zip
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### Scenario 2: Release Management
|
|
162
|
-
|
|
163
|
-
```bash
|
|
164
|
-
# After deploying v2.0.0
|
|
165
|
-
qa360 run production-pack.yml
|
|
166
|
-
RELEASE_RUN=$(qa360 history list --limit 1 --json | jq -r '.[0].id')
|
|
167
|
-
|
|
168
|
-
# Pin and export
|
|
169
|
-
qa360 history pin $RELEASE_RUN
|
|
170
|
-
qa360 history export $RELEASE_RUN --bundle release-v2.0.0.zip
|
|
171
|
-
|
|
172
|
-
# Archive previous release
|
|
173
|
-
qa360 history unpin <previous-release-id>
|
|
174
|
-
|
|
175
|
-
# Clean up old runs
|
|
176
|
-
qa360 history gc --keep-last 10
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### Scenario 3: Compliance & Audit
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
# Export all passing runs from last month
|
|
183
|
-
qa360 history list --status passed --since 2025-01-01 --json | \
|
|
184
|
-
jq -r '.[].id' | \
|
|
185
|
-
while read run_id; do
|
|
186
|
-
qa360 history export $run_id --bundle "compliance/${run_id}.zip"
|
|
187
|
-
done
|
|
188
|
-
|
|
189
|
-
# Pin audit runs permanently
|
|
190
|
-
qa360 history pin audit-2025-q1
|
|
191
|
-
qa360 history pin audit-2025-q2
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### Scenario 4: Disk Space Management
|
|
195
|
-
|
|
196
|
-
```bash
|
|
197
|
-
# Check vault size
|
|
198
|
-
du -sh .qa360/
|
|
199
|
-
|
|
200
|
-
# Preview GC impact
|
|
201
|
-
qa360 history gc --dry-run --keep-last 5
|
|
202
|
-
|
|
203
|
-
# Aggressive cleanup (keep only last 3 runs)
|
|
204
|
-
qa360 history gc --keep-last 3
|
|
205
|
-
|
|
206
|
-
# Check space freed
|
|
207
|
-
du -sh .qa360/
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
## Best Practices
|
|
211
|
-
|
|
212
|
-
### 1. Pin Before GC
|
|
213
|
-
Always pin important runs before running garbage collection:
|
|
214
|
-
```bash
|
|
215
|
-
qa360 history pin <release-run-id>
|
|
216
|
-
qa360 history gc
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
### 2. Export Before Cleanup
|
|
220
|
-
For critical runs, export before aggressive cleanup:
|
|
221
|
-
```bash
|
|
222
|
-
qa360 history export <run-id> --bundle backup.zip
|
|
223
|
-
qa360 history gc --keep-last 5
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
### 3. Use Dry Run First
|
|
227
|
-
Always preview with `--dry-run` before actual deletion:
|
|
228
|
-
```bash
|
|
229
|
-
qa360 history gc --dry-run
|
|
230
|
-
# Review output
|
|
231
|
-
qa360 history gc
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
### 4. Automate with Cron
|
|
235
|
-
```bash
|
|
236
|
-
# Add to crontab (weekly cleanup)
|
|
237
|
-
0 2 * * 0 cd /path/to/project && qa360 history gc --keep-last 20
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### 5. CI/CD Integration
|
|
241
|
-
```yaml
|
|
242
|
-
# .github/workflows/qa360.yml
|
|
243
|
-
- name: Export proof bundle
|
|
244
|
-
run: |
|
|
245
|
-
LATEST_RUN=$(qa360 history list --json --limit 1 | jq -r '.[0].id')
|
|
246
|
-
qa360 history export $LATEST_RUN --bundle proof-${{ github.sha }}.zip
|
|
247
|
-
|
|
248
|
-
- name: Upload artifact
|
|
249
|
-
uses: actions/upload-artifact@v3
|
|
250
|
-
with:
|
|
251
|
-
name: qa360-proof
|
|
252
|
-
path: proof-${{ github.sha }}.zip
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
## Troubleshooting
|
|
256
|
-
|
|
257
|
-
### Export Fails: Run Not Found
|
|
258
|
-
```bash
|
|
259
|
-
$ qa360 history export abc123 --bundle proof.zip
|
|
260
|
-
❌ Run not found: abc123
|
|
261
|
-
|
|
262
|
-
# Solution: Check run ID
|
|
263
|
-
qa360 history list
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
### GC Deletes Too Much
|
|
267
|
-
```bash
|
|
268
|
-
# Solution: Increase --keep-last or pin important runs
|
|
269
|
-
qa360 history gc --keep-last 50
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
### Bundle Too Large
|
|
273
|
-
```bash
|
|
274
|
-
# Solution: Artifacts are large, consider selective export
|
|
275
|
-
# (Future feature: --exclude-artifacts flag)
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
## Summary
|
|
279
|
-
|
|
280
|
-
- **Export**: Create portable ZIP bundles for sharing and archival
|
|
281
|
-
- **GC**: Free disk space by removing old runs and orphaned artifacts
|
|
282
|
-
- **Pin**: Protect important runs from garbage collection
|
|
283
|
-
- **Dry Run**: Always preview before deletion with `--dry-run`
|
|
284
|
-
|
|
285
|
-
For more information, see the [main documentation](../README.md).
|