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
@@ -0,0 +1,965 @@
1
+ # QA360 - Audit Complet & Plan de Refactorisation
2
+
3
+ **Date** : 31 Décembre 2024
4
+ **Version** : 2.0 (Architecture Ollama + Auth)
5
+ **Statut** : Proposition de refonte
6
+
7
+ ---
8
+
9
+ ## Résumé Exécutif
10
+
11
+ QA360 doit évoluer d'un orchestrateur de tests avec templates vers une plateforme AI-native avec génération de code. Ce audit identifie ce qui doit être **gardé**, **refactorisé**, ou **supprimé**.
12
+
13
+ ```
14
+ ┌─────────────────────────────────────────────────────────────────────────┐
15
+ │ Architecture Future QA360 │
16
+ ├─────────────────────────────────────────────────────────────────────────┤
17
+ │ │
18
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
19
+ │ │ Ollama AI Layer │ │
20
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
21
+ │ │ │ Code │ │ Test │ │ Smart │ │ Chat │ │ │
22
+ │ │ │ Generator │ │ Optimizer │ │ Triage │ │ Assistant │ │ │
23
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
24
+ │ └────────────────────────────────────────────────────────────────────┘ │
25
+ │ ↓ │
26
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
27
+ │ │ Auth Module (NOUVEAU) │ │
28
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
29
+ │ │ │ JWT/OAuth2 │ │ Cloud ADC │ │ TOTP │ │ UI Login │ │ │
30
+ │ │ │ Manager │ │ Manager │ │ Manager │ │ Manager │ │ │
31
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
32
+ │ └────────────────────────────────────────────────────────────────────┘ │
33
+ │ ↓ │
34
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
35
+ │ │ Core (Conservé) │ │
36
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
37
+ │ │ │ Proof │ │ Evidence │ │ Pack │ │ │
38
+ │ │ │ System │ │ Vault │ │ Validator │ │ │
39
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │
40
+ │ └────────────────────────────────────────────────────────────────────┘ │
41
+ │ ↓ │
42
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
43
+ │ │ Adapters (Refactorisés) │ │
44
+ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │
45
+ │ │ │ Playwright │ │ K6 │ │ Semgrep │ │ Zap │ │ │
46
+ │ │ │ (API+UI) │ │ (Perf) │ │ (SAST) │ │ (DAST) │ │ │
47
+ │ │ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │ │
48
+ │ └────────────────────────────────────────────────────────────────────┘ │
49
+ │ ↓ │
50
+ │ ┌────────────────────────────────────────────────────────────────────┐ │
51
+ │ │ CLI (Nouvelles commandes) │ │
52
+ │ │ run | verify | generate | ollama | chat | analyze │ │
53
+ │ └────────────────────────────────────────────────────────────────────┘ │
54
+ │ │
55
+ └─────────────────────────────────────────────────────────────────────────┘
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Table des Matières
61
+
62
+ 1. [Audit CLI](#1-audit-cli)
63
+ 2. [Audit Core](#2-audit-core)
64
+ 3. [Audit MCP Server](#3-audit-mcp-server)
65
+ 4. [Nouveaux Modules](#4-nouveaux-modules)
66
+ 5. [Plan de Refactorisation](#5-plan-de-refactorisation)
67
+ 6. [Nouvelle Structure de Projet](#6-nouvelle-structure)
68
+
69
+ ---
70
+
71
+ ## 1. Audit CLI
72
+
73
+ ### 1.1 Commandes Actuelles
74
+
75
+ | Commande | Fichier | Action | Priorité |
76
+ |----------|---------|--------|----------|
77
+ | **run** | `commands/run.ts` | ✅ GARDER | Core |
78
+ | **verify** | `commands/verify.ts` | ✅ GARDER | Core |
79
+ | **doctor** | `commands/doctor.ts` | ✅ GARDER | Core |
80
+ | **init** | `commands/init.ts` | ✅ GARDER | Core |
81
+ | **examples** | `commands/examples.ts` | ✅ GARDER | Utility |
82
+ | **history** | `commands/history.ts` | ✅ GARDER | Utility |
83
+ | **report** | `commands/report.ts` | 🔧 REFACTOR | Medium |
84
+ | **ask** | `commands/ask.ts` | 🔄 RÉÉCRIRE | **HIGH** |
85
+ | **serve** | `commands/serve.ts` | ❌ SUPPRIMER | Low |
86
+ | **pack** | `commands/pack.ts` | ✅ GARDER | Utility |
87
+ | **secrets** | `commands/secrets.ts` | 🔧 REFACTOR | High |
88
+ | **proof** | `commands/proof.ts` | ✅ GARDER | Core |
89
+
90
+ ### 1.2 Nouvelles Commandes
91
+
92
+ | Commande | Description | Priorité |
93
+ |----------|-------------|----------|
94
+ | **generate** | Génère des tests avec Ollama | **CRITICAL** |
95
+ | **ollama** | Gère la connexion Ollama | **HIGH** |
96
+ | **chat** | Assistant conversationnel | Medium |
97
+ | **analyze** | Analyse les résultats avec IA | Medium |
98
+ | **auth** | Gère les configurations d'auth | **HIGH** |
99
+
100
+ ### 1.3 Changements CLI
101
+
102
+ ```typescript
103
+ // cli/src/index.ts - Nouvelle structure
104
+
105
+ import { Command } from 'commander';
106
+
107
+ // Core (inchangées)
108
+ program.addCommand(runCommand);
109
+ program.addCommand(verifyCommand);
110
+ program.addCommand(doctorCommand);
111
+ program.addCommand(initCommand);
112
+
113
+ // IA (nouvelles)
114
+ program.addCommand(generateCommand); // ← NOUVEAU
115
+ program.addCommand(ollamaCommand); // ← NOUVEAU
116
+ program.addCommand(chatCommand); // ← NOUVEAU
117
+ program.addCommand(analyzeCommand); // ← NOUVEAU
118
+
119
+ // Auth (nouveau)
120
+ program.addCommand(authCommand); // ← NOUVEAU
121
+
122
+ // Utilities (refactorisées)
123
+ program.addCommand(historyCommand); // Améliorer
124
+ program.addCommand(secretsCommand); // Intégrer avec Auth
125
+ program.addCommand(packCommand); // Mettre à jour pour v2
126
+
127
+ // Supprimés
128
+ // - serveCommand (serveur obsolète)
129
+ ```
130
+
131
+ ---
132
+
133
+ ## 2. Audit Core
134
+
135
+ ### 2.1 Modules à Garder (Intacts)
136
+
137
+ ```
138
+ core/src/
139
+ ├── proof/ ✅ GARDER - Coeur de la valeur
140
+ │ ├── signer.ts Signatures Ed25519
141
+ │ ├── verifier.ts Vérification
142
+ │ ├── canonicalize.ts Canonicalisation JSON
143
+ │ └── bundle.ts Preuves
144
+
145
+ ├── vault/ ✅ GARDER - Stockage immuable
146
+ │ ├── index.ts Opérations Vault
147
+ │ └── cas.ts Content-addressable storage
148
+
149
+ ├── security/ ✅ GARDER
150
+ │ └── redactor.ts Masquage des secrets
151
+
152
+ ├── pack/ 🔧 METTRE À JOUR pour v2
153
+ │ ├── validator.ts Ajouter support v2
154
+ │ └── migrator.ts Migration v1 → v2
155
+
156
+ └── types/ 🔧 METTRE À JOUR
157
+ └── pack-v1.ts Ajouter pack-v2.ts
158
+ ```
159
+
160
+ ### 2.2 Modules à Refactoriser
161
+
162
+ ```
163
+ core/src/
164
+ ├── runner/ 🔧 REFACTOR MAJEUR
165
+ │ └── phase3-runner.ts
166
+ │ → Passer à exécution parallèle
167
+ │ → Support test_files pattern
168
+ │ → Intégrer auto-discovery
169
+
170
+ ├── adapters/ 🔧 REFACTOR
171
+ │ ├── playwright-api.ts → Injecter auth
172
+ │ ├── playwright-ui.ts → Injecter auth + session
173
+ │ ├── k6-perf.ts → Optimisation IA
174
+ │ ├── semgrep-sast.ts → Garder
175
+ │ ├── zap-dast.ts → Garder
176
+ │ ├── gitleaks-secrets.ts → Garder
177
+ │ └── osv-deps.ts → Garder
178
+
179
+ └── hooks/ 🔧 SIMPLIFIER
180
+ ├── compose.ts → Rendre plus générique
181
+ └── runner.ts → Fusionner avec compose
182
+ ```
183
+
184
+ ### 2.3 Modules à Supprimer
185
+
186
+ ```
187
+ core/src/
188
+ ├── serve/ ❌ SUPPRIMER - Serveur d'observabilité
189
+ │ ├── server.ts
190
+ │ ├── health-checker.ts
191
+ │ ├── diagnostics-collector.ts
192
+ │ ├── metrics-collector.ts
193
+ │ └── process-manager.ts
194
+
195
+ └── security/
196
+ └── redaction-patterns-extended.ts ❌ SUPPRIMER - Doublon
197
+ ```
198
+
199
+ ---
200
+
201
+ ## 3. Audit MCP Server
202
+
203
+ ### 3.1 Outils à Garder (15 → 35)
204
+
205
+ ```
206
+ packages/mcp/src/tools/
207
+
208
+ ├── History (6) ✅ GARDER
209
+ │ ├── list.ts
210
+ │ ├── get.ts
211
+ │ ├── diff.ts
212
+ │ ├── trend.ts
213
+ │ ├── pin.ts
214
+ │ └── gc.ts
215
+
216
+ ├── Pack (3) ✅ GARDER
217
+ │ ├── ask.ts → Refactor pour appeler Ollama
218
+ │ ├── validate.ts
219
+ │ └── lint.ts
220
+
221
+ ├── Execution (1) ✅ GARDER
222
+ │ └── run.ts
223
+
224
+ ├── Triage (1) ✅ GARDER
225
+ │ └── explain_code.ts
226
+
227
+ ├── Vault (2) ✅ GARDER
228
+ │ ├── get_run.ts
229
+ │ └── get_artifacts.ts
230
+
231
+ └── Server (3) ✅ GARDER
232
+ ├── health.ts
233
+ ├── diag.ts
234
+ └── metrics.ts
235
+ ```
236
+
237
+ ### 3.2 Outils à Supprimer
238
+
239
+ ```
240
+ ❌ SUPPRIMER :
241
+ ├── history/export.ts → Peu utilisé
242
+ ├── history/migrate.ts → Peu pertinent
243
+ ├── pack/migrate.ts → Rarement nécessaire
244
+ ├── report/sign.ts → CLI-focused
245
+ └── verify.ts → CLI-focused
246
+ ```
247
+
248
+ ### 3.3 Nouveaux Outils
249
+
250
+ ```
251
+ packages/mcp/src/tools/
252
+
253
+ ├── generation/ (NOUVEAU)
254
+ │ ├── from_openapi.ts Génération depuis OpenAPI
255
+ │ ├── from_crawl.ts Génération par crawling
256
+ │ ├── from_stories.ts Génération depuis user stories
257
+ │ └── suggest.ts Suggestions de tests
258
+
259
+ ├── analysis/ (NOUVEAU)
260
+ │ ├── testability.ts Analyse de testabilité
261
+ │ ├── coverage.ts Analyse de couverture
262
+ │ ├── fragile_selectors.ts Sélecteurs fragiles
263
+ │ └── patterns.ts Patterns de code
264
+
265
+ ├── smart_triage/ (NOUVEAU)
266
+ │ ├── analyze.ts Analyse profonde échec
267
+ │ ├── root_cause.ts Cause racine IA
268
+ │ └── fix.ts Génération de correctif
269
+
270
+ └── collaboration/ (NOUVEAU)
271
+ ├── team_report.ts Rapport équipe
272
+ ├── compare_runs.ts Comparaison exécutions
273
+ └── export_slack.ts Export Slack
274
+ ```
275
+
276
+ ### 3.4 Rôle du MCP Server
277
+
278
+ **Positionnement : ADD-ON, pas Core**
279
+
280
+ ```
281
+ ┌─────────────────────────────────────────────────────────────┐
282
+ │ QA360 MCP Server │
283
+ ├─────────────────────────────────────────────────────────────┤
284
+ │ │
285
+ │ Usage Primaire : │
286
+ │ └─ Intégration avec autres agents (Cursor, ) │
287
+ │ │
288
+ │ Usage Secondaire : │
289
+ │ └─ Extensions pour utilisateurs avancés │
290
+ │ │
291
+ │ N'EST PAS : │
292
+ │ └─ Le moyen principal d'utiliser QA360 (CLI est) │
293
+ │ │
294
+ └─────────────────────────────────────────────────────────────┘
295
+ ```
296
+
297
+ ---
298
+
299
+ ## 4. Nouveaux Modules
300
+
301
+ ### 4.1 AI Module (Ollama)
302
+
303
+ ```typescript
304
+ // core/src/ai/ - NOUVEAU MODULE
305
+
306
+ core/src/ai/
307
+ ├── index.ts Point d'entrée
308
+ ├── providers/
309
+ │ ├── base.ts Interface LLM Provider
310
+ │ ├── ollama.ts Provider Ollama (PRINCIPAL)
311
+ │ ├── openai.ts Provider OpenAI (optionnel)
312
+ │ └── anthropic.ts Provider Anthropic (optionnel)
313
+ ├── generators/
314
+ │ ├── base.ts Interface Generator
315
+ │ ├── code-generator.ts Génération de code test
316
+ │ ├── pack-generator.ts Génération de pack YAML
317
+ │ └── prompt-templates.ts Templates de prompts
318
+ ├── optimizers/
319
+ │ ├── test-optimizer.ts Optimisation de tests
320
+ │ └── param-tuner.ts Réglage paramètres
321
+ └── analyzers/
322
+ ├── failure-analyzer.ts Analyse échecs
323
+ ├── pattern-detector.ts Détection patterns
324
+ └── triage.ts Analyse intelligente
325
+ ```
326
+
327
+ **Dépendances :**
328
+ ```json
329
+ {
330
+ "ollama": "^0.5.0",
331
+ "openai": "^4.0.0"
332
+ }
333
+ ```
334
+
335
+ ### 4.2 Auth Module
336
+
337
+ ```typescript
338
+ // core/src/auth/ - NOUVEAU MODULE
339
+
340
+ core/src/auth/
341
+ ├── index.ts Point d'entrée
342
+ ├── managers/
343
+ │ ├── base.ts Interface Auth Manager
344
+ │ ├── jwt-manager.ts JWT avec auto-refresh
345
+ │ ├── oauth2-manager.ts OAuth2 flows
346
+ │ ├── api-key-manager.ts Gestion API Keys
347
+ │ └── totp-manager.ts Génération TOTP
348
+ ├── cloud/
349
+ │ ├── gcp-adc.ts GCP Application Default Credentials
350
+ │ ├── aws-iam.ts AWS IAM credentials
351
+ │ └── azure-ad.ts Azure AD token
352
+ ├── ui/
353
+ │ ├── login-manager.ts Login UI自动化
354
+ │ ├── session-store.ts Stockage sessions/cookies
355
+ │ └── form-handler.ts Gestion formulaires
356
+ ├── storage/
357
+ │ └── credential-store.ts Stockage sécurisé (chiffré)
358
+ └── types/
359
+ └── auth-config.ts Types de configuration
360
+ ```
361
+
362
+ **Dépendances :**
363
+ ```json
364
+ {
365
+ "jsonwebtoken": "^9.0.0",
366
+ "otpauth": "^9.0.0",
367
+ "google-auth-library": "^9.0.0",
368
+ "aws-sdk": "^2.0.0",
369
+ "@azure/identity": "^4.0.0"
370
+ }
371
+ ```
372
+
373
+ ### 4.3 Test Discoverer
374
+
375
+ ```typescript
376
+ // core/src/discoverer/ - NOUVEAU MODULE
377
+
378
+ core/src/discoverer/
379
+ ├── index.ts Point d'entrée
380
+ ├── test-discoverer.ts Découverte fichiers de test
381
+ ├── type-detector.ts Détection type de test
382
+ ├── adapter-router.ts Routage vers bon adapter
383
+ └── parsers/
384
+ ├── playwright.ts Parseur fichiers Playwright
385
+ ├── k6.ts Parseur fichiers K6
386
+ └── cypress.ts Parseur fichiers Cypress
387
+ ```
388
+
389
+ ### 4.4 Config Manager
390
+
391
+ ```typescript
392
+ // core/src/config/ - NOUVEAU MODULE
393
+
394
+ core/src/config/
395
+ ├── index.ts Point d'entrée
396
+ ├── config-loader.ts Chargement config
397
+ ├── config-validator.ts Validation config
398
+ ├── environment.ts Gestion environnements
399
+ └── types/
400
+ └── config.ts Types de configuration
401
+ ```
402
+
403
+ ---
404
+
405
+ ## 5. Plan de Refactorisation
406
+
407
+ ### Phase 1 : Fondations (Semaines 1-2)
408
+
409
+ ```
410
+ ┌─────────────────────────────────────────────────────────────┐
411
+ │ Semaine 1 │
412
+ ├─────────────────────────────────────────────────────────────┤
413
+ │ ✅ Créer core/src/ai/ avec provider Ollama │
414
+ │ ✅ Créer core/src/discoverer/ pour auto-découverte │
415
+ │ ✅ Mise à jour core/src/types/ pour pack-v2 │
416
+ └─────────────────────────────────────────────────────────────┘
417
+
418
+ ┌─────────────────────────────────────────────────────────────┐
419
+ │ Semaine 2 │
420
+ ├─────────────────────────────────────────────────────────────┤
421
+ │ ✅ Créer core/src/auth/ structure de base │
422
+ │ ✅ Implémenter JWT Manager │
423
+ │ ✅ Implémenter API Key Manager │
424
+ │ ✅ Migrer core/src/pack/ vers v2 │
425
+ └─────────────────────────────────────────────────────────────┘
426
+ ```
427
+
428
+ **Livraison :**
429
+ - OllamaProvider fonctionnel
430
+ - TestDiscoverer fonctionnel
431
+ - PackV2 types définis
432
+ - JWT/Auth basic
433
+
434
+ ### Phase 2 : Génération de Code (Semaines 3-4)
435
+
436
+ ```
437
+ ┌─────────────────────────────────────────────────────────────┐
438
+ │ Semaine 3 │
439
+ ├─────────────────────────────────────────────────────────────┤
440
+ │ ✅ CodeGenerator pour Playwright │
441
+ │ ✅ CodeGenerator pour K6 │
442
+ │ ✅ Prompt templates pour génération │
443
+ └─────────────────────────────────────────────────────────────┘
444
+
445
+ ┌─────────────────────────────────────────────────────────────┐
446
+ │ Semaine 4 │
447
+ ├─────────────────────────────────────────────────────────────┤
448
+ │ ✅ Réécrire cli/src/commands/ask.ts avec Ollama │
449
+ │ ✅ Créer cli/src/commands/generate.ts │
450
+ │ ✅ Créer cli/src/commands/ollama.ts │
451
+ └─────────────────────────────────────────────────────────────┘
452
+ ```
453
+
454
+ **Livraison :**
455
+ - Génération de code fonctionnelle
456
+ - Commande `qa360 generate` fonctionnelle
457
+ - Commande `qa360 ollama` fonctionnelle
458
+
459
+ ### Phase 3 : Auth Complet (Semaines 5-6)
460
+
461
+ ```
462
+ ┌─────────────────────────────────────────────────────────────┐
463
+ │ Semaine 5 │
464
+ ├─────────────────────────────────────────────────────────────┤
465
+ │ ✅ OAuth2 Manager │
466
+ │ ✅ TOTP Manager │
467
+ │ ✅ Cloud ADC (GCP, AWS) │
468
+ └─────────────────────────────────────────────────────────────┘
469
+
470
+ ┌─────────────────────────────────────────────────────────────┐
471
+ │ Semaine 6 │
472
+ ├─────────────────────────────────────────────────────────────┤
473
+ │ ✅ UI Login Manager │
474
+ │ ✅ Session Store │
475
+ │ ✅ Intégration Auth dans Adapters │
476
+ │ ✅ Créer cli/src/commands/auth.ts │
477
+ └─────────────────────────────────────────────────────────────┘
478
+ ```
479
+
480
+ **Livraison :**
481
+ - Module Auth complet
482
+ - Adapters avec injection auth
483
+ - Commande `qa360 auth` fonctionnelle
484
+
485
+ ### Phase 4 : Refactor Core (Semaines 7-8)
486
+
487
+ ```
488
+ ┌─────────────────────────────────────────────────────────────┐
489
+ │ Semaine 7 │
490
+ ├─────────────────────────────────────────────────────────────┤
491
+ │ ✅ Refactor Phase3Runner pour test_files pattern │
492
+ │ ✅ Exécution parallèle des gates │
493
+ │ ✅ Intégration TestDiscoverer │
494
+ └─────────────────────────────────────────────────────────────┘
495
+
496
+ ┌─────────────────────────────────────────────────────────────┐
497
+ │ Semaine 8 │
498
+ ├─────────────────────────────────────────────────────────────┤
499
+ │ ✅ Refactor Adapters avec injection Auth │
500
+ │ ✅ Mettre à jour MCP tools │
501
+ │ ✅ Supprimer modules obsolètes │
502
+ └─────────────────────────────────────────────────────────────┘
503
+ ```
504
+
505
+ **Livraison :**
506
+ - Phase3Runner refactorisé
507
+ - Adapters auth-aware
508
+ - MCP tools mis à jour
509
+
510
+ ### Phase 5 : UX Avancée (Semaines 9-10)
511
+
512
+ ```
513
+ ┌─────────────────────────────────────────────────────────────┐
514
+ │ Semaine 9 │
515
+ ├─────────────────────────────────────────────────────────────┤
516
+ │ ✅ Commande qa360 chat │
517
+ │ ✅ Commande qa360 analyze │
518
+ │ ✅ Smart Triage avec IA │
519
+ └─────────────────────────────────────────────────────────────┘
520
+
521
+ ┌─────────────────────────────────────────────────────────────┐
522
+ │ Semaine 10 │
523
+ ├─────────────────────────────────────────────────────────────┤
524
+ │ ✅ Améliorer sortie CLI │
525
+ │ ✅ Ajouter progress bars │
526
+ │ ✅ Messages d'erreur pédagogiques │
527
+ └─────────────────────────────────────────────────────────────┘
528
+ ```
529
+
530
+ **Livraison :**
531
+ - Chat interface fonctionnelle
532
+ - Analyse IA des échecs
533
+ - Améliorations UX
534
+
535
+ ---
536
+
537
+ ## 6. Nouvelle Structure de Projet
538
+
539
+ ### Structure Complète Après Refactorisation
540
+
541
+ ```
542
+ qa360/
543
+ ├── cli/ # CLI (interface utilisateur)
544
+ │ ├── src/
545
+ │ │ ├── commands/
546
+ │ │ │ ├── run.ts # Exécuter les tests
547
+ │ │ │ ├── verify.ts # Vérifier les preuves
548
+ │ │ │ ├── doctor.ts # Diagnostic
549
+ │ │ │ ├── init.ts # Initialiser projet
550
+ │ │ │ ├── generate.ts # ← NOUVEAU : Générer tests
551
+ │ │ │ ├── ollama.ts # ← NOUVEAU : Gérer Ollama
552
+ │ │ │ ├── chat.ts # ← NOUVEAU : Chat IA
553
+ │ │ │ ├── analyze.ts # ← NOUVEAU : Analyser résultats
554
+ │ │ │ ├── auth.ts # ← NOUVEAU : Gérer auth
555
+ │ │ │ ├── history.ts # Historique
556
+ │ │ │ ├── secrets.ts # Secrets (fusion avec auth)
557
+ │ │ │ ├── pack.ts # Gestion des packs
558
+ │ │ │ └── report.ts # Rapports
559
+ │ │ ├── index.ts
560
+ │ │ └── utils/
561
+ │ ├── bin/
562
+ │ │ └── qa360.js
563
+ │ └── package.json
564
+
565
+ ├── core/ # Moteur core
566
+ │ ├── src/
567
+ │ │ ├── ai/ # ← NOUVEAU : Module IA
568
+ │ │ │ ├── index.ts
569
+ │ │ │ ├── providers/
570
+ │ │ │ │ ├── base.ts
571
+ │ │ │ │ ├── ollama.ts # Provider Ollama
572
+ │ │ │ │ ├── openai.ts # Provider OpenAI (option)
573
+ │ │ │ │ └── anthropic.ts # Provider Anthropic (option)
574
+ │ │ │ ├── generators/
575
+ │ │ │ │ ├── code-generator.ts # Génération code
576
+ │ │ │ │ ├── pack-generator.ts # Génération pack
577
+ │ │ │ │ └── prompt-templates.ts # Templates prompts
578
+ │ │ │ ├── analyzers/
579
+ │ │ │ │ ├── failure-analyzer.ts
580
+ │ │ │ │ ├── pattern-detector.ts
581
+ │ │ │ │ └── triage.ts
582
+ │ │ │ └── optimizers/
583
+ │ │ │ ├── test-optimizer.ts
584
+ │ │ │ └── param-tuner.ts
585
+ │ │ │
586
+ │ │ ├── auth/ # ← NOUVEAU : Module Auth
587
+ │ │ │ ├── index.ts
588
+ │ │ │ ├── managers/
589
+ │ │ │ │ ├── base.ts
590
+ │ │ │ │ ├── jwt-manager.ts
591
+ │ │ │ │ ├── oauth2-manager.ts
592
+ │ │ │ │ ├── api-key-manager.ts
593
+ │ │ │ │ └── totp-manager.ts
594
+ │ │ │ ├── cloud/
595
+ │ │ │ │ ├── gcp-adc.ts
596
+ │ │ │ │ ├── aws-iam.ts
597
+ │ │ │ │ └── azure-ad.ts
598
+ │ │ │ ├── ui/
599
+ │ │ │ │ ├── login-manager.ts
600
+ │ │ │ │ ├── session-store.ts
601
+ │ │ │ │ └── form-handler.ts
602
+ │ │ │ └── storage/
603
+ │ │ │ └── credential-store.ts
604
+ │ │ │
605
+ │ │ ├── discoverer/ # ← NOUVEAU : Découverte tests
606
+ │ │ │ ├── index.ts
607
+ │ │ │ ├── test-discoverer.ts
608
+ │ │ │ ├── type-detector.ts
609
+ │ │ │ ├── adapter-router.ts
610
+ │ │ │ └── parsers/
611
+ │ │ │ ├── playwright.ts
612
+ │ │ │ ├── k6.ts
613
+ │ │ │ └── cypress.ts
614
+ │ │ │
615
+ │ │ ├── config/ # ← NOUVEAU : Configuration
616
+ │ │ │ ├── index.ts
617
+ │ │ │ ├── config-loader.ts
618
+ │ │ │ ├── config-validator.ts
619
+ │ │ │ └── environment.ts
620
+ │ │ │
621
+ │ │ ├── proof/ # ✅ GARDER : Preuves
622
+ │ │ │ ├── index.ts
623
+ │ │ │ ├── signer.ts
624
+ │ │ │ ├── verifier.ts
625
+ │ │ │ ├── canonicalize.ts
626
+ │ │ │ └── bundle.ts
627
+ │ │ │
628
+ │ │ ├── vault/ # ✅ GARDER : Vault
629
+ │ │ │ ├── index.ts
630
+ │ │ │ ├── cas.ts
631
+ │ │ │ └── schema.sql
632
+ │ │ │
633
+ │ │ ├── pack/ # 🔧 METTRE À JOUR
634
+ │ │ │ ├── validator.ts # Ajouter support v2
635
+ │ │ │ └── migrator.ts # Migration v1→v2
636
+ │ │ │
637
+ │ │ ├── types/ # 🔧 METTRE À JOUR
638
+ │ │ │ ├── pack-v1.ts # Garder pour compat
639
+ │ │ │ └── pack-v2.ts # ← NOUVEAU
640
+ │ │ │
641
+ │ │ ├── adapters/ # 🔧 REFACTOR
642
+ │ │ │ ├── base.ts # ← NOUVEAU : Interface commune
643
+ │ │ │ ├── playwright-api.ts # + Auth injection
644
+ │ │ │ ├── playwright-ui.ts # + Auth + Session
645
+ │ │ │ ├── k6-perf.ts # + Optimisation IA
646
+ │ │ │ ├── semgrep-sast.ts
647
+ │ │ │ ├── zap-dast.ts
648
+ │ │ │ ├── gitleaks-secrets.ts
649
+ │ │ │ └── osv-deps.ts
650
+ │ │ │
651
+ │ │ ├── runner/ # 🔧 REFACTOR MAJEUR
652
+ │ │ │ └── phase3-runner.ts # + test_files, parallèle
653
+ │ │ │
654
+ │ │ ├── hooks/ # 🔧 SIMPLIFIER
655
+ │ │ │ ├── compose.ts
656
+ │ │ │ └── runner.ts
657
+ │ │ │
658
+ │ │ ├── security/ # ✅ GARDER
659
+ │ │ │ └── redactor.ts
660
+ │ │ │
661
+ │ │ └── index.ts
662
+ │ │
663
+ │ ├── schemas/
664
+ │ │ └── pack.schema.json # ← Mettre à jour v2
665
+ │ │
666
+ │ └── package.json
667
+
668
+ ├── packages/
669
+ │ ├── mcp/ # 🔧 MCP : ADD-ON (pas core)
670
+ │ │ └── src/
671
+ │ │ ├── tools/
672
+ │ │ │ ├── history/ # ✅ Garder
673
+ │ │ │ ├── pack/ # ✅ Garder + refactor ask
674
+ │ │ │ ├── execution/ # ✅ Garder
675
+ │ │ │ ├── generation/ # ← NOUVEAU
676
+ │ │ │ ├── analysis/ # ← NOUVEAU
677
+ │ │ │ ├── smart_triage/ # ← NOUVEAU
678
+ │ │ │ └── collaboration/ # ← NOUVEAU
679
+ │ │ ├── security/
680
+ │ │ └── server/
681
+ │ │
682
+ │ └── (autres packages...)
683
+
684
+ ├── examples/
685
+ │ ├── packs/ # Exemples packs v2
686
+ │ │ ├── simple.yml
687
+ │ │ ├── full.yml
688
+ │ │ └── with-auth.yml # ← NOUVEAU
689
+ │ │
690
+ │ └── generated-tests/ # ← NOUVEAU : Exemples générés
691
+ │ ├── api/
692
+ │ ├── ui/
693
+ │ └── perf/
694
+
695
+ ├── docs/
696
+ │ ├── ARCHITECTURE.md
697
+ │ ├── AI_INTEGRATION.md # ← NOUVEAU
698
+ │ ├── AUTH_GUIDE.md # ← NOUVEAU
699
+ │ └── MIGRATION_V1_V2.md # ← NOUVEAU
700
+
701
+ ├── .qa360/ # Config globale (nouveau)
702
+ │ ├── config.yml # ← NOUVEAU
703
+ │ ├── auth.yml # ← NOUVEAU : Configs auth
704
+ │ └── models.json # ← NOUVEAU : Modèles IA
705
+
706
+ ├── package.json
707
+ ├── pnpm-workspace.yaml
708
+ ├── tsconfig.base.json
709
+ └── tsconfig.build.json
710
+ ```
711
+
712
+ ---
713
+
714
+ ## 7. Nouveaux Fichiers de Configuration
715
+
716
+ ### 7.1 Config Globale QA360
717
+
718
+ ```yaml
719
+ # .qa360/config.yml
720
+
721
+ version: 1
722
+ profile: default
723
+
724
+ # IA Configuration
725
+ ai:
726
+ enabled: true
727
+ provider: ollama # ollama | openai | anthropic
728
+ model: deepseek-coder # Modèle pour génération de code
729
+ fallback_model: llama3.2 # Modèle de secours
730
+
731
+ ollama:
732
+ base_url: http://localhost:11434
733
+ timeout: 120000 # 2 minutes
734
+
735
+ cost_optimization:
736
+ use_small_for_summaries: true
737
+ cache_enabled: true
738
+
739
+ # Auth Configuration
740
+ auth:
741
+ default_profile: default
742
+ profiles:
743
+ default:
744
+ type: none
745
+ api-staging:
746
+ type: jwt
747
+ issuer: https://auth-staging.example.com
748
+ client_id: ${JWT_CLIENT_ID}
749
+ client_secret: ${JWT_CLIENT_SECRET}
750
+ auto_refresh: true
751
+ api-prod:
752
+ type: oauth2
753
+ token_url: https://auth.example.com/oauth/token
754
+ client_id: ${OAUTH_CLIENT_ID}
755
+ client_secret: ${OAUTH_CLIENT_SECRET}
756
+ gcp:
757
+ type: gcp_adc
758
+ project_id: my-project
759
+ ui-staging:
760
+ type: ui_login
761
+ url: https://staging.example.com/login
762
+ username: ${LOGIN_USER}
763
+ password: ${LOGIN_PASSWORD}
764
+ totp_secret: ${TOTP_SECRET}
765
+
766
+ # Execution Configuration
767
+ execution:
768
+ parallel_gates: true
769
+ max_concurrency: 4
770
+ default_timeout: 30000
771
+ default_retries: 2
772
+
773
+ # Reporting
774
+ reporting:
775
+ formats: ["json", "html"]
776
+ output_dir: ".qa360/reports"
777
+ include_screenshots: true
778
+ include_logs: true
779
+
780
+ # Security
781
+ security:
782
+ scan_paths: ["src", "lib", "tests"]
783
+ exclude_patterns: ["node_modules", "dist", ".git"]
784
+ redaction_enabled: true
785
+ ```
786
+
787
+ ### 7.2 Pack V2
788
+
789
+ ```yaml
790
+ # pack.yml (version 2)
791
+
792
+ version: 2
793
+ name: "my-app-tests"
794
+ description: "Complete test suite for my application"
795
+ profile: development
796
+
797
+ # Auth par défaut pour tous les tests
798
+ auth:
799
+ api: api-staging # Référence au profil dans config
800
+ ui: ui-staging
801
+
802
+ # Gates avec test_files
803
+ gates:
804
+ api_smoke:
805
+ adapter: playwright
806
+ test_files: ["tests/api/**/*.spec.ts"]
807
+ budgets:
808
+ max_duration_ms: 10000
809
+ parallel: true
810
+
811
+ ui_e2e:
812
+ adapter: playwright
813
+ test_files: ["tests/e2e/**/*.spec.ts"]
814
+ budgets:
815
+ max_duration_ms: 30000
816
+ auth: ui-staging # Override par défaut
817
+
818
+ perf:
819
+ adapter: k6
820
+ test_files: ["tests/perf/**/*.js"]
821
+ budgets:
822
+ p95_ms: 2000
823
+
824
+ security:
825
+ adapter: semgrep
826
+ test_files: ["tests/security/**/*.yaml"]
827
+ budgets:
828
+ max_high: 3
829
+ max_critical: 0
830
+
831
+ # Hooks (inchangés)
832
+ hooks:
833
+ beforeAll:
834
+ - run: "docker compose up -d"
835
+ timeout: 60000
836
+ afterAll:
837
+ - run: "docker compose down"
838
+ timeout: 30000
839
+
840
+ # Exécution
841
+ execution:
842
+ parallel: true
843
+ max_concurrency: 4
844
+ on_failure: continue
845
+ ```
846
+
847
+ ---
848
+
849
+ ## 8. Dépendances
850
+
851
+ ### 8.1 À Ajouter
852
+
853
+ ```json
854
+ {
855
+ "dependencies": {
856
+ "ollama": "^0.5.0",
857
+ "openai": "^4.0.0",
858
+ "@anthropic-ai/sdk": "^0.30.0",
859
+ "jsonwebtoken": "^9.0.0",
860
+ "otpauth": "^9.0.0",
861
+ "google-auth-library": "^9.0.0",
862
+ "@aws-sdk/credential-providers": "^3.0.0",
863
+ "@azure/identity": "^4.0.0",
864
+ "zod": "^3.0.0"
865
+ }
866
+ }
867
+ ```
868
+
869
+ ### 8.2 À Supprimer
870
+
871
+ ```json
872
+ {
873
+ "dependencies": {
874
+ "sqlite3": "garder pour vault",
875
+ "adm-zip": "évaluer si toujours nécessaire"
876
+ }
877
+ }
878
+ ```
879
+
880
+ ### 8.3 Versions Minimum
881
+
882
+ ```json
883
+ {
884
+ "engines": {
885
+ "node": ">=20.0.0"
886
+ },
887
+ "packageManager": "pnpm@9.12.2"
888
+ }
889
+ ```
890
+
891
+ ---
892
+
893
+ ## 9. Checklist de Migration
894
+
895
+ ```
896
+ Phase 1 - Fondations:
897
+ □ Créer core/src/ai/
898
+ □ Créer core/src/discoverer/
899
+ □ Créer core/src/config/
900
+ □ Créer core/src/auth/ (structure de base)
901
+ □ Mettre à jour types pour pack-v2
902
+
903
+ Phase 2 - Génération:
904
+ □ Implémenter OllamaProvider
905
+ □ Implémenter CodeGenerator
906
+ □ Réécrire command ask
907
+ □ Créer commande generate
908
+ □ Créer commande ollama
909
+
910
+ Phase 3 - Auth:
911
+ □ Implémenter JWTManager
912
+ □ Implémenter OAuth2Manager
913
+ □ Implémenter TOTPManager
914
+ □ Implémenter Cloud ADC managers
915
+ □ Implémenter UI LoginManager
916
+ □ Créer commande auth
917
+ □ Intégrer Auth dans Adapters
918
+
919
+ Phase 4 - Core Refactor:
920
+ □ Refactor Phase3Runner pour test_files
921
+ □ Ajouter exécution parallèle
922
+ □ Intégrer TestDiscoverer
923
+ □ Mettre à jour Adapters avec Auth
924
+ □ Supprimer modules obsolètes
925
+
926
+ Phase 5 - UX:
927
+ □ Créer commande chat
928
+ □ Créer commande analyze
929
+ □ Smart Triage avec IA
930
+ □ Améliorer messages d'erreur
931
+ □ Ajouter progress bars
932
+
933
+ Phase 6 - Documentation:
934
+ □ Documenter AI integration
935
+ □ Documenter Auth module
936
+ □ Guide de migration v1 → v2
937
+ □ Exemples packs v2
938
+ │ Exemples avec auth
939
+ ```
940
+
941
+ ---
942
+
943
+ ## 10. Risques et Atténuation
944
+
945
+ | Risque | Impact | Atténuation |
946
+ |--------|--------|-------------|
947
+ | Dépendance Ollama | Performance locale | Documenter requis, fallback sur LLM cloud |
948
+ | Complexité Auth | Courbe d'apprentissage | Templates, documentation, exemples |
949
+ | Breaking changes | Utilisateurs existants | Migration guide, compat v1 |
950
+ | Nouvelles dépendances | Taille du projet | Minimaliser, options |
951
+
952
+ ---
953
+
954
+ ## Conclusion
955
+
956
+ Ce plan de refactorisation transforme QA360 en :
957
+
958
+ 1. **Plateforme AI-native** avec Ollama (gratuit, local)
959
+ 2. **Génération de code** de test (pas juste templates)
960
+ 3. **Auth complète** (JWT, OAuth2, TOTP, Cloud, UI)
961
+ 4. **Expérience unifiée** (CLI principal, MCP en add-on)
962
+
963
+ **Le cœur de valeur (preuves, vault) est préservé.**
964
+
965
+ **La durée estimée est de 10 semaines pour une mise en œuvre complète.**