qa360 2.1.2 → 2.1.4

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