qa360 2.1.2 → 2.1.4

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.
Files changed (866) hide show
  1. package/.BETA_TESTING_FEEDBACK.md +256 -0
  2. package/.claude/settings.local.json +151 -0
  3. package/.editorconfig +21 -0
  4. package/.github/CODEOWNERS +23 -0
  5. package/.github/ISSUE_TEMPLATE/bug_report.yml +108 -0
  6. package/.github/ISSUE_TEMPLATE/feedback_dx.yml +121 -0
  7. package/.github/dependabot.yml +35 -0
  8. package/.github/workflows/mcp-dx.yml +106 -0
  9. package/.github/workflows/release.yml +26 -0
  10. package/.github/workflows/test.yml +93 -0
  11. package/.nvmrc +1 -0
  12. package/.qa360-artifacts/.gitkeep +0 -0
  13. package/.qa360-artifacts/baselines/.gitkeep +0 -0
  14. package/.qa360-artifacts/cache/.gitkeep +0 -0
  15. package/.qa360-artifacts/reports/.gitkeep +0 -0
  16. package/.qa360-artifacts/screenshots/.gitkeep +0 -0
  17. package/.qa360-baselines/www_xyqo_ai.baseline.json +33 -0
  18. package/CHANGELOG.md +234 -0
  19. package/CODEOWNERS +43 -0
  20. package/CONTRIBUTING.md +273 -0
  21. package/NOVICE_USER_GUIDE.md +272 -0
  22. package/QUICK_START.md +191 -0
  23. package/README.md +191 -163
  24. package/adapters/README.md +62 -0
  25. package/check-branches.sh +32 -0
  26. package/cli/CHANGELOG.md +84 -0
  27. package/cli/LICENSE +24 -0
  28. package/cli/README.md +222 -0
  29. package/cli/examples/README.md +160 -0
  30. package/cli/package.json +76 -0
  31. package/cli/scripts/bundle-for-npm.sh +51 -0
  32. package/cli/scripts/validate-package.js +116 -0
  33. package/cli/src/__tests__/commands/doctor.test.ts +97 -0
  34. package/cli/src/__tests__/index.test.ts +15 -0
  35. package/cli/src/cli-minimal.ts +44 -0
  36. package/cli/src/commands/__tests__/crawl.test.ts +412 -0
  37. package/cli/src/commands/__tests__/doctor-qa360-home.test.ts +156 -0
  38. package/cli/src/commands/__tests__/e2e-ui-tests.test.ts +494 -0
  39. package/cli/src/commands/__tests__/e2e.test.ts +187 -0
  40. package/cli/src/commands/__tests__/flakiness.test.ts +528 -0
  41. package/cli/src/commands/__tests__/generate.test.ts +507 -0
  42. package/cli/src/commands/__tests__/history.integration.test.ts +358 -0
  43. package/cli/src/commands/__tests__/history.test.ts +433 -0
  44. package/cli/src/commands/__tests__/monitor-realworld.test.ts +199 -0
  45. package/cli/src/commands/__tests__/monitor.test.ts +81 -0
  46. package/cli/src/commands/__tests__/ollama.test.ts +529 -0
  47. package/cli/src/commands/__tests__/repair.test.ts +225 -0
  48. package/cli/src/commands/__tests__/report.integration.test.ts +167 -0
  49. package/cli/src/commands/__tests__/report.test.ts +294 -0
  50. package/cli/src/commands/__tests__/report.vitest.ts +288 -0
  51. package/cli/src/commands/__tests__/retry.test.ts +78 -0
  52. package/cli/src/commands/__tests__/run.integration.test.ts +240 -0
  53. package/cli/src/commands/__tests__/run.test.ts +346 -0
  54. package/cli/src/commands/__tests__/run.vitest.ts +301 -0
  55. package/cli/src/commands/__tests__/secrets.test.ts +114 -0
  56. package/cli/src/commands/__tests__/serve.test.ts +80 -0
  57. package/cli/src/commands/__tests__/verify.test.ts +103 -0
  58. package/cli/src/commands/ai.ts +579 -0
  59. package/cli/src/commands/ask.ts +678 -0
  60. package/cli/src/commands/coverage.ts +305 -0
  61. package/cli/src/commands/crawl.ts +155 -0
  62. package/cli/src/commands/doctor.ts +610 -0
  63. package/cli/src/commands/examples.ts +248 -0
  64. package/cli/src/commands/explain.ts +710 -0
  65. package/cli/src/commands/flakiness.ts +560 -0
  66. package/cli/src/commands/generate.ts +566 -0
  67. package/cli/src/commands/history.ts +914 -0
  68. package/cli/src/commands/init.ts +763 -0
  69. package/cli/src/commands/monitor.ts +270 -0
  70. package/cli/src/commands/ollama.ts +337 -0
  71. package/cli/src/commands/pack.ts +497 -0
  72. package/cli/src/commands/regression.ts +400 -0
  73. package/cli/src/commands/repair.ts +356 -0
  74. package/cli/src/commands/report.ts +463 -0
  75. package/cli/src/commands/retry.ts +380 -0
  76. package/cli/src/commands/run.ts +218 -0
  77. package/cli/src/commands/scan.ts +177 -0
  78. package/cli/src/commands/secrets.ts +340 -0
  79. package/cli/src/commands/serve.ts +194 -0
  80. package/cli/src/commands/slo.ts +387 -0
  81. package/cli/src/commands/verify-temp-note.md +11 -0
  82. package/cli/src/commands/verify.ts +322 -0
  83. package/cli/src/generators/index.ts +6 -0
  84. package/cli/src/generators/json-reporter.ts +15 -0
  85. package/cli/src/generators/test-generator.ts +90 -0
  86. package/cli/src/index.ts +289 -0
  87. package/cli/src/scanners/dom-scanner.ts +360 -0
  88. package/cli/src/scanners/index.ts +5 -0
  89. package/cli/src/types/scan.ts +84 -0
  90. package/cli/src/utils/config.ts +145 -0
  91. package/cli/tsconfig.bundle.json +12 -0
  92. package/cli/tsconfig.json +23 -0
  93. package/cli/vitest.config.ts +57 -0
  94. package/core/LICENSE +24 -0
  95. package/core/README.md +64 -0
  96. package/core/package.json +81 -0
  97. package/core/src/__tests__/adapters-contract/adapters-contract.test.md +156 -0
  98. package/core/src/__tests__/index.test.ts +31 -0
  99. package/core/src/__tests__/integration/phase3.test.ts +405 -0
  100. package/core/src/__tests__/pack/validator.test.ts +312 -0
  101. package/core/src/__tests__/secrets/crypto.test.ts +190 -0
  102. package/core/src/__tests__/secrets/manager.test.ts +316 -0
  103. package/core/src/__tests__/security/redactor-phase3.test.ts +233 -0
  104. package/core/src/__tests__/serve/health-checker.test.ts +155 -0
  105. package/core/src/__tests__/serve/process-manager.test.ts +213 -0
  106. package/core/src/__tests__/serve/server.test.ts +103 -0
  107. package/core/src/__tests__/vault/cas.test.ts +178 -0
  108. package/core/src/__tests__/vault/vault.test.ts +296 -0
  109. package/core/src/adapters/__tests__/gitleaks-secrets.test.ts +452 -0
  110. package/core/src/adapters/__tests__/k6-perf.test.ts +538 -0
  111. package/core/src/adapters/__tests__/osv-deps.test.ts +471 -0
  112. package/core/src/adapters/__tests__/playwright-native-api.test.ts +792 -0
  113. package/core/src/adapters/__tests__/playwright-ui-e2e.test.ts +431 -0
  114. package/core/src/adapters/__tests__/playwright-ui.test.ts +1073 -0
  115. package/core/src/adapters/__tests__/semgrep-sast.test.ts +436 -0
  116. package/core/src/adapters/__tests__/zap-dast.test.ts +453 -0
  117. package/core/src/adapters/gitleaks-secrets.ts +521 -0
  118. package/core/src/adapters/k6-perf.ts +479 -0
  119. package/core/src/adapters/osv-deps.ts +467 -0
  120. package/core/src/adapters/playwright-native-adapter.ts +472 -0
  121. package/core/src/adapters/playwright-native-api.ts +619 -0
  122. package/core/src/adapters/playwright-ui.ts +1088 -0
  123. package/core/src/adapters/semgrep-sast.ts +410 -0
  124. package/core/src/adapters/zap-dast.ts +551 -0
  125. package/core/src/ai/__tests__/deepseek-provider.test.ts +586 -0
  126. package/core/src/ai/__tests__/ollama-provider.test.ts +641 -0
  127. package/core/src/ai/anthropic-provider.ts +248 -0
  128. package/core/src/ai/deepseek-provider.ts +301 -0
  129. package/core/src/ai/index.ts +87 -0
  130. package/core/src/ai/llm-client.ts +52 -0
  131. package/core/src/ai/mock-provider.ts +146 -0
  132. package/core/src/ai/ollama-provider.ts +255 -0
  133. package/core/src/ai/openai-provider.ts +226 -0
  134. package/core/src/ai/provider-factory.ts +408 -0
  135. package/core/src/artifacts/README.md +78 -0
  136. package/core/src/artifacts/index.ts +16 -0
  137. package/core/src/artifacts/ui-artifacts.ts +412 -0
  138. package/core/src/assertions/__tests__/engine.test.ts +360 -0
  139. package/core/src/assertions/engine.ts +577 -0
  140. package/core/src/assertions/index.ts +13 -0
  141. package/core/src/assertions/types.ts +229 -0
  142. package/core/src/auth/__tests__/api-key-provider.test.ts +282 -0
  143. package/core/src/auth/__tests__/auth-manager.test.ts +430 -0
  144. package/core/src/auth/__tests__/basic-auth-provider.test.ts +364 -0
  145. package/core/src/auth/__tests__/cloud-providers.test.ts +751 -0
  146. package/core/src/auth/__tests__/jwt-provider.test.ts +400 -0
  147. package/core/src/auth/__tests__/oauth2-provider.test.ts +383 -0
  148. package/core/src/auth/__tests__/totp-provider.test.ts +294 -0
  149. package/core/src/auth/__tests__/ui-login-provider.test.ts +323 -0
  150. package/core/src/auth/api-key-provider.ts +75 -0
  151. package/core/src/auth/aws-iam-provider.ts +212 -0
  152. package/core/src/auth/azure-ad-provider.ts +126 -0
  153. package/core/src/auth/basic-auth-provider.ts +133 -0
  154. package/core/src/auth/gcp-adc-provider.ts +146 -0
  155. package/core/src/auth/index.ts +342 -0
  156. package/core/src/auth/jwt-provider.ts +193 -0
  157. package/core/src/auth/manager.ts +281 -0
  158. package/core/src/auth/oauth2-provider.ts +141 -0
  159. package/core/src/auth/totp-provider.ts +163 -0
  160. package/core/src/auth/ui-login-provider.ts +242 -0
  161. package/core/src/cache/__tests__/lru-cache.test.ts +564 -0
  162. package/core/src/cache/index.ts +13 -0
  163. package/core/src/cache/lru-cache.ts +536 -0
  164. package/core/src/crawler/__tests__/journey-generator.test.ts +344 -0
  165. package/core/src/crawler/__tests__/selector-generator.test.ts +211 -0
  166. package/core/src/crawler/index.ts +335 -0
  167. package/core/src/crawler/journey-generator.ts +471 -0
  168. package/core/src/crawler/page-analyzer.ts +857 -0
  169. package/core/src/crawler/selector-generator.ts +280 -0
  170. package/core/src/crawler/types.ts +475 -0
  171. package/core/src/dashboard/__tests__/real-world.test.ts +430 -0
  172. package/core/src/dashboard/__tests__/server.test.ts +283 -0
  173. package/core/src/dashboard/__tests__/types.test.ts +208 -0
  174. package/core/src/dashboard/assets.ts +692 -0
  175. package/core/src/dashboard/index.ts +17 -0
  176. package/core/src/dashboard/server.ts +401 -0
  177. package/core/src/dashboard/types.ts +78 -0
  178. package/core/src/discoverer/__tests__/test-discoverer.test.ts +444 -0
  179. package/core/src/discoverer/index.ts +374 -0
  180. package/core/src/flakiness/__tests__/flakiness.test.ts +554 -0
  181. package/core/src/flakiness/index.ts +536 -0
  182. package/core/src/generation/__tests__/code-formatter.test.ts +170 -0
  183. package/core/src/generation/__tests__/code-generator-contract.test.ts +207 -0
  184. package/core/src/generation/__tests__/code-generator.test.ts +586 -0
  185. package/core/src/generation/__tests__/crawler-pack-generator.test.ts +479 -0
  186. package/core/src/generation/__tests__/generation-e2e-b2bshop.test.ts +718 -0
  187. package/core/src/generation/__tests__/generation-integration.test.ts +655 -0
  188. package/core/src/generation/__tests__/pack-generator.test.ts +408 -0
  189. package/core/src/generation/__tests__/prompt-builder.test.ts +200 -0
  190. package/core/src/generation/__tests__/real-provider-integration.test.ts +414 -0
  191. package/core/src/generation/__tests__/source-analyzer.test.ts +774 -0
  192. package/core/src/generation/__tests__/test-optimizer.test.ts +255 -0
  193. package/core/src/generation/code-formatter.ts +408 -0
  194. package/core/src/generation/code-generator.ts +470 -0
  195. package/core/src/generation/crawler-pack-generator.ts +289 -0
  196. package/core/src/generation/generator.ts +113 -0
  197. package/core/src/generation/index.ts +59 -0
  198. package/core/src/generation/pack-generator.ts +527 -0
  199. package/core/src/generation/prompt-builder.ts +772 -0
  200. package/core/src/generation/source-analyzer.ts +830 -0
  201. package/core/src/generation/test-optimizer.ts +474 -0
  202. package/core/src/generation/types.ts +217 -0
  203. package/core/src/hooks/__tests__/compose.test.ts +636 -0
  204. package/core/src/hooks/__tests__/runner.test.ts +478 -0
  205. package/core/src/hooks/compose.ts +268 -0
  206. package/core/src/hooks/runner.ts +364 -0
  207. package/core/src/index.ts +237 -0
  208. package/core/src/pack/__tests__/migrator.test.ts +594 -0
  209. package/core/src/pack/__tests__/validator.test.ts +759 -0
  210. package/core/src/pack/migrator.ts +353 -0
  211. package/core/src/pack/validator.ts +359 -0
  212. package/core/src/pack-v2/__tests__/loader.test.ts +533 -0
  213. package/core/src/pack-v2/__tests__/migrator.test.ts +455 -0
  214. package/core/src/pack-v2/__tests__/validator.test.ts +549 -0
  215. package/core/src/pack-v2/index.ts +41 -0
  216. package/core/src/pack-v2/loader.ts +321 -0
  217. package/core/src/pack-v2/migrator.ts +540 -0
  218. package/core/src/pack-v2/validator.ts +673 -0
  219. package/core/src/parallel/README.md +143 -0
  220. package/core/src/parallel/index.ts +16 -0
  221. package/core/src/parallel/parallel-runner.ts +282 -0
  222. package/core/src/proof/__tests__/proof-roundtrip.test.ts +149 -0
  223. package/core/src/proof/__tests__/schema-validation-manual.mjs +211 -0
  224. package/core/src/proof/__tests__/schema-validation.test.ts +336 -0
  225. package/core/src/proof/__tests__/signer.test.ts +486 -0
  226. package/core/src/proof/__tests__/temporal-regression.test.ts +537 -0
  227. package/core/src/proof/__tests__/verifier-advanced.test.ts +588 -0
  228. package/core/src/proof/__tests__/verifier.test.ts +413 -0
  229. package/core/src/proof/bundle.ts +290 -0
  230. package/core/src/proof/canonicalize.ts +116 -0
  231. package/core/src/proof/index.ts +74 -0
  232. package/core/src/proof/schema.ts +285 -0
  233. package/core/src/proof/signer.ts +293 -0
  234. package/core/src/proof/verifier.ts +380 -0
  235. package/core/src/regression/__tests__/detector.test.ts +396 -0
  236. package/core/src/regression/__tests__/trend-analyzer.test.ts +300 -0
  237. package/core/src/regression/detector.ts +629 -0
  238. package/core/src/regression/index.ts +34 -0
  239. package/core/src/regression/trend-analyzer.ts +468 -0
  240. package/core/src/regression/types.ts +295 -0
  241. package/core/src/regression/vault.ts +419 -0
  242. package/core/src/repair/__tests__/repairer.test.ts +572 -0
  243. package/core/src/repair/__tests__/types.test.ts +302 -0
  244. package/core/src/repair/engine/__tests__/fixer.test.ts +482 -0
  245. package/core/src/repair/engine/__tests__/suggestion-engine.test.ts +395 -0
  246. package/core/src/repair/engine/fixer.ts +271 -0
  247. package/core/src/repair/engine/suggestion-engine.ts +234 -0
  248. package/core/src/repair/index.ts +53 -0
  249. package/core/src/repair/repairer.ts +376 -0
  250. package/core/src/repair/types.ts +119 -0
  251. package/core/src/repair/utils/__tests__/error-analyzer.test.ts +454 -0
  252. package/core/src/repair/utils/error-analyzer.ts +308 -0
  253. package/core/src/reporting/README.md +144 -0
  254. package/core/src/reporting/html-reporter.ts +835 -0
  255. package/core/src/reporting/index.ts +16 -0
  256. package/core/src/retry/README.md +192 -0
  257. package/core/src/retry/__tests__/flakiness-integration.test.ts +475 -0
  258. package/core/src/retry/__tests__/retry-engine.test.ts +424 -0
  259. package/core/src/retry/flakiness-integration.ts +267 -0
  260. package/core/src/retry/index.ts +48 -0
  261. package/core/src/retry/retry-engine.ts +368 -0
  262. package/core/src/retry/types.ts +208 -0
  263. package/core/src/retry/vault.ts +413 -0
  264. package/core/src/runner/__tests__/flakiness-integration.test.ts +566 -0
  265. package/core/src/runner/__tests__/phase3-e2e-b2bshop.test.ts +218 -0
  266. package/core/src/runner/__tests__/phase3-e2e-reqres.test.ts +199 -0
  267. package/core/src/runner/__tests__/phase3-runner.test.ts +1118 -0
  268. package/core/src/runner/e2e-helpers.ts +216 -0
  269. package/core/src/runner/phase3-runner.ts +1236 -0
  270. package/core/src/schemas/gherkin-report.json +122 -0
  271. package/core/src/secrets/__tests__/crypto.test.ts +180 -0
  272. package/core/src/secrets/crypto.ts +289 -0
  273. package/core/src/secrets/manager.ts +272 -0
  274. package/core/src/security/__tests__/hardening.test.ts +480 -0
  275. package/core/src/security/redaction-patterns-extended.ts +278 -0
  276. package/core/src/security/redactor.ts +326 -0
  277. package/core/src/self-healing/assertion-healer.ts +485 -0
  278. package/core/src/self-healing/engine.ts +626 -0
  279. package/core/src/self-healing/index.ts +33 -0
  280. package/core/src/self-healing/selector-healer.ts +488 -0
  281. package/core/src/self-healing/types.ts +193 -0
  282. package/core/src/serve/diagnostics-collector.ts +201 -0
  283. package/core/src/serve/health-checker.ts +274 -0
  284. package/core/src/serve/index.ts +9 -0
  285. package/core/src/serve/metrics-collector.ts +386 -0
  286. package/core/src/serve/process-manager.ts +265 -0
  287. package/core/src/serve/server.ts +230 -0
  288. package/core/src/slo/config.ts +408 -0
  289. package/core/src/slo/index.ts +68 -0
  290. package/core/src/slo/sli-calculator.ts +474 -0
  291. package/core/src/slo/slo-tracker.ts +481 -0
  292. package/core/src/slo/types.ts +408 -0
  293. package/core/src/slo/vault.ts +600 -0
  294. package/core/src/tui/__tests__/monitor.test.ts +336 -0
  295. package/core/src/tui/__tests__/real-world.test.ts +376 -0
  296. package/core/src/tui/__tests__/renderer.test.ts +201 -0
  297. package/core/src/tui/__tests__/types.test.ts +295 -0
  298. package/core/src/tui/index.ts +19 -0
  299. package/core/src/tui/monitor.ts +331 -0
  300. package/core/src/tui/renderer.ts +269 -0
  301. package/core/src/tui/types.ts +68 -0
  302. package/core/src/types/pack-v1.ts +305 -0
  303. package/core/src/types/pack-v2.ts +491 -0
  304. package/core/src/types/trust-score.ts +258 -0
  305. package/core/src/vault/__tests__/flakiness-vault.test.ts +562 -0
  306. package/core/src/vault/__tests__/vault.test.ts +259 -0
  307. package/core/src/vault/cas.ts +323 -0
  308. package/core/src/vault/index.ts +1361 -0
  309. package/core/src/vault/schema.sql +168 -0
  310. package/core/src/visual/README.md +185 -0
  311. package/core/src/visual/index.ts +14 -0
  312. package/core/src/visual/visual-regression.ts +347 -0
  313. package/core/src/watch/__tests__/watch-mode.test.ts +192 -0
  314. package/core/src/watch/index.ts +14 -0
  315. package/core/src/watch/watch-mode.ts +565 -0
  316. package/core/tsconfig.json +12 -0
  317. package/core/vitest.config.ts +52 -0
  318. package/docs/ARCHITECTURE.md +901 -0
  319. package/docs/AUDIT-GLOBAL-DEC2025.md +271 -0
  320. package/docs/BETA_TESTING.md +257 -0
  321. package/docs/BETA_TESTING_PLAN.md +727 -0
  322. package/docs/CERTIFICATION-REPORT.md +142 -0
  323. package/docs/COMPLETE_AUDIT_REFACTORING.md +965 -0
  324. package/docs/DEVELOPMENT.md +331 -0
  325. package/docs/DEVELOPMENT_HISTORY.md +345 -0
  326. package/docs/LIMITATIONS.md +176 -0
  327. package/docs/MIGRATION.md +303 -0
  328. package/docs/OPTION_3_4_EXPLORATION.md +1257 -0
  329. package/docs/PHASE1_PERFORMANCE.md +144 -0
  330. package/docs/QA360_Cloud.postman_collection.json +89 -0
  331. package/docs/README.md +50 -0
  332. package/docs/STATUS.md +179 -0
  333. package/docs/STRATEGIC_STUDY_GOOSE_INTEGRATION.md +615 -0
  334. package/docs/USER_GUIDE.md +687 -0
  335. package/docs/WORK-DONE-ADAPTER-TESTS.md +136 -0
  336. package/docs/adapters-security.md +485 -0
  337. package/docs/architecture-diagram.mmd +168 -0
  338. package/docs/archive/ARCH-01-DAY6-BUILD-FIXES.md +396 -0
  339. package/docs/archive/ARCH-01-DAY6-FINAL-STATUS.md +324 -0
  340. package/docs/archive/ARCH-01_MCP_MERGE_ANALYSIS.md +644 -0
  341. package/docs/archive/ARCH-01_NEXT_STEPS.md +60 -0
  342. package/docs/archive/BRANCH_PROTECTION.md +183 -0
  343. package/docs/archive/CI_LOCKDOWN_CHECKLIST.md +222 -0
  344. package/docs/archive/HANDOFF_TEST-01.md +669 -0
  345. package/docs/archive/LEGAL_READY_PLACEHOLDERS.md +372 -0
  346. package/docs/archive/NODE_UPGRADE_GUIDE.md +188 -0
  347. package/docs/archive/PHASE1_COMPLETION.md +386 -0
  348. package/docs/archive/PHASE2_COMPLETION.md +404 -0
  349. package/docs/archive/PHASE3_AND_4_FINAL.md +360 -0
  350. package/docs/archive/PHASE3_COMPLETE.md +301 -0
  351. package/docs/archive/PHASE3_STATUS.md +255 -0
  352. package/docs/archive/PRE-WEEK2-AUDIT.md +364 -0
  353. package/docs/archive/README.md +33 -0
  354. package/docs/archive/SCHEMA_AJV_2020_FIX.md +245 -0
  355. package/docs/archive/TEST-01_AUDIT_REPORT.md +240 -0
  356. package/docs/archive/TEST-01_COVERAGE_PLAN.md +423 -0
  357. package/docs/budgets-advanced.md +308 -0
  358. package/docs/examples/history-export-gc.md +285 -0
  359. package/docs/examples/pack-v2-complete.yaml +158 -0
  360. package/docs/examples/pack-v2-quickstart.yaml +24 -0
  361. package/docs/examples/pack-v2-ui-login.yaml +81 -0
  362. package/docs/examples/qa360-report.json +50 -0
  363. package/docs/history.md +565 -0
  364. package/docs/hooks.md +304 -0
  365. package/docs/llm-providers.md +419 -0
  366. package/docs/mcp-server.md +651 -0
  367. package/docs/mcp-tools.md +1131 -0
  368. package/docs/pack-v1.md +383 -0
  369. package/docs/pack-v2.md +558 -0
  370. package/docs/proofs.md +670 -0
  371. package/docs/quickstart-5min.md +257 -0
  372. package/docs/readiness-ci.md +654 -0
  373. package/docs/rfc/README.md +20 -0
  374. package/docs/rfc/proof-bundle-v1.md +787 -0
  375. package/docs/secrets.md +392 -0
  376. package/docs/serve.md +494 -0
  377. package/docs/vault.md +491 -0
  378. package/e2e/qa360-e2e.test.ts +696 -0
  379. package/e2e/vitest.config.ts +18 -0
  380. package/examples/README.md +30 -140
  381. package/examples/ci/docker-compose-serve.yml +375 -0
  382. package/examples/ci/github-actions-serve.yml +345 -0
  383. package/examples/ci/gitlab-ci-serve.yml +407 -0
  384. package/examples/datasets/README.md +101 -0
  385. package/examples/datasets/b2bshop.ts +155 -0
  386. package/examples/datasets/index.ts +57 -0
  387. package/examples/datasets/reqres.ts +195 -0
  388. package/examples/future-api/README.md +16 -0
  389. package/examples/future-api/diag.js +7 -0
  390. package/examples/future-api/health.js +4 -0
  391. package/examples/future-api/packs.js +13 -0
  392. package/examples/future-api/runpack.js +10 -0
  393. package/examples/generation/README.md +148 -0
  394. package/examples/generation/pack-generator-example.js +115 -0
  395. package/examples/generation/source-analyzer-example.js +115 -0
  396. package/examples/httpbin/pack.yml +59 -0
  397. package/examples/load-testing/mcp-load.yml +115 -0
  398. package/examples/load-testing/mcp-stdio.yml +95 -0
  399. package/examples/mcp/claude-desktop-config.json +33 -0
  400. package/examples/mcp/claude-desktop.json +16 -0
  401. package/examples/mcp/conversation-sample.md +131 -0
  402. package/examples/mcp/demo-60s.md +330 -0
  403. package/examples/mcp/sample-conversation.jsonl +21 -0
  404. package/examples/mcp/vscode-settings.json +22 -0
  405. package/examples/pack-v2-complete.yml +242 -0
  406. package/examples/pack-v2-examples.md +244 -0
  407. package/examples/pack-v2-quickstart.yml +55 -0
  408. package/examples/packs-business/ecommerce-api.yml +121 -0
  409. package/examples/packs-business/saas-dashboard-ui.yml +133 -0
  410. package/examples/packs-conformance/compose-multi.yml +174 -0
  411. package/examples/packs-conformance/full.yml +152 -0
  412. package/examples/packs-conformance/heavy-artifacts.yml +152 -0
  413. package/examples/packs-conformance/minimal.yml +71 -0
  414. package/examples/packs-conformance/secrets-missing.yml +97 -0
  415. package/examples/packs-conformance/timeouts.yml +77 -0
  416. package/examples/proofs/e2e-playwright-proof.json +75 -0
  417. package/examples/proofs/httpbin-proof.json +69 -0
  418. package/examples/proofs/multi-adapter-proof.json +117 -0
  419. package/examples/proofs/test-proof.json +26 -0
  420. package/examples/restful-api-dev/README.md +102 -0
  421. package/examples/restful-api-dev/restful-api-advanced.yml +29 -0
  422. package/examples/restful-api-dev/restful-api-basic.yml +29 -0
  423. package/examples/web-lite/.github/workflows/qa360-phase3.yml +73 -0
  424. package/examples/web-lite/api-mock/server.js +258 -0
  425. package/examples/web-lite/pack.yml +71 -0
  426. package/examples/web-lite/services.yml +43 -0
  427. package/examples/web-lite/web-content/healthz +1 -0
  428. package/examples/web-lite/web-content/index.html +259 -0
  429. package/package.json +55 -45
  430. package/packages/mcp/CHANGELOG.md +109 -0
  431. package/packages/mcp/IMPLEMENTATION_SUMMARY.md +350 -0
  432. package/packages/mcp/LICENSE +21 -0
  433. package/packages/mcp/QUICK_START.md +291 -0
  434. package/packages/mcp/README.md +294 -0
  435. package/packages/mcp/TELEMETRY.md +220 -0
  436. package/packages/mcp/package.json +92 -0
  437. package/packages/mcp/scripts/generate-sbom-fallback.cjs +84 -0
  438. package/packages/mcp/scripts/safe-postinstall.cjs +32 -0
  439. package/packages/mcp/src/__tests__/contract.test.ts +902 -0
  440. package/packages/mcp/src/cli/cli.ts +137 -0
  441. package/packages/mcp/src/cli/doctor.ts +286 -0
  442. package/packages/mcp/src/cli/fix.ts +99 -0
  443. package/packages/mcp/src/cli/init.ts +233 -0
  444. package/packages/mcp/src/cli/postinstall.ts +14 -0
  445. package/packages/mcp/src/cli/reset.ts +44 -0
  446. package/packages/mcp/src/cli/telemetry.ts +166 -0
  447. package/packages/mcp/src/cli/test-dx.ts +94 -0
  448. package/packages/mcp/src/cli/uninstall.ts +80 -0
  449. package/packages/mcp/src/cli/up.ts +178 -0
  450. package/packages/mcp/src/index.ts +12 -0
  451. package/packages/mcp/src/scripts/e2e-local.ts +337 -0
  452. package/packages/mcp/src/scripts/verify-settings.ts +242 -0
  453. package/packages/mcp/src/security/audit.ts +244 -0
  454. package/packages/mcp/src/security/manager.ts +242 -0
  455. package/packages/mcp/src/server/full-server.ts +212 -0
  456. package/packages/mcp/src/server/minimal-server.ts +134 -0
  457. package/packages/mcp/src/tools/history.ts +388 -0
  458. package/packages/mcp/src/tools/pack.ts +449 -0
  459. package/packages/mcp/src/tools/registry.ts +638 -0
  460. package/packages/mcp/src/tools/report.ts +100 -0
  461. package/packages/mcp/src/tools/run.ts +268 -0
  462. package/packages/mcp/src/tools/secrets.ts +198 -0
  463. package/packages/mcp/src/tools/serve.ts +221 -0
  464. package/packages/mcp/src/tools/triage.ts +532 -0
  465. package/packages/mcp/src/tools/types.ts +26 -0
  466. package/packages/mcp/src/tools/vault.ts +164 -0
  467. package/packages/mcp/src/tools/verify.ts +166 -0
  468. package/packages/mcp/src/types/index.ts +311 -0
  469. package/packages/mcp/src/types/mcp-stubs.ts +83 -0
  470. package/packages/mcp/tsconfig.json +16 -0
  471. package/playwright.config.ts +20 -0
  472. package/pnpm-workspace.yaml +4 -0
  473. package/run-test-and-push.sh +20 -0
  474. package/scripts/build-proof-cli.sh +110 -0
  475. package/scripts/ci/check-windows-paths.js +92 -0
  476. package/scripts/ci/invariants.sh +124 -0
  477. package/scripts/ci/make-final-bundle.js +106 -0
  478. package/scripts/ci/mcp-run-multipack.js +305 -0
  479. package/scripts/ci/run-pack-suite.sh +103 -0
  480. package/scripts/ci/run-phase7-final.sh +190 -0
  481. package/scripts/ci/slo-assert.js +158 -0
  482. package/scripts/ci/test-fault-tolerance.sh +301 -0
  483. package/scripts/install-mcp.sh +66 -0
  484. package/scripts/mcp-smoke.mjs +27 -0
  485. package/scripts/smoke.sh +26 -0
  486. package/scripts/stress-test.js +288 -0
  487. package/scripts/validate-examples.mjs +404 -0
  488. package/scripts/validation/simple-pack-check.sh +51 -0
  489. package/scripts/validation/validate-universal-pack.mjs +77 -0
  490. package/scripts/verify-persistence.js +127 -0
  491. package/test-pack.yaml +43 -0
  492. package/test-results/.last-run.json +4 -0
  493. package/test-runner.mjs +87 -0
  494. package/tests/artifacts.spec.js +147 -0
  495. package/tests/contracts.spec.js +239 -0
  496. package/tests/e2e/assertions.test.mjs +370 -0
  497. package/tests/e2e/crawler.test.mjs +451 -0
  498. package/tests/e2e/playwright-plus-plus.test.mjs +604 -0
  499. package/tests/e2e/proof-bundle.test.mjs +258 -0
  500. package/tests/e2e/real-world/saucedemo.test.mjs +714 -0
  501. package/tests/e2e/real-world/the-internet-herokuapp.test.mjs +760 -0
  502. package/tests/e2e/ui-actions.test.mjs +546 -0
  503. package/tests/gherkin.e2e.spec.ts +310 -0
  504. package/tests/no-console-errors.spec.js +136 -0
  505. package/tests/pdf.spec.ts +252 -0
  506. package/tests/run-pack.spec.ts +58 -0
  507. package/tsconfig.base.json +15 -0
  508. package/tsconfig.build.json +8 -0
  509. package/tsconfig.json +37 -0
  510. package/tsconfig.test.json +18 -0
  511. package/typedoc.json +37 -0
  512. package/ui/README.md +51 -0
  513. package/verify-proof.mjs +60 -0
  514. package/dist/cli-minimal.d.ts +0 -6
  515. package/dist/cli-minimal.js +0 -36
  516. package/dist/commands/ai.d.ts +0 -41
  517. package/dist/commands/ai.js +0 -511
  518. package/dist/commands/ask.d.ts +0 -94
  519. package/dist/commands/ask.js +0 -582
  520. package/dist/commands/coverage.d.ts +0 -8
  521. package/dist/commands/coverage.js +0 -252
  522. package/dist/commands/crawl.d.ts +0 -24
  523. package/dist/commands/crawl.js +0 -121
  524. package/dist/commands/doctor.d.ts +0 -54
  525. package/dist/commands/doctor.js +0 -513
  526. package/dist/commands/examples.d.ts +0 -33
  527. package/dist/commands/examples.js +0 -193
  528. package/dist/commands/explain.d.ts +0 -27
  529. package/dist/commands/explain.js +0 -630
  530. package/dist/commands/flakiness.d.ts +0 -73
  531. package/dist/commands/flakiness.js +0 -435
  532. package/dist/commands/generate.d.ts +0 -66
  533. package/dist/commands/generate.js +0 -438
  534. package/dist/commands/history.d.ts +0 -76
  535. package/dist/commands/history.js +0 -757
  536. package/dist/commands/init.d.ts +0 -106
  537. package/dist/commands/init.js +0 -599
  538. package/dist/commands/monitor.d.ts +0 -27
  539. package/dist/commands/monitor.js +0 -225
  540. package/dist/commands/ollama.d.ts +0 -40
  541. package/dist/commands/ollama.js +0 -301
  542. package/dist/commands/pack.d.ts +0 -70
  543. package/dist/commands/pack.js +0 -413
  544. package/dist/commands/regression.d.ts +0 -8
  545. package/dist/commands/regression.js +0 -340
  546. package/dist/commands/repair.d.ts +0 -26
  547. package/dist/commands/repair.js +0 -307
  548. package/dist/commands/report.d.ts +0 -62
  549. package/dist/commands/report.js +0 -378
  550. package/dist/commands/retry.d.ts +0 -43
  551. package/dist/commands/retry.js +0 -275
  552. package/dist/commands/run.d.ts +0 -41
  553. package/dist/commands/run.js +0 -169
  554. package/dist/commands/scan.d.ts +0 -5
  555. package/dist/commands/scan.js +0 -155
  556. package/dist/commands/secrets.d.ts +0 -58
  557. package/dist/commands/secrets.js +0 -289
  558. package/dist/commands/serve.d.ts +0 -13
  559. package/dist/commands/serve.js +0 -156
  560. package/dist/commands/slo.d.ts +0 -8
  561. package/dist/commands/slo.js +0 -327
  562. package/dist/commands/verify.d.ts +0 -32
  563. package/dist/commands/verify.js +0 -278
  564. package/dist/core/adapters/gitleaks-secrets.d.ts +0 -114
  565. package/dist/core/adapters/gitleaks-secrets.js +0 -410
  566. package/dist/core/adapters/k6-perf.d.ts +0 -85
  567. package/dist/core/adapters/k6-perf.js +0 -398
  568. package/dist/core/adapters/osv-deps.d.ts +0 -123
  569. package/dist/core/adapters/osv-deps.js +0 -372
  570. package/dist/core/adapters/playwright-native-adapter.d.ts +0 -121
  571. package/dist/core/adapters/playwright-native-adapter.js +0 -339
  572. package/dist/core/adapters/playwright-native-api.d.ts +0 -183
  573. package/dist/core/adapters/playwright-native-api.js +0 -461
  574. package/dist/core/adapters/playwright-ui.d.ts +0 -197
  575. package/dist/core/adapters/playwright-ui.js +0 -840
  576. package/dist/core/adapters/semgrep-sast.d.ts +0 -99
  577. package/dist/core/adapters/semgrep-sast.js +0 -322
  578. package/dist/core/adapters/zap-dast.d.ts +0 -133
  579. package/dist/core/adapters/zap-dast.js +0 -424
  580. package/dist/core/ai/anthropic-provider.d.ts +0 -50
  581. package/dist/core/ai/anthropic-provider.js +0 -211
  582. package/dist/core/ai/deepseek-provider.d.ts +0 -81
  583. package/dist/core/ai/deepseek-provider.js +0 -254
  584. package/dist/core/ai/index.d.ts +0 -60
  585. package/dist/core/ai/index.js +0 -18
  586. package/dist/core/ai/llm-client.d.ts +0 -45
  587. package/dist/core/ai/llm-client.js +0 -7
  588. package/dist/core/ai/mock-provider.d.ts +0 -49
  589. package/dist/core/ai/mock-provider.js +0 -121
  590. package/dist/core/ai/ollama-provider.d.ts +0 -78
  591. package/dist/core/ai/ollama-provider.js +0 -192
  592. package/dist/core/ai/openai-provider.d.ts +0 -48
  593. package/dist/core/ai/openai-provider.js +0 -188
  594. package/dist/core/ai/provider-factory.d.ts +0 -160
  595. package/dist/core/ai/provider-factory.js +0 -269
  596. package/dist/core/artifacts/index.d.ts +0 -6
  597. package/dist/core/artifacts/index.js +0 -6
  598. package/dist/core/artifacts/ui-artifacts.d.ts +0 -133
  599. package/dist/core/artifacts/ui-artifacts.js +0 -304
  600. package/dist/core/assertions/engine.d.ts +0 -51
  601. package/dist/core/assertions/engine.js +0 -530
  602. package/dist/core/assertions/index.d.ts +0 -11
  603. package/dist/core/assertions/index.js +0 -11
  604. package/dist/core/assertions/types.d.ts +0 -121
  605. package/dist/core/assertions/types.js +0 -37
  606. package/dist/core/auth/api-key-provider.d.ts +0 -16
  607. package/dist/core/auth/api-key-provider.js +0 -63
  608. package/dist/core/auth/aws-iam-provider.d.ts +0 -35
  609. package/dist/core/auth/aws-iam-provider.js +0 -177
  610. package/dist/core/auth/azure-ad-provider.d.ts +0 -15
  611. package/dist/core/auth/azure-ad-provider.js +0 -99
  612. package/dist/core/auth/basic-auth-provider.d.ts +0 -26
  613. package/dist/core/auth/basic-auth-provider.js +0 -111
  614. package/dist/core/auth/gcp-adc-provider.d.ts +0 -27
  615. package/dist/core/auth/gcp-adc-provider.js +0 -126
  616. package/dist/core/auth/index.d.ts +0 -238
  617. package/dist/core/auth/index.js +0 -82
  618. package/dist/core/auth/jwt-provider.d.ts +0 -19
  619. package/dist/core/auth/jwt-provider.js +0 -160
  620. package/dist/core/auth/manager.d.ts +0 -84
  621. package/dist/core/auth/manager.js +0 -230
  622. package/dist/core/auth/oauth2-provider.d.ts +0 -17
  623. package/dist/core/auth/oauth2-provider.js +0 -114
  624. package/dist/core/auth/totp-provider.d.ts +0 -31
  625. package/dist/core/auth/totp-provider.js +0 -134
  626. package/dist/core/auth/ui-login-provider.d.ts +0 -26
  627. package/dist/core/auth/ui-login-provider.js +0 -198
  628. package/dist/core/cache/index.d.ts +0 -7
  629. package/dist/core/cache/index.js +0 -6
  630. package/dist/core/cache/lru-cache.d.ts +0 -203
  631. package/dist/core/cache/lru-cache.js +0 -397
  632. package/dist/core/core/coverage/analyzer.d.ts +0 -101
  633. package/dist/core/core/coverage/analyzer.js +0 -415
  634. package/dist/core/core/coverage/collector.d.ts +0 -74
  635. package/dist/core/core/coverage/collector.js +0 -459
  636. package/dist/core/core/coverage/config.d.ts +0 -37
  637. package/dist/core/core/coverage/config.js +0 -156
  638. package/dist/core/core/coverage/index.d.ts +0 -11
  639. package/dist/core/core/coverage/index.js +0 -15
  640. package/dist/core/core/coverage/types.d.ts +0 -267
  641. package/dist/core/core/coverage/types.js +0 -6
  642. package/dist/core/core/coverage/vault.d.ts +0 -95
  643. package/dist/core/core/coverage/vault.js +0 -405
  644. package/dist/core/coverage/analyzer.d.ts +0 -101
  645. package/dist/core/coverage/analyzer.js +0 -415
  646. package/dist/core/coverage/collector.d.ts +0 -74
  647. package/dist/core/coverage/collector.js +0 -459
  648. package/dist/core/coverage/config.d.ts +0 -37
  649. package/dist/core/coverage/config.js +0 -156
  650. package/dist/core/coverage/index.d.ts +0 -11
  651. package/dist/core/coverage/index.js +0 -15
  652. package/dist/core/coverage/types.d.ts +0 -267
  653. package/dist/core/coverage/types.js +0 -6
  654. package/dist/core/coverage/vault.d.ts +0 -95
  655. package/dist/core/coverage/vault.js +0 -405
  656. package/dist/core/crawler/index.d.ts +0 -57
  657. package/dist/core/crawler/index.js +0 -281
  658. package/dist/core/crawler/journey-generator.d.ts +0 -49
  659. package/dist/core/crawler/journey-generator.js +0 -412
  660. package/dist/core/crawler/page-analyzer.d.ts +0 -88
  661. package/dist/core/crawler/page-analyzer.js +0 -709
  662. package/dist/core/crawler/selector-generator.d.ts +0 -34
  663. package/dist/core/crawler/selector-generator.js +0 -240
  664. package/dist/core/crawler/types.d.ts +0 -353
  665. package/dist/core/crawler/types.js +0 -6
  666. package/dist/core/dashboard/assets.d.ts +0 -6
  667. package/dist/core/dashboard/assets.js +0 -690
  668. package/dist/core/dashboard/index.d.ts +0 -6
  669. package/dist/core/dashboard/index.js +0 -5
  670. package/dist/core/dashboard/server.d.ts +0 -72
  671. package/dist/core/dashboard/server.js +0 -354
  672. package/dist/core/dashboard/types.d.ts +0 -70
  673. package/dist/core/dashboard/types.js +0 -5
  674. package/dist/core/discoverer/index.d.ts +0 -115
  675. package/dist/core/discoverer/index.js +0 -250
  676. package/dist/core/flakiness/index.d.ts +0 -228
  677. package/dist/core/flakiness/index.js +0 -384
  678. package/dist/core/generation/code-formatter.d.ts +0 -111
  679. package/dist/core/generation/code-formatter.js +0 -307
  680. package/dist/core/generation/code-generator.d.ts +0 -144
  681. package/dist/core/generation/code-generator.js +0 -293
  682. package/dist/core/generation/crawler-pack-generator.d.ts +0 -44
  683. package/dist/core/generation/crawler-pack-generator.js +0 -231
  684. package/dist/core/generation/generator.d.ts +0 -40
  685. package/dist/core/generation/generator.js +0 -76
  686. package/dist/core/generation/index.d.ts +0 -32
  687. package/dist/core/generation/index.js +0 -30
  688. package/dist/core/generation/pack-generator.d.ts +0 -107
  689. package/dist/core/generation/pack-generator.js +0 -416
  690. package/dist/core/generation/prompt-builder.d.ts +0 -132
  691. package/dist/core/generation/prompt-builder.js +0 -672
  692. package/dist/core/generation/source-analyzer.d.ts +0 -213
  693. package/dist/core/generation/source-analyzer.js +0 -657
  694. package/dist/core/generation/test-optimizer.d.ts +0 -117
  695. package/dist/core/generation/test-optimizer.js +0 -328
  696. package/dist/core/generation/types.d.ts +0 -214
  697. package/dist/core/generation/types.js +0 -4
  698. package/dist/core/hooks/compose.d.ts +0 -61
  699. package/dist/core/hooks/compose.js +0 -225
  700. package/dist/core/hooks/runner.d.ts +0 -68
  701. package/dist/core/hooks/runner.js +0 -303
  702. package/dist/core/index.d.ts +0 -104
  703. package/dist/core/index.js +0 -91
  704. package/dist/core/pack/migrator.d.ts +0 -51
  705. package/dist/core/pack/migrator.js +0 -304
  706. package/dist/core/pack/validator.d.ts +0 -42
  707. package/dist/core/pack/validator.js +0 -322
  708. package/dist/core/pack-v2/index.d.ts +0 -9
  709. package/dist/core/pack-v2/index.js +0 -8
  710. package/dist/core/pack-v2/loader.d.ts +0 -62
  711. package/dist/core/pack-v2/loader.js +0 -259
  712. package/dist/core/pack-v2/migrator.d.ts +0 -61
  713. package/dist/core/pack-v2/migrator.js +0 -480
  714. package/dist/core/pack-v2/validator.d.ts +0 -61
  715. package/dist/core/pack-v2/validator.js +0 -577
  716. package/dist/core/parallel/index.d.ts +0 -6
  717. package/dist/core/parallel/index.js +0 -6
  718. package/dist/core/parallel/parallel-runner.d.ts +0 -107
  719. package/dist/core/parallel/parallel-runner.js +0 -192
  720. package/dist/core/proof/bundle.d.ts +0 -137
  721. package/dist/core/proof/bundle.js +0 -160
  722. package/dist/core/proof/canonicalize.d.ts +0 -47
  723. package/dist/core/proof/canonicalize.js +0 -105
  724. package/dist/core/proof/index.d.ts +0 -13
  725. package/dist/core/proof/index.js +0 -18
  726. package/dist/core/proof/schema.d.ts +0 -217
  727. package/dist/core/proof/schema.js +0 -263
  728. package/dist/core/proof/signer.d.ts +0 -111
  729. package/dist/core/proof/signer.js +0 -226
  730. package/dist/core/proof/verifier.d.ts +0 -97
  731. package/dist/core/proof/verifier.js +0 -308
  732. package/dist/core/regression/detector.d.ts +0 -107
  733. package/dist/core/regression/detector.js +0 -497
  734. package/dist/core/regression/index.d.ts +0 -9
  735. package/dist/core/regression/index.js +0 -11
  736. package/dist/core/regression/trend-analyzer.d.ts +0 -102
  737. package/dist/core/regression/trend-analyzer.js +0 -345
  738. package/dist/core/regression/types.d.ts +0 -222
  739. package/dist/core/regression/types.js +0 -7
  740. package/dist/core/regression/vault.d.ts +0 -87
  741. package/dist/core/regression/vault.js +0 -289
  742. package/dist/core/repair/engine/fixer.d.ts +0 -24
  743. package/dist/core/repair/engine/fixer.js +0 -226
  744. package/dist/core/repair/engine/suggestion-engine.d.ts +0 -18
  745. package/dist/core/repair/engine/suggestion-engine.js +0 -187
  746. package/dist/core/repair/index.d.ts +0 -10
  747. package/dist/core/repair/index.js +0 -13
  748. package/dist/core/repair/repairer.d.ts +0 -90
  749. package/dist/core/repair/repairer.js +0 -284
  750. package/dist/core/repair/types.d.ts +0 -91
  751. package/dist/core/repair/types.js +0 -6
  752. package/dist/core/repair/utils/error-analyzer.d.ts +0 -28
  753. package/dist/core/repair/utils/error-analyzer.js +0 -264
  754. package/dist/core/reporting/html-reporter.d.ts +0 -119
  755. package/dist/core/reporting/html-reporter.js +0 -737
  756. package/dist/core/reporting/index.d.ts +0 -6
  757. package/dist/core/reporting/index.js +0 -6
  758. package/dist/core/retry/flakiness-integration.d.ts +0 -60
  759. package/dist/core/retry/flakiness-integration.js +0 -228
  760. package/dist/core/retry/index.d.ts +0 -14
  761. package/dist/core/retry/index.js +0 -16
  762. package/dist/core/retry/retry-engine.d.ts +0 -80
  763. package/dist/core/retry/retry-engine.js +0 -296
  764. package/dist/core/retry/types.d.ts +0 -178
  765. package/dist/core/retry/types.js +0 -52
  766. package/dist/core/retry/vault.d.ts +0 -77
  767. package/dist/core/retry/vault.js +0 -304
  768. package/dist/core/runner/e2e-helpers.d.ts +0 -102
  769. package/dist/core/runner/e2e-helpers.js +0 -153
  770. package/dist/core/runner/phase3-runner.d.ts +0 -200
  771. package/dist/core/runner/phase3-runner.js +0 -1039
  772. package/dist/core/secrets/crypto.d.ts +0 -75
  773. package/dist/core/secrets/crypto.js +0 -223
  774. package/dist/core/secrets/manager.d.ts +0 -76
  775. package/dist/core/secrets/manager.js +0 -219
  776. package/dist/core/security/redaction-patterns-extended.d.ts +0 -27
  777. package/dist/core/security/redaction-patterns-extended.js +0 -247
  778. package/dist/core/security/redactor.d.ts +0 -71
  779. package/dist/core/security/redactor.js +0 -279
  780. package/dist/core/self-healing/assertion-healer.d.ts +0 -97
  781. package/dist/core/self-healing/assertion-healer.js +0 -371
  782. package/dist/core/self-healing/engine.d.ts +0 -122
  783. package/dist/core/self-healing/engine.js +0 -538
  784. package/dist/core/self-healing/index.d.ts +0 -10
  785. package/dist/core/self-healing/index.js +0 -11
  786. package/dist/core/self-healing/selector-healer.d.ts +0 -103
  787. package/dist/core/self-healing/selector-healer.js +0 -372
  788. package/dist/core/self-healing/types.d.ts +0 -152
  789. package/dist/core/self-healing/types.js +0 -6
  790. package/dist/core/serve/diagnostics-collector.d.ts +0 -32
  791. package/dist/core/serve/diagnostics-collector.js +0 -149
  792. package/dist/core/serve/health-checker.d.ts +0 -44
  793. package/dist/core/serve/health-checker.js +0 -219
  794. package/dist/core/serve/index.d.ts +0 -8
  795. package/dist/core/serve/index.js +0 -8
  796. package/dist/core/serve/metrics-collector.d.ts +0 -24
  797. package/dist/core/serve/metrics-collector.js +0 -322
  798. package/dist/core/serve/process-manager.d.ts +0 -36
  799. package/dist/core/serve/process-manager.js +0 -213
  800. package/dist/core/serve/server.d.ts +0 -36
  801. package/dist/core/serve/server.js +0 -191
  802. package/dist/core/slo/config.d.ts +0 -107
  803. package/dist/core/slo/config.js +0 -360
  804. package/dist/core/slo/index.d.ts +0 -11
  805. package/dist/core/slo/index.js +0 -15
  806. package/dist/core/slo/sli-calculator.d.ts +0 -92
  807. package/dist/core/slo/sli-calculator.js +0 -364
  808. package/dist/core/slo/slo-tracker.d.ts +0 -148
  809. package/dist/core/slo/slo-tracker.js +0 -379
  810. package/dist/core/slo/types.d.ts +0 -281
  811. package/dist/core/slo/types.js +0 -7
  812. package/dist/core/slo/vault.d.ts +0 -102
  813. package/dist/core/slo/vault.js +0 -427
  814. package/dist/core/tui/index.d.ts +0 -7
  815. package/dist/core/tui/index.js +0 -6
  816. package/dist/core/tui/monitor.d.ts +0 -92
  817. package/dist/core/tui/monitor.js +0 -271
  818. package/dist/core/tui/renderer.d.ts +0 -33
  819. package/dist/core/tui/renderer.js +0 -218
  820. package/dist/core/tui/types.d.ts +0 -63
  821. package/dist/core/tui/types.js +0 -5
  822. package/dist/core/types/pack-v1.d.ts +0 -251
  823. package/dist/core/types/pack-v1.js +0 -5
  824. package/dist/core/types/pack-v2.d.ts +0 -425
  825. package/dist/core/types/pack-v2.js +0 -8
  826. package/dist/core/types/trust-score.d.ts +0 -69
  827. package/dist/core/types/trust-score.js +0 -191
  828. package/dist/core/vault/cas.d.ts +0 -90
  829. package/dist/core/vault/cas.js +0 -261
  830. package/dist/core/vault/index.d.ts +0 -326
  831. package/dist/core/vault/index.js +0 -1042
  832. package/dist/core/visual/index.d.ts +0 -6
  833. package/dist/core/visual/index.js +0 -6
  834. package/dist/core/visual/visual-regression.d.ts +0 -113
  835. package/dist/core/visual/visual-regression.js +0 -236
  836. package/dist/core/watch/index.d.ts +0 -7
  837. package/dist/core/watch/index.js +0 -6
  838. package/dist/core/watch/watch-mode.d.ts +0 -213
  839. package/dist/core/watch/watch-mode.js +0 -389
  840. package/dist/generators/index.d.ts +0 -5
  841. package/dist/generators/index.js +0 -5
  842. package/dist/generators/json-reporter.d.ts +0 -10
  843. package/dist/generators/json-reporter.js +0 -12
  844. package/dist/generators/test-generator.d.ts +0 -18
  845. package/dist/generators/test-generator.js +0 -78
  846. package/dist/index.d.ts +0 -8
  847. package/dist/index.js +0 -246
  848. package/dist/scanners/dom-scanner.d.ts +0 -52
  849. package/dist/scanners/dom-scanner.js +0 -296
  850. package/dist/scanners/index.d.ts +0 -4
  851. package/dist/scanners/index.js +0 -4
  852. package/dist/schemas/pack.schema.json +0 -236
  853. package/dist/types/scan.d.ts +0 -68
  854. package/dist/types/scan.js +0 -4
  855. package/dist/utils/config.d.ts +0 -5
  856. package/dist/utils/config.js +0 -136
  857. /package/{bin → cli/bin}/qa360.js +0 -0
  858. /package/{examples → cli/examples}/accessibility.yml +0 -0
  859. /package/{examples → cli/examples}/api-basic.yml +0 -0
  860. /package/{examples → cli/examples}/complete.yml +0 -0
  861. /package/{examples → cli/examples}/crawler.yml +0 -0
  862. /package/{examples → cli/examples}/fullstack.yml +0 -0
  863. /package/{examples → cli/examples}/security.yml +0 -0
  864. /package/{examples → cli/examples}/ui-advanced.yml +0 -0
  865. /package/{examples → cli/examples}/ui-basic.yml +0 -0
  866. /package/{dist/core → core}/schemas/pack.schema.json +0 -0
@@ -0,0 +1,331 @@
1
+ # QA360 - Development Guide
2
+
3
+ **For contributors and developers working on QA360 codebase**
4
+
5
+ ---
6
+
7
+ ## Quick Start
8
+
9
+ ```bash
10
+ # Clone and install
11
+ git clone https://github.com/xyqotech/qa360.git
12
+ cd qa360
13
+ pnpm install
14
+
15
+ # Build
16
+ pnpm build
17
+
18
+ # Run tests
19
+ pnpm test
20
+
21
+ # Run CLI locally
22
+ node cli/bin/qa360.js --help
23
+ ```
24
+
25
+ ---
26
+
27
+ ## Project Structure
28
+
29
+ ```
30
+ qa360/
31
+ ├── cli/ # @qa360/cli - User-facing CLI
32
+ │ ├── src/
33
+ │ │ ├── commands/ # CLI command implementations
34
+ │ │ └── index.ts # CLI entry point
35
+ │ └── package.json
36
+
37
+ ├── core/ # qa360-core - Core engine (no CLI deps)
38
+ │ ├── src/
39
+ │ │ ├── ai/ # Multi-provider LLM
40
+ │ │ ├── auth/ # 9 auth providers
41
+ │ │ ├── generation/ # AI test generation
42
+ │ │ ├── pack-v2/ # Pack v2 validation
43
+ │ │ ├── repair/ # Auto-repair module
44
+ │ │ ├── tdi/ # Test Data Intelligence
45
+ │ │ ├── tui/ # Terminal UI (Phase 8)
46
+ │ │ ├── dashboard/ # Web dashboard (Phase 8)
47
+ │ │ ├── vault/ # Evidence vault (SQLite)
48
+ │ │ ├── proof/ # Ed25519 signing
49
+ │ │ ├── adapters/ # Test adapters
50
+ │ │ └── index.ts # Core exports
51
+ │ └── package.json
52
+
53
+ ├── packages/mcp/ # MCP server integration
54
+ ├── docs/ # Documentation (3 files only)
55
+ │ ├── STATUS.md # Project status (THIS IS THE SOURCE)
56
+ │ ├── DEVELOPMENT.md # This file
57
+ │ └── ARCHITECTURE.md # Technical architecture
58
+ └── examples/ # Example configurations
59
+ ```
60
+
61
+ ---
62
+
63
+ ## Common Commands
64
+
65
+ ### Development
66
+ ```bash
67
+ pnpm build # Build all packages
68
+ pnpm dev # Watch mode
69
+ pnpm clean # Clean build artifacts
70
+ pnpm type-check # TypeScript validation
71
+ pnpm lint # ESLint
72
+ pnpm lint:fix # Auto-fix linting
73
+ ```
74
+
75
+ ### Testing
76
+ ```bash
77
+ pnpm test # All tests
78
+ pnpm test:core # Core only
79
+ pnpm test:cli # CLI only
80
+ pnpm test:coverage # With coverage
81
+ ```
82
+
83
+ ### Running QA360
84
+ ```bash
85
+ qa360 run qa360.yml # Execute tests
86
+ qa360 verify .qa360/runs/proof.json # Verify proof
87
+ qa360 doctor --fix # Health check
88
+ qa360 pack validate # Validate config
89
+ ```
90
+
91
+ ---
92
+
93
+ ## Phase Roadmap
94
+
95
+ **Current Phase: 8 of 9**
96
+
97
+ | Phase | Name | Status |
98
+ |-------|------|--------|
99
+ | 0-5 | Core Platform | ✅ Complete |
100
+ | 6 | Test Data Intelligence | ✅ Complete |
101
+ | 7 | Auto-Repair Module | ✅ Complete |
102
+ | 8 | TUI & Dashboard | ✅ Complete |
103
+ | 9 | Parallel CI | ⏳ Next |
104
+
105
+ See [STATUS.md](./STATUS.md) for detailed progress.
106
+
107
+ ---
108
+
109
+ ## Adding a New Feature
110
+
111
+ ### 1. Create a branch
112
+ ```bash
113
+ git checkout develop
114
+ git pull origin develop
115
+ git checkout -b feature/my-feature
116
+ ```
117
+
118
+ ### 2. Implementation
119
+ - Add code to `core/src/` for business logic
120
+ - Add CLI commands to `cli/src/commands/`
121
+ - Write tests in `__tests__/` directories
122
+
123
+ ### 3. Test
124
+ ```bash
125
+ pnpm type-check
126
+ pnpm lint
127
+ pnpm test
128
+ ```
129
+
130
+ ### 4. Commit
131
+ ```bash
132
+ git add .
133
+ git commit -m "feat: description of feature"
134
+ ```
135
+
136
+ ### 5. Push and create PR
137
+ ```bash
138
+ git push origin feature/my-feature
139
+ gh pr create --title "feat: description" --body "..."
140
+ ```
141
+
142
+ ---
143
+
144
+ ## Publication Workflow
145
+
146
+ **IMPORTANT**: Follow this exact order for releases:
147
+
148
+ ```bash
149
+ # 1. Commit to develop
150
+ git checkout develop
151
+ git pull origin develop
152
+ # ... make changes ...
153
+ git add .
154
+ git commit -m "feat: description"
155
+ git push origin develop
156
+
157
+ # 2. Wait for CI green
158
+ gh run list --branch develop --limit 1
159
+ gh run watch <run-id>
160
+
161
+ # 3. Merge to main
162
+ git checkout main
163
+ git pull origin main
164
+ git merge develop --no-ff -m "Merge branch 'develop'"
165
+ git push origin main
166
+
167
+ # 4. Wait for CI green on main
168
+ gh run list --branch main --limit 1
169
+ gh run watch <run-id>
170
+
171
+ # 5. Version bump (code changes only)
172
+ cd cli
173
+ npm version patch # or minor/major
174
+ git add package.json
175
+ git commit -m "chore(cli): bump version to X.Y.Z"
176
+ git push origin develop
177
+
178
+ # 6. Merge version bump to main
179
+ git checkout main && git merge develop --no-ff
180
+ git push origin main
181
+
182
+ # 7. Tag and publish
183
+ git tag -a vX.Y.Z -m "Release vX.Y.Z"
184
+ git push origin vX.Y.Z
185
+ npm publish --access public
186
+ ```
187
+
188
+ ---
189
+
190
+ ## Module Reference
191
+
192
+ ### AI Module (`core/src/ai/`)
193
+ - `OllamaProvider` - Local LLM (Ollama)
194
+ - `OpenAIProvider` - GPT-4 models
195
+ - `AnthropicProvider` - Claude models
196
+ - `MockProvider` - Testing mock
197
+ - `ProviderFactory` - Auto fallback chain
198
+
199
+ ### Auth Module (`core/src/auth/`)
200
+ 9 providers: JWT, OAuth2, API Key, Bearer, Basic, TOTP, UI Login, GCP ADC, AWS IAM, Azure AD
201
+
202
+ ### Generation Module (`core/src/generation/`)
203
+ - `PromptBuilder` - Few-shot prompts
204
+ - `CodeFormatter` - Multi-language formatting
205
+ - `TestOptimizer` - Deduplication
206
+ - `CodeGenerator` - AI generation with timeout
207
+
208
+ ### Repair Module (`core/src/repair/`)
209
+ - `ErrorAnalyzer` - Error classification (8 types)
210
+ - `SuggestionEngine` - LLM fix suggestions
211
+ - `CodeFixer` - Apply fixes with backup
212
+ - `TestRepairer` - Orchestrate repair cycles
213
+
214
+ ### TDI Module (`core/src/tdi/`)
215
+ - `TestAnalyzer` - Parse and detect frameworks
216
+ - `CoverageEngine` - Coverage analysis
217
+ - `DuplicationDetector` - Find duplicate tests
218
+ - `SuggestionGenerator` - Improvement suggestions
219
+ - `HealthCalculator` - Test health score
220
+
221
+ ---
222
+
223
+ ## Testing Guidelines
224
+
225
+ ### Test Structure
226
+ ```
227
+ core/src/module/
228
+ ├── index.ts
229
+ ├── __tests__/
230
+ │ └── module.test.ts
231
+ ```
232
+
233
+ ### Coverage Targets
234
+ - Core modules: 75%+
235
+ - New features: 80%+
236
+ - Critical paths (proof, vault): 85%+
237
+
238
+ ### Test Quality
239
+ - Unit tests for pure functions
240
+ - Integration tests for workflows
241
+ - Mock external dependencies (LLM, filesystem)
242
+ - Use temporary directories for file operations
243
+
244
+ ---
245
+
246
+ ## Error Handling
247
+
248
+ Every error must be:
249
+ 1. **Explicit** - Clear what went wrong
250
+ 2. **Pedagogical** - Explains why
251
+ 3. **Guiding** - Suggests fix
252
+
253
+ ```typescript
254
+ throw new QA360Error(
255
+ 'PACK_VALIDATION_FAILED',
256
+ 'Pack file validation failed: missing required field "name"',
257
+ {
258
+ suggestion: 'Add a "name" field to your pack.yml',
259
+ example: 'name: "My API Tests"',
260
+ docs: 'https://qa360.ai/docs/pack-schema'
261
+ }
262
+ );
263
+ ```
264
+
265
+ ---
266
+
267
+ ## Conventional Commits
268
+
269
+ ```
270
+ feat(scope): description # New feature
271
+ fix(scope): description # Bug fix
272
+ docs(scope): description # Documentation
273
+ test(scope): description # Tests only
274
+ refactor(scope): description # Refactoring
275
+ chore(scope): description # Build/config/deps
276
+ ```
277
+
278
+ Examples:
279
+ - `feat(core): add auto-repair module`
280
+ - `fix(cli): resolve verification edge case`
281
+ - `docs: update STATUS.md for Phase 7`
282
+
283
+ ---
284
+
285
+ ## Key Dependencies
286
+
287
+ | Package | Purpose | Version |
288
+ |---------|---------|---------|
289
+ | commander | CLI framework | ^12.1.0 |
290
+ | chalk | Terminal colors | ^5.3.0 |
291
+ | vitest | Test runner | ^1.6.0 |
292
+ | typescript | Language | ^5.3.3 |
293
+ | tweetnacl | Ed25519 crypto | ^1.0.3 |
294
+ | better-sqlite3 | SQLite | ^9.4.3 |
295
+ | ollama | LLM client (optional) | ^0.5.1 |
296
+
297
+ ---
298
+
299
+ ## Environment Variables
300
+
301
+ ```bash
302
+ # LLM Provider
303
+ LLM_PROVIDER=ollama|openai|anthropic|mock
304
+ LLM_MODEL=llama3.2
305
+ LLM_BASE_URL=http://localhost:11434
306
+ LLM_API_KEY=sk-xxx
307
+
308
+ # QA360
309
+ QA360_HOME=~/.qa360
310
+ QA360_VERBOSE=1
311
+ ```
312
+
313
+ ---
314
+
315
+ ## Documentation Files
316
+
317
+ Only 3 documentation files exist (by design):
318
+
319
+ 1. **STATUS.md** - Project status, phases, metrics (THE SOURCE OF TRUTH)
320
+ 2. **DEVELOPMENT.md** - This file (developer guide)
321
+ 3. **ARCHITECTURE.md** - Technical architecture details
322
+
323
+ All other docs are archived or should be integrated into these 3 files.
324
+
325
+ ---
326
+
327
+ ## Support
328
+
329
+ - **Issues**: https://github.com/xyqotech/qa360/issues
330
+ - **Discussions**: https://github.com/xyqotech/qa360/discussions
331
+ - **License**: MIT
@@ -0,0 +1,345 @@
1
+ # QA360 Development History
2
+
3
+ This document provides a historical record of QA360's development phases.
4
+
5
+ > **Note**: For current project status, see [STATUS.md](./STATUS.md).
6
+
7
+ ---
8
+
9
+ ## Phase 1: Runner CLI "Zero Friction"
10
+
11
+ **Completed**: October 2024
12
+
13
+ ### Objectives
14
+ - Develop a CLI enabling "1 command • 1 pack • 1 signed proof"
15
+ - Implement anti-friction features for seamless user experience
16
+
17
+ ### Delivered Features
18
+
19
+ #### Core Commands
20
+ - `qa360 doctor` - System diagnostics with auto-fix capabilities
21
+ - `qa360 ask` - Pack generation from natural language
22
+ - `qa360 run` - Test execution with hooks support
23
+ - `qa360 report --sign` - PDF generation with Ed25519 signatures
24
+ - `qa360 verify` - Cryptographic proof verification
25
+ - `qa360 explain` - Error code explanations
26
+
27
+ #### Anti-Friction Features
28
+ - **Portable cache** (`.qa360/tools/`) for downloaded tools
29
+ - **Docker fallback** for missing tools
30
+ - **Pedagogical error messages** (QX001-QX007)
31
+ - **Targeted retry** with exponential backoff
32
+ - **Automatic log redaction** for PII and secrets
33
+
34
+ ### Architecture
35
+ - Monorepo structure with CLI and Core separation
36
+ - Ed25519 cryptographic signatures
37
+ - Trust Score calculation
38
+ - PDF report generation with Puppeteer
39
+
40
+ ### Metrics
41
+ - **Tests**: 26/28 passing (93% success)
42
+ - **Commands**: 7 implemented
43
+ - **Error codes**: QX001-QX007 with guidance
44
+ - **Performance**: <1s pack generation, <100ms verification
45
+
46
+ ---
47
+
48
+ ## Phase 2: Pack v1 + Encrypted Secrets
49
+
50
+ **Completed**: October 2024
51
+
52
+ ### Objectives
53
+ - Standardize Pack v1 schema
54
+ - Implement encrypted secrets management
55
+ - Ensure deterministic proof generation
56
+
57
+ ### Delivered Features
58
+
59
+ #### Pack Schema v1
60
+ - Official JSON schema (`pack.schema.json`)
61
+ - Required fields: version, name, gates
62
+ - Supported gates: api_smoke, ui, perf, sast, dast, a11y
63
+ - Validation with 15+ business rules (QP### error codes)
64
+ - Automatic migration from v0.9 to v1
65
+
66
+ #### Pack CLI Commands
67
+ - `qa360 pack validate` - Schema and business rule validation
68
+ - `qa360 pack lint` - Auto-correction of format issues
69
+ - `qa360 pack migrate` - Legacy to v1 migration with backup
70
+
71
+ #### Secrets Management
72
+ - **Encryption**: AES-256-GCM with PBKDF2 (100k iterations)
73
+ - **Key derivation**: System keychain (macOS/Windows/Linux)
74
+ - **Storage**: `.qa360/secrets.enc` with 600 permissions
75
+ - **Integrity**: SHA-256 checksum + GCM authentication
76
+
77
+ #### Secrets CLI Commands
78
+ - `qa360 secrets add` - Secure secret addition
79
+ - `qa360 secrets list` - List secret names (values hidden)
80
+ - `qa360 secrets remove` - Delete with confirmation
81
+ - `qa360 secrets doctor` - System diagnostics
82
+ - `qa360 secrets export --redacted` - Masked export for debugging
83
+
84
+ #### Secret Interpolation
85
+ - Syntax: `${{ secrets.NAME }}` in pack.yml
86
+ - Automatic validation before execution
87
+ - Zero secrets leakage in logs/reports
88
+
89
+ #### Security Redaction
90
+ - 15+ patterns for masking (passwords, tokens, API keys, JWT, etc.)
91
+ - Applied to logs, reports, JSON objects, errors
92
+ - Length-preserving or fixed-format masking
93
+
94
+ ### Architecture
95
+ - **PackValidator** - Schema + business rule validation
96
+ - **PackMigrator** - Automatic version migration
97
+ - **SecretsManager** - CRUD with secure caching
98
+ - **SecretsCrypto** - AES-256-GCM encryption
99
+ - **SecurityRedactor** - Automatic PII masking
100
+
101
+ ### Metrics
102
+ - **Tests**: 79/87 passing (91% success)
103
+ - **Commands**: 12 new commands (pack + secrets)
104
+ - **Error codes**: 20+ QP### codes
105
+ - **Security**: AES-256-GCM, PBKDF2 100k iterations
106
+ - **Performance**: <100ms validation, <1s encryption
107
+
108
+ ### Impact
109
+ - **Determinism**: Same pack.yml → same proof everywhere
110
+ - **Security**: Secrets encrypted locally, never in VCS
111
+ - **Portability**: Pack v1 works on all environments
112
+ - **Compliance**: Military-grade encryption, strict permissions
113
+
114
+ ---
115
+
116
+ ## Phase 3: Declarative Hooks + Phase3Runner
117
+
118
+ **Completed**: December 2024
119
+
120
+ ### Objectives
121
+ - Implement Phase3Runner orchestration engine
122
+ - Connect CLI commands to core engine
123
+ - Establish cryptographic proof foundation
124
+
125
+ ### Delivered Features
126
+
127
+ #### Phase3Runner
128
+ - Gate orchestration with lifecycle management
129
+ - Ed25519 real signatures (production-ready)
130
+ - Evidence Vault with SQLite storage
131
+ - Trust Score calculation
132
+ - Proof bundle generation
133
+
134
+ #### CLI Integration
135
+ - `qa360 run` connected to Phase3Runner
136
+ - `qa360 verify` connected to Ed25519 verifier
137
+ - Phase3 proof format support
138
+ - Graceful error handling
139
+
140
+ #### Evidence System
141
+ - SQLite with WAL mode
142
+ - Content-addressable storage (CAS)
143
+ - Immutable audit trail
144
+ - Historical run tracking
145
+
146
+ ### Architecture
147
+ - **Phase3Runner** - Core orchestration engine
148
+ - **ProofGenerator** - Cryptographic proof creation
149
+ - **SignatureManager** - Ed25519 signing/verification
150
+ - **EvidenceVault** - SQLite storage layer
151
+
152
+ ### Metrics
153
+ - **Completion**: Phase3Runner fully operational
154
+ - **Signatures**: Ed25519 real implementation
155
+ - **Storage**: SQLite WAL mode
156
+ - **Integration**: CLI commands connected
157
+
158
+ ---
159
+
160
+ ## Phase 4: OOTB Adapters
161
+
162
+ **Completed**: December 2024
163
+
164
+ ### Objectives
165
+ - Implement production-ready test adapters
166
+ - Support multiple testing domains (API, UI, performance, security)
167
+ - Enable comprehensive quality gates
168
+
169
+ ### Delivered Adapters (7 total)
170
+
171
+ 1. **playwright-api** - REST/GraphQL API testing
172
+ 2. **playwright-ui** - UI + Accessibility testing (axe-core)
173
+ 3. **k6-perf** - Load & performance testing
174
+ 4. **semgrep-sast** - Static security analysis
175
+ 5. **zap-dast** - Dynamic security scanning (Docker/local, **REAL implementation**)
176
+ 6. **gitleaks-secrets** - Secret detection in code
177
+ 7. **osv-deps** - Dependency vulnerability scanning
178
+
179
+ ### Features
180
+ - Unified adapter interface
181
+ - Docker and local execution support
182
+ - Budget threshold validation
183
+ - Comprehensive error codes
184
+ - Production-ready implementations
185
+
186
+ ### Metrics
187
+ - **Adapters**: 7 production-ready
188
+ - **Coverage**: API, UI, performance, security, accessibility, dependencies
189
+ - **Docker**: Full container support
190
+ - **Local**: Native execution support
191
+
192
+ ---
193
+
194
+ ## Phase 5: Health/Diag/Metrics Endpoints
195
+
196
+ **Completed**: December 2024
197
+
198
+ ### Objectives
199
+ - Implement observability server
200
+ - Enable CI/CD readiness checks
201
+ - Provide Prometheus metrics
202
+
203
+ ### Delivered Features
204
+
205
+ #### Observability Server
206
+ - `qa360 serve` command with HTTP server
207
+ - `/health` - Liveness and readiness checks
208
+ - `/diag` - Diagnostic with actionable solutions
209
+ - `/metrics` - OpenMetrics/Prometheus format
210
+ - `/cancel/:runId` - Graceful shutdown
211
+
212
+ #### Health Checks
213
+ - System validation (tmp, config, disk space)
214
+ - Tool detection (Playwright, k6, ZAP)
215
+ - Secret accessibility checks
216
+ - Readiness scoring
217
+
218
+ #### Metrics
219
+ - System metrics (uptime, version, runs)
220
+ - Gate metrics (duration, failures by type)
221
+ - Security metrics (findings by severity)
222
+ - Performance metrics (P95, P90, P50, error rate)
223
+
224
+ ### Architecture
225
+ - **QA360Server** - HTTP routing and error handling
226
+ - **HealthChecker** - Liveness/readiness validation
227
+ - **DiagnosticsCollector** - Problem detection + solutions
228
+ - **MetricsCollector** - OpenMetrics/Prometheus export
229
+ - **ProcessManager** - Graceful shutdown management
230
+
231
+ ### Metrics
232
+ - **Endpoints**: 4 operational
233
+ - **CI/CD**: Readiness check with exit 0/1
234
+ - **Monitoring**: Prometheus-compatible
235
+ - **Shutdown**: Graceful with cleanup
236
+
237
+ ---
238
+
239
+ ## Phase 6: Evidence Vault + SQLite WAL History
240
+
241
+ **Completed**: December 2024
242
+
243
+ ### Objectives
244
+ - Implement persistent evidence storage
245
+ - Enable historical run tracking
246
+ - Provide content-addressable storage
247
+
248
+ ### Delivered Features
249
+
250
+ #### Evidence Vault
251
+ - SQLite database with WAL mode
252
+ - Content-addressable storage (SHA-256 based)
253
+ - Immutable audit trail
254
+ - Run metadata tracking
255
+
256
+ #### Features
257
+ - Historical run queries
258
+ - Trend analysis support
259
+ - Artifact deduplication
260
+ - Integrity verification
261
+
262
+ ### Architecture
263
+ - **EvidenceVault** - SQLite storage layer
264
+ - **HistoryManager** - Run tracking
265
+ - **AuditTrail** - Immutable records
266
+
267
+ ---
268
+
269
+ ## Current Status
270
+
271
+ As of December 2024:
272
+ - **Phases 1-6**: ✅ Complete
273
+ - **Phase 7**: 🚧 In Progress (Complete Proof Bundle - 90%)
274
+ - **Phase 8+**: ⏳ Planned
275
+
276
+ ### Key Metrics
277
+ - **412 tests** passing (100% success rate)
278
+ - **7 adapters** in production
279
+ - **9 CLI commands** fully functional
280
+ - **~92% overall completion**
281
+
282
+ For detailed current status, see [STATUS.md](./STATUS.md).
283
+
284
+ ---
285
+
286
+ ## Technology Stack Evolution
287
+
288
+ ### Core Technologies
289
+ - **Runtime**: Node.js 18+
290
+ - **Language**: TypeScript 5+
291
+ - **Testing**: Jest
292
+ - **Monorepo**: pnpm workspaces
293
+
294
+ ### Security
295
+ - **Signatures**: Ed25519 (tweetnacl)
296
+ - **Hashing**: SHA-256
297
+ - **Encryption**: AES-256-GCM
298
+ - **Key Derivation**: PBKDF2 (100k iterations)
299
+ - **Validation**: JSON Schema (AJV 2020-12)
300
+
301
+ ### Storage
302
+ - **Database**: SQLite with WAL mode
303
+ - **Content Addressing**: SHA-256 based CAS
304
+ - **Permissions**: Strict 600 for sensitive files
305
+
306
+ ### Adapters
307
+ - **UI Testing**: Playwright
308
+ - **API Testing**: Playwright
309
+ - **Performance**: K6
310
+ - **SAST**: Semgrep
311
+ - **DAST**: OWASP ZAP
312
+ - **Secrets**: Gitleaks
313
+ - **Dependencies**: OSV
314
+
315
+ ---
316
+
317
+ ## Lessons Learned
318
+
319
+ ### What Worked Well
320
+ 1. **Incremental phases** - Clear milestones and deliverables
321
+ 2. **Security-first** - Built-in encryption and redaction from start
322
+ 3. **Local-first** - No cloud dependencies, fully portable
323
+ 4. **Developer experience** - Anti-friction features throughout
324
+
325
+ ### Challenges Overcome
326
+ 1. **ESM/Jest compatibility** - Resolved with inline schemas and mocks
327
+ 2. **Cross-platform secrets** - Unified keychain approach
328
+ 3. **Docker integration** - Seamless fallback mechanisms
329
+ 4. **Proof determinism** - Canonical JSON and stable hashing
330
+
331
+ ### Future Improvements
332
+ 1. Test coverage expansion (55% → 75%+)
333
+ 2. Additional adapters (Appium for mobile)
334
+ 3. Enhanced TUI/UI dashboard
335
+ 4. Multi-language SDK support
336
+
337
+ ---
338
+
339
+ ## References
340
+
341
+ - [Architecture Overview](./ARCHITECTURE.md)
342
+ - [Current Status](./STATUS.md)
343
+ - [Pack v1 Specification](./pack-v1.md)
344
+ - [Secrets Management](./secrets.md)
345
+ - [Proof Bundles](./proofs.md)