qa360 2.1.2 → 2.1.4

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