qa360 2.1.7 → 2.2.1

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 (909) hide show
  1. package/.BETA_TESTING_FEEDBACK.md +256 -0
  2. package/.claude/settings.local.json +154 -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/vault.db +0 -0
  13. package/.qa360/vault.db-shm +0 -0
  14. package/.qa360/vault.db-wal +0 -0
  15. package/.qa360-artifacts/.gitkeep +0 -0
  16. package/.qa360-artifacts/baselines/.gitkeep +0 -0
  17. package/.qa360-artifacts/cache/.gitkeep +0 -0
  18. package/.qa360-artifacts/reports/.gitkeep +0 -0
  19. package/.qa360-artifacts/screenshots/.gitkeep +0 -0
  20. package/.qa360-baselines/www_xyqo_ai.baseline.json +33 -0
  21. package/CHANGELOG.md +234 -0
  22. package/CODEOWNERS +43 -0
  23. package/CONTRIBUTING.md +273 -0
  24. package/NOVICE_USER_GUIDE.md +272 -0
  25. package/QUICK_START.md +191 -0
  26. package/README.md +191 -163
  27. package/adapters/README.md +46 -0
  28. package/check-branches.sh +32 -0
  29. package/cli/.qa360/keys/ed25519.key +1 -0
  30. package/cli/.qa360/keys/ed25519.pub +1 -0
  31. package/cli/CHANGELOG.md +84 -0
  32. package/cli/LICENSE +24 -0
  33. package/cli/README.md +222 -0
  34. package/cli/examples/README.md +160 -0
  35. package/cli/package.json +76 -0
  36. package/cli/scripts/bundle-for-npm.sh +51 -0
  37. package/cli/scripts/validate-package.js +116 -0
  38. package/cli/src/__tests__/commands/doctor.test.ts +108 -0
  39. package/cli/src/__tests__/index.test.ts +15 -0
  40. package/cli/src/cli-minimal.ts +44 -0
  41. package/cli/src/commands/__tests__/crawl.test.ts +412 -0
  42. package/cli/src/commands/__tests__/doctor-qa360-home.test.ts +156 -0
  43. package/cli/src/commands/__tests__/e2e-ui-tests.test.ts +494 -0
  44. package/cli/src/commands/__tests__/e2e.test.ts +187 -0
  45. package/cli/src/commands/__tests__/flakiness.test.ts +528 -0
  46. package/cli/src/commands/__tests__/generate.test.ts +507 -0
  47. package/cli/src/commands/__tests__/history.integration.test.ts +358 -0
  48. package/cli/src/commands/__tests__/history.test.ts +433 -0
  49. package/cli/src/commands/__tests__/monitor-realworld.test.ts +199 -0
  50. package/cli/src/commands/__tests__/monitor.test.ts +81 -0
  51. package/cli/src/commands/__tests__/ollama.test.ts +529 -0
  52. package/cli/src/commands/__tests__/repair.test.ts +225 -0
  53. package/cli/src/commands/__tests__/report.integration.test.ts +167 -0
  54. package/cli/src/commands/__tests__/report.test.ts +294 -0
  55. package/cli/src/commands/__tests__/report.vitest.ts +288 -0
  56. package/cli/src/commands/__tests__/retry.test.ts +78 -0
  57. package/cli/src/commands/__tests__/run.integration.test.ts +240 -0
  58. package/cli/src/commands/__tests__/run.test.ts +346 -0
  59. package/cli/src/commands/__tests__/run.vitest.ts +301 -0
  60. package/cli/src/commands/__tests__/secrets.test.ts +114 -0
  61. package/cli/src/commands/__tests__/serve.test.ts +80 -0
  62. package/cli/src/commands/__tests__/verify.test.ts +103 -0
  63. package/cli/src/commands/ai.ts +702 -0
  64. package/cli/src/commands/ask.ts +678 -0
  65. package/cli/src/commands/coverage.ts +305 -0
  66. package/cli/src/commands/crawl.ts +155 -0
  67. package/cli/src/commands/doctor.ts +610 -0
  68. package/cli/src/commands/examples.ts +248 -0
  69. package/cli/src/commands/explain.ts +710 -0
  70. package/cli/src/commands/flakiness.ts +560 -0
  71. package/cli/src/commands/generate.ts +566 -0
  72. package/cli/src/commands/history.ts +914 -0
  73. package/cli/src/commands/init.ts +777 -0
  74. package/cli/src/commands/monitor.ts +270 -0
  75. package/cli/src/commands/ollama.ts +337 -0
  76. package/cli/src/commands/pack.ts +497 -0
  77. package/cli/src/commands/regression.ts +400 -0
  78. package/cli/src/commands/repair.ts +356 -0
  79. package/cli/src/commands/report.ts +463 -0
  80. package/cli/src/commands/retry.ts +380 -0
  81. package/cli/src/commands/run.ts +220 -0
  82. package/cli/src/commands/scan.ts +177 -0
  83. package/cli/src/commands/secrets.ts +340 -0
  84. package/cli/src/commands/serve.ts +194 -0
  85. package/cli/src/commands/slo.ts +387 -0
  86. package/cli/src/commands/verify-temp-note.md +11 -0
  87. package/cli/src/commands/verify.ts +322 -0
  88. package/cli/src/generators/index.ts +6 -0
  89. package/cli/src/generators/json-reporter.ts +15 -0
  90. package/cli/src/generators/test-generator.ts +90 -0
  91. package/cli/src/index.ts +289 -0
  92. package/cli/src/scanners/dom-scanner.ts +360 -0
  93. package/cli/src/scanners/index.ts +5 -0
  94. package/cli/src/types/scan.ts +84 -0
  95. package/cli/src/utils/config.ts +145 -0
  96. package/cli/tsconfig.bundle.json +12 -0
  97. package/cli/tsconfig.json +23 -0
  98. package/cli/vitest.config.ts +59 -0
  99. package/core/LICENSE +24 -0
  100. package/core/README.md +64 -0
  101. package/core/package.json +81 -0
  102. package/core/src/__tests__/adapters-contract/adapters-contract.test.md +156 -0
  103. package/core/src/__tests__/index.test.ts +31 -0
  104. package/core/src/__tests__/integration/phase3.test.ts +405 -0
  105. package/core/src/__tests__/pack/validator.test.ts +312 -0
  106. package/core/src/__tests__/secrets/crypto.test.ts +190 -0
  107. package/core/src/__tests__/secrets/manager.test.ts +316 -0
  108. package/core/src/__tests__/security/redactor-phase3.test.ts +233 -0
  109. package/core/src/__tests__/serve/health-checker.test.ts +155 -0
  110. package/core/src/__tests__/serve/process-manager.test.ts +213 -0
  111. package/core/src/__tests__/serve/server.test.ts +103 -0
  112. package/core/src/__tests__/vault/cas.test.ts +178 -0
  113. package/core/src/__tests__/vault/vault.test.ts +296 -0
  114. package/core/src/adapters/__tests__/fixtures/jest-coverage.json +8 -0
  115. package/core/src/adapters/__tests__/fixtures/jest-results.json +41 -0
  116. package/core/src/adapters/__tests__/fixtures/pytest-junit.xml +16 -0
  117. package/core/src/adapters/__tests__/fixtures/vitest-coverage.json +8 -0
  118. package/core/src/adapters/__tests__/fixtures/vitest-results.json +50 -0
  119. package/core/src/adapters/__tests__/gitleaks-secrets.test.ts +452 -0
  120. package/core/src/adapters/__tests__/jest-adapter.test.ts +276 -0
  121. package/core/src/adapters/__tests__/k6-perf.test.ts +538 -0
  122. package/core/src/adapters/__tests__/osv-deps.test.ts +471 -0
  123. package/core/src/adapters/__tests__/playwright-native-api.test.ts +792 -0
  124. package/core/src/adapters/__tests__/playwright-ui-e2e.test.ts +431 -0
  125. package/core/src/adapters/__tests__/playwright-ui.test.ts +1073 -0
  126. package/core/src/adapters/__tests__/pytest-adapter.test.ts +207 -0
  127. package/core/src/adapters/__tests__/semgrep-sast.test.ts +436 -0
  128. package/core/src/adapters/__tests__/vitest-adapter.test.ts +208 -0
  129. package/core/src/adapters/__tests__/zap-dast.test.ts +453 -0
  130. package/core/src/adapters/gitleaks-secrets.ts +521 -0
  131. package/core/src/adapters/jest-adapter.ts +306 -0
  132. package/core/src/adapters/k6-perf.ts +479 -0
  133. package/core/src/adapters/osv-deps.ts +467 -0
  134. package/core/src/adapters/playwright-native-adapter.ts +472 -0
  135. package/core/src/adapters/playwright-native-api.ts +619 -0
  136. package/core/src/adapters/playwright-ui.ts +1088 -0
  137. package/core/src/adapters/pytest-adapter.ts +472 -0
  138. package/core/src/adapters/semgrep-sast.ts +410 -0
  139. package/core/src/adapters/unit-test-types.ts +106 -0
  140. package/core/src/adapters/vitest-adapter.ts +295 -0
  141. package/core/src/adapters/zap-dast.ts +551 -0
  142. package/core/src/ai/__tests__/deepseek-provider.test.ts +586 -0
  143. package/core/src/ai/__tests__/ollama-provider.test.ts +641 -0
  144. package/core/src/ai/anthropic-provider.ts +262 -0
  145. package/core/src/ai/deepseek-provider.ts +315 -0
  146. package/core/src/ai/index.ts +87 -0
  147. package/core/src/ai/llm-client.ts +52 -0
  148. package/core/src/ai/mock-provider.ts +146 -0
  149. package/core/src/ai/ollama-provider.ts +269 -0
  150. package/core/src/ai/openai-provider.ts +240 -0
  151. package/core/src/ai/provider-factory.ts +408 -0
  152. package/core/src/artifacts/README.md +78 -0
  153. package/core/src/artifacts/index.ts +16 -0
  154. package/core/src/artifacts/ui-artifacts.ts +412 -0
  155. package/core/src/assertions/__tests__/engine.test.ts +360 -0
  156. package/core/src/assertions/engine.ts +577 -0
  157. package/core/src/assertions/index.ts +13 -0
  158. package/core/src/assertions/types.ts +229 -0
  159. package/core/src/auth/__tests__/api-key-provider.test.ts +282 -0
  160. package/core/src/auth/__tests__/auth-manager.test.ts +430 -0
  161. package/core/src/auth/__tests__/basic-auth-provider.test.ts +364 -0
  162. package/core/src/auth/__tests__/cloud-providers.test.ts +751 -0
  163. package/core/src/auth/__tests__/jwt-provider.test.ts +400 -0
  164. package/core/src/auth/__tests__/oauth2-provider.test.ts +383 -0
  165. package/core/src/auth/__tests__/totp-provider.test.ts +294 -0
  166. package/core/src/auth/__tests__/ui-login-provider.test.ts +323 -0
  167. package/core/src/auth/api-key-provider.ts +75 -0
  168. package/core/src/auth/aws-iam-provider.ts +212 -0
  169. package/core/src/auth/azure-ad-provider.ts +126 -0
  170. package/core/src/auth/basic-auth-provider.ts +133 -0
  171. package/core/src/auth/gcp-adc-provider.ts +146 -0
  172. package/core/src/auth/index.ts +342 -0
  173. package/core/src/auth/jwt-provider.ts +193 -0
  174. package/core/src/auth/manager.ts +281 -0
  175. package/core/src/auth/oauth2-provider.ts +141 -0
  176. package/core/src/auth/totp-provider.ts +163 -0
  177. package/core/src/auth/ui-login-provider.ts +242 -0
  178. package/core/src/cache/__tests__/lru-cache.test.ts +564 -0
  179. package/core/src/cache/index.ts +13 -0
  180. package/core/src/cache/lru-cache.ts +536 -0
  181. package/core/src/crawler/__tests__/journey-generator.test.ts +344 -0
  182. package/core/src/crawler/__tests__/selector-generator.test.ts +211 -0
  183. package/core/src/crawler/index.ts +335 -0
  184. package/core/src/crawler/journey-generator.ts +471 -0
  185. package/core/src/crawler/page-analyzer.ts +857 -0
  186. package/core/src/crawler/selector-generator.ts +280 -0
  187. package/core/src/crawler/types.ts +475 -0
  188. package/core/src/dashboard/__tests__/real-world.test.ts +430 -0
  189. package/core/src/dashboard/__tests__/server.test.ts +283 -0
  190. package/core/src/dashboard/__tests__/types.test.ts +208 -0
  191. package/core/src/dashboard/assets.ts +692 -0
  192. package/core/src/dashboard/index.ts +17 -0
  193. package/core/src/dashboard/server.ts +401 -0
  194. package/core/src/dashboard/types.ts +78 -0
  195. package/core/src/discoverer/__tests__/test-discoverer.test.ts +444 -0
  196. package/core/src/discoverer/index.ts +374 -0
  197. package/core/src/fixtures/__tests__/loader.test.ts +246 -0
  198. package/core/src/fixtures/__tests__/resolver.test.ts +334 -0
  199. package/core/src/fixtures/index.ts +9 -0
  200. package/core/src/fixtures/loader.ts +200 -0
  201. package/core/src/fixtures/resolver.ts +221 -0
  202. package/core/src/fixtures/types.ts +86 -0
  203. package/core/src/flakiness/__tests__/flakiness.test.ts +554 -0
  204. package/core/src/flakiness/index.ts +536 -0
  205. package/core/src/generation/__tests__/code-formatter.test.ts +170 -0
  206. package/core/src/generation/__tests__/code-generator-contract.test.ts +207 -0
  207. package/core/src/generation/__tests__/code-generator.test.ts +586 -0
  208. package/core/src/generation/__tests__/crawler-pack-generator.test.ts +479 -0
  209. package/core/src/generation/__tests__/generation-e2e-b2bshop.test.ts +718 -0
  210. package/core/src/generation/__tests__/generation-integration.test.ts +655 -0
  211. package/core/src/generation/__tests__/pack-generator.test.ts +408 -0
  212. package/core/src/generation/__tests__/prompt-builder.test.ts +200 -0
  213. package/core/src/generation/__tests__/real-provider-integration.test.ts +414 -0
  214. package/core/src/generation/__tests__/source-analyzer.test.ts +774 -0
  215. package/core/src/generation/__tests__/test-optimizer.test.ts +255 -0
  216. package/core/src/generation/code-formatter.ts +408 -0
  217. package/core/src/generation/code-generator.ts +470 -0
  218. package/core/src/generation/crawler-pack-generator.ts +289 -0
  219. package/core/src/generation/generator.ts +113 -0
  220. package/core/src/generation/index.ts +59 -0
  221. package/core/src/generation/pack-generator.ts +527 -0
  222. package/core/src/generation/prompt-builder.ts +772 -0
  223. package/core/src/generation/source-analyzer.ts +830 -0
  224. package/core/src/generation/test-optimizer.ts +474 -0
  225. package/core/src/generation/types.ts +217 -0
  226. package/core/src/hooks/__tests__/compose.test.ts +636 -0
  227. package/core/src/hooks/__tests__/runner.test.ts +478 -0
  228. package/core/src/hooks/compose.ts +268 -0
  229. package/core/src/hooks/runner.ts +364 -0
  230. package/core/src/index.ts +255 -0
  231. package/core/src/pack/__tests__/migrator.test.ts +594 -0
  232. package/core/src/pack/__tests__/validator.test.ts +759 -0
  233. package/core/src/pack/migrator.ts +353 -0
  234. package/core/src/pack/validator.ts +359 -0
  235. package/core/src/pack-v2/__tests__/loader.test.ts +533 -0
  236. package/core/src/pack-v2/__tests__/migrator.test.ts +455 -0
  237. package/core/src/pack-v2/__tests__/validator.test.ts +609 -0
  238. package/core/src/pack-v2/index.ts +41 -0
  239. package/core/src/pack-v2/loader.ts +358 -0
  240. package/core/src/pack-v2/migrator.ts +540 -0
  241. package/core/src/pack-v2/validator.ts +731 -0
  242. package/core/src/parallel/README.md +143 -0
  243. package/core/src/parallel/index.ts +16 -0
  244. package/core/src/parallel/parallel-runner.ts +282 -0
  245. package/core/src/pom/__tests__/loader.test.ts +378 -0
  246. package/core/src/pom/base-page.ts +425 -0
  247. package/core/src/pom/index.ts +45 -0
  248. package/core/src/pom/loader.ts +480 -0
  249. package/core/src/pom/types.ts +146 -0
  250. package/core/src/proof/__tests__/proof-roundtrip.test.ts +149 -0
  251. package/core/src/proof/__tests__/schema-validation-manual.mjs +211 -0
  252. package/core/src/proof/__tests__/schema-validation.test.ts +336 -0
  253. package/core/src/proof/__tests__/signer.test.ts +486 -0
  254. package/core/src/proof/__tests__/temporal-regression.test.ts +537 -0
  255. package/core/src/proof/__tests__/verifier-advanced.test.ts +588 -0
  256. package/core/src/proof/__tests__/verifier.test.ts +413 -0
  257. package/core/src/proof/bundle.ts +290 -0
  258. package/core/src/proof/canonicalize.ts +116 -0
  259. package/core/src/proof/index.ts +74 -0
  260. package/core/src/proof/schema.ts +285 -0
  261. package/core/src/proof/signer.ts +293 -0
  262. package/core/src/proof/verifier.ts +380 -0
  263. package/core/src/regression/__tests__/detector.test.ts +396 -0
  264. package/core/src/regression/__tests__/trend-analyzer.test.ts +300 -0
  265. package/core/src/regression/detector.ts +629 -0
  266. package/core/src/regression/index.ts +34 -0
  267. package/core/src/regression/trend-analyzer.ts +468 -0
  268. package/core/src/regression/types.ts +295 -0
  269. package/core/src/regression/vault.ts +419 -0
  270. package/core/src/repair/__tests__/repairer.test.ts +572 -0
  271. package/core/src/repair/__tests__/types.test.ts +302 -0
  272. package/core/src/repair/engine/__tests__/fixer.test.ts +482 -0
  273. package/core/src/repair/engine/__tests__/suggestion-engine.test.ts +395 -0
  274. package/core/src/repair/engine/fixer.ts +271 -0
  275. package/core/src/repair/engine/suggestion-engine.ts +234 -0
  276. package/core/src/repair/index.ts +53 -0
  277. package/core/src/repair/repairer.ts +376 -0
  278. package/core/src/repair/types.ts +119 -0
  279. package/core/src/repair/utils/__tests__/error-analyzer.test.ts +454 -0
  280. package/core/src/repair/utils/error-analyzer.ts +308 -0
  281. package/core/src/reporting/README.md +144 -0
  282. package/core/src/reporting/html-reporter.ts +835 -0
  283. package/core/src/reporting/index.ts +16 -0
  284. package/core/src/retry/README.md +192 -0
  285. package/core/src/retry/__tests__/flakiness-integration.test.ts +475 -0
  286. package/core/src/retry/__tests__/retry-engine.test.ts +424 -0
  287. package/core/src/retry/flakiness-integration.ts +267 -0
  288. package/core/src/retry/index.ts +48 -0
  289. package/core/src/retry/retry-engine.ts +368 -0
  290. package/core/src/retry/types.ts +208 -0
  291. package/core/src/retry/vault.ts +413 -0
  292. package/core/src/runner/__tests__/flakiness-integration.test.ts +566 -0
  293. package/core/src/runner/__tests__/phase3-e2e-b2bshop.test.ts +218 -0
  294. package/core/src/runner/__tests__/phase3-e2e-reqres.test.ts +199 -0
  295. package/core/src/runner/__tests__/phase3-runner.test.ts +1118 -0
  296. package/core/src/runner/e2e-helpers.ts +216 -0
  297. package/core/src/runner/phase3-runner.ts +1536 -0
  298. package/core/src/schemas/gherkin-report.json +122 -0
  299. package/core/src/secrets/__tests__/crypto.test.ts +180 -0
  300. package/core/src/secrets/crypto.ts +289 -0
  301. package/core/src/secrets/manager.ts +272 -0
  302. package/core/src/security/__tests__/hardening.test.ts +480 -0
  303. package/core/src/security/redaction-patterns-extended.ts +278 -0
  304. package/core/src/security/redactor.ts +326 -0
  305. package/core/src/self-healing/assertion-healer.ts +485 -0
  306. package/core/src/self-healing/engine.ts +626 -0
  307. package/core/src/self-healing/index.ts +33 -0
  308. package/core/src/self-healing/selector-healer.ts +488 -0
  309. package/core/src/self-healing/types.ts +193 -0
  310. package/core/src/serve/diagnostics-collector.ts +201 -0
  311. package/core/src/serve/health-checker.ts +274 -0
  312. package/core/src/serve/index.ts +9 -0
  313. package/core/src/serve/metrics-collector.ts +386 -0
  314. package/core/src/serve/process-manager.ts +265 -0
  315. package/core/src/serve/server.ts +230 -0
  316. package/core/src/slo/config.ts +408 -0
  317. package/core/src/slo/index.ts +68 -0
  318. package/core/src/slo/sli-calculator.ts +474 -0
  319. package/core/src/slo/slo-tracker.ts +481 -0
  320. package/core/src/slo/types.ts +408 -0
  321. package/core/src/slo/vault.ts +600 -0
  322. package/core/src/tui/__tests__/monitor.test.ts +336 -0
  323. package/core/src/tui/__tests__/real-world.test.ts +376 -0
  324. package/core/src/tui/__tests__/renderer.test.ts +201 -0
  325. package/core/src/tui/__tests__/types.test.ts +295 -0
  326. package/core/src/tui/index.ts +19 -0
  327. package/core/src/tui/monitor.ts +331 -0
  328. package/core/src/tui/renderer.ts +269 -0
  329. package/core/src/tui/types.ts +68 -0
  330. package/core/src/types/pack-v1.ts +305 -0
  331. package/core/src/types/pack-v2.ts +525 -0
  332. package/core/src/types/trust-score.ts +258 -0
  333. package/core/src/vault/__tests__/flakiness-vault.test.ts +562 -0
  334. package/core/src/vault/__tests__/vault.test.ts +259 -0
  335. package/core/src/vault/cas.ts +323 -0
  336. package/core/src/vault/index.ts +1361 -0
  337. package/core/src/vault/schema.sql +168 -0
  338. package/core/src/visual/README.md +185 -0
  339. package/core/src/visual/index.ts +14 -0
  340. package/core/src/visual/visual-regression.ts +347 -0
  341. package/core/src/watch/__tests__/watch-mode.test.ts +192 -0
  342. package/core/src/watch/index.ts +14 -0
  343. package/core/src/watch/watch-mode.ts +565 -0
  344. package/core/tsconfig.json +12 -0
  345. package/core/vitest.config.ts +52 -0
  346. package/docs/ARCHITECTURE.md +901 -0
  347. package/docs/AUDIT-GLOBAL-DEC2025.md +271 -0
  348. package/docs/BETA_TESTING.md +257 -0
  349. package/docs/BETA_TESTING_PLAN.md +727 -0
  350. package/docs/CERTIFICATION-REPORT.md +142 -0
  351. package/docs/COMPLETE_AUDIT_REFACTORING.md +965 -0
  352. package/docs/DEVELOPMENT.md +545 -0
  353. package/docs/DEVELOPMENT_HISTORY.md +345 -0
  354. package/docs/LIMITATIONS.md +176 -0
  355. package/docs/MIGRATION.md +303 -0
  356. package/docs/OPTION_3_4_EXPLORATION.md +1257 -0
  357. package/docs/PHASE1_PERFORMANCE.md +144 -0
  358. package/docs/QA360_Cloud.postman_collection.json +89 -0
  359. package/docs/QA360_TESTING_PHILOSOPHY.md +769 -0
  360. package/docs/QA_TEST_PLAN.md +727 -0
  361. package/docs/README.md +50 -0
  362. package/docs/STATUS.md +198 -0
  363. package/docs/STRATEGIC_STUDY_GOOSE_INTEGRATION.md +615 -0
  364. package/docs/USER_GUIDE.md +687 -0
  365. package/docs/WORK-DONE-ADAPTER-TESTS.md +136 -0
  366. package/docs/adapters-security.md +485 -0
  367. package/docs/architecture-diagram.mmd +168 -0
  368. package/docs/archive/ARCH-01-DAY6-BUILD-FIXES.md +396 -0
  369. package/docs/archive/ARCH-01-DAY6-FINAL-STATUS.md +324 -0
  370. package/docs/archive/ARCH-01_MCP_MERGE_ANALYSIS.md +644 -0
  371. package/docs/archive/ARCH-01_NEXT_STEPS.md +60 -0
  372. package/docs/archive/BRANCH_PROTECTION.md +183 -0
  373. package/docs/archive/CI_LOCKDOWN_CHECKLIST.md +222 -0
  374. package/docs/archive/HANDOFF_TEST-01.md +669 -0
  375. package/docs/archive/LEGAL_READY_PLACEHOLDERS.md +372 -0
  376. package/docs/archive/NODE_UPGRADE_GUIDE.md +188 -0
  377. package/docs/archive/PHASE1_COMPLETION.md +386 -0
  378. package/docs/archive/PHASE2_COMPLETION.md +404 -0
  379. package/docs/archive/PHASE3_AND_4_FINAL.md +360 -0
  380. package/docs/archive/PHASE3_COMPLETE.md +301 -0
  381. package/docs/archive/PHASE3_STATUS.md +255 -0
  382. package/docs/archive/PRE-WEEK2-AUDIT.md +364 -0
  383. package/docs/archive/README.md +16 -0
  384. package/docs/archive/SCHEMA_AJV_2020_FIX.md +245 -0
  385. package/docs/archive/TEST-01_AUDIT_REPORT.md +240 -0
  386. package/docs/archive/TEST-01_COVERAGE_PLAN.md +423 -0
  387. package/docs/archive/obsolete-proposals/dom-element-discovery-mode.md +250 -0
  388. package/docs/archive/obsolete-proposals/qa360-comprehensive-test-plan.md +1249 -0
  389. package/docs/archive/obsolete-proposals/qa360-quick-start-guide.md +298 -0
  390. package/docs/archive/obsolete-proposals/technical-plan-dom-discovery.md +870 -0
  391. package/docs/budgets-advanced.md +308 -0
  392. package/docs/examples/history-export-gc.md +285 -0
  393. package/docs/examples/pack-v2-complete.yaml +158 -0
  394. package/docs/examples/pack-v2-quickstart.yaml +24 -0
  395. package/docs/examples/pack-v2-ui-login.yaml +81 -0
  396. package/docs/examples/qa360-report.json +50 -0
  397. package/docs/history.md +565 -0
  398. package/docs/hooks.md +304 -0
  399. package/docs/llm-providers.md +512 -0
  400. package/docs/mcp-server.md +651 -0
  401. package/docs/mcp-tools.md +1131 -0
  402. package/docs/pack-v1.md +383 -0
  403. package/docs/pack-v2.md +558 -0
  404. package/docs/page-objects.md +366 -0
  405. package/docs/proofs.md +670 -0
  406. package/docs/quickstart-5min.md +257 -0
  407. package/docs/readiness-ci.md +654 -0
  408. package/docs/rfc/README.md +20 -0
  409. package/docs/rfc/proof-bundle-v1.md +787 -0
  410. package/docs/secrets.md +392 -0
  411. package/docs/serve.md +494 -0
  412. package/docs/unit-test-adapters.md +168 -0
  413. package/docs/vault.md +491 -0
  414. package/e2e/qa360-e2e.test.ts +696 -0
  415. package/e2e/vitest.config.ts +18 -0
  416. package/examples/README.md +30 -140
  417. package/examples/ci/docker-compose-serve.yml +375 -0
  418. package/examples/ci/github-actions-serve.yml +345 -0
  419. package/examples/ci/gitlab-ci-serve.yml +407 -0
  420. package/examples/datasets/README.md +101 -0
  421. package/examples/datasets/b2bshop.ts +155 -0
  422. package/examples/datasets/index.ts +57 -0
  423. package/examples/datasets/reqres.ts +195 -0
  424. package/examples/fixtures-demo/fixtures/users.yml +39 -0
  425. package/examples/fixtures-demo/pack.yml +71 -0
  426. package/examples/future-api/README.md +16 -0
  427. package/examples/future-api/diag.js +7 -0
  428. package/examples/future-api/health.js +4 -0
  429. package/examples/future-api/packs.js +13 -0
  430. package/examples/future-api/runpack.js +10 -0
  431. package/examples/generation/README.md +148 -0
  432. package/examples/generation/pack-generator-example.js +115 -0
  433. package/examples/generation/source-analyzer-example.js +115 -0
  434. package/examples/httpbin/pack.yml +59 -0
  435. package/examples/load-testing/mcp-load.yml +115 -0
  436. package/examples/load-testing/mcp-stdio.yml +95 -0
  437. package/examples/mcp/claude-desktop-config.json +33 -0
  438. package/examples/mcp/claude-desktop.json +16 -0
  439. package/examples/mcp/conversation-sample.md +131 -0
  440. package/examples/mcp/demo-60s.md +330 -0
  441. package/examples/mcp/sample-conversation.jsonl +21 -0
  442. package/examples/mcp/vscode-settings.json +22 -0
  443. package/examples/pack-v2-complete.yml +242 -0
  444. package/examples/pack-v2-examples.md +244 -0
  445. package/examples/pack-v2-quickstart.yml +55 -0
  446. package/examples/packs-business/ecommerce-api.yml +121 -0
  447. package/examples/packs-business/saas-dashboard-ui.yml +133 -0
  448. package/examples/packs-conformance/compose-multi.yml +174 -0
  449. package/examples/packs-conformance/full.yml +152 -0
  450. package/examples/packs-conformance/heavy-artifacts.yml +152 -0
  451. package/examples/packs-conformance/minimal.yml +71 -0
  452. package/examples/packs-conformance/secrets-missing.yml +97 -0
  453. package/examples/packs-conformance/timeouts.yml +77 -0
  454. package/examples/pom-demo/README.md +104 -0
  455. package/examples/pom-demo/pack.yml +60 -0
  456. package/examples/pom-demo/pages/DashboardPage.page.ts +73 -0
  457. package/examples/pom-demo/pages/LoginPage.page.ts +76 -0
  458. package/examples/proofs/e2e-playwright-proof.json +75 -0
  459. package/examples/proofs/httpbin-proof.json +69 -0
  460. package/examples/proofs/multi-adapter-proof.json +117 -0
  461. package/examples/proofs/test-proof.json +26 -0
  462. package/examples/restful-api-dev/README.md +102 -0
  463. package/examples/restful-api-dev/restful-api-advanced.yml +29 -0
  464. package/examples/restful-api-dev/restful-api-basic.yml +29 -0
  465. package/examples/web-lite/.github/workflows/qa360-phase3.yml +73 -0
  466. package/examples/web-lite/api-mock/server.js +258 -0
  467. package/examples/web-lite/pack.yml +71 -0
  468. package/examples/web-lite/services.yml +43 -0
  469. package/examples/web-lite/web-content/healthz +1 -0
  470. package/examples/web-lite/web-content/index.html +259 -0
  471. package/package.json +56 -45
  472. package/packages/mcp/CHANGELOG.md +109 -0
  473. package/packages/mcp/IMPLEMENTATION_SUMMARY.md +350 -0
  474. package/packages/mcp/LICENSE +21 -0
  475. package/packages/mcp/QUICK_START.md +291 -0
  476. package/packages/mcp/README.md +294 -0
  477. package/packages/mcp/TELEMETRY.md +220 -0
  478. package/packages/mcp/package.json +91 -0
  479. package/packages/mcp/scripts/generate-sbom-fallback.cjs +84 -0
  480. package/packages/mcp/scripts/safe-postinstall.cjs +32 -0
  481. package/packages/mcp/src/__tests__/contract.test.ts +902 -0
  482. package/packages/mcp/src/cli/cli.ts +137 -0
  483. package/packages/mcp/src/cli/doctor.ts +286 -0
  484. package/packages/mcp/src/cli/fix.ts +99 -0
  485. package/packages/mcp/src/cli/init.ts +233 -0
  486. package/packages/mcp/src/cli/postinstall.ts +14 -0
  487. package/packages/mcp/src/cli/reset.ts +44 -0
  488. package/packages/mcp/src/cli/telemetry.ts +166 -0
  489. package/packages/mcp/src/cli/test-dx.ts +94 -0
  490. package/packages/mcp/src/cli/uninstall.ts +80 -0
  491. package/packages/mcp/src/cli/up.ts +178 -0
  492. package/packages/mcp/src/index.ts +12 -0
  493. package/packages/mcp/src/scripts/e2e-local.ts +337 -0
  494. package/packages/mcp/src/scripts/verify-settings.ts +242 -0
  495. package/packages/mcp/src/security/audit.ts +244 -0
  496. package/packages/mcp/src/security/manager.ts +242 -0
  497. package/packages/mcp/src/server/full-server.ts +212 -0
  498. package/packages/mcp/src/server/minimal-server.ts +134 -0
  499. package/packages/mcp/src/tools/history.ts +388 -0
  500. package/packages/mcp/src/tools/pack.ts +449 -0
  501. package/packages/mcp/src/tools/registry.ts +638 -0
  502. package/packages/mcp/src/tools/report.ts +100 -0
  503. package/packages/mcp/src/tools/run.ts +268 -0
  504. package/packages/mcp/src/tools/secrets.ts +198 -0
  505. package/packages/mcp/src/tools/serve.ts +221 -0
  506. package/packages/mcp/src/tools/triage.ts +532 -0
  507. package/packages/mcp/src/tools/types.ts +26 -0
  508. package/packages/mcp/src/tools/vault.ts +164 -0
  509. package/packages/mcp/src/tools/verify.ts +166 -0
  510. package/packages/mcp/src/types/index.ts +311 -0
  511. package/packages/mcp/src/types/mcp-stubs.ts +83 -0
  512. package/packages/mcp/tsconfig.json +16 -0
  513. package/playwright.config.ts +20 -0
  514. package/pnpm-workspace.yaml +4 -0
  515. package/run-test-and-push.sh +20 -0
  516. package/scripts/build-proof-cli.sh +110 -0
  517. package/scripts/ci/check-windows-paths.js +92 -0
  518. package/scripts/ci/invariants.sh +124 -0
  519. package/scripts/ci/make-final-bundle.js +106 -0
  520. package/scripts/ci/mcp-run-multipack.js +305 -0
  521. package/scripts/ci/run-pack-suite.sh +103 -0
  522. package/scripts/ci/run-phase7-final.sh +190 -0
  523. package/scripts/ci/slo-assert.js +158 -0
  524. package/scripts/ci/test-fault-tolerance.sh +301 -0
  525. package/scripts/install-mcp.sh +66 -0
  526. package/scripts/mcp-smoke.mjs +27 -0
  527. package/scripts/smoke.sh +26 -0
  528. package/scripts/stress-test.js +288 -0
  529. package/scripts/sync-version.mjs +50 -0
  530. package/scripts/validate-examples.mjs +404 -0
  531. package/scripts/validation/simple-pack-check.sh +51 -0
  532. package/scripts/validation/validate-universal-pack.mjs +77 -0
  533. package/scripts/verify-persistence.js +127 -0
  534. package/test-pack.yaml +43 -0
  535. package/test-results/.last-run.json +4 -0
  536. package/test-runner.mjs +87 -0
  537. package/tests/artifacts.spec.js +147 -0
  538. package/tests/contracts.spec.js +239 -0
  539. package/tests/e2e/assertions.test.mjs +370 -0
  540. package/tests/e2e/crawler.test.mjs +451 -0
  541. package/tests/e2e/playwright-plus-plus.test.mjs +604 -0
  542. package/tests/e2e/proof-bundle.test.mjs +258 -0
  543. package/tests/e2e/real-world/saucedemo.test.mjs +714 -0
  544. package/tests/e2e/real-world/the-internet-herokuapp.test.mjs +760 -0
  545. package/tests/e2e/ui-actions.test.mjs +546 -0
  546. package/tests/gherkin.e2e.spec.ts +310 -0
  547. package/tests/no-console-errors.spec.js +136 -0
  548. package/tests/pdf.spec.ts +252 -0
  549. package/tests/run-pack.spec.ts +58 -0
  550. package/tsconfig.base.json +15 -0
  551. package/tsconfig.build.json +8 -0
  552. package/tsconfig.json +37 -0
  553. package/tsconfig.test.json +18 -0
  554. package/typedoc.json +37 -0
  555. package/ui/README.md +50 -0
  556. package/verify-proof.mjs +60 -0
  557. package/dist/cli-minimal.d.ts +0 -6
  558. package/dist/cli-minimal.js +0 -36
  559. package/dist/commands/ai.d.ts +0 -43
  560. package/dist/commands/ai.js +0 -616
  561. package/dist/commands/ask.d.ts +0 -94
  562. package/dist/commands/ask.js +0 -582
  563. package/dist/commands/coverage.d.ts +0 -8
  564. package/dist/commands/coverage.js +0 -252
  565. package/dist/commands/crawl.d.ts +0 -24
  566. package/dist/commands/crawl.js +0 -121
  567. package/dist/commands/doctor.d.ts +0 -54
  568. package/dist/commands/doctor.js +0 -513
  569. package/dist/commands/examples.d.ts +0 -33
  570. package/dist/commands/examples.js +0 -193
  571. package/dist/commands/explain.d.ts +0 -27
  572. package/dist/commands/explain.js +0 -630
  573. package/dist/commands/flakiness.d.ts +0 -73
  574. package/dist/commands/flakiness.js +0 -435
  575. package/dist/commands/generate.d.ts +0 -66
  576. package/dist/commands/generate.js +0 -438
  577. package/dist/commands/history.d.ts +0 -76
  578. package/dist/commands/history.js +0 -755
  579. package/dist/commands/init.d.ts +0 -106
  580. package/dist/commands/init.js +0 -616
  581. package/dist/commands/monitor.d.ts +0 -27
  582. package/dist/commands/monitor.js +0 -225
  583. package/dist/commands/ollama.d.ts +0 -40
  584. package/dist/commands/ollama.js +0 -301
  585. package/dist/commands/pack.d.ts +0 -70
  586. package/dist/commands/pack.js +0 -413
  587. package/dist/commands/regression.d.ts +0 -8
  588. package/dist/commands/regression.js +0 -340
  589. package/dist/commands/repair.d.ts +0 -26
  590. package/dist/commands/repair.js +0 -307
  591. package/dist/commands/report.d.ts +0 -62
  592. package/dist/commands/report.js +0 -378
  593. package/dist/commands/retry.d.ts +0 -43
  594. package/dist/commands/retry.js +0 -275
  595. package/dist/commands/run.d.ts +0 -41
  596. package/dist/commands/run.js +0 -169
  597. package/dist/commands/scan.d.ts +0 -5
  598. package/dist/commands/scan.js +0 -155
  599. package/dist/commands/secrets.d.ts +0 -58
  600. package/dist/commands/secrets.js +0 -289
  601. package/dist/commands/serve.d.ts +0 -13
  602. package/dist/commands/serve.js +0 -156
  603. package/dist/commands/slo.d.ts +0 -8
  604. package/dist/commands/slo.js +0 -327
  605. package/dist/commands/verify.d.ts +0 -32
  606. package/dist/commands/verify.js +0 -278
  607. package/dist/core/adapters/gitleaks-secrets.d.ts +0 -114
  608. package/dist/core/adapters/gitleaks-secrets.js +0 -410
  609. package/dist/core/adapters/k6-perf.d.ts +0 -85
  610. package/dist/core/adapters/k6-perf.js +0 -398
  611. package/dist/core/adapters/osv-deps.d.ts +0 -123
  612. package/dist/core/adapters/osv-deps.js +0 -372
  613. package/dist/core/adapters/playwright-native-adapter.d.ts +0 -121
  614. package/dist/core/adapters/playwright-native-adapter.js +0 -339
  615. package/dist/core/adapters/playwright-native-api.d.ts +0 -183
  616. package/dist/core/adapters/playwright-native-api.js +0 -465
  617. package/dist/core/adapters/playwright-ui.d.ts +0 -197
  618. package/dist/core/adapters/playwright-ui.js +0 -840
  619. package/dist/core/adapters/semgrep-sast.d.ts +0 -99
  620. package/dist/core/adapters/semgrep-sast.js +0 -322
  621. package/dist/core/adapters/zap-dast.d.ts +0 -133
  622. package/dist/core/adapters/zap-dast.js +0 -424
  623. package/dist/core/ai/anthropic-provider.d.ts +0 -50
  624. package/dist/core/ai/anthropic-provider.js +0 -223
  625. package/dist/core/ai/deepseek-provider.d.ts +0 -81
  626. package/dist/core/ai/deepseek-provider.js +0 -266
  627. package/dist/core/ai/index.d.ts +0 -60
  628. package/dist/core/ai/index.js +0 -18
  629. package/dist/core/ai/llm-client.d.ts +0 -45
  630. package/dist/core/ai/llm-client.js +0 -7
  631. package/dist/core/ai/mock-provider.d.ts +0 -49
  632. package/dist/core/ai/mock-provider.js +0 -121
  633. package/dist/core/ai/ollama-provider.d.ts +0 -78
  634. package/dist/core/ai/ollama-provider.js +0 -204
  635. package/dist/core/ai/openai-provider.d.ts +0 -48
  636. package/dist/core/ai/openai-provider.js +0 -200
  637. package/dist/core/ai/provider-factory.d.ts +0 -160
  638. package/dist/core/ai/provider-factory.js +0 -269
  639. package/dist/core/artifacts/index.d.ts +0 -6
  640. package/dist/core/artifacts/index.js +0 -6
  641. package/dist/core/artifacts/ui-artifacts.d.ts +0 -133
  642. package/dist/core/artifacts/ui-artifacts.js +0 -304
  643. package/dist/core/assertions/engine.d.ts +0 -51
  644. package/dist/core/assertions/engine.js +0 -530
  645. package/dist/core/assertions/index.d.ts +0 -11
  646. package/dist/core/assertions/index.js +0 -11
  647. package/dist/core/assertions/types.d.ts +0 -121
  648. package/dist/core/assertions/types.js +0 -37
  649. package/dist/core/auth/api-key-provider.d.ts +0 -16
  650. package/dist/core/auth/api-key-provider.js +0 -63
  651. package/dist/core/auth/aws-iam-provider.d.ts +0 -35
  652. package/dist/core/auth/aws-iam-provider.js +0 -177
  653. package/dist/core/auth/azure-ad-provider.d.ts +0 -15
  654. package/dist/core/auth/azure-ad-provider.js +0 -99
  655. package/dist/core/auth/basic-auth-provider.d.ts +0 -26
  656. package/dist/core/auth/basic-auth-provider.js +0 -111
  657. package/dist/core/auth/gcp-adc-provider.d.ts +0 -27
  658. package/dist/core/auth/gcp-adc-provider.js +0 -126
  659. package/dist/core/auth/index.d.ts +0 -238
  660. package/dist/core/auth/index.js +0 -82
  661. package/dist/core/auth/jwt-provider.d.ts +0 -19
  662. package/dist/core/auth/jwt-provider.js +0 -160
  663. package/dist/core/auth/manager.d.ts +0 -84
  664. package/dist/core/auth/manager.js +0 -230
  665. package/dist/core/auth/oauth2-provider.d.ts +0 -17
  666. package/dist/core/auth/oauth2-provider.js +0 -114
  667. package/dist/core/auth/totp-provider.d.ts +0 -31
  668. package/dist/core/auth/totp-provider.js +0 -134
  669. package/dist/core/auth/ui-login-provider.d.ts +0 -26
  670. package/dist/core/auth/ui-login-provider.js +0 -198
  671. package/dist/core/cache/index.d.ts +0 -7
  672. package/dist/core/cache/index.js +0 -6
  673. package/dist/core/cache/lru-cache.d.ts +0 -203
  674. package/dist/core/cache/lru-cache.js +0 -397
  675. package/dist/core/core/coverage/analyzer.d.ts +0 -101
  676. package/dist/core/core/coverage/analyzer.js +0 -415
  677. package/dist/core/core/coverage/collector.d.ts +0 -74
  678. package/dist/core/core/coverage/collector.js +0 -459
  679. package/dist/core/core/coverage/config.d.ts +0 -37
  680. package/dist/core/core/coverage/config.js +0 -156
  681. package/dist/core/core/coverage/index.d.ts +0 -11
  682. package/dist/core/core/coverage/index.js +0 -15
  683. package/dist/core/core/coverage/types.d.ts +0 -267
  684. package/dist/core/core/coverage/types.js +0 -6
  685. package/dist/core/core/coverage/vault.d.ts +0 -95
  686. package/dist/core/core/coverage/vault.js +0 -405
  687. package/dist/core/coverage/analyzer.d.ts +0 -101
  688. package/dist/core/coverage/analyzer.js +0 -415
  689. package/dist/core/coverage/collector.d.ts +0 -74
  690. package/dist/core/coverage/collector.js +0 -459
  691. package/dist/core/coverage/config.d.ts +0 -37
  692. package/dist/core/coverage/config.js +0 -156
  693. package/dist/core/coverage/index.d.ts +0 -11
  694. package/dist/core/coverage/index.js +0 -15
  695. package/dist/core/coverage/types.d.ts +0 -267
  696. package/dist/core/coverage/types.js +0 -6
  697. package/dist/core/coverage/vault.d.ts +0 -95
  698. package/dist/core/coverage/vault.js +0 -405
  699. package/dist/core/crawler/index.d.ts +0 -57
  700. package/dist/core/crawler/index.js +0 -281
  701. package/dist/core/crawler/journey-generator.d.ts +0 -49
  702. package/dist/core/crawler/journey-generator.js +0 -412
  703. package/dist/core/crawler/page-analyzer.d.ts +0 -88
  704. package/dist/core/crawler/page-analyzer.js +0 -709
  705. package/dist/core/crawler/selector-generator.d.ts +0 -34
  706. package/dist/core/crawler/selector-generator.js +0 -240
  707. package/dist/core/crawler/types.d.ts +0 -353
  708. package/dist/core/crawler/types.js +0 -6
  709. package/dist/core/dashboard/assets.d.ts +0 -6
  710. package/dist/core/dashboard/assets.js +0 -690
  711. package/dist/core/dashboard/index.d.ts +0 -6
  712. package/dist/core/dashboard/index.js +0 -5
  713. package/dist/core/dashboard/server.d.ts +0 -72
  714. package/dist/core/dashboard/server.js +0 -354
  715. package/dist/core/dashboard/types.d.ts +0 -70
  716. package/dist/core/dashboard/types.js +0 -5
  717. package/dist/core/discoverer/index.d.ts +0 -115
  718. package/dist/core/discoverer/index.js +0 -250
  719. package/dist/core/flakiness/index.d.ts +0 -228
  720. package/dist/core/flakiness/index.js +0 -384
  721. package/dist/core/generation/code-formatter.d.ts +0 -111
  722. package/dist/core/generation/code-formatter.js +0 -307
  723. package/dist/core/generation/code-generator.d.ts +0 -144
  724. package/dist/core/generation/code-generator.js +0 -293
  725. package/dist/core/generation/crawler-pack-generator.d.ts +0 -44
  726. package/dist/core/generation/crawler-pack-generator.js +0 -231
  727. package/dist/core/generation/generator.d.ts +0 -40
  728. package/dist/core/generation/generator.js +0 -76
  729. package/dist/core/generation/index.d.ts +0 -32
  730. package/dist/core/generation/index.js +0 -30
  731. package/dist/core/generation/pack-generator.d.ts +0 -107
  732. package/dist/core/generation/pack-generator.js +0 -416
  733. package/dist/core/generation/prompt-builder.d.ts +0 -132
  734. package/dist/core/generation/prompt-builder.js +0 -672
  735. package/dist/core/generation/source-analyzer.d.ts +0 -213
  736. package/dist/core/generation/source-analyzer.js +0 -657
  737. package/dist/core/generation/test-optimizer.d.ts +0 -117
  738. package/dist/core/generation/test-optimizer.js +0 -328
  739. package/dist/core/generation/types.d.ts +0 -214
  740. package/dist/core/generation/types.js +0 -4
  741. package/dist/core/hooks/compose.d.ts +0 -61
  742. package/dist/core/hooks/compose.js +0 -225
  743. package/dist/core/hooks/runner.d.ts +0 -68
  744. package/dist/core/hooks/runner.js +0 -303
  745. package/dist/core/index.d.ts +0 -104
  746. package/dist/core/index.js +0 -91
  747. package/dist/core/pack/migrator.d.ts +0 -51
  748. package/dist/core/pack/migrator.js +0 -304
  749. package/dist/core/pack/validator.d.ts +0 -42
  750. package/dist/core/pack/validator.js +0 -322
  751. package/dist/core/pack-v2/index.d.ts +0 -9
  752. package/dist/core/pack-v2/index.js +0 -8
  753. package/dist/core/pack-v2/loader.d.ts +0 -63
  754. package/dist/core/pack-v2/loader.js +0 -292
  755. package/dist/core/pack-v2/migrator.d.ts +0 -61
  756. package/dist/core/pack-v2/migrator.js +0 -480
  757. package/dist/core/pack-v2/validator.d.ts +0 -61
  758. package/dist/core/pack-v2/validator.js +0 -577
  759. package/dist/core/parallel/index.d.ts +0 -6
  760. package/dist/core/parallel/index.js +0 -6
  761. package/dist/core/parallel/parallel-runner.d.ts +0 -107
  762. package/dist/core/parallel/parallel-runner.js +0 -192
  763. package/dist/core/proof/bundle.d.ts +0 -137
  764. package/dist/core/proof/bundle.js +0 -160
  765. package/dist/core/proof/canonicalize.d.ts +0 -47
  766. package/dist/core/proof/canonicalize.js +0 -105
  767. package/dist/core/proof/index.d.ts +0 -13
  768. package/dist/core/proof/index.js +0 -18
  769. package/dist/core/proof/schema.d.ts +0 -217
  770. package/dist/core/proof/schema.js +0 -263
  771. package/dist/core/proof/signer.d.ts +0 -111
  772. package/dist/core/proof/signer.js +0 -226
  773. package/dist/core/proof/verifier.d.ts +0 -97
  774. package/dist/core/proof/verifier.js +0 -308
  775. package/dist/core/regression/detector.d.ts +0 -107
  776. package/dist/core/regression/detector.js +0 -497
  777. package/dist/core/regression/index.d.ts +0 -9
  778. package/dist/core/regression/index.js +0 -11
  779. package/dist/core/regression/trend-analyzer.d.ts +0 -102
  780. package/dist/core/regression/trend-analyzer.js +0 -345
  781. package/dist/core/regression/types.d.ts +0 -222
  782. package/dist/core/regression/types.js +0 -7
  783. package/dist/core/regression/vault.d.ts +0 -87
  784. package/dist/core/regression/vault.js +0 -289
  785. package/dist/core/repair/engine/fixer.d.ts +0 -24
  786. package/dist/core/repair/engine/fixer.js +0 -226
  787. package/dist/core/repair/engine/suggestion-engine.d.ts +0 -18
  788. package/dist/core/repair/engine/suggestion-engine.js +0 -187
  789. package/dist/core/repair/index.d.ts +0 -10
  790. package/dist/core/repair/index.js +0 -13
  791. package/dist/core/repair/repairer.d.ts +0 -90
  792. package/dist/core/repair/repairer.js +0 -284
  793. package/dist/core/repair/types.d.ts +0 -91
  794. package/dist/core/repair/types.js +0 -6
  795. package/dist/core/repair/utils/error-analyzer.d.ts +0 -28
  796. package/dist/core/repair/utils/error-analyzer.js +0 -264
  797. package/dist/core/reporting/html-reporter.d.ts +0 -119
  798. package/dist/core/reporting/html-reporter.js +0 -737
  799. package/dist/core/reporting/index.d.ts +0 -6
  800. package/dist/core/reporting/index.js +0 -6
  801. package/dist/core/retry/flakiness-integration.d.ts +0 -60
  802. package/dist/core/retry/flakiness-integration.js +0 -228
  803. package/dist/core/retry/index.d.ts +0 -14
  804. package/dist/core/retry/index.js +0 -16
  805. package/dist/core/retry/retry-engine.d.ts +0 -80
  806. package/dist/core/retry/retry-engine.js +0 -296
  807. package/dist/core/retry/types.d.ts +0 -178
  808. package/dist/core/retry/types.js +0 -52
  809. package/dist/core/retry/vault.d.ts +0 -77
  810. package/dist/core/retry/vault.js +0 -304
  811. package/dist/core/runner/e2e-helpers.d.ts +0 -102
  812. package/dist/core/runner/e2e-helpers.js +0 -153
  813. package/dist/core/runner/phase3-runner.d.ts +0 -200
  814. package/dist/core/runner/phase3-runner.js +0 -1041
  815. package/dist/core/secrets/crypto.d.ts +0 -75
  816. package/dist/core/secrets/crypto.js +0 -223
  817. package/dist/core/secrets/manager.d.ts +0 -76
  818. package/dist/core/secrets/manager.js +0 -219
  819. package/dist/core/security/redaction-patterns-extended.d.ts +0 -27
  820. package/dist/core/security/redaction-patterns-extended.js +0 -247
  821. package/dist/core/security/redactor.d.ts +0 -71
  822. package/dist/core/security/redactor.js +0 -279
  823. package/dist/core/self-healing/assertion-healer.d.ts +0 -97
  824. package/dist/core/self-healing/assertion-healer.js +0 -371
  825. package/dist/core/self-healing/engine.d.ts +0 -122
  826. package/dist/core/self-healing/engine.js +0 -538
  827. package/dist/core/self-healing/index.d.ts +0 -10
  828. package/dist/core/self-healing/index.js +0 -11
  829. package/dist/core/self-healing/selector-healer.d.ts +0 -103
  830. package/dist/core/self-healing/selector-healer.js +0 -372
  831. package/dist/core/self-healing/types.d.ts +0 -152
  832. package/dist/core/self-healing/types.js +0 -6
  833. package/dist/core/serve/diagnostics-collector.d.ts +0 -32
  834. package/dist/core/serve/diagnostics-collector.js +0 -149
  835. package/dist/core/serve/health-checker.d.ts +0 -44
  836. package/dist/core/serve/health-checker.js +0 -219
  837. package/dist/core/serve/index.d.ts +0 -8
  838. package/dist/core/serve/index.js +0 -8
  839. package/dist/core/serve/metrics-collector.d.ts +0 -24
  840. package/dist/core/serve/metrics-collector.js +0 -322
  841. package/dist/core/serve/process-manager.d.ts +0 -36
  842. package/dist/core/serve/process-manager.js +0 -213
  843. package/dist/core/serve/server.d.ts +0 -36
  844. package/dist/core/serve/server.js +0 -191
  845. package/dist/core/slo/config.d.ts +0 -107
  846. package/dist/core/slo/config.js +0 -360
  847. package/dist/core/slo/index.d.ts +0 -11
  848. package/dist/core/slo/index.js +0 -15
  849. package/dist/core/slo/sli-calculator.d.ts +0 -92
  850. package/dist/core/slo/sli-calculator.js +0 -364
  851. package/dist/core/slo/slo-tracker.d.ts +0 -148
  852. package/dist/core/slo/slo-tracker.js +0 -379
  853. package/dist/core/slo/types.d.ts +0 -281
  854. package/dist/core/slo/types.js +0 -7
  855. package/dist/core/slo/vault.d.ts +0 -102
  856. package/dist/core/slo/vault.js +0 -427
  857. package/dist/core/tui/index.d.ts +0 -7
  858. package/dist/core/tui/index.js +0 -6
  859. package/dist/core/tui/monitor.d.ts +0 -92
  860. package/dist/core/tui/monitor.js +0 -271
  861. package/dist/core/tui/renderer.d.ts +0 -33
  862. package/dist/core/tui/renderer.js +0 -218
  863. package/dist/core/tui/types.d.ts +0 -63
  864. package/dist/core/tui/types.js +0 -5
  865. package/dist/core/types/pack-v1.d.ts +0 -251
  866. package/dist/core/types/pack-v1.js +0 -5
  867. package/dist/core/types/pack-v2.d.ts +0 -425
  868. package/dist/core/types/pack-v2.js +0 -8
  869. package/dist/core/types/trust-score.d.ts +0 -69
  870. package/dist/core/types/trust-score.js +0 -191
  871. package/dist/core/vault/cas.d.ts +0 -90
  872. package/dist/core/vault/cas.js +0 -261
  873. package/dist/core/vault/index.d.ts +0 -326
  874. package/dist/core/vault/index.js +0 -1042
  875. package/dist/core/visual/index.d.ts +0 -6
  876. package/dist/core/visual/index.js +0 -6
  877. package/dist/core/visual/visual-regression.d.ts +0 -113
  878. package/dist/core/visual/visual-regression.js +0 -236
  879. package/dist/core/watch/index.d.ts +0 -7
  880. package/dist/core/watch/index.js +0 -6
  881. package/dist/core/watch/watch-mode.d.ts +0 -213
  882. package/dist/core/watch/watch-mode.js +0 -389
  883. package/dist/generators/index.d.ts +0 -5
  884. package/dist/generators/index.js +0 -5
  885. package/dist/generators/json-reporter.d.ts +0 -10
  886. package/dist/generators/json-reporter.js +0 -12
  887. package/dist/generators/test-generator.d.ts +0 -18
  888. package/dist/generators/test-generator.js +0 -78
  889. package/dist/index.d.ts +0 -8
  890. package/dist/index.js +0 -246
  891. package/dist/scanners/dom-scanner.d.ts +0 -52
  892. package/dist/scanners/dom-scanner.js +0 -296
  893. package/dist/scanners/index.d.ts +0 -4
  894. package/dist/scanners/index.js +0 -4
  895. package/dist/schemas/pack.schema.json +0 -236
  896. package/dist/types/scan.d.ts +0 -68
  897. package/dist/types/scan.js +0 -4
  898. package/dist/utils/config.d.ts +0 -5
  899. package/dist/utils/config.js +0 -136
  900. /package/{bin → cli/bin}/qa360.js +0 -0
  901. /package/{examples → cli/examples}/accessibility.yml +0 -0
  902. /package/{examples → cli/examples}/api-basic.yml +0 -0
  903. /package/{examples → cli/examples}/complete.yml +0 -0
  904. /package/{examples → cli/examples}/crawler.yml +0 -0
  905. /package/{examples → cli/examples}/fullstack.yml +0 -0
  906. /package/{examples → cli/examples}/security.yml +0 -0
  907. /package/{examples → cli/examples}/ui-advanced.yml +0 -0
  908. /package/{examples → cli/examples}/ui-basic.yml +0 -0
  909. /package/{dist/core → core}/schemas/pack.schema.json +0 -0
package/QUICK_START.md ADDED
@@ -0,0 +1,191 @@
1
+ # 🚀 QA360 - Guide de DÊmarrage Simple
2
+
3
+ Transformez vos tests en preuves vÊrifiables en 5 minutes.
4
+
5
+ > **🚀 Beta Testing (15 Jan - 26 FÊv 2025)** - Rejoignez le programme ! [Voir le plan beta](./docs/BETA_TESTING.md)
6
+
7
+ ---
8
+
9
+ ## ⚡ Installation (2 minutes)
10
+
11
+ ### Windows
12
+
13
+ 1. Ouvrez **PowerShell** en administrateur
14
+ 2. Installez QA360 :
15
+
16
+ ```powershell
17
+ npm install -g xyqotech/qa360#develop
18
+ ```
19
+
20
+ ### Mac / Linux
21
+
22
+ 1. Ouvrez le **Terminal**
23
+ 2. Installez QA360 :
24
+
25
+ ```bash
26
+ npm install -g xyqotech/qa360#develop
27
+ ```
28
+
29
+ ### VÊrifier l'installation
30
+
31
+ ```bash
32
+ qa360 --version
33
+ ```
34
+
35
+ Vous devriez voir : `v1.4.5` ou plus.
36
+
37
+ > **Problème ?** Lancez `qa360 doctor --fix` pour un diagnostic automatique
38
+
39
+ ---
40
+
41
+ ## đŸ§Ē Votre Premier Test (3 minutes)
42
+
43
+ ### Étape 1 : CrÊer un dossier
44
+
45
+ ```bash
46
+ mkdir mon-test
47
+ cd mon-test
48
+ ```
49
+
50
+ ### Étape 2 : CrÊer votre fichier de test
51
+
52
+ CrÊez un fichier `test.yml` :
53
+
54
+ ```yaml
55
+ name: "Mon Premier Test"
56
+ description: "Test simple d'API"
57
+
58
+ gates:
59
+ - api_health
60
+
61
+ targets:
62
+ api:
63
+ baseUrl: "https://httpbin.org"
64
+ smoke:
65
+ - "GET /status/200 -> 200"
66
+ - "GET /get -> 200"
67
+ ```
68
+
69
+ ### Étape 3 : Lancer le test
70
+
71
+ ```bash
72
+ qa360 run test.yml
73
+ ```
74
+
75
+ ### RÊsultat attendu
76
+
77
+ ```
78
+ ✅ API Health : PASSED (2/2)
79
+ ✅ Preuve gÊnÊrÊe : .qa360/runs/xxxxx-proof.json
80
+ ```
81
+
82
+ ---
83
+
84
+ ## 🎓 Ce que vous venez de faire
85
+
86
+ 1. **Tester une API** - Vous avez vÊrifiÊ que httpbin.org fonctionne
87
+ 2. **GÊnÊrer une preuve** - QA360 a signÊ cryptographiquement les rÊsultats
88
+ 3. **Sauvegarder l'historique** - Les rÊsultats sont stockÊs localement
89
+
90
+ ---
91
+
92
+ ## 🔐 VÊrifier la Preuve
93
+
94
+ ```bash
95
+ qa360 verify .qa360/runs/<dernier>-proof.json
96
+ ```
97
+
98
+ RÊsultat :
99
+
100
+ ```
101
+ ✅ Preuve VALIDE
102
+ ✅ Signature : Ed25519
103
+ ✅ Date : 2025-01-03
104
+ ```
105
+
106
+ ---
107
+
108
+ ## 📋 Commandes Utiles
109
+
110
+ | Commande | Ce que ça fait |
111
+ |----------|---------------|
112
+ | `qa360 run <fichier.yml>` | Lance les tests |
113
+ | `qa360 verify <preuve.json>` | VÊrifie une preuve |
114
+ | `qa360 history list` | Voir les tests passÊs |
115
+ | `qa360 doctor` | Diagnostic système |
116
+ | `qa360 examples list` | Voir les exemples |
117
+ | `qa360 init --beginner` | CrÊer un test facilement |
118
+
119
+ ---
120
+
121
+ ## 📁 Exemples Disponibles
122
+
123
+ ```bash
124
+ # Voir tous les exemples
125
+ qa360 examples list
126
+
127
+ # Copier un exemple
128
+ qa360 examples copy api-basic
129
+ qa360 examples copy fullstack
130
+ qa360 examples copy perf-test
131
+
132
+ # Lancer un exemple
133
+ qa360 run api-basic/qa360.yml
134
+ ```
135
+
136
+ ---
137
+
138
+ ## đŸŽ¯ Prochaines Étapes
139
+
140
+ 1. **Tester votre propre API** : Modifiez `baseUrl` dans le fichier `test.yml`
141
+ 2. **Explorer les exemples** : `qa360 examples list`
142
+ 3. **CrÊer des tests complexes** : Consultez le [Guide Utilisateur](./docs/USER_GUIDE.md)
143
+
144
+ ---
145
+
146
+ ## 🐛 Un Problème ?
147
+
148
+ ### Erreur : `command not found: qa360`
149
+
150
+ ```bash
151
+ # VÊrifiez que npm est dans le PATH
152
+ npm config get prefix
153
+
154
+ # Si besoin, ajoutez à votre PATH :
155
+ # Windows : $env:Path += ";C:\Users\<votre-user>\AppData\Roaming\npm"
156
+ # Mac/Linux : export PATH="$PATH:$(npm config get prefix)/bin"
157
+ ```
158
+
159
+ ### Erreur : `EACCES` (permission refusÊe)
160
+
161
+ ```bash
162
+ # Mac/Linux : utilisez sudo
163
+ sudo npm install -g xyqotech/qa360#develop
164
+
165
+ # Ou corrigez les permissions npm
166
+ mkdir ~/.npm-global
167
+ npm config set prefix '~/.npm-global'
168
+ export PATH=~/.npm-global/bin:$PATH
169
+ ```
170
+
171
+ ### Autre erreur
172
+
173
+ ```bash
174
+ qa360 doctor --fix > diagnostic.txt
175
+ ```
176
+
177
+ Envoyez `diagnostic.txt` sur :
178
+ - Discord : https://discord.gg/qa360
179
+ - GitHub : https://github.com/xyqotech/qa360/issues
180
+
181
+ ---
182
+
183
+ ## 📚 En Savoir Plus
184
+
185
+ - [Programme Beta Test](./docs/BETA_TESTING.md) - Participez au beta !
186
+ - [Guide Utilisateur Complet](./docs/USER_GUIDE.md) - Toutes les fonctionnalitÊs
187
+ - [Documentation Technique](./docs/ARCHITECTURE.md) - Comment ça marche
188
+
189
+ ---
190
+
191
+ **C'est tout !** Vous savez utiliser QA360 en 5 minutes 🚀
package/README.md CHANGED
@@ -1,222 +1,250 @@
1
- # qa360
1
+ # QA360 Proof CLI
2
2
 
3
- **QA360 Proof CLI** - Quality as Cryptographic Proof
3
+ **Quality as Cryptographic Proof**
4
4
 
5
- [![Version](https://img.shields.io/npm/v/qa360.svg)](https://www.npmjs.com/package/qa360)
6
- [![License](https://img.shields.io/npm/l/qa360.svg)](https://github.com/xyqotech/qa360/blob/main/LICENSE)
7
- [![Tests](https://img.shields.io/badge/tests-282%20passing-success)](https://github.com/xyqotech/qa360)
8
- [![Coverage](https://img.shields.io/badge/coverage-55%25-brightgreen)](https://github.com/xyqotech/qa360)
5
+ > **🚀 BETA TESTING (Jan 15 - Feb 26, 2025)** - Join the beta program! See [BETA_TESTING.md](./docs/BETA_TESTING.md)
9
6
 
10
- > **Official package** published by [xyqotech](https://github.com/xyqotech) with npm provenance signatures
7
+ ![Version](https://img.shields.io/badge/version-2.0.0%20%5Bstable%5D-brightgreen)
8
+ ![Tests](https://img.shields.io/badge/tests-2177%20passing-brightgreen)
9
+ ![Coverage](https://img.shields.io/badge/coverage-55%25-yellow)
10
+ ![CI](https://img.shields.io/badge/CI-passing-brightgreen)
11
+ ![Platform](https://img.shields.io/badge/platform-Win%20%7C%20macOS%20%7C%20Linux-lightgrey)
12
+ ![License](https://img.shields.io/badge/license-MIT-green)
11
13
 
12
- ## Installation
14
+ > **Versioning**: QA360 uses Node.js-style versioning (Major.Minor.Patch), e.g., `v2.0.0` (similar to Node.js `v18.20.5`)
13
15
 
14
- ### Option 1: Global installation (recommended for regular use)
16
+ Verify cryptographically signed proof bundles locally, without network dependencies.
17
+
18
+ ## 🚀 Install
19
+
20
+ ### Installation (npm)
15
21
 
16
22
  ```bash
17
- # macOS: use sudo if you get EACCES permission errors
18
- sudo npm install -g qa360
19
-
20
- # Or configure npm prefix (one-time setup)
21
- mkdir -p ~/.npm-global
22
- npm config set prefix '~/.npm-global'
23
- echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
24
- source ~/.zshrc
23
+ # Using npm
25
24
  npm install -g qa360
26
- ```
27
25
 
28
- ### Option 2: Direct usage with npx (no installation needed)
26
+ # Using pnpm
27
+ pnpm add -g qa360
29
28
 
30
- ```bash
31
- # Run directly without installing
32
- npx qa360@latest run test.yml
33
- npx qa360@latest verify proof.json
34
- npx qa360@latest doctor
29
+ # Using yarn
30
+ yarn global add qa360
35
31
  ```
36
32
 
37
- **Note**: On first run, Playwright browsers will be automatically downloaded (~100MB). This happens only once.
33
+ > **Note:** Join the [beta testing program](./docs/BETA_TESTING.md) (Jan 15 - Feb 26, 2025) and help improve QA360!
38
34
 
39
- ## Quick Start
35
+ ## ⚡ Quick Start
40
36
 
41
- ### 1. Generate a test pack
37
+ **New to QA360?** → See the [**Quick Start Guide**](./QUICK_START.md) for a 5-minute tutorial!
42
38
 
43
39
  ```bash
44
- # Option 1: Interactive mode (recommended for first-time users)
45
- qa360 init
46
-
47
- # Option 2: Use a template directly
48
- qa360 init --template api-basic --yes
49
-
50
- # Option 3: Copy an example
51
- qa360 examples copy api-basic
52
- qa360 examples list # See all available examples
53
- ```
40
+ # Run your first test
41
+ qa360 run test-pack.yml
54
42
 
55
- ### 2. Run tests
56
-
57
- ```bash
58
- qa360 run
59
- ```
43
+ # View test history
44
+ qa360 history list
60
45
 
61
- ### 3. Verify proof
46
+ # Verify cryptographic proof
47
+ qa360 verify .qa360/runs/<run-id>-proof.json
62
48
 
63
- ```bash
64
- qa360 verify .qa360/runs/
49
+ # Check system readiness
50
+ qa360 doctor
65
51
  ```
66
52
 
67
- ## Usage
53
+ ## đŸ› ī¸ Core Commands
68
54
 
69
55
  ```bash
70
- # Generate test pack (interactive)
71
- qa360 init
56
+ # Execute quality gates
57
+ qa360 run pack.yaml
72
58
 
73
- # Generate with template
74
- qa360 init --template api-basic
75
- qa360 init --template fullstack
76
- qa360 init --template security
77
- qa360 init --template complete
59
+ # Verify proof signature
60
+ qa360 verify .qa360/runs/proof.json
78
61
 
79
- # Examples commands
80
- qa360 examples list # List all examples
81
- qa360 examples copy api-basic # Copy example to qa360.yml
82
- qa360 examples show fullstack # Preview example content
62
+ # System diagnostics
63
+ qa360 doctor --fix
83
64
 
84
- # System health check
85
- qa360 doctor
86
-
87
- # Run test pack
88
- qa360 run # Auto-detects qa360.yml
89
- qa360 run custom-pack.yml # Use specific file
65
+ # Start observability server
66
+ qa360 serve --port 3600
67
+ ```
90
68
 
91
- # Verify proof bundle
92
- qa360 verify .qa360/runs/
93
- qa360 verify proof.json
69
+ ## ✨ Why QA360?
94
70
 
95
- # View run history
96
- qa360 history list
97
- qa360 history show <run-id>
71
+ - **🔒 Local-first** - No network dependencies, 100% offline
72
+ - **🔐 Cryptographic trust** - Ed25519 signatures, SHA-256 hashing
73
+ - **🌍 Cross-OS verified** - Windows, macOS, Linux
74
+ - **⚡ Zero friction** - Auto-generates keys, clear error messages
75
+ - **
76
+ - **🧠 AI-Native** - Local test generation with Ollama (100% free)
77
+ - **🚀 Playwright Native** - 87% faster API tests, 80% less memory
78
+ - **đŸ“Ļ Smart Caching** - LRU cache for HTTP responses, 96% faster cache hits
98
79
 
99
- # Export proof bundle
100
- qa360 history export <run-id> --bundle proof-bundle.zip
80
+ ## đŸ—ī¸ Architecture
101
81
 
102
- # Clean up old runs (garbage collection)
103
- qa360 history gc # Default: keep last 10 runs
104
- qa360 history gc --keep-last 20 # Keep last 20 runs
105
- qa360 history gc --dry-run # Preview what would be deleted
82
+ QA360 uses a clean monorepo architecture with unified packages and modular design.
106
83
 
107
- # Pin/unpin runs (pinned runs are never deleted by gc)
108
- qa360 history pin <run-id>
109
- qa360 history unpin <run-id>
84
+ ### Structure
110
85
 
111
- # With JSON output (CI-friendly)
112
- qa360 doctor --json
113
- qa360 verify proof.json --json
114
- qa360 history list --json
86
+ ```
87
+ QA360/
88
+ ├── cli/ # CLI interface (@qa360/cli v1.4.5)
89
+ │ └── src/commands/ # 22 CLI commands
90
+ ├── core/ # Proof generation engine (qa360-core v1.0.1)
91
+ │ └── src/adapters/ # 7 test framework adapters
92
+ │ ├── playwright-native-api.ts # API testing (87% faster)
93
+ │ ├── playwright-ui.ts # UI/E2E + A11y
94
+ │ ├── k6-perf.ts # Performance testing
95
+ │ ├── semgrep-sast.ts # SAST analysis
96
+ │ ├── gitleaks-secrets.ts # Secret scanning
97
+ │ ├── osv-deps.ts # Dependency vulnerabilities
98
+ │ └── zap-dast.ts # DAST security scanning
99
+ ├── packages/mcp/ # MCP server (@qa360/mcp v1.0.0, 23 tools)
100
+ ├── docs/ # 54 documentation files
101
+ ├── examples/ # 15 example packs
102
+ └── tests/ # 100 test files (2177 tests passing)
115
103
  ```
116
104
 
117
- ## Available Templates
118
-
119
- | Template | Description | Gates |
120
- |----------|-------------|-------|
121
- | **api-basic** | Simple API smoke tests | api_smoke |
122
- | **ui-basic** | Basic UI/E2E tests | ui |
123
- | **fullstack** | API + UI + Performance | api_smoke, ui, perf |
124
- | **security** | Security testing suite | sast, dast, secrets, deps |
125
- | **accessibility** | Accessibility testing | ui, a11y |
126
- | **complete** | All quality gates | All (8 gates) |
105
+ ### Recent Updates (Phase 1 Complete - January 2025)
106
+
107
+ **January 3, 2025** - F8 Smart Retry Module (Vision 2.0):
108
+ - ✅ **Smart Retry Engine**: 6 retry strategies (NONE, FIXED, LINEAR, EXPONENTIAL, ADAPTIVE, INTELLIGENT)
109
+ - ✅ **Flakiness-Aware Retry**: Integrates with flakiness scoring for intelligent retry decisions
110
+ - ✅ **Pattern-Based Retry**: Adjusts strategy based on failure patterns (timing, race conditions, selectors)
111
+ - ✅ **Non-Retriable Error Detection**: Automatically identifies unrecoverable errors
112
+ - ✅ **Jitter Support**: Avoids thundering herd problem with configurable jitter
113
+ - 📊 **Tests**: 48 passing tests
114
+
115
+ **January 2, 2025** - Phase 1 Performance Optimizations:
116
+ - ✅ **Playwright Native API**: Zero-overhead HTTP testing (87% faster, 80% less memory)
117
+ - ✅ **LRU Cache**: Intelligent HTTP response caching (96% faster cache hits)
118
+ - ✅ **Watch Mode**: Continuous testing with file monitoring
119
+ - ✅ **Benchmark Mode**: Performance testing with detailed statistics
120
+ - 📊 **Performance**: See [`docs/PHASE1_PERFORMANCE.md`](./docs/PHASE1_PERFORMANCE.md)
121
+
122
+ **December 23, 2024** - Major architecture improvements:
123
+ - ✅ **Unified MCP Package**: Merged 2 MCP packages into 1 (`@qa360/mcp v1.2.0`)
124
+ - ✅ **Removed Duplicates**: Deleted 4 empty packages + eliminated 10,503 duplicate lines
125
+ - ✅ **Clean Structure**: Moved `/api` to `examples/future-api/` (Phase 3)
126
+ - ✅ **Build Performance**: +50% faster builds after consolidation
127
+
128
+ **See:** [`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md) for complete documentation.
129
+
130
+ ## 🧠 AI Integration with Ollama
131
+
132
+ QA360 is an **AI-native testing platform** using [Ollama](https://ollama.com/) for 100% free, local LLM inference.
133
+
134
+ ### Phase 4 Complete ✅ - AI Test Generation
135
+
136
+ **January 2, 2025** - AI Test Generation Module:
137
+ - ✅ **SourceAnalyzer**: Analyze TypeScript, JavaScript, Python, and Go source code
138
+ - Extract functions, classes, imports, and complexity metrics
139
+ - Generate test suggestions (unit/integration/e2e)
140
+ - Generate API specs from Express/Fastify handlers
141
+ - ✅ **PackGenerator**: Convert AI-generated specs to QA360 pack YAML (v2 format)
142
+ - ✅ **CodeGenerator**: Generate test code using LLM providers (Ollama, DeepSeek, etc.)
143
+ - ✅ **Real Provider Integration**: Tests for Ollama and DeepSeek providers
144
+ - 📊 **Test Coverage**: 160 generation tests + 187 real-world tests
145
+
146
+ ```typescript
147
+ // Example: Analyze source code and generate tests
148
+ import { SourceAnalyzer, PackGenerator } from 'qa360/core/generation';
149
+
150
+ const analyzer = new SourceAnalyzer();
151
+ const analysis = analyzer.analyzeFile('./src/userService.ts');
152
+
153
+ // Generate test suggestions
154
+ const suggestions = analyzer.generateSuggestions(analysis);
155
+ // → [{ type: 'unit', priority: 'high', description: 'Test UserService.createUser', ... }]
156
+
157
+ // Generate API spec from handlers
158
+ const apiSpec = analyzer.generateApiSpec(analysis);
159
+ // → { type: 'api', baseUrl: 'https://...', endpoints: [...] }
160
+
161
+ // Convert to pack YAML
162
+ const packGenerator = new PackGenerator();
163
+ const packYaml = packGenerator.generateFromApiSpec(apiSpec);
164
+ ```
127
165
 
128
- ## Example Files
166
+ ### Phase 1-3 Complete ✅
129
167
 
130
- Pre-made examples are included in the package:
168
+ | Component | Status | Tests |
169
+ |-----------|--------|-------|
170
+ | OllamaProvider | ✅ Complete | 41 tests |
171
+ | TestDiscoverer | ✅ Complete | 55 tests |
172
+ | PackConfig | ✅ Complete | - |
173
+ | Auth Module (9 providers) | ✅ Complete | 92 tests |
174
+ | Pack Validation | ✅ Complete | 210+ tests |
175
+ | **Phase 4 Generation** | ✅ Complete | **160 tests** |
131
176
 
132
177
  ```bash
133
- # List examples
134
- ls examples/
178
+ # Test Ollama connection
179
+ qa360 ollama test
135
180
 
136
- # Copy an example
137
- cp examples/api-basic.yml qa360.yml
181
+ # List installed models
182
+ qa360 ollama list
138
183
 
139
- # Run example directly
140
- qa360 run examples/api-basic.yml
141
- ```
184
+ # Generate tests (preview)
185
+ qa360 ollama generate "create API smoke tests for /users"
142
186
 
143
- ## Commands
144
-
145
- | Command | Description |
146
- |---------|-------------|
147
- | `init` | Generate test pack interactively |
148
- | `examples` | Manage example templates (list, copy, show) |
149
- | `run` | Execute test pack |
150
- | `verify` | Verify cryptographic proof bundles |
151
- | `doctor` | Check system health, auto-fix issues |
152
- | `history` | View run history and results |
153
- | `report` | Generate reports |
154
- | `secrets` | Manage encrypted secrets |
155
- | `pack` | Pack validation and linting |
156
-
157
- ### History Commands
158
-
159
- The `history` command provides comprehensive management of test run history stored in the Evidence Vault:
187
+ # Configure Ollama
188
+ qa360 ollama config
189
+ ```
160
190
 
161
- | Subcommand | Description | Example |
162
- |------------|-------------|---------|
163
- | `list` | List recent test runs | `qa360 history list --limit 20` |
164
- | `show <run-id>` | Show detailed run information | `qa360 history show abc123` |
165
- | `diff <id1> <id2>` | Compare two test runs | `qa360 history diff abc123 def456` |
166
- | `trend` | Show trust score trends | `qa360 history trend --window 30` |
167
- | `export <run-id>` | Export run as ZIP bundle | `qa360 history export abc123 --bundle proof.zip` |
168
- | `gc` | Garbage collect old runs | `qa360 history gc --keep-last 10` |
169
- | `pin <run-id>` | Pin run (protect from gc) | `qa360 history pin abc123` |
170
- | `unpin <run-id>` | Unpin run | `qa360 history unpin abc123` |
191
+ **See:** [`docs/OLLAMA_REFACTORING_ROADMAP.md`](./docs/OLLAMA_REFACTORING_ROADMAP.md) for the complete 10-week roadmap.
171
192
 
172
- #### Export Bundle Contents
193
+ ## 📋 Development Phases
173
194
 
174
- When exporting a run with `qa360 history export <run-id> --bundle proof.zip`, the ZIP contains:
195
+ QA360 Core is developed in structured phases:
175
196
 
176
- - `proof.json` - Cryptographically signed proof document
177
- - `report.pdf` - Human-readable PDF report (if generated)
178
- - `run.json` - Complete run details (gates, findings, artifacts)
179
- - `artifacts/` - All test artifacts (screenshots, logs, etc.)
180
- - `VERIFICATION.json` - Verification instructions and metadata
197
+ ### Core Platform
198
+ - **Phase 0**: ✅ Initialization & Structure
199
+ - **Phase 1**: ✅ Runner CLI "zero friction"
200
+ - **Phase 2**: ✅ Pack configuration + encrypted secrets
201
+ - **Phase 3**: ✅ Declarative hooks + Docker provisioning
202
+ - **Phase 4**: ✅ OOTB Adapters (Playwright, k6, Semgrep, ZAP, etc.)
203
+ - **Phase 5**: ✅ Health/Diag/Metrics endpoints
204
+ - **Phase 6**: ✅ Evidence Vault + SQLite WAL history
205
+ - **Phase 7**: ✅ Complete Proof Bundle
181
206
 
182
- #### Garbage Collection
207
+ ### AI Integration (Ollama)
208
+ - **AI Phase 1**: ✅ Ollama Provider + TestDiscoverer
209
+ - **AI Phase 2**: ✅ Auth Module (9 providers)
210
+ - **AI Phase 3**: ✅ Pack Validation
211
+ - **AI Phase 4**: ✅ AI Test Generation (SourceAnalyzer, PackGenerator, 160 tests)
212
+ - **AI Phase 5**: âŗ Integration & Polish (in progress)
183
213
 
184
- The `gc` command removes old test runs and orphaned artifacts to free disk space:
214
+ ### Future Roadmap
215
+ - **Phase 8**: ✅ TUI & Dashboard (COMPLETE)
216
+ - **Phase 9**: âŗ Parallel CI → consolidated proof
185
217
 
186
- ```bash
187
- # Preview what would be deleted (dry-run)
188
- qa360 history gc --dry-run
218
+ ## đŸ› ī¸ Technology Stack
189
219
 
190
- # Keep last 20 runs, delete older ones
191
- qa360 history gc --keep-last 20
220
+ - **Runtime**: Node.js 18+ with TypeScript 5+
221
+ - **Storage**: SQLite WAL for evidence vault
222
+ - **Crypto**: Ed25519 signatures for proof verification
223
+ - **AI**: Ollama for local LLM inference (100% free)
224
+ - **PDF**: Puppeteer for report generation
225
+ - **Testing**: Vitest for unit/integration tests
192
226
 
193
- # Default behavior (keeps last 10 unpinned runs)
194
- qa360 history gc
195
- ```
227
+ ## 📚 Documentation
196
228
 
197
- **Important**: Pinned runs are NEVER deleted by garbage collection. Use `qa360 history pin <run-id>` to protect important runs.
229
+ - [Quick Start Guide](./QUICK_START.md) - 5-minute tutorial
230
+ - [User Guide](./docs/USER_GUIDE.md) - Complete documentation
231
+ - [Beta Testing Plan](./docs/BETA_TESTING_PLAN.md) - User testing program
232
+ - [Contributing Guide](./CONTRIBUTING.md)
233
+ - [Changelog](./CHANGELOG.md)
234
+ - [Code Owners](./CODEOWNERS)
198
235
 
199
- ## Exit Codes
236
+ ## 🤝 Contributing
200
237
 
201
- | Code | Meaning |
202
- |------|---------|
203
- | 0 | Success |
204
- | 1 | Verification failed |
205
- | 2 | File not found |
206
- | 3 | Invalid schema |
207
- | 4 | Missing key |
208
- | 5 | Internal error |
238
+ QA360 Core aims to become the **global standard for portable software quality proof**.
209
239
 
210
- ## Requirements
240
+ Every contribution should advance this mission with **simplicity, auditability, and elegance**.
211
241
 
212
- - Node.js >= 18.0.0
213
- - npm or pnpm
242
+ See [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed guidelines.
214
243
 
215
- ## Documentation
244
+ ## 📄 License
216
245
 
217
- - [Quick Start](https://github.com/xyqotech/qa360/blob/main/docs/quickstart-5min.md)
218
- - [Full Documentation](https://github.com/xyqotech/qa360/blob/main/docs/README.md)
246
+ MIT License - see [LICENSE](./LICENSE) for details.
219
247
 
220
- ## License
248
+ ---
221
249
 
222
- MIT
250
+ **QA360 Core**: Making quality **executable, measurable, and legally provable**.
@@ -0,0 +1,46 @@
1
+ # QA360 Adapters
2
+
3
+ > **â„šī¸ NOTE - This directory is reserved for future standalone adapter packages**
4
+ >
5
+ > All current adapters are implemented in **`core/src/adapters/`** and are part of the core package.
6
+ >
7
+ > See [README.md](../README.md) for available adapters.
8
+
9
+ ## Current Implementation
10
+
11
+ All adapters are currently integrated in the `core` package:
12
+
13
+ ```bash
14
+ core/src/adapters/
15
+ ├── playwright-native-api.ts # API testing adapter
16
+ ├── playwright-ui.ts # UI testing adapter
17
+ ├── playwright-native-api.ts # Native API adapter (zero overhead)
18
+ └── ... (more adapters planned)
19
+ ```
20
+
21
+ ## Future Architecture
22
+
23
+ This directory is reserved for potential future standalone adapter packages that would be published separately:
24
+
25
+ ```bash
26
+ # Future structure (if needed)
27
+ adapters/
28
+ ├── playwright-adapter/ # Standalone Playwright adapter package
29
+ ├── cypress-adapter/ # Standalone Cypress adapter package
30
+ └── vitest-adapter/ # Standalone Vitest adapter package
31
+ ```
32
+
33
+ **Note**: No standalone adapter packages are planned at this time. All adapters remain in `core/src/adapters/` for better integration and simpler dependency management.
34
+
35
+ ## Available Adapters (in core)
36
+
37
+ | Adapter | Status | Description |
38
+ |---------|--------|-------------|
39
+ | `playwright-api` | ✅ Implemented | API testing with Playwright |
40
+ | `playwright-ui` | ✅ Implemented | UI testing with Playwright |
41
+ | `playwright-native-api` | ✅ Implemented | Zero-overhead native API adapter |
42
+ | `k6-perf` | ✅ Implemented | Performance testing with K6 |
43
+ | `semgrep-sast` | ✅ Implemented | Static security analysis |
44
+ | `gitleaks-secrets` | ✅ Implemented | Secret scanning |
45
+ | `zap-dast` | ✅ Implemented | Dynamic security testing |
46
+ | `osv-deps` | ✅ Implemented | Dependency vulnerability scanning |