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,644 @@
1
+ # ARCH-01 - MCP PACKAGES MERGE ANALYSIS
2
+ **Date:** 2024-12-23
3
+ **Mission:** Day 2 - Deep Analysis of MCP Packages
4
+ **Analyst:** ARCH-01 Architecture Cleaner
5
+
6
+ ---
7
+
8
+ ## 📊 EXECUTIVE SUMMARY
9
+
10
+ **Analysis Scope:** 2 MCP packages with different purposes and overlapping functionality
11
+ **Merge Complexity:** MEDIUM-HIGH (significant overlap but different design goals)
12
+ **Recommendation:** **STRATEGIC MERGE** with phased approach
13
+
14
+ ### Key Findings
15
+ - **23 tools duplication** (full server vs minimal server)
16
+ - **2 different bin entries** pointing to different servers
17
+ - **Complementary functionality** (DX setup vs MCP protocol)
18
+ - **Dependency overlap** (Commander, Chalk, MCP SDK)
19
+ - **Version mismatch** (0.9.0-mcp vs 1.1.0)
20
+
21
+ ---
22
+
23
+ ## 1️⃣ PACKAGE COMPARISON
24
+
25
+ ### Package 1: `@qa360/mcp-server` (v0.9.0-mcp)
26
+
27
+ **Purpose:** Full-featured MCP Protocol Server exposing QA360 tools to LLMs/IDEs
28
+
29
+ **Location:** `packages/mcp-server-qa360/`
30
+
31
+ **Package.json Key Info:**
32
+ ```json
33
+ {
34
+ "name": "@qa360/mcp-server",
35
+ "version": "0.9.0-mcp",
36
+ "main": "dist/index.js",
37
+ "bin": {
38
+ "qa360-mcp": "dist/index.js"
39
+ }
40
+ }
41
+ ```
42
+
43
+ **Dependencies (Production):**
44
+ - `ajv` ^8.12.0
45
+ - `chalk` ^5.3.0
46
+ - `commander` ^11.1.0
47
+ - `@qa360/core` workspace:*
48
+
49
+ **Dev Dependencies:**
50
+ - `@modelcontextprotocol/sdk` ^0.4.0 (devDep)
51
+ - TypeScript, Jest, ESLint
52
+
53
+ **Scripts:**
54
+ - `build`, `dev`, `test`, `test:watch`, `test:coverage`, `test:integration`, `lint`
55
+
56
+ ---
57
+
58
+ ### Package 2: `@qa360/mcp` (v1.1.0)
59
+
60
+ **Purpose:** Zero-friction CLI for setup/configuration + Minimal MCP Server
61
+
62
+ **Location:** `packages/qa360-mcp-cli/`
63
+
64
+ **Package.json Key Info:**
65
+ ```json
66
+ {
67
+ "name": "@qa360/mcp",
68
+ "version": "1.1.0",
69
+ "main": "dist/index.js",
70
+ "bin": {
71
+ "qa360-mcp": "dist/cli/cli.js",
72
+ "qa360-mcp-server": "dist/server/minimal-server.js"
73
+ }
74
+ }
75
+ ```
76
+
77
+ **Dependencies (Production):**
78
+ - `@modelcontextprotocol/sdk` ^0.4.0 (prodDep)
79
+ - `chalk` ^5.3.0
80
+ - `commander` ^11.1.0
81
+ - `execa` ^8.0.1
82
+ - `fs-extra` ^11.2.0
83
+ - `inquirer` ^9.2.12
84
+ - `jsonc-parser` ^3.2.0
85
+ - `ora` ^8.0.1
86
+ - `semver` ^7.5.4
87
+
88
+ **Dev Dependencies:**
89
+ - `@cyclonedx/cyclonedx-npm`, Vitest, TypeScript, ESLint
90
+
91
+ **Scripts:**
92
+ - `build`, `check`, `dev`, `start`, `test`, `test:watch`, `test:dx`, `lint`
93
+ - **CI/CD:** `sbom`, `audit:ci`, `ci:all`, `e2e`, `verify:settings`
94
+ - **Publishing:** `prepublishOnly`, `publish:dry`, `publish:real`
95
+
96
+ ---
97
+
98
+ ## 2️⃣ SOURCE STRUCTURE ANALYSIS
99
+
100
+ ### mcp-server-qa360 Structure (22 TypeScript files)
101
+
102
+ ```
103
+ src/
104
+ ├── index.ts (213 lines) # Main MCP server + CLI
105
+ ├── global.d.ts
106
+ ├── __tests__/ # 5 test files
107
+ │ ├── mcp-basic.test.ts
108
+ │ ├── mcp-protocol.test.ts
109
+ │ ├── security.test.ts
110
+ │ ├── setup.ts
111
+ │ └── tools.test.ts
112
+ ├── schemas/ # JSON schemas
113
+ ├── security/ # 2 files
114
+ │ ├── audit.ts
115
+ │ └── manager.ts
116
+ ├── tools/ # 11 files
117
+ │ ├── registry.ts (639 lines) # 23 tools registry
118
+ │ ├── history.ts
119
+ │ ├── pack.ts
120
+ │ ├── report.ts
121
+ │ ├── run.ts
122
+ │ ├── secrets.ts
123
+ │ ├── serve.ts
124
+ │ ├── triage.ts
125
+ │ ├── types.ts
126
+ │ ├── vault.ts
127
+ │ └── verify.ts
128
+ └── types/
129
+ ├── index.ts
130
+ └── mcp-stubs.ts
131
+ ```
132
+
133
+ **Total Lines:** ~2,000+ lines (est.)
134
+
135
+ ---
136
+
137
+ ### qa360-mcp-cli Structure (14 TypeScript files)
138
+
139
+ ```
140
+ src/
141
+ ├── index.ts (13 lines) # Export commands
142
+ ├── cli/ # 10 command files
143
+ │ ├── cli.ts (138 lines) # Main CLI entry
144
+ │ ├── doctor.ts (287 lines) # Health checks
145
+ │ ├── fix.ts
146
+ │ ├── init.ts (234 lines) # VS Code setup
147
+ │ ├── postinstall.ts
148
+ │ ├── reset.ts
149
+ │ ├── telemetry.ts (180 lines)
150
+ │ ├── test-dx.ts
151
+ │ ├── uninstall.ts
152
+ │ └── up.ts (179 lines) # Server launcher
153
+ ├── server/
154
+ │ └── minimal-server.ts (135 lines) # 3 basic tools
155
+ └── scripts/
156
+ ├── e2e-local.ts
157
+ └── verify-settings.ts
158
+ ```
159
+
160
+ **Total Lines:** ~1,500+ lines (est.)
161
+
162
+ ---
163
+
164
+ ## 3️⃣ FUNCTIONALITY COMPARISON
165
+
166
+ ### mcp-server-qa360 Features
167
+
168
+ **MCP Protocol Server:**
169
+ - ✅ Full MCP SDK @0.4.0 implementation
170
+ - ✅ JSON-RPC stdio transport
171
+ - ✅ 23 tools in registry
172
+ - ✅ Permission system (--allow-run, --allow-secrets)
173
+ - ✅ Rate limiting + audit logging
174
+ - ✅ Security redaction
175
+ - ✅ Concurrency control
176
+
177
+ **Tools Registry (23 tools):**
178
+ 1. **Core Execution (3):**
179
+ - `qa360.run` - Execute packs with idempotence
180
+ - `qa360.report.sign` - Ed25519 signatures
181
+ - `qa360.verify` - Verify signatures
182
+
183
+ 2. **History & Analytics (8):**
184
+ - `qa360.history.list|get|diff|trend|export|gc|pin|unpin`
185
+
186
+ 3. **Pack Management (4):**
187
+ - `qa360.pack.ask|validate|lint|migrate`
188
+
189
+ 4. **Secrets Management (2):** *(--allow-secrets)*
190
+ - `qa360.secrets.add|list`
191
+
192
+ 5. **Server & Diagnostics (6):**
193
+ - `qa360.serve.health|diag|metrics`
194
+ - `qa360.vault.get_run|get_artifacts`
195
+ - `qa360.triage.explain_code`
196
+
197
+ **CLI Options:**
198
+ - `--allow-run`, `--allow-secrets`
199
+ - `--max-concurrency <number>`
200
+ - `--rate-limit <number>`
201
+ - `--audit-path <path>`
202
+ - `--dry-run`, `--help-tools`
203
+
204
+ **Integration:**
205
+ - Direct `@qa360/core` import (EvidenceVault, etc.)
206
+ - Real implementation (not stubs)
207
+
208
+ ---
209
+
210
+ ### qa360-mcp-cli Features
211
+
212
+ **Zero-Friction DX CLI:**
213
+ - ✅ 9 commands (init, up, doctor, fix, reset, uninstall, telemetry, test:dx)
214
+ - ✅ VS Code auto-configuration
215
+ - ✅ extension detection
216
+ - ✅ Backup & restore settings.json
217
+ - ✅ Auto-recovery (max 3 restarts)
218
+ - ✅ Multi-platform support (macOS, Linux, Windows)
219
+ - ✅ JSON output for CI (`--json`)
220
+ - ✅ Non-interactive mode (`--non-interactive`)
221
+ - ✅ Telemetry opt-in (GDPR compliant)
222
+ - ✅ SBOM generation (CycloneDX)
223
+ - ✅ npm audit integration
224
+
225
+ **CLI Commands:**
226
+ 1. **init** - Configure VS Code +
227
+ 2. **up** - Start MCP server (stdio/http)
228
+ 3. **serve** - Alias for up
229
+ 4. **doctor** - Health checks (7 checks)
230
+ 5. **fix** - Auto-repair issues
231
+ 6. **reset** - Clean configs
232
+ 7. **uninstall** - Complete removal
233
+ 8. **telemetry** - Privacy-first analytics
234
+ 9. **test:dx** - DX compliance tests
235
+
236
+ **Minimal MCP Server:**
237
+ - ✅ 3 basic tools only:
238
+ - `qa360.health`
239
+ - `qa360.pack.validate`
240
+ - `qa360.history.list`
241
+ - ❌ No @qa360/core integration
242
+ - ❌ Stub implementations
243
+
244
+ **Doctor Checks (7):**
245
+ 1. Node.js version (≥18.0.0)
246
+ 2. Package manager (npm/pnpm/yarn)
247
+ 3. VS Code installation
248
+ 4. extension
249
+ 5. MCP Server presence
250
+ 6. QA360 home directory
251
+ 7. Permissions
252
+
253
+ **CI/CD Features:**
254
+ - GitHub Actions workflow ready
255
+ - JSON structured output
256
+ - Exit codes (0=success, 1=fail)
257
+ - Matrix testing (3 OS × 3 Node)
258
+ - SBOM + Security audit
259
+
260
+ ---
261
+
262
+ ## 4️⃣ DUPLICATION ANALYSIS
263
+
264
+ ### 🔴 CRITICAL DUPLICATIONS
265
+
266
+ #### 1. **MCP Server Implementation** ⚠️
267
+ **Location:**
268
+ - `mcp-server-qa360/src/index.ts` (213 lines)
269
+ - `qa360-mcp-cli/src/server/minimal-server.ts` (135 lines)
270
+
271
+ **Overlap:**
272
+ - Both use `@modelcontextprotocol/sdk`
273
+ - Both implement Server + StdioServerTransport
274
+ - Both have tools registry
275
+ - Both handle CallToolRequestSchema
276
+
277
+ **Difference:**
278
+ - Full: 23 tools + permissions + audit + rate limit
279
+ - Minimal: 3 stub tools + basic health only
280
+
281
+ **Merge Strategy:** Keep full server, remove minimal
282
+
283
+ ---
284
+
285
+ #### 2. **Binary Entry Points** ⚠️
286
+ **Conflict:**
287
+ - Both packages export `qa360-mcp` binary
288
+ - `mcp-server`: Points to full server
289
+ - `mcp-cli`: Points to CLI (up command → launches server)
290
+
291
+ **Risk:** NPM package conflict if both installed globally
292
+
293
+ **Merge Strategy:** Single binary with subcommands
294
+
295
+ ---
296
+
297
+ #### 3. **Dependencies Overlap**
298
+ **Shared:**
299
+ - `@modelcontextprotocol/sdk` ^0.4.0
300
+ - `chalk` ^5.3.0
301
+ - `commander` ^11.1.0
302
+
303
+ **Unique to mcp-cli:**
304
+ - `execa`, `fs-extra`, `inquirer`, `jsonc-parser`, `ora`, `semver`
305
+
306
+ **Merge Strategy:** Keep all, consolidate versions
307
+
308
+ ---
309
+
310
+ #### 4. **Health Check Tool** 🔄
311
+ **Both implement:**
312
+ - `qa360.serve.health` (full server)
313
+ - `qa360.health` (minimal server)
314
+
315
+ **Merge Strategy:** Single implementation
316
+
317
+ ---
318
+
319
+ ### 🟡 PARTIAL DUPLICATIONS
320
+
321
+ #### 5. **Command System**
322
+ - `mcp-server`: Commander CLI for server options
323
+ - `mcp-cli`: Commander CLI for setup commands
324
+
325
+ **Overlap:** Same library, different purposes
326
+
327
+ **Merge Strategy:** Unified CLI with subcommands
328
+
329
+ ---
330
+
331
+ #### 6. **Testing Infrastructure**
332
+ - `mcp-server`: Jest + integration tests
333
+ - `mcp-cli`: Vitest + DX tests
334
+
335
+ **Merge Strategy:** Consolidate on Jest or Vitest
336
+
337
+ ---
338
+
339
+ ## 5️⃣ UNIQUE FEATURES ANALYSIS
340
+
341
+ ### ✅ Unique to mcp-server-qa360
342
+
343
+ **Cannot be removed:**
344
+ 1. **23 Full Tools Implementation** - Core value
345
+ 2. **@qa360/core Integration** - Real EvidenceVault access
346
+ 3. **Permission System** - Security critical
347
+ 4. **Audit Logging** - Enterprise requirement
348
+ 5. **Rate Limiting** - Production readiness
349
+ 6. **Security Redaction** - Data protection
350
+ 7. **Tool Registry Architecture** - Extensibility
351
+ 8. **Concurrency Control** - Resource management
352
+ 9. **Test Coverage** - Protocol + security + tools
353
+
354
+ **Technical Debt:**
355
+ - ❌ No setup/installation tooling
356
+ - ❌ No DX features
357
+ - ❌ No CI/CD helpers
358
+
359
+ ---
360
+
361
+ ### ✅ Unique to qa360-mcp-cli
362
+
363
+ **Cannot be removed:**
364
+ 1. **init Command** - VS Code auto-configuration
365
+ 2. **doctor Command** - 7-check health system
366
+ 3. **fix Command** - Auto-repair logic
367
+ 4. **Telemetry System** - Privacy-first analytics
368
+ 5. **SBOM Generation** - Supply chain security
369
+ 6. **CI/CD Integration** - JSON output, non-interactive
370
+ 7. **Multi-platform Support** - Windows PowerShell, etc.
371
+ 8. **Auto-recovery** - Max 3 restarts
372
+ 9. **Backup/Restore** - Settings.json safety
373
+ 10. **DX Tests** - Compliance validation
374
+
375
+ **Technical Debt:**
376
+ - ❌ Minimal server with stub tools (not production-ready)
377
+ - ❌ No real @qa360/core integration
378
+ - ❌ Duplicate server implementation
379
+
380
+ ---
381
+
382
+ ## 6️⃣ MERGE RECOMMENDATION
383
+
384
+ ### 🎯 Strategy: **PHASED STRATEGIC MERGE**
385
+
386
+ **Goal:** Unified package combining full MCP server + DX CLI
387
+
388
+ **Target Package Name:** `@qa360/mcp` (reuse mcp-cli name for better DX branding)
389
+
390
+ **Target Version:** `1.2.0` (major DX + server consolidation)
391
+
392
+ ---
393
+
394
+ ### Phase 1: Foundation (Week 1)
395
+
396
+ **Objective:** Merge codebases without breaking changes
397
+
398
+ **Actions:**
399
+ 1. ✅ Copy `mcp-server-qa360/src/tools/` → `mcp-cli/src/tools/`
400
+ 2. ✅ Copy `mcp-server-qa360/src/security/` → `mcp-cli/src/security/`
401
+ 3. ✅ Replace `minimal-server.ts` with full `index.ts` implementation
402
+ 4. ✅ Update dependencies (add `@qa360/core`, `ajv`)
403
+ 5. ✅ Merge test suites (Jest + Vitest → Jest only)
404
+ 6. ✅ Update bin entries:
405
+ ```json
406
+ "bin": {
407
+ "qa360-mcp": "dist/cli/cli.js"
408
+ }
409
+ ```
410
+ 7. ✅ Ensure `up` command launches full server (not minimal)
411
+
412
+ **Validation:**
413
+ - [ ] `npm run build` succeeds
414
+ - [ ] All tests pass (100% coverage maintained)
415
+ - [ ] `qa360-mcp up` launches full server with 23 tools
416
+ - [ ] `qa360-mcp init` still works
417
+
418
+ ---
419
+
420
+ ### Phase 2: CLI Integration (Week 2)
421
+
422
+ **Objective:** Unified CLI with all commands
423
+
424
+ **New Command Structure:**
425
+ ```bash
426
+ qa360-mcp init # Setup VS Code
427
+ qa360-mcp up # Start full MCP server
428
+ qa360-mcp doctor # Health checks
429
+ qa360-mcp fix # Auto-repair
430
+ qa360-mcp list-tools # Show 23 tools (replaces --help-tools)
431
+ qa360-mcp reset # Clean configs
432
+ qa360-mcp uninstall # Remove
433
+ qa360-mcp telemetry # Opt-in analytics
434
+ qa360-mcp test:dx # DX compliance
435
+ ```
436
+
437
+ **Server Options** (via `up` command):
438
+ ```bash
439
+ qa360-mcp up --allow-run --allow-secrets --rate-limit 10
440
+ ```
441
+
442
+ **Actions:**
443
+ 1. ✅ Merge `cli.ts` from both packages
444
+ 2. ✅ Add `list-tools` command (from `--help-tools`)
445
+ 3. ✅ Integrate doctor checks for MCP server health
446
+ 4. ✅ Update docs with unified commands
447
+
448
+ ---
449
+
450
+ ### Phase 3: Testing & Documentation (Week 3)
451
+
452
+ **Objective:** Comprehensive validation
453
+
454
+ **Actions:**
455
+ 1. ✅ Run conformance suite (6 packs)
456
+ 2. ✅ Test matrix (3 OS × 3 Node)
457
+ 3. ✅ Update README.md (merge both)
458
+ 4. ✅ Update CHANGELOG.md
459
+ 5. ✅ Create migration guide
460
+ 6. ✅ E2E tests (init → up → tools → uninstall)
461
+
462
+ **Documentation Structure:**
463
+ ```
464
+ README.md # Main (merge both)
465
+ QUICK_START.md # From mcp-cli
466
+ docs/mcp-server.md # Technical reference
467
+ docs/mcp-tools.md # 23 tools reference
468
+ docs/migration.md # v0.9 → v1.2
469
+ ```
470
+
471
+ ---
472
+
473
+ ### Phase 4: Deprecation (Week 4)
474
+
475
+ **Objective:** Clean legacy package
476
+
477
+ **Actions:**
478
+ 1. ✅ Archive `packages/mcp-server-qa360/`
479
+ 2. ✅ Add deprecation notice to `@qa360/mcp-server` on npm
480
+ 3. ✅ Update `pnpm-workspace.yaml` (remove old package)
481
+ 4. ✅ Publish `@qa360/mcp@1.2.0` to npm
482
+ 5. ✅ Update GitHub Actions workflows
483
+ 6. ✅ Update main README.md
484
+
485
+ **Deprecation Notice:**
486
+ ```
487
+ ⚠️ @qa360/mcp-server is deprecated
488
+ → Use @qa360/mcp@1.2.0 instead
489
+ → Migration guide: https://qa360.ai/docs/migration
490
+ ```
491
+
492
+ ---
493
+
494
+ ## 7️⃣ RISK ANALYSIS
495
+
496
+ ### 🔴 HIGH RISKS
497
+
498
+ | Risk | Impact | Mitigation |
499
+ |------|--------|------------|
500
+ | **Breaking changes for users** | Users upgrade → tools missing | Semantic versioning + migration guide |
501
+ | **Binary name conflict** | Both export `qa360-mcp` | Phase 1: Remove old package first |
502
+ | **Core integration missing** | mcp-cli has no @qa360/core | Phase 1: Add dependency |
503
+ | **Test suite merge** | Jest + Vitest conflict | Phase 2: Consolidate on Jest |
504
+
505
+ ### 🟡 MEDIUM RISKS
506
+
507
+ | Risk | Impact | Mitigation |
508
+ |------|--------|------------|
509
+ | **Version mismatch** | 0.9.0 vs 1.1.0 | Use 1.2.0 (clear upgrade) |
510
+ | **MCP SDK location** | devDep vs prodDep | Move to prodDep (correct) |
511
+ | **SBOM generation** | Only in mcp-cli | Keep in merged package |
512
+ | **Telemetry system** | New feature, privacy concerns | Keep opt-in, document clearly |
513
+
514
+ ### 🟢 LOW RISKS
515
+
516
+ | Risk | Impact | Mitigation |
517
+ |------|--------|------------|
518
+ | **Documentation split** | 2 READMEs to merge | Phase 3: Consolidate |
519
+ | **Example configs** | Claude vs VSCode | Keep both examples |
520
+
521
+ ---
522
+
523
+ ## 8️⃣ ACTION PLAN SUMMARY
524
+
525
+ ### Week 1: Foundation ✅ Ready to Execute
526
+ ```bash
527
+ cd packages/qa360-mcp-cli
528
+ mkdir -p src/tools src/security
529
+ cp -r ../mcp-server-qa360/src/tools/* src/tools/
530
+ cp -r ../mcp-server-qa360/src/security/* src/security/
531
+ rm src/server/minimal-server.ts
532
+ cp ../mcp-server-qa360/src/index.ts src/server/full-server.ts
533
+ # Update imports + build
534
+ pnpm install @qa360/core ajv
535
+ pnpm build
536
+ pnpm test
537
+ ```
538
+
539
+ ### Week 2: CLI Integration ✅ Ready to Execute
540
+ ```bash
541
+ # Update cli/cli.ts with merged commands
542
+ # Update cli/up.ts to launch full-server.ts
543
+ # Add list-tools command
544
+ # Test full workflow
545
+ qa360-mcp init
546
+ qa360-mcp up
547
+ qa360-mcp list-tools
548
+ qa360-mcp doctor
549
+ ```
550
+
551
+ ### Week 3: Validation ✅ Ready to Execute
552
+ ```bash
553
+ # Run test suite
554
+ pnpm test
555
+ pnpm test:dx
556
+ pnpm test:e2e
557
+ # Generate docs
558
+ # Update README
559
+ ```
560
+
561
+ ### Week 4: Publish ✅ Ready to Execute
562
+ ```bash
563
+ # Deprecate old package
564
+ npm deprecate @qa360/mcp-server "Use @qa360/mcp@1.2.0"
565
+ # Publish new package
566
+ cd packages/qa360-mcp-cli
567
+ npm version 1.2.0
568
+ npm run prepublishOnly
569
+ npm publish --access public --provenance
570
+ ```
571
+
572
+ ---
573
+
574
+ ## 9️⃣ SUCCESS METRICS
575
+
576
+ ### Pre-Merge (Current State)
577
+ - ❌ 2 packages with overlap
578
+ - ❌ Duplicate MCP server implementations
579
+ - ❌ Binary name conflict
580
+ - ❌ Fragmented documentation
581
+ - ❌ Inconsistent versions (0.9.0 vs 1.1.0)
582
+
583
+ ### Post-Merge (Target State)
584
+ - ✅ 1 unified package (`@qa360/mcp@1.2.0`)
585
+ - ✅ 23 production tools + 9 DX commands
586
+ - ✅ Single binary entry point
587
+ - ✅ Consolidated docs
588
+ - ✅ Full CI/CD + SBOM
589
+ - ✅ Zero breaking changes (migration guide)
590
+
591
+ ### KPIs
592
+ | Metric | Current | Target | Status |
593
+ |--------|---------|--------|--------|
594
+ | Packages | 2 | 1 | ⏳ Pending |
595
+ | Tools | 23 + 3 stubs | 23 real | ⏳ Pending |
596
+ | Commands | 0 + 9 | 9 unified | ⏳ Pending |
597
+ | Dependencies | 4 + 9 | 13 | ⏳ Pending |
598
+ | Test Coverage | 71% + 90% | 85%+ | ⏳ Pending |
599
+ | SBOM | 0 + 1 | 1 | ✅ Keep |
600
+ | Binary Conflicts | 1 | 0 | ⏳ Pending |
601
+
602
+ ---
603
+
604
+ ## 🔟 CONCLUSION
605
+
606
+ ### Recommendation: **GO - STRATEGIC MERGE**
607
+
608
+ **Why Merge:**
609
+ 1. ✅ Eliminates duplication (2 servers → 1)
610
+ 2. ✅ Better DX (setup + full server in one package)
611
+ 3. ✅ Cleaner dependency graph
612
+ 4. ✅ Single maintenance burden
613
+ 5. ✅ No binary conflicts
614
+ 6. ✅ Better for users (one npm install)
615
+
616
+ **Why NOT Merge:**
617
+ - ❌ Risk of breaking changes
618
+ - ❌ Complex migration (4 weeks)
619
+ - ❌ Testing overhead (matrix 3×3)
620
+
621
+ **Verdict:** Benefits >> Risks
622
+
623
+ **Timeline:** 4 weeks (1 week per phase)
624
+ **Effort:** ~40 hours total
625
+ **Risk Level:** MEDIUM (manageable with phased approach)
626
+
627
+ ---
628
+
629
+ ## 📋 NEXT STEPS
630
+
631
+ 1. ✅ **Approval** - Get PO sign-off on merge plan
632
+ 2. ⏳ **Branch** - Create `feature/mcp-merge` branch
633
+ 3. ⏳ **Phase 1** - Execute foundation merge (Week 1)
634
+ 4. ⏳ **Phase 2** - CLI integration (Week 2)
635
+ 5. ⏳ **Phase 3** - Testing + docs (Week 3)
636
+ 6. ⏳ **Phase 4** - Deprecation + publish (Week 4)
637
+
638
+ **Ready to Execute:** Phase 1 foundation merge ready immediately
639
+
640
+ ---
641
+
642
+ **Report Generated:** 2024-12-23 by ARCH-01
643
+ **Status:** ANALYSIS COMPLETE ✅
644
+ **Decision Required:** MERGE APPROVAL from Product Owner
@@ -0,0 +1,60 @@
1
+ #
2
+
3
+ ## Situation
4
+
5
+ J'ai créé le backup directory et les scripts, mais mes outils Filesystem ne peuvent pas supprimer directement les dossiers.
6
+
7
+ ## CE QUI A ÉTÉ FAIT ✅
8
+
9
+ 1. ✅ Backup directory créé: `/Users/bassiroudiop/QA360/.cleanup-backup-20241223/`
10
+ 2. ✅ Script de cleanup créé: `/Users/bassiroudiop/QA360/cleanup-step1.sh`
11
+ 3. ✅ Log de backup créé
12
+
13
+ ## CE QUE TU DOIS FAIRE MAINTENANT
14
+
15
+ ### Option 1: Exécuter le script (RECOMMANDÉ)
16
+
17
+ ```bash
18
+ cd /Users/bassiroudiop/QA360
19
+ chmod +x cleanup-step1.sh
20
+ ./cleanup-step1.sh
21
+ ```
22
+
23
+ ### Option 2: Commandes manuelles
24
+
25
+ ```bash
26
+ cd /Users/bassiroudiop/QA360
27
+
28
+ # Delete empty packages
29
+ rm -rf packages/cli
30
+ rm -rf packages/sdk
31
+ rm -rf packages/shared
32
+ rm -rf packages/types
33
+
34
+ # Verify
35
+ ls -la packages/
36
+
37
+ # Test build
38
+ npm run build
39
+
40
+ # Test CLI
41
+ ./cli/bin/qa360.js doctor
42
+ ```
43
+
44
+ ## APRÈS EXÉCUTION
45
+
46
+ Reviens me dire :
47
+ - ✅ "Done, build works" → Je continue avec Step 2 (MCP merge)
48
+ - ❌ "Error: [message]" → Je t'aide à résoudre
49
+
50
+ ## PROCHAINE ÉTAPE (Step 2)
51
+
52
+ Une fois Step 1 validé, je vais :
53
+ 1. Analyser les 2 packages MCP en profondeur
54
+ 2. Créer le plan de fusion
55
+ 3. Exécuter la fusion
56
+ 4. Tester tout fonctionne
57
+
58
+ ---
59
+
60
+ **ARCH-01 en attente de confirmation Step 1** ⏸️