qa360 2.1.7 → 2.2.0

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 (906) 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-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 +46 -0
  25. package/check-branches.sh +32 -0
  26. package/cli/.qa360/keys/ed25519.key +1 -0
  27. package/cli/.qa360/keys/ed25519.pub +1 -0
  28. package/cli/CHANGELOG.md +84 -0
  29. package/cli/LICENSE +24 -0
  30. package/cli/README.md +222 -0
  31. package/cli/examples/README.md +160 -0
  32. package/cli/package.json +76 -0
  33. package/cli/scripts/bundle-for-npm.sh +51 -0
  34. package/cli/scripts/validate-package.js +116 -0
  35. package/cli/src/__tests__/commands/doctor.test.ts +108 -0
  36. package/cli/src/__tests__/index.test.ts +15 -0
  37. package/cli/src/cli-minimal.ts +44 -0
  38. package/cli/src/commands/__tests__/crawl.test.ts +412 -0
  39. package/cli/src/commands/__tests__/doctor-qa360-home.test.ts +156 -0
  40. package/cli/src/commands/__tests__/e2e-ui-tests.test.ts +494 -0
  41. package/cli/src/commands/__tests__/e2e.test.ts +187 -0
  42. package/cli/src/commands/__tests__/flakiness.test.ts +528 -0
  43. package/cli/src/commands/__tests__/generate.test.ts +507 -0
  44. package/cli/src/commands/__tests__/history.integration.test.ts +358 -0
  45. package/cli/src/commands/__tests__/history.test.ts +433 -0
  46. package/cli/src/commands/__tests__/monitor-realworld.test.ts +199 -0
  47. package/cli/src/commands/__tests__/monitor.test.ts +81 -0
  48. package/cli/src/commands/__tests__/ollama.test.ts +529 -0
  49. package/cli/src/commands/__tests__/repair.test.ts +225 -0
  50. package/cli/src/commands/__tests__/report.integration.test.ts +167 -0
  51. package/cli/src/commands/__tests__/report.test.ts +294 -0
  52. package/cli/src/commands/__tests__/report.vitest.ts +288 -0
  53. package/cli/src/commands/__tests__/retry.test.ts +78 -0
  54. package/cli/src/commands/__tests__/run.integration.test.ts +240 -0
  55. package/cli/src/commands/__tests__/run.test.ts +346 -0
  56. package/cli/src/commands/__tests__/run.vitest.ts +301 -0
  57. package/cli/src/commands/__tests__/secrets.test.ts +114 -0
  58. package/cli/src/commands/__tests__/serve.test.ts +80 -0
  59. package/cli/src/commands/__tests__/verify.test.ts +103 -0
  60. package/cli/src/commands/ai.ts +702 -0
  61. package/cli/src/commands/ask.ts +678 -0
  62. package/cli/src/commands/coverage.ts +305 -0
  63. package/cli/src/commands/crawl.ts +155 -0
  64. package/cli/src/commands/doctor.ts +610 -0
  65. package/cli/src/commands/examples.ts +248 -0
  66. package/cli/src/commands/explain.ts +710 -0
  67. package/cli/src/commands/flakiness.ts +560 -0
  68. package/cli/src/commands/generate.ts +566 -0
  69. package/cli/src/commands/history.ts +914 -0
  70. package/cli/src/commands/init.ts +777 -0
  71. package/cli/src/commands/monitor.ts +270 -0
  72. package/cli/src/commands/ollama.ts +337 -0
  73. package/cli/src/commands/pack.ts +497 -0
  74. package/cli/src/commands/regression.ts +400 -0
  75. package/cli/src/commands/repair.ts +356 -0
  76. package/cli/src/commands/report.ts +463 -0
  77. package/cli/src/commands/retry.ts +380 -0
  78. package/cli/src/commands/run.ts +218 -0
  79. package/cli/src/commands/scan.ts +177 -0
  80. package/cli/src/commands/secrets.ts +340 -0
  81. package/cli/src/commands/serve.ts +194 -0
  82. package/cli/src/commands/slo.ts +387 -0
  83. package/cli/src/commands/verify-temp-note.md +11 -0
  84. package/cli/src/commands/verify.ts +322 -0
  85. package/cli/src/generators/index.ts +6 -0
  86. package/cli/src/generators/json-reporter.ts +15 -0
  87. package/cli/src/generators/test-generator.ts +90 -0
  88. package/cli/src/index.ts +289 -0
  89. package/cli/src/scanners/dom-scanner.ts +360 -0
  90. package/cli/src/scanners/index.ts +5 -0
  91. package/cli/src/types/scan.ts +84 -0
  92. package/cli/src/utils/config.ts +145 -0
  93. package/cli/tsconfig.bundle.json +12 -0
  94. package/cli/tsconfig.json +23 -0
  95. package/cli/vitest.config.ts +59 -0
  96. package/core/LICENSE +24 -0
  97. package/core/README.md +64 -0
  98. package/core/package.json +81 -0
  99. package/core/src/__tests__/adapters-contract/adapters-contract.test.md +156 -0
  100. package/core/src/__tests__/index.test.ts +31 -0
  101. package/core/src/__tests__/integration/phase3.test.ts +405 -0
  102. package/core/src/__tests__/pack/validator.test.ts +312 -0
  103. package/core/src/__tests__/secrets/crypto.test.ts +190 -0
  104. package/core/src/__tests__/secrets/manager.test.ts +316 -0
  105. package/core/src/__tests__/security/redactor-phase3.test.ts +233 -0
  106. package/core/src/__tests__/serve/health-checker.test.ts +155 -0
  107. package/core/src/__tests__/serve/process-manager.test.ts +213 -0
  108. package/core/src/__tests__/serve/server.test.ts +103 -0
  109. package/core/src/__tests__/vault/cas.test.ts +178 -0
  110. package/core/src/__tests__/vault/vault.test.ts +296 -0
  111. package/core/src/adapters/__tests__/fixtures/jest-coverage.json +8 -0
  112. package/core/src/adapters/__tests__/fixtures/jest-results.json +41 -0
  113. package/core/src/adapters/__tests__/fixtures/pytest-junit.xml +16 -0
  114. package/core/src/adapters/__tests__/fixtures/vitest-coverage.json +8 -0
  115. package/core/src/adapters/__tests__/fixtures/vitest-results.json +50 -0
  116. package/core/src/adapters/__tests__/gitleaks-secrets.test.ts +452 -0
  117. package/core/src/adapters/__tests__/jest-adapter.test.ts +276 -0
  118. package/core/src/adapters/__tests__/k6-perf.test.ts +538 -0
  119. package/core/src/adapters/__tests__/osv-deps.test.ts +471 -0
  120. package/core/src/adapters/__tests__/playwright-native-api.test.ts +792 -0
  121. package/core/src/adapters/__tests__/playwright-ui-e2e.test.ts +431 -0
  122. package/core/src/adapters/__tests__/playwright-ui.test.ts +1073 -0
  123. package/core/src/adapters/__tests__/pytest-adapter.test.ts +207 -0
  124. package/core/src/adapters/__tests__/semgrep-sast.test.ts +436 -0
  125. package/core/src/adapters/__tests__/vitest-adapter.test.ts +208 -0
  126. package/core/src/adapters/__tests__/zap-dast.test.ts +453 -0
  127. package/core/src/adapters/gitleaks-secrets.ts +521 -0
  128. package/core/src/adapters/jest-adapter.ts +306 -0
  129. package/core/src/adapters/k6-perf.ts +479 -0
  130. package/core/src/adapters/osv-deps.ts +467 -0
  131. package/core/src/adapters/playwright-native-adapter.ts +472 -0
  132. package/core/src/adapters/playwright-native-api.ts +619 -0
  133. package/core/src/adapters/playwright-ui.ts +1088 -0
  134. package/core/src/adapters/pytest-adapter.ts +472 -0
  135. package/core/src/adapters/semgrep-sast.ts +410 -0
  136. package/core/src/adapters/unit-test-types.ts +106 -0
  137. package/core/src/adapters/vitest-adapter.ts +295 -0
  138. package/core/src/adapters/zap-dast.ts +551 -0
  139. package/core/src/ai/__tests__/deepseek-provider.test.ts +586 -0
  140. package/core/src/ai/__tests__/ollama-provider.test.ts +641 -0
  141. package/core/src/ai/anthropic-provider.ts +262 -0
  142. package/core/src/ai/deepseek-provider.ts +315 -0
  143. package/core/src/ai/index.ts +87 -0
  144. package/core/src/ai/llm-client.ts +52 -0
  145. package/core/src/ai/mock-provider.ts +146 -0
  146. package/core/src/ai/ollama-provider.ts +269 -0
  147. package/core/src/ai/openai-provider.ts +240 -0
  148. package/core/src/ai/provider-factory.ts +408 -0
  149. package/core/src/artifacts/README.md +78 -0
  150. package/core/src/artifacts/index.ts +16 -0
  151. package/core/src/artifacts/ui-artifacts.ts +412 -0
  152. package/core/src/assertions/__tests__/engine.test.ts +360 -0
  153. package/core/src/assertions/engine.ts +577 -0
  154. package/core/src/assertions/index.ts +13 -0
  155. package/core/src/assertions/types.ts +229 -0
  156. package/core/src/auth/__tests__/api-key-provider.test.ts +282 -0
  157. package/core/src/auth/__tests__/auth-manager.test.ts +430 -0
  158. package/core/src/auth/__tests__/basic-auth-provider.test.ts +364 -0
  159. package/core/src/auth/__tests__/cloud-providers.test.ts +751 -0
  160. package/core/src/auth/__tests__/jwt-provider.test.ts +400 -0
  161. package/core/src/auth/__tests__/oauth2-provider.test.ts +383 -0
  162. package/core/src/auth/__tests__/totp-provider.test.ts +294 -0
  163. package/core/src/auth/__tests__/ui-login-provider.test.ts +323 -0
  164. package/core/src/auth/api-key-provider.ts +75 -0
  165. package/core/src/auth/aws-iam-provider.ts +212 -0
  166. package/core/src/auth/azure-ad-provider.ts +126 -0
  167. package/core/src/auth/basic-auth-provider.ts +133 -0
  168. package/core/src/auth/gcp-adc-provider.ts +146 -0
  169. package/core/src/auth/index.ts +342 -0
  170. package/core/src/auth/jwt-provider.ts +193 -0
  171. package/core/src/auth/manager.ts +281 -0
  172. package/core/src/auth/oauth2-provider.ts +141 -0
  173. package/core/src/auth/totp-provider.ts +163 -0
  174. package/core/src/auth/ui-login-provider.ts +242 -0
  175. package/core/src/cache/__tests__/lru-cache.test.ts +564 -0
  176. package/core/src/cache/index.ts +13 -0
  177. package/core/src/cache/lru-cache.ts +536 -0
  178. package/core/src/crawler/__tests__/journey-generator.test.ts +344 -0
  179. package/core/src/crawler/__tests__/selector-generator.test.ts +211 -0
  180. package/core/src/crawler/index.ts +335 -0
  181. package/core/src/crawler/journey-generator.ts +471 -0
  182. package/core/src/crawler/page-analyzer.ts +857 -0
  183. package/core/src/crawler/selector-generator.ts +280 -0
  184. package/core/src/crawler/types.ts +475 -0
  185. package/core/src/dashboard/__tests__/real-world.test.ts +430 -0
  186. package/core/src/dashboard/__tests__/server.test.ts +283 -0
  187. package/core/src/dashboard/__tests__/types.test.ts +208 -0
  188. package/core/src/dashboard/assets.ts +692 -0
  189. package/core/src/dashboard/index.ts +17 -0
  190. package/core/src/dashboard/server.ts +401 -0
  191. package/core/src/dashboard/types.ts +78 -0
  192. package/core/src/discoverer/__tests__/test-discoverer.test.ts +444 -0
  193. package/core/src/discoverer/index.ts +374 -0
  194. package/core/src/fixtures/__tests__/loader.test.ts +246 -0
  195. package/core/src/fixtures/__tests__/resolver.test.ts +334 -0
  196. package/core/src/fixtures/index.ts +9 -0
  197. package/core/src/fixtures/loader.ts +189 -0
  198. package/core/src/fixtures/resolver.ts +221 -0
  199. package/core/src/fixtures/types.ts +86 -0
  200. package/core/src/flakiness/__tests__/flakiness.test.ts +554 -0
  201. package/core/src/flakiness/index.ts +536 -0
  202. package/core/src/generation/__tests__/code-formatter.test.ts +170 -0
  203. package/core/src/generation/__tests__/code-generator-contract.test.ts +207 -0
  204. package/core/src/generation/__tests__/code-generator.test.ts +586 -0
  205. package/core/src/generation/__tests__/crawler-pack-generator.test.ts +479 -0
  206. package/core/src/generation/__tests__/generation-e2e-b2bshop.test.ts +718 -0
  207. package/core/src/generation/__tests__/generation-integration.test.ts +655 -0
  208. package/core/src/generation/__tests__/pack-generator.test.ts +408 -0
  209. package/core/src/generation/__tests__/prompt-builder.test.ts +200 -0
  210. package/core/src/generation/__tests__/real-provider-integration.test.ts +414 -0
  211. package/core/src/generation/__tests__/source-analyzer.test.ts +774 -0
  212. package/core/src/generation/__tests__/test-optimizer.test.ts +255 -0
  213. package/core/src/generation/code-formatter.ts +408 -0
  214. package/core/src/generation/code-generator.ts +470 -0
  215. package/core/src/generation/crawler-pack-generator.ts +289 -0
  216. package/core/src/generation/generator.ts +113 -0
  217. package/core/src/generation/index.ts +59 -0
  218. package/core/src/generation/pack-generator.ts +527 -0
  219. package/core/src/generation/prompt-builder.ts +772 -0
  220. package/core/src/generation/source-analyzer.ts +830 -0
  221. package/core/src/generation/test-optimizer.ts +474 -0
  222. package/core/src/generation/types.ts +217 -0
  223. package/core/src/hooks/__tests__/compose.test.ts +636 -0
  224. package/core/src/hooks/__tests__/runner.test.ts +478 -0
  225. package/core/src/hooks/compose.ts +268 -0
  226. package/core/src/hooks/runner.ts +364 -0
  227. package/core/src/index.ts +255 -0
  228. package/core/src/pack/__tests__/migrator.test.ts +594 -0
  229. package/core/src/pack/__tests__/validator.test.ts +759 -0
  230. package/core/src/pack/migrator.ts +353 -0
  231. package/core/src/pack/validator.ts +359 -0
  232. package/core/src/pack-v2/__tests__/loader.test.ts +533 -0
  233. package/core/src/pack-v2/__tests__/migrator.test.ts +455 -0
  234. package/core/src/pack-v2/__tests__/validator.test.ts +609 -0
  235. package/core/src/pack-v2/index.ts +41 -0
  236. package/core/src/pack-v2/loader.ts +358 -0
  237. package/core/src/pack-v2/migrator.ts +540 -0
  238. package/core/src/pack-v2/validator.ts +726 -0
  239. package/core/src/parallel/README.md +143 -0
  240. package/core/src/parallel/index.ts +16 -0
  241. package/core/src/parallel/parallel-runner.ts +282 -0
  242. package/core/src/pom/__tests__/loader.test.ts +378 -0
  243. package/core/src/pom/base-page.ts +425 -0
  244. package/core/src/pom/index.ts +45 -0
  245. package/core/src/pom/loader.ts +480 -0
  246. package/core/src/pom/types.ts +146 -0
  247. package/core/src/proof/__tests__/proof-roundtrip.test.ts +149 -0
  248. package/core/src/proof/__tests__/schema-validation-manual.mjs +211 -0
  249. package/core/src/proof/__tests__/schema-validation.test.ts +336 -0
  250. package/core/src/proof/__tests__/signer.test.ts +486 -0
  251. package/core/src/proof/__tests__/temporal-regression.test.ts +537 -0
  252. package/core/src/proof/__tests__/verifier-advanced.test.ts +588 -0
  253. package/core/src/proof/__tests__/verifier.test.ts +413 -0
  254. package/core/src/proof/bundle.ts +290 -0
  255. package/core/src/proof/canonicalize.ts +116 -0
  256. package/core/src/proof/index.ts +74 -0
  257. package/core/src/proof/schema.ts +285 -0
  258. package/core/src/proof/signer.ts +293 -0
  259. package/core/src/proof/verifier.ts +380 -0
  260. package/core/src/regression/__tests__/detector.test.ts +396 -0
  261. package/core/src/regression/__tests__/trend-analyzer.test.ts +300 -0
  262. package/core/src/regression/detector.ts +629 -0
  263. package/core/src/regression/index.ts +34 -0
  264. package/core/src/regression/trend-analyzer.ts +468 -0
  265. package/core/src/regression/types.ts +295 -0
  266. package/core/src/regression/vault.ts +419 -0
  267. package/core/src/repair/__tests__/repairer.test.ts +572 -0
  268. package/core/src/repair/__tests__/types.test.ts +302 -0
  269. package/core/src/repair/engine/__tests__/fixer.test.ts +482 -0
  270. package/core/src/repair/engine/__tests__/suggestion-engine.test.ts +395 -0
  271. package/core/src/repair/engine/fixer.ts +271 -0
  272. package/core/src/repair/engine/suggestion-engine.ts +234 -0
  273. package/core/src/repair/index.ts +53 -0
  274. package/core/src/repair/repairer.ts +376 -0
  275. package/core/src/repair/types.ts +119 -0
  276. package/core/src/repair/utils/__tests__/error-analyzer.test.ts +454 -0
  277. package/core/src/repair/utils/error-analyzer.ts +308 -0
  278. package/core/src/reporting/README.md +144 -0
  279. package/core/src/reporting/html-reporter.ts +835 -0
  280. package/core/src/reporting/index.ts +16 -0
  281. package/core/src/retry/README.md +192 -0
  282. package/core/src/retry/__tests__/flakiness-integration.test.ts +475 -0
  283. package/core/src/retry/__tests__/retry-engine.test.ts +424 -0
  284. package/core/src/retry/flakiness-integration.ts +267 -0
  285. package/core/src/retry/index.ts +48 -0
  286. package/core/src/retry/retry-engine.ts +368 -0
  287. package/core/src/retry/types.ts +208 -0
  288. package/core/src/retry/vault.ts +413 -0
  289. package/core/src/runner/__tests__/flakiness-integration.test.ts +566 -0
  290. package/core/src/runner/__tests__/phase3-e2e-b2bshop.test.ts +218 -0
  291. package/core/src/runner/__tests__/phase3-e2e-reqres.test.ts +199 -0
  292. package/core/src/runner/__tests__/phase3-runner.test.ts +1118 -0
  293. package/core/src/runner/e2e-helpers.ts +216 -0
  294. package/core/src/runner/phase3-runner.ts +1236 -0
  295. package/core/src/schemas/gherkin-report.json +122 -0
  296. package/core/src/secrets/__tests__/crypto.test.ts +180 -0
  297. package/core/src/secrets/crypto.ts +289 -0
  298. package/core/src/secrets/manager.ts +272 -0
  299. package/core/src/security/__tests__/hardening.test.ts +480 -0
  300. package/core/src/security/redaction-patterns-extended.ts +278 -0
  301. package/core/src/security/redactor.ts +326 -0
  302. package/core/src/self-healing/assertion-healer.ts +485 -0
  303. package/core/src/self-healing/engine.ts +626 -0
  304. package/core/src/self-healing/index.ts +33 -0
  305. package/core/src/self-healing/selector-healer.ts +488 -0
  306. package/core/src/self-healing/types.ts +193 -0
  307. package/core/src/serve/diagnostics-collector.ts +201 -0
  308. package/core/src/serve/health-checker.ts +274 -0
  309. package/core/src/serve/index.ts +9 -0
  310. package/core/src/serve/metrics-collector.ts +386 -0
  311. package/core/src/serve/process-manager.ts +265 -0
  312. package/core/src/serve/server.ts +230 -0
  313. package/core/src/slo/config.ts +408 -0
  314. package/core/src/slo/index.ts +68 -0
  315. package/core/src/slo/sli-calculator.ts +474 -0
  316. package/core/src/slo/slo-tracker.ts +481 -0
  317. package/core/src/slo/types.ts +408 -0
  318. package/core/src/slo/vault.ts +600 -0
  319. package/core/src/tui/__tests__/monitor.test.ts +336 -0
  320. package/core/src/tui/__tests__/real-world.test.ts +376 -0
  321. package/core/src/tui/__tests__/renderer.test.ts +201 -0
  322. package/core/src/tui/__tests__/types.test.ts +295 -0
  323. package/core/src/tui/index.ts +19 -0
  324. package/core/src/tui/monitor.ts +331 -0
  325. package/core/src/tui/renderer.ts +269 -0
  326. package/core/src/tui/types.ts +68 -0
  327. package/core/src/types/pack-v1.ts +305 -0
  328. package/core/src/types/pack-v2.ts +501 -0
  329. package/core/src/types/trust-score.ts +258 -0
  330. package/core/src/vault/__tests__/flakiness-vault.test.ts +562 -0
  331. package/core/src/vault/__tests__/vault.test.ts +259 -0
  332. package/core/src/vault/cas.ts +323 -0
  333. package/core/src/vault/index.ts +1361 -0
  334. package/core/src/vault/schema.sql +168 -0
  335. package/core/src/visual/README.md +185 -0
  336. package/core/src/visual/index.ts +14 -0
  337. package/core/src/visual/visual-regression.ts +347 -0
  338. package/core/src/watch/__tests__/watch-mode.test.ts +192 -0
  339. package/core/src/watch/index.ts +14 -0
  340. package/core/src/watch/watch-mode.ts +565 -0
  341. package/core/tsconfig.json +12 -0
  342. package/core/vitest.config.ts +52 -0
  343. package/docs/ARCHITECTURE.md +901 -0
  344. package/docs/AUDIT-GLOBAL-DEC2025.md +271 -0
  345. package/docs/BETA_TESTING.md +257 -0
  346. package/docs/BETA_TESTING_PLAN.md +727 -0
  347. package/docs/CERTIFICATION-REPORT.md +142 -0
  348. package/docs/COMPLETE_AUDIT_REFACTORING.md +965 -0
  349. package/docs/DEVELOPMENT.md +545 -0
  350. package/docs/DEVELOPMENT_HISTORY.md +345 -0
  351. package/docs/LIMITATIONS.md +176 -0
  352. package/docs/MIGRATION.md +303 -0
  353. package/docs/OPTION_3_4_EXPLORATION.md +1257 -0
  354. package/docs/PHASE1_PERFORMANCE.md +144 -0
  355. package/docs/QA360_Cloud.postman_collection.json +89 -0
  356. package/docs/QA360_TESTING_PHILOSOPHY.md +769 -0
  357. package/docs/QA_TEST_PLAN.md +727 -0
  358. package/docs/README.md +50 -0
  359. package/docs/STATUS.md +198 -0
  360. package/docs/STRATEGIC_STUDY_GOOSE_INTEGRATION.md +615 -0
  361. package/docs/USER_GUIDE.md +687 -0
  362. package/docs/WORK-DONE-ADAPTER-TESTS.md +136 -0
  363. package/docs/adapters-security.md +485 -0
  364. package/docs/architecture-diagram.mmd +168 -0
  365. package/docs/archive/ARCH-01-DAY6-BUILD-FIXES.md +396 -0
  366. package/docs/archive/ARCH-01-DAY6-FINAL-STATUS.md +324 -0
  367. package/docs/archive/ARCH-01_MCP_MERGE_ANALYSIS.md +644 -0
  368. package/docs/archive/ARCH-01_NEXT_STEPS.md +60 -0
  369. package/docs/archive/BRANCH_PROTECTION.md +183 -0
  370. package/docs/archive/CI_LOCKDOWN_CHECKLIST.md +222 -0
  371. package/docs/archive/HANDOFF_TEST-01.md +669 -0
  372. package/docs/archive/LEGAL_READY_PLACEHOLDERS.md +372 -0
  373. package/docs/archive/NODE_UPGRADE_GUIDE.md +188 -0
  374. package/docs/archive/PHASE1_COMPLETION.md +386 -0
  375. package/docs/archive/PHASE2_COMPLETION.md +404 -0
  376. package/docs/archive/PHASE3_AND_4_FINAL.md +360 -0
  377. package/docs/archive/PHASE3_COMPLETE.md +301 -0
  378. package/docs/archive/PHASE3_STATUS.md +255 -0
  379. package/docs/archive/PRE-WEEK2-AUDIT.md +364 -0
  380. package/docs/archive/README.md +16 -0
  381. package/docs/archive/SCHEMA_AJV_2020_FIX.md +245 -0
  382. package/docs/archive/TEST-01_AUDIT_REPORT.md +240 -0
  383. package/docs/archive/TEST-01_COVERAGE_PLAN.md +423 -0
  384. package/docs/archive/obsolete-proposals/dom-element-discovery-mode.md +250 -0
  385. package/docs/archive/obsolete-proposals/qa360-comprehensive-test-plan.md +1249 -0
  386. package/docs/archive/obsolete-proposals/qa360-quick-start-guide.md +298 -0
  387. package/docs/archive/obsolete-proposals/technical-plan-dom-discovery.md +870 -0
  388. package/docs/budgets-advanced.md +308 -0
  389. package/docs/examples/history-export-gc.md +285 -0
  390. package/docs/examples/pack-v2-complete.yaml +158 -0
  391. package/docs/examples/pack-v2-quickstart.yaml +24 -0
  392. package/docs/examples/pack-v2-ui-login.yaml +81 -0
  393. package/docs/examples/qa360-report.json +50 -0
  394. package/docs/history.md +565 -0
  395. package/docs/hooks.md +304 -0
  396. package/docs/llm-providers.md +512 -0
  397. package/docs/mcp-server.md +651 -0
  398. package/docs/mcp-tools.md +1131 -0
  399. package/docs/pack-v1.md +383 -0
  400. package/docs/pack-v2.md +558 -0
  401. package/docs/page-objects.md +366 -0
  402. package/docs/proofs.md +670 -0
  403. package/docs/quickstart-5min.md +257 -0
  404. package/docs/readiness-ci.md +654 -0
  405. package/docs/rfc/README.md +20 -0
  406. package/docs/rfc/proof-bundle-v1.md +787 -0
  407. package/docs/secrets.md +392 -0
  408. package/docs/serve.md +494 -0
  409. package/docs/unit-test-adapters.md +168 -0
  410. package/docs/vault.md +491 -0
  411. package/e2e/qa360-e2e.test.ts +696 -0
  412. package/e2e/vitest.config.ts +18 -0
  413. package/examples/README.md +30 -140
  414. package/examples/ci/docker-compose-serve.yml +375 -0
  415. package/examples/ci/github-actions-serve.yml +345 -0
  416. package/examples/ci/gitlab-ci-serve.yml +407 -0
  417. package/examples/datasets/README.md +101 -0
  418. package/examples/datasets/b2bshop.ts +155 -0
  419. package/examples/datasets/index.ts +57 -0
  420. package/examples/datasets/reqres.ts +195 -0
  421. package/examples/fixtures-demo/fixtures/users.yml +39 -0
  422. package/examples/fixtures-demo/pack.yml +71 -0
  423. package/examples/future-api/README.md +16 -0
  424. package/examples/future-api/diag.js +7 -0
  425. package/examples/future-api/health.js +4 -0
  426. package/examples/future-api/packs.js +13 -0
  427. package/examples/future-api/runpack.js +10 -0
  428. package/examples/generation/README.md +148 -0
  429. package/examples/generation/pack-generator-example.js +115 -0
  430. package/examples/generation/source-analyzer-example.js +115 -0
  431. package/examples/httpbin/pack.yml +59 -0
  432. package/examples/load-testing/mcp-load.yml +115 -0
  433. package/examples/load-testing/mcp-stdio.yml +95 -0
  434. package/examples/mcp/claude-desktop-config.json +33 -0
  435. package/examples/mcp/claude-desktop.json +16 -0
  436. package/examples/mcp/conversation-sample.md +131 -0
  437. package/examples/mcp/demo-60s.md +330 -0
  438. package/examples/mcp/sample-conversation.jsonl +21 -0
  439. package/examples/mcp/vscode-settings.json +22 -0
  440. package/examples/pack-v2-complete.yml +242 -0
  441. package/examples/pack-v2-examples.md +244 -0
  442. package/examples/pack-v2-quickstart.yml +55 -0
  443. package/examples/packs-business/ecommerce-api.yml +121 -0
  444. package/examples/packs-business/saas-dashboard-ui.yml +133 -0
  445. package/examples/packs-conformance/compose-multi.yml +174 -0
  446. package/examples/packs-conformance/full.yml +152 -0
  447. package/examples/packs-conformance/heavy-artifacts.yml +152 -0
  448. package/examples/packs-conformance/minimal.yml +71 -0
  449. package/examples/packs-conformance/secrets-missing.yml +97 -0
  450. package/examples/packs-conformance/timeouts.yml +77 -0
  451. package/examples/pom-demo/README.md +104 -0
  452. package/examples/pom-demo/pack.yml +60 -0
  453. package/examples/pom-demo/pages/DashboardPage.page.ts +73 -0
  454. package/examples/pom-demo/pages/LoginPage.page.ts +76 -0
  455. package/examples/proofs/e2e-playwright-proof.json +75 -0
  456. package/examples/proofs/httpbin-proof.json +69 -0
  457. package/examples/proofs/multi-adapter-proof.json +117 -0
  458. package/examples/proofs/test-proof.json +26 -0
  459. package/examples/restful-api-dev/README.md +102 -0
  460. package/examples/restful-api-dev/restful-api-advanced.yml +29 -0
  461. package/examples/restful-api-dev/restful-api-basic.yml +29 -0
  462. package/examples/web-lite/.github/workflows/qa360-phase3.yml +73 -0
  463. package/examples/web-lite/api-mock/server.js +258 -0
  464. package/examples/web-lite/pack.yml +71 -0
  465. package/examples/web-lite/services.yml +43 -0
  466. package/examples/web-lite/web-content/healthz +1 -0
  467. package/examples/web-lite/web-content/index.html +259 -0
  468. package/package.json +55 -45
  469. package/packages/mcp/CHANGELOG.md +109 -0
  470. package/packages/mcp/IMPLEMENTATION_SUMMARY.md +350 -0
  471. package/packages/mcp/LICENSE +21 -0
  472. package/packages/mcp/QUICK_START.md +291 -0
  473. package/packages/mcp/README.md +294 -0
  474. package/packages/mcp/TELEMETRY.md +220 -0
  475. package/packages/mcp/package.json +91 -0
  476. package/packages/mcp/scripts/generate-sbom-fallback.cjs +84 -0
  477. package/packages/mcp/scripts/safe-postinstall.cjs +32 -0
  478. package/packages/mcp/src/__tests__/contract.test.ts +902 -0
  479. package/packages/mcp/src/cli/cli.ts +137 -0
  480. package/packages/mcp/src/cli/doctor.ts +286 -0
  481. package/packages/mcp/src/cli/fix.ts +99 -0
  482. package/packages/mcp/src/cli/init.ts +233 -0
  483. package/packages/mcp/src/cli/postinstall.ts +14 -0
  484. package/packages/mcp/src/cli/reset.ts +44 -0
  485. package/packages/mcp/src/cli/telemetry.ts +166 -0
  486. package/packages/mcp/src/cli/test-dx.ts +94 -0
  487. package/packages/mcp/src/cli/uninstall.ts +80 -0
  488. package/packages/mcp/src/cli/up.ts +178 -0
  489. package/packages/mcp/src/index.ts +12 -0
  490. package/packages/mcp/src/scripts/e2e-local.ts +337 -0
  491. package/packages/mcp/src/scripts/verify-settings.ts +242 -0
  492. package/packages/mcp/src/security/audit.ts +244 -0
  493. package/packages/mcp/src/security/manager.ts +242 -0
  494. package/packages/mcp/src/server/full-server.ts +212 -0
  495. package/packages/mcp/src/server/minimal-server.ts +134 -0
  496. package/packages/mcp/src/tools/history.ts +388 -0
  497. package/packages/mcp/src/tools/pack.ts +449 -0
  498. package/packages/mcp/src/tools/registry.ts +638 -0
  499. package/packages/mcp/src/tools/report.ts +100 -0
  500. package/packages/mcp/src/tools/run.ts +268 -0
  501. package/packages/mcp/src/tools/secrets.ts +198 -0
  502. package/packages/mcp/src/tools/serve.ts +221 -0
  503. package/packages/mcp/src/tools/triage.ts +532 -0
  504. package/packages/mcp/src/tools/types.ts +26 -0
  505. package/packages/mcp/src/tools/vault.ts +164 -0
  506. package/packages/mcp/src/tools/verify.ts +166 -0
  507. package/packages/mcp/src/types/index.ts +311 -0
  508. package/packages/mcp/src/types/mcp-stubs.ts +83 -0
  509. package/packages/mcp/tsconfig.json +16 -0
  510. package/playwright.config.ts +20 -0
  511. package/pnpm-workspace.yaml +4 -0
  512. package/run-test-and-push.sh +20 -0
  513. package/scripts/build-proof-cli.sh +110 -0
  514. package/scripts/ci/check-windows-paths.js +92 -0
  515. package/scripts/ci/invariants.sh +124 -0
  516. package/scripts/ci/make-final-bundle.js +106 -0
  517. package/scripts/ci/mcp-run-multipack.js +305 -0
  518. package/scripts/ci/run-pack-suite.sh +103 -0
  519. package/scripts/ci/run-phase7-final.sh +190 -0
  520. package/scripts/ci/slo-assert.js +158 -0
  521. package/scripts/ci/test-fault-tolerance.sh +301 -0
  522. package/scripts/install-mcp.sh +66 -0
  523. package/scripts/mcp-smoke.mjs +27 -0
  524. package/scripts/smoke.sh +26 -0
  525. package/scripts/stress-test.js +288 -0
  526. package/scripts/sync-version.mjs +50 -0
  527. package/scripts/validate-examples.mjs +404 -0
  528. package/scripts/validation/simple-pack-check.sh +51 -0
  529. package/scripts/validation/validate-universal-pack.mjs +77 -0
  530. package/scripts/verify-persistence.js +127 -0
  531. package/test-pack.yaml +43 -0
  532. package/test-results/.last-run.json +4 -0
  533. package/test-runner.mjs +87 -0
  534. package/tests/artifacts.spec.js +147 -0
  535. package/tests/contracts.spec.js +239 -0
  536. package/tests/e2e/assertions.test.mjs +370 -0
  537. package/tests/e2e/crawler.test.mjs +451 -0
  538. package/tests/e2e/playwright-plus-plus.test.mjs +604 -0
  539. package/tests/e2e/proof-bundle.test.mjs +258 -0
  540. package/tests/e2e/real-world/saucedemo.test.mjs +714 -0
  541. package/tests/e2e/real-world/the-internet-herokuapp.test.mjs +760 -0
  542. package/tests/e2e/ui-actions.test.mjs +546 -0
  543. package/tests/gherkin.e2e.spec.ts +310 -0
  544. package/tests/no-console-errors.spec.js +136 -0
  545. package/tests/pdf.spec.ts +252 -0
  546. package/tests/run-pack.spec.ts +58 -0
  547. package/tsconfig.base.json +15 -0
  548. package/tsconfig.build.json +8 -0
  549. package/tsconfig.json +37 -0
  550. package/tsconfig.test.json +18 -0
  551. package/typedoc.json +37 -0
  552. package/ui/README.md +50 -0
  553. package/verify-proof.mjs +60 -0
  554. package/dist/cli-minimal.d.ts +0 -6
  555. package/dist/cli-minimal.js +0 -36
  556. package/dist/commands/ai.d.ts +0 -43
  557. package/dist/commands/ai.js +0 -616
  558. package/dist/commands/ask.d.ts +0 -94
  559. package/dist/commands/ask.js +0 -582
  560. package/dist/commands/coverage.d.ts +0 -8
  561. package/dist/commands/coverage.js +0 -252
  562. package/dist/commands/crawl.d.ts +0 -24
  563. package/dist/commands/crawl.js +0 -121
  564. package/dist/commands/doctor.d.ts +0 -54
  565. package/dist/commands/doctor.js +0 -513
  566. package/dist/commands/examples.d.ts +0 -33
  567. package/dist/commands/examples.js +0 -193
  568. package/dist/commands/explain.d.ts +0 -27
  569. package/dist/commands/explain.js +0 -630
  570. package/dist/commands/flakiness.d.ts +0 -73
  571. package/dist/commands/flakiness.js +0 -435
  572. package/dist/commands/generate.d.ts +0 -66
  573. package/dist/commands/generate.js +0 -438
  574. package/dist/commands/history.d.ts +0 -76
  575. package/dist/commands/history.js +0 -755
  576. package/dist/commands/init.d.ts +0 -106
  577. package/dist/commands/init.js +0 -616
  578. package/dist/commands/monitor.d.ts +0 -27
  579. package/dist/commands/monitor.js +0 -225
  580. package/dist/commands/ollama.d.ts +0 -40
  581. package/dist/commands/ollama.js +0 -301
  582. package/dist/commands/pack.d.ts +0 -70
  583. package/dist/commands/pack.js +0 -413
  584. package/dist/commands/regression.d.ts +0 -8
  585. package/dist/commands/regression.js +0 -340
  586. package/dist/commands/repair.d.ts +0 -26
  587. package/dist/commands/repair.js +0 -307
  588. package/dist/commands/report.d.ts +0 -62
  589. package/dist/commands/report.js +0 -378
  590. package/dist/commands/retry.d.ts +0 -43
  591. package/dist/commands/retry.js +0 -275
  592. package/dist/commands/run.d.ts +0 -41
  593. package/dist/commands/run.js +0 -169
  594. package/dist/commands/scan.d.ts +0 -5
  595. package/dist/commands/scan.js +0 -155
  596. package/dist/commands/secrets.d.ts +0 -58
  597. package/dist/commands/secrets.js +0 -289
  598. package/dist/commands/serve.d.ts +0 -13
  599. package/dist/commands/serve.js +0 -156
  600. package/dist/commands/slo.d.ts +0 -8
  601. package/dist/commands/slo.js +0 -327
  602. package/dist/commands/verify.d.ts +0 -32
  603. package/dist/commands/verify.js +0 -278
  604. package/dist/core/adapters/gitleaks-secrets.d.ts +0 -114
  605. package/dist/core/adapters/gitleaks-secrets.js +0 -410
  606. package/dist/core/adapters/k6-perf.d.ts +0 -85
  607. package/dist/core/adapters/k6-perf.js +0 -398
  608. package/dist/core/adapters/osv-deps.d.ts +0 -123
  609. package/dist/core/adapters/osv-deps.js +0 -372
  610. package/dist/core/adapters/playwright-native-adapter.d.ts +0 -121
  611. package/dist/core/adapters/playwright-native-adapter.js +0 -339
  612. package/dist/core/adapters/playwright-native-api.d.ts +0 -183
  613. package/dist/core/adapters/playwright-native-api.js +0 -465
  614. package/dist/core/adapters/playwright-ui.d.ts +0 -197
  615. package/dist/core/adapters/playwright-ui.js +0 -840
  616. package/dist/core/adapters/semgrep-sast.d.ts +0 -99
  617. package/dist/core/adapters/semgrep-sast.js +0 -322
  618. package/dist/core/adapters/zap-dast.d.ts +0 -133
  619. package/dist/core/adapters/zap-dast.js +0 -424
  620. package/dist/core/ai/anthropic-provider.d.ts +0 -50
  621. package/dist/core/ai/anthropic-provider.js +0 -223
  622. package/dist/core/ai/deepseek-provider.d.ts +0 -81
  623. package/dist/core/ai/deepseek-provider.js +0 -266
  624. package/dist/core/ai/index.d.ts +0 -60
  625. package/dist/core/ai/index.js +0 -18
  626. package/dist/core/ai/llm-client.d.ts +0 -45
  627. package/dist/core/ai/llm-client.js +0 -7
  628. package/dist/core/ai/mock-provider.d.ts +0 -49
  629. package/dist/core/ai/mock-provider.js +0 -121
  630. package/dist/core/ai/ollama-provider.d.ts +0 -78
  631. package/dist/core/ai/ollama-provider.js +0 -204
  632. package/dist/core/ai/openai-provider.d.ts +0 -48
  633. package/dist/core/ai/openai-provider.js +0 -200
  634. package/dist/core/ai/provider-factory.d.ts +0 -160
  635. package/dist/core/ai/provider-factory.js +0 -269
  636. package/dist/core/artifacts/index.d.ts +0 -6
  637. package/dist/core/artifacts/index.js +0 -6
  638. package/dist/core/artifacts/ui-artifacts.d.ts +0 -133
  639. package/dist/core/artifacts/ui-artifacts.js +0 -304
  640. package/dist/core/assertions/engine.d.ts +0 -51
  641. package/dist/core/assertions/engine.js +0 -530
  642. package/dist/core/assertions/index.d.ts +0 -11
  643. package/dist/core/assertions/index.js +0 -11
  644. package/dist/core/assertions/types.d.ts +0 -121
  645. package/dist/core/assertions/types.js +0 -37
  646. package/dist/core/auth/api-key-provider.d.ts +0 -16
  647. package/dist/core/auth/api-key-provider.js +0 -63
  648. package/dist/core/auth/aws-iam-provider.d.ts +0 -35
  649. package/dist/core/auth/aws-iam-provider.js +0 -177
  650. package/dist/core/auth/azure-ad-provider.d.ts +0 -15
  651. package/dist/core/auth/azure-ad-provider.js +0 -99
  652. package/dist/core/auth/basic-auth-provider.d.ts +0 -26
  653. package/dist/core/auth/basic-auth-provider.js +0 -111
  654. package/dist/core/auth/gcp-adc-provider.d.ts +0 -27
  655. package/dist/core/auth/gcp-adc-provider.js +0 -126
  656. package/dist/core/auth/index.d.ts +0 -238
  657. package/dist/core/auth/index.js +0 -82
  658. package/dist/core/auth/jwt-provider.d.ts +0 -19
  659. package/dist/core/auth/jwt-provider.js +0 -160
  660. package/dist/core/auth/manager.d.ts +0 -84
  661. package/dist/core/auth/manager.js +0 -230
  662. package/dist/core/auth/oauth2-provider.d.ts +0 -17
  663. package/dist/core/auth/oauth2-provider.js +0 -114
  664. package/dist/core/auth/totp-provider.d.ts +0 -31
  665. package/dist/core/auth/totp-provider.js +0 -134
  666. package/dist/core/auth/ui-login-provider.d.ts +0 -26
  667. package/dist/core/auth/ui-login-provider.js +0 -198
  668. package/dist/core/cache/index.d.ts +0 -7
  669. package/dist/core/cache/index.js +0 -6
  670. package/dist/core/cache/lru-cache.d.ts +0 -203
  671. package/dist/core/cache/lru-cache.js +0 -397
  672. package/dist/core/core/coverage/analyzer.d.ts +0 -101
  673. package/dist/core/core/coverage/analyzer.js +0 -415
  674. package/dist/core/core/coverage/collector.d.ts +0 -74
  675. package/dist/core/core/coverage/collector.js +0 -459
  676. package/dist/core/core/coverage/config.d.ts +0 -37
  677. package/dist/core/core/coverage/config.js +0 -156
  678. package/dist/core/core/coverage/index.d.ts +0 -11
  679. package/dist/core/core/coverage/index.js +0 -15
  680. package/dist/core/core/coverage/types.d.ts +0 -267
  681. package/dist/core/core/coverage/types.js +0 -6
  682. package/dist/core/core/coverage/vault.d.ts +0 -95
  683. package/dist/core/core/coverage/vault.js +0 -405
  684. package/dist/core/coverage/analyzer.d.ts +0 -101
  685. package/dist/core/coverage/analyzer.js +0 -415
  686. package/dist/core/coverage/collector.d.ts +0 -74
  687. package/dist/core/coverage/collector.js +0 -459
  688. package/dist/core/coverage/config.d.ts +0 -37
  689. package/dist/core/coverage/config.js +0 -156
  690. package/dist/core/coverage/index.d.ts +0 -11
  691. package/dist/core/coverage/index.js +0 -15
  692. package/dist/core/coverage/types.d.ts +0 -267
  693. package/dist/core/coverage/types.js +0 -6
  694. package/dist/core/coverage/vault.d.ts +0 -95
  695. package/dist/core/coverage/vault.js +0 -405
  696. package/dist/core/crawler/index.d.ts +0 -57
  697. package/dist/core/crawler/index.js +0 -281
  698. package/dist/core/crawler/journey-generator.d.ts +0 -49
  699. package/dist/core/crawler/journey-generator.js +0 -412
  700. package/dist/core/crawler/page-analyzer.d.ts +0 -88
  701. package/dist/core/crawler/page-analyzer.js +0 -709
  702. package/dist/core/crawler/selector-generator.d.ts +0 -34
  703. package/dist/core/crawler/selector-generator.js +0 -240
  704. package/dist/core/crawler/types.d.ts +0 -353
  705. package/dist/core/crawler/types.js +0 -6
  706. package/dist/core/dashboard/assets.d.ts +0 -6
  707. package/dist/core/dashboard/assets.js +0 -690
  708. package/dist/core/dashboard/index.d.ts +0 -6
  709. package/dist/core/dashboard/index.js +0 -5
  710. package/dist/core/dashboard/server.d.ts +0 -72
  711. package/dist/core/dashboard/server.js +0 -354
  712. package/dist/core/dashboard/types.d.ts +0 -70
  713. package/dist/core/dashboard/types.js +0 -5
  714. package/dist/core/discoverer/index.d.ts +0 -115
  715. package/dist/core/discoverer/index.js +0 -250
  716. package/dist/core/flakiness/index.d.ts +0 -228
  717. package/dist/core/flakiness/index.js +0 -384
  718. package/dist/core/generation/code-formatter.d.ts +0 -111
  719. package/dist/core/generation/code-formatter.js +0 -307
  720. package/dist/core/generation/code-generator.d.ts +0 -144
  721. package/dist/core/generation/code-generator.js +0 -293
  722. package/dist/core/generation/crawler-pack-generator.d.ts +0 -44
  723. package/dist/core/generation/crawler-pack-generator.js +0 -231
  724. package/dist/core/generation/generator.d.ts +0 -40
  725. package/dist/core/generation/generator.js +0 -76
  726. package/dist/core/generation/index.d.ts +0 -32
  727. package/dist/core/generation/index.js +0 -30
  728. package/dist/core/generation/pack-generator.d.ts +0 -107
  729. package/dist/core/generation/pack-generator.js +0 -416
  730. package/dist/core/generation/prompt-builder.d.ts +0 -132
  731. package/dist/core/generation/prompt-builder.js +0 -672
  732. package/dist/core/generation/source-analyzer.d.ts +0 -213
  733. package/dist/core/generation/source-analyzer.js +0 -657
  734. package/dist/core/generation/test-optimizer.d.ts +0 -117
  735. package/dist/core/generation/test-optimizer.js +0 -328
  736. package/dist/core/generation/types.d.ts +0 -214
  737. package/dist/core/generation/types.js +0 -4
  738. package/dist/core/hooks/compose.d.ts +0 -61
  739. package/dist/core/hooks/compose.js +0 -225
  740. package/dist/core/hooks/runner.d.ts +0 -68
  741. package/dist/core/hooks/runner.js +0 -303
  742. package/dist/core/index.d.ts +0 -104
  743. package/dist/core/index.js +0 -91
  744. package/dist/core/pack/migrator.d.ts +0 -51
  745. package/dist/core/pack/migrator.js +0 -304
  746. package/dist/core/pack/validator.d.ts +0 -42
  747. package/dist/core/pack/validator.js +0 -322
  748. package/dist/core/pack-v2/index.d.ts +0 -9
  749. package/dist/core/pack-v2/index.js +0 -8
  750. package/dist/core/pack-v2/loader.d.ts +0 -63
  751. package/dist/core/pack-v2/loader.js +0 -292
  752. package/dist/core/pack-v2/migrator.d.ts +0 -61
  753. package/dist/core/pack-v2/migrator.js +0 -480
  754. package/dist/core/pack-v2/validator.d.ts +0 -61
  755. package/dist/core/pack-v2/validator.js +0 -577
  756. package/dist/core/parallel/index.d.ts +0 -6
  757. package/dist/core/parallel/index.js +0 -6
  758. package/dist/core/parallel/parallel-runner.d.ts +0 -107
  759. package/dist/core/parallel/parallel-runner.js +0 -192
  760. package/dist/core/proof/bundle.d.ts +0 -137
  761. package/dist/core/proof/bundle.js +0 -160
  762. package/dist/core/proof/canonicalize.d.ts +0 -47
  763. package/dist/core/proof/canonicalize.js +0 -105
  764. package/dist/core/proof/index.d.ts +0 -13
  765. package/dist/core/proof/index.js +0 -18
  766. package/dist/core/proof/schema.d.ts +0 -217
  767. package/dist/core/proof/schema.js +0 -263
  768. package/dist/core/proof/signer.d.ts +0 -111
  769. package/dist/core/proof/signer.js +0 -226
  770. package/dist/core/proof/verifier.d.ts +0 -97
  771. package/dist/core/proof/verifier.js +0 -308
  772. package/dist/core/regression/detector.d.ts +0 -107
  773. package/dist/core/regression/detector.js +0 -497
  774. package/dist/core/regression/index.d.ts +0 -9
  775. package/dist/core/regression/index.js +0 -11
  776. package/dist/core/regression/trend-analyzer.d.ts +0 -102
  777. package/dist/core/regression/trend-analyzer.js +0 -345
  778. package/dist/core/regression/types.d.ts +0 -222
  779. package/dist/core/regression/types.js +0 -7
  780. package/dist/core/regression/vault.d.ts +0 -87
  781. package/dist/core/regression/vault.js +0 -289
  782. package/dist/core/repair/engine/fixer.d.ts +0 -24
  783. package/dist/core/repair/engine/fixer.js +0 -226
  784. package/dist/core/repair/engine/suggestion-engine.d.ts +0 -18
  785. package/dist/core/repair/engine/suggestion-engine.js +0 -187
  786. package/dist/core/repair/index.d.ts +0 -10
  787. package/dist/core/repair/index.js +0 -13
  788. package/dist/core/repair/repairer.d.ts +0 -90
  789. package/dist/core/repair/repairer.js +0 -284
  790. package/dist/core/repair/types.d.ts +0 -91
  791. package/dist/core/repair/types.js +0 -6
  792. package/dist/core/repair/utils/error-analyzer.d.ts +0 -28
  793. package/dist/core/repair/utils/error-analyzer.js +0 -264
  794. package/dist/core/reporting/html-reporter.d.ts +0 -119
  795. package/dist/core/reporting/html-reporter.js +0 -737
  796. package/dist/core/reporting/index.d.ts +0 -6
  797. package/dist/core/reporting/index.js +0 -6
  798. package/dist/core/retry/flakiness-integration.d.ts +0 -60
  799. package/dist/core/retry/flakiness-integration.js +0 -228
  800. package/dist/core/retry/index.d.ts +0 -14
  801. package/dist/core/retry/index.js +0 -16
  802. package/dist/core/retry/retry-engine.d.ts +0 -80
  803. package/dist/core/retry/retry-engine.js +0 -296
  804. package/dist/core/retry/types.d.ts +0 -178
  805. package/dist/core/retry/types.js +0 -52
  806. package/dist/core/retry/vault.d.ts +0 -77
  807. package/dist/core/retry/vault.js +0 -304
  808. package/dist/core/runner/e2e-helpers.d.ts +0 -102
  809. package/dist/core/runner/e2e-helpers.js +0 -153
  810. package/dist/core/runner/phase3-runner.d.ts +0 -200
  811. package/dist/core/runner/phase3-runner.js +0 -1041
  812. package/dist/core/secrets/crypto.d.ts +0 -75
  813. package/dist/core/secrets/crypto.js +0 -223
  814. package/dist/core/secrets/manager.d.ts +0 -76
  815. package/dist/core/secrets/manager.js +0 -219
  816. package/dist/core/security/redaction-patterns-extended.d.ts +0 -27
  817. package/dist/core/security/redaction-patterns-extended.js +0 -247
  818. package/dist/core/security/redactor.d.ts +0 -71
  819. package/dist/core/security/redactor.js +0 -279
  820. package/dist/core/self-healing/assertion-healer.d.ts +0 -97
  821. package/dist/core/self-healing/assertion-healer.js +0 -371
  822. package/dist/core/self-healing/engine.d.ts +0 -122
  823. package/dist/core/self-healing/engine.js +0 -538
  824. package/dist/core/self-healing/index.d.ts +0 -10
  825. package/dist/core/self-healing/index.js +0 -11
  826. package/dist/core/self-healing/selector-healer.d.ts +0 -103
  827. package/dist/core/self-healing/selector-healer.js +0 -372
  828. package/dist/core/self-healing/types.d.ts +0 -152
  829. package/dist/core/self-healing/types.js +0 -6
  830. package/dist/core/serve/diagnostics-collector.d.ts +0 -32
  831. package/dist/core/serve/diagnostics-collector.js +0 -149
  832. package/dist/core/serve/health-checker.d.ts +0 -44
  833. package/dist/core/serve/health-checker.js +0 -219
  834. package/dist/core/serve/index.d.ts +0 -8
  835. package/dist/core/serve/index.js +0 -8
  836. package/dist/core/serve/metrics-collector.d.ts +0 -24
  837. package/dist/core/serve/metrics-collector.js +0 -322
  838. package/dist/core/serve/process-manager.d.ts +0 -36
  839. package/dist/core/serve/process-manager.js +0 -213
  840. package/dist/core/serve/server.d.ts +0 -36
  841. package/dist/core/serve/server.js +0 -191
  842. package/dist/core/slo/config.d.ts +0 -107
  843. package/dist/core/slo/config.js +0 -360
  844. package/dist/core/slo/index.d.ts +0 -11
  845. package/dist/core/slo/index.js +0 -15
  846. package/dist/core/slo/sli-calculator.d.ts +0 -92
  847. package/dist/core/slo/sli-calculator.js +0 -364
  848. package/dist/core/slo/slo-tracker.d.ts +0 -148
  849. package/dist/core/slo/slo-tracker.js +0 -379
  850. package/dist/core/slo/types.d.ts +0 -281
  851. package/dist/core/slo/types.js +0 -7
  852. package/dist/core/slo/vault.d.ts +0 -102
  853. package/dist/core/slo/vault.js +0 -427
  854. package/dist/core/tui/index.d.ts +0 -7
  855. package/dist/core/tui/index.js +0 -6
  856. package/dist/core/tui/monitor.d.ts +0 -92
  857. package/dist/core/tui/monitor.js +0 -271
  858. package/dist/core/tui/renderer.d.ts +0 -33
  859. package/dist/core/tui/renderer.js +0 -218
  860. package/dist/core/tui/types.d.ts +0 -63
  861. package/dist/core/tui/types.js +0 -5
  862. package/dist/core/types/pack-v1.d.ts +0 -251
  863. package/dist/core/types/pack-v1.js +0 -5
  864. package/dist/core/types/pack-v2.d.ts +0 -425
  865. package/dist/core/types/pack-v2.js +0 -8
  866. package/dist/core/types/trust-score.d.ts +0 -69
  867. package/dist/core/types/trust-score.js +0 -191
  868. package/dist/core/vault/cas.d.ts +0 -90
  869. package/dist/core/vault/cas.js +0 -261
  870. package/dist/core/vault/index.d.ts +0 -326
  871. package/dist/core/vault/index.js +0 -1042
  872. package/dist/core/visual/index.d.ts +0 -6
  873. package/dist/core/visual/index.js +0 -6
  874. package/dist/core/visual/visual-regression.d.ts +0 -113
  875. package/dist/core/visual/visual-regression.js +0 -236
  876. package/dist/core/watch/index.d.ts +0 -7
  877. package/dist/core/watch/index.js +0 -6
  878. package/dist/core/watch/watch-mode.d.ts +0 -213
  879. package/dist/core/watch/watch-mode.js +0 -389
  880. package/dist/generators/index.d.ts +0 -5
  881. package/dist/generators/index.js +0 -5
  882. package/dist/generators/json-reporter.d.ts +0 -10
  883. package/dist/generators/json-reporter.js +0 -12
  884. package/dist/generators/test-generator.d.ts +0 -18
  885. package/dist/generators/test-generator.js +0 -78
  886. package/dist/index.d.ts +0 -8
  887. package/dist/index.js +0 -246
  888. package/dist/scanners/dom-scanner.d.ts +0 -52
  889. package/dist/scanners/dom-scanner.js +0 -296
  890. package/dist/scanners/index.d.ts +0 -4
  891. package/dist/scanners/index.js +0 -4
  892. package/dist/schemas/pack.schema.json +0 -236
  893. package/dist/types/scan.d.ts +0 -68
  894. package/dist/types/scan.js +0 -4
  895. package/dist/utils/config.d.ts +0 -5
  896. package/dist/utils/config.js +0 -136
  897. /package/{bin → cli/bin}/qa360.js +0 -0
  898. /package/{examples → cli/examples}/accessibility.yml +0 -0
  899. /package/{examples → cli/examples}/api-basic.yml +0 -0
  900. /package/{examples → cli/examples}/complete.yml +0 -0
  901. /package/{examples → cli/examples}/crawler.yml +0 -0
  902. /package/{examples → cli/examples}/fullstack.yml +0 -0
  903. /package/{examples → cli/examples}/security.yml +0 -0
  904. /package/{examples → cli/examples}/ui-advanced.yml +0 -0
  905. /package/{examples → cli/examples}/ui-basic.yml +0 -0
  906. /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 |