@mmerterden/multi-agent-pipeline 12.6.0 → 12.8.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 (481) hide show
  1. package/CHANGELOG.md +209 -0
  2. package/README.md +18 -18
  3. package/docs/FIGMA_PIPELINE.md +34 -34
  4. package/docs/adr/0001-three-model-triage.md +12 -12
  5. package/docs/adr/0002-instruction-driven-flag.md +5 -5
  6. package/docs/adr/0003-unified-shared-skills.md +5 -5
  7. package/docs/adr/0004-zero-dependency-philosophy.md +5 -5
  8. package/docs/adr/0005-lazy-phase-docs.md +2 -2
  9. package/docs/adr/0006-skills-core-external-split.md +6 -6
  10. package/docs/adr/0007-multi-tool-adapter-framework.md +19 -19
  11. package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +19 -19
  12. package/docs/adr/README.md +1 -1
  13. package/docs/best-practices.md +3 -3
  14. package/docs/features.md +28 -28
  15. package/docs/performance.md +16 -16
  16. package/docs/recovery-guide.md +39 -39
  17. package/index.js +4 -4
  18. package/install/_common.mjs +53 -11
  19. package/install/_copilot-instructions.mjs +2 -2
  20. package/install/_dev-only-files.mjs +126 -6
  21. package/install/_platform-filter.mjs +1 -1
  22. package/install/_telemetry.mjs +1 -1
  23. package/install/claude.mjs +20 -13
  24. package/install/copilot.mjs +11 -23
  25. package/install/index.mjs +7 -15
  26. package/install/templates/copilot-instructions.md +54 -54
  27. package/install.js +1 -1
  28. package/package.json +29 -11
  29. package/pipeline/commands/multi-agent/SKILL.md +1 -1
  30. package/pipeline/commands/multi-agent/analysis/SKILL.md +2 -2
  31. package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +1 -1
  32. package/pipeline/commands/multi-agent/autopilot/SKILL.md +1 -1
  33. package/pipeline/commands/multi-agent/build-optimize/SKILL.md +1 -1
  34. package/pipeline/commands/multi-agent/create-jira/SKILL.md +1 -1
  35. package/pipeline/commands/multi-agent/design-check/SKILL.md +1 -1
  36. package/pipeline/commands/multi-agent/dev/SKILL.md +1 -1
  37. package/pipeline/commands/multi-agent/dev-autopilot/SKILL.md +1 -1
  38. package/pipeline/commands/multi-agent/dev-local/SKILL.md +1 -1
  39. package/pipeline/commands/multi-agent/dev-local-autopilot/SKILL.md +1 -1
  40. package/pipeline/commands/multi-agent/diff-explain/SKILL.md +1 -1
  41. package/pipeline/commands/multi-agent/finish/SKILL.md +6 -6
  42. package/pipeline/commands/multi-agent/forget/SKILL.md +1 -1
  43. package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +1 -1
  44. package/pipeline/commands/multi-agent/help/SKILL.md +3 -3
  45. package/pipeline/commands/multi-agent/issue/SKILL.md +1 -1
  46. package/pipeline/commands/multi-agent/jira/SKILL.md +1 -1
  47. package/pipeline/commands/multi-agent/kill/SKILL.md +1 -1
  48. package/pipeline/commands/multi-agent/language/SKILL.md +1 -1
  49. package/pipeline/commands/multi-agent/local/SKILL.md +1 -1
  50. package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +1 -1
  51. package/pipeline/commands/multi-agent/log/SKILL.md +1 -1
  52. package/pipeline/commands/multi-agent/manual-test/SKILL.md +1 -1
  53. package/pipeline/commands/multi-agent/prune-logs/SKILL.md +1 -1
  54. package/pipeline/commands/multi-agent/purge/SKILL.md +1 -1
  55. package/pipeline/commands/multi-agent/refactor/SKILL.md +16 -8
  56. package/pipeline/commands/multi-agent/resume/SKILL.md +2 -2
  57. package/pipeline/commands/multi-agent/review/SKILL.md +1 -1
  58. package/pipeline/commands/multi-agent/review-issue/SKILL.md +1 -1
  59. package/pipeline/commands/multi-agent/review-jira/SKILL.md +1 -1
  60. package/pipeline/commands/multi-agent/routines/SKILL.md +1 -1
  61. package/pipeline/commands/multi-agent/save/SKILL.md +1 -1
  62. package/pipeline/commands/multi-agent/scan/SKILL.md +1 -1
  63. package/pipeline/commands/multi-agent/search/SKILL.md +1 -1
  64. package/pipeline/commands/multi-agent/setup/SKILL.md +2 -2
  65. package/pipeline/commands/multi-agent/stack/SKILL.md +3 -3
  66. package/pipeline/commands/multi-agent/status/SKILL.md +1 -1
  67. package/pipeline/commands/multi-agent/sync/SKILL.md +5 -5
  68. package/pipeline/commands/multi-agent/test/SKILL.md +1 -1
  69. package/pipeline/commands/multi-agent/uninstall/SKILL.md +1 -1
  70. package/pipeline/commands/multi-agent/update/SKILL.md +3 -3
  71. package/pipeline/lib/account-resolver.sh +1 -1
  72. package/pipeline/lib/channels-multi-repo.sh +1 -1
  73. package/pipeline/lib/context-link-extractor.sh +1 -1
  74. package/pipeline/lib/credential-store.sh +21 -1
  75. package/pipeline/lib/fetch-confluence.sh +1 -1
  76. package/pipeline/lib/fetch-crashlytics.sh +1 -1
  77. package/pipeline/lib/fetch-fortify.sh +1 -1
  78. package/pipeline/lib/fetch-graylog.sh +1 -1
  79. package/pipeline/lib/fetch-swagger.sh +1 -1
  80. package/pipeline/lib/issue-fetcher.sh +1 -1
  81. package/pipeline/lib/multi-repo-pipeline.sh +1 -1
  82. package/pipeline/lib/repo-cache.sh +1 -1
  83. package/pipeline/lib/submodule-detector.sh +1 -1
  84. package/pipeline/multi-agent-refs/_account-picker.md +1 -1
  85. package/pipeline/multi-agent-refs/_dev-context.md +1 -1
  86. package/pipeline/multi-agent-refs/_repo-picker.md +1 -1
  87. package/pipeline/multi-agent-refs/component-dispatch.md +1 -1
  88. package/pipeline/multi-agent-refs/component-generation.md +121 -0
  89. package/pipeline/multi-agent-refs/cross-cli-contract.md +1 -1
  90. package/pipeline/multi-agent-refs/features/model-fallback.md +2 -2
  91. package/pipeline/multi-agent-refs/phases/operations.md +28 -0
  92. package/pipeline/multi-agent-refs/phases/phase-0-init.md +1 -0
  93. package/pipeline/multi-agent-refs/phases/phase-2-planning.md +1 -1
  94. package/pipeline/multi-agent-refs/phases/phase-3-dev.md +1 -2
  95. package/pipeline/multi-agent-refs/phases/phase-4-review.md +50 -5
  96. package/pipeline/preferences-template.json +5 -11
  97. package/pipeline/schemas/agent-state.schema.json +39 -9
  98. package/pipeline/schemas/analysis-output.schema.json +18 -4
  99. package/pipeline/schemas/analysis-spec.schema.json +120 -32
  100. package/pipeline/schemas/clarify-output.schema.json +15 -5
  101. package/pipeline/schemas/design-check-config.schema.json +32 -11
  102. package/pipeline/schemas/dev-critic-output.schema.json +20 -5
  103. package/pipeline/schemas/figma-project-config.schema.json +42 -10
  104. package/pipeline/schemas/learnings-ledger.schema.json +10 -2
  105. package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +1 -4
  106. package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +24 -7
  107. package/pipeline/schemas/plan-todos.schema.json +6 -3
  108. package/pipeline/schemas/planning-output.schema.json +5 -1
  109. package/pipeline/schemas/prefs.schema.json +97 -229
  110. package/pipeline/schemas/test-gap.schema.json +5 -5
  111. package/pipeline/schemas/token-budget.json +8 -8
  112. package/pipeline/schemas/triage-corpus.schema.json +1 -1
  113. package/pipeline/scripts/_smoke-root.sh +61 -0
  114. package/pipeline/scripts/aggregate-metrics.mjs +18 -6
  115. package/pipeline/scripts/audit-log.sh +25 -0
  116. package/pipeline/scripts/build-skills-index.mjs +6 -2
  117. package/pipeline/scripts/build-stack-plugins.mjs +142 -39
  118. package/pipeline/scripts/check-derived-drift.mjs +196 -0
  119. package/pipeline/scripts/classify-plan-safety.mjs +20 -7
  120. package/pipeline/scripts/cost-budget-check.mjs +2 -1
  121. package/pipeline/scripts/cost-table.json +1 -1
  122. package/pipeline/scripts/diff-explain.mjs +7 -3
  123. package/pipeline/scripts/diff-risk-score.mjs +13 -3
  124. package/pipeline/scripts/evidence-gate.mjs +7 -2
  125. package/pipeline/scripts/gen-mode-dispatch.mjs +38 -21
  126. package/pipeline/scripts/gen-skills-index.mjs +18 -3
  127. package/pipeline/scripts/learning-curve.mjs +13 -3
  128. package/pipeline/scripts/learnings-ledger.mjs +103 -36
  129. package/pipeline/scripts/localize-commands.mjs +6 -1
  130. package/pipeline/scripts/match-skills.mjs +15 -4
  131. package/pipeline/scripts/migrate-prefs.mjs +33 -16
  132. package/pipeline/scripts/phase-tracker.sh +3 -1
  133. package/pipeline/scripts/repo-map.mjs +110 -64
  134. package/pipeline/scripts/review-scope.mjs +7 -1
  135. package/pipeline/scripts/routine-registry.mjs +4 -9
  136. package/pipeline/scripts/run-aggregator.mjs +11 -5
  137. package/pipeline/scripts/run-metrics.mjs +13 -8
  138. package/pipeline/scripts/smoke-cross-cli-behavior.sh +21 -7
  139. package/pipeline/scripts/test-gap-scan.mjs +44 -12
  140. package/pipeline/scripts/test-integrity-gate.mjs +5 -1
  141. package/pipeline/scripts/token-budget-report.mjs +44 -21
  142. package/pipeline/scripts/triage-memory.mjs +126 -34
  143. package/pipeline/scripts/uninstall.mjs +74 -30
  144. package/pipeline/scripts/validate-analysis-doc.mjs +15 -5
  145. package/pipeline/scripts/validate-diff-risk.mjs +32 -18
  146. package/pipeline/scripts/validate-test-gap.mjs +17 -7
  147. package/pipeline/scripts/validate-triage.mjs +17 -5
  148. package/pipeline/scripts/write-state.mjs +32 -9
  149. package/pipeline/skills/.skills-index.json +91 -91
  150. package/pipeline/skills/shared/README.md +57 -57
  151. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +1 -1
  152. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +1 -1
  153. package/pipeline/skills/shared/core/multi-agent/SKILL.md +26 -279
  154. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +1 -1
  155. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +1 -1
  156. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +1 -1
  157. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
  158. package/pipeline/skills/shared/core/multi-agent-create-jira/SKILL.md +1 -1
  159. package/pipeline/skills/shared/core/multi-agent-design-check/SKILL.md +1 -1
  160. package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +1 -1
  161. package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +1 -1
  162. package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +1 -1
  163. package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +1 -1
  164. package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +1 -1
  165. package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
  166. package/pipeline/skills/shared/core/multi-agent-forget/SKILL.md +1 -1
  167. package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +1 -1
  168. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
  169. package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +1 -1
  170. package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +1 -1
  171. package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +1 -1
  172. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +1 -1
  173. package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +1 -1
  174. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +1 -1
  175. package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +1 -1
  176. package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +1 -1
  177. package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +1 -1
  178. package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +1 -1
  179. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +16 -8
  180. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +1 -1
  181. package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +1 -1
  182. package/pipeline/skills/shared/core/multi-agent-review-issue/SKILL.md +1 -1
  183. package/pipeline/skills/shared/core/multi-agent-review-jira/SKILL.md +1 -1
  184. package/pipeline/skills/shared/core/multi-agent-routines/SKILL.md +1 -1
  185. package/pipeline/skills/shared/core/multi-agent-save/SKILL.md +1 -1
  186. package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +1 -1
  187. package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +1 -1
  188. package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +1 -1
  189. package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +3 -3
  190. package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +1 -1
  191. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +1 -1
  192. package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +1 -1
  193. package/pipeline/skills/shared/core/multi-agent-uninstall/SKILL.md +1 -1
  194. package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +1 -1
  195. package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +1 -1
  196. package/pipeline/skills/shared/external/agent-introspection-debugging/SKILL.md +4 -4
  197. package/pipeline/skills/shared/external/agentflow/SKILL.md +1 -1
  198. package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +1 -1
  199. package/pipeline/skills/shared/external/android_ui_verification/SKILL.md +1 -1
  200. package/pipeline/skills/shared/external/api-patterns/SKILL.md +1 -1
  201. package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +1 -1
  202. package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +1 -1
  203. package/pipeline/skills/shared/external/backlog/BACKLOG.md +1 -1
  204. package/pipeline/skills/shared/external/backlog/SKILL.md +12 -12
  205. package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +1 -1
  206. package/pipeline/skills/shared/external/context-compression/SKILL.md +1 -1
  207. package/pipeline/skills/shared/external/council/SKILL.md +3 -3
  208. package/pipeline/skills/shared/external/css-modern/SKILL.md +1 -1
  209. package/pipeline/skills/shared/external/database-patterns/SKILL.md +1 -1
  210. package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +1 -1
  211. package/pipeline/skills/shared/external/docker-expert/SKILL.md +1 -1
  212. package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +1 -1
  213. package/pipeline/skills/shared/external/firebase/SKILL.md +1 -1
  214. package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +1 -1
  215. package/pipeline/skills/shared/external/help-skills/SKILL.md +1 -1
  216. package/pipeline/skills/shared/external/hig-components-content/SKILL.md +1 -1
  217. package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +1 -1
  218. package/pipeline/skills/shared/external/hig-components-status/SKILL.md +1 -1
  219. package/pipeline/skills/shared/external/hig-components-system/SKILL.md +1 -1
  220. package/pipeline/skills/shared/external/hig-foundations/SKILL.md +1 -1
  221. package/pipeline/skills/shared/external/hig-inputs/SKILL.md +1 -1
  222. package/pipeline/skills/shared/external/hig-patterns/SKILL.md +1 -1
  223. package/pipeline/skills/shared/external/hig-platforms/SKILL.md +1 -1
  224. package/pipeline/skills/shared/external/hig-technologies/SKILL.md +1 -1
  225. package/pipeline/skills/shared/external/html-semantic/SKILL.md +1 -1
  226. package/pipeline/skills/shared/external/humanizer/SKILL.md +1 -1
  227. package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +1 -1
  228. package/pipeline/skills/shared/external/ios-developer/SKILL.md +1 -1
  229. package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +1 -1
  230. package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +1 -1
  231. package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +1 -1
  232. package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +1 -1
  233. package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +1 -1
  234. package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +1 -1
  235. package/pipeline/skills/shared/external/observability-engineer/SKILL.md +1 -1
  236. package/pipeline/skills/shared/external/python-patterns/SKILL.md +1 -1
  237. package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -1
  238. package/pipeline/skills/shared/external/rest-api-design/SKILL.md +1 -1
  239. package/pipeline/skills/shared/external/search-first/SKILL.md +2 -2
  240. package/pipeline/skills/shared/external/skill-creator/SKILL.md +12 -12
  241. package/pipeline/skills/shared/external/skill-creator/audit.md +21 -21
  242. package/pipeline/skills/shared/external/skill-creator/checklist.md +3 -3
  243. package/pipeline/skills/shared/external/skill-creator/examples.md +10 -10
  244. package/pipeline/skills/shared/external/skill-creator/label-check.md +17 -17
  245. package/pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js +86 -50
  246. package/pipeline/skills/shared/external/skill-creator/template.md +9 -9
  247. package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +1 -1
  248. package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +1 -1
  249. package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
  250. package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +1 -1
  251. package/pipeline/skills/shared/external/tailwind-css/SKILL.md +1 -1
  252. package/pipeline/skills/shared/external/testing-backend/SKILL.md +1 -1
  253. package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +1 -1
  254. package/pipeline/skills/shared/external/vue-composition/SKILL.md +1 -1
  255. package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -1
  256. package/pipeline/skills/shared/external/web-performance/SKILL.md +1 -1
  257. package/pipeline/skills/shared/external/web-testing/SKILL.md +1 -1
  258. package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +9 -49
  259. package/pipeline/skills/skills-index.md +57 -57
  260. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +0 -25
  261. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-2-plan.json +0 -30
  262. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +0 -20
  263. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +0 -15
  264. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +0 -14
  265. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/task.json +0 -12
  266. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +0 -29
  267. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-2-plan.json +0 -43
  268. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +0 -35
  269. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +0 -35
  270. package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +0 -14
  271. package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +0 -12
  272. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-1-analysis.json +0 -29
  273. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-2-plan.json +0 -42
  274. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-review.json +0 -20
  275. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-triage.json +0 -15
  276. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/metadata.json +0 -14
  277. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/task.json +0 -12
  278. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-1-analysis.json +0 -29
  279. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-2-plan.json +0 -40
  280. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-review.json +0 -20
  281. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-triage.json +0 -15
  282. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/metadata.json +0 -14
  283. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/task.json +0 -12
  284. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-1-analysis.json +0 -29
  285. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-2-plan.json +0 -42
  286. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-review.json +0 -28
  287. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-triage.json +0 -27
  288. package/pipeline/eval/golden-tasks/05-ios-security-keychain/metadata.json +0 -14
  289. package/pipeline/eval/golden-tasks/05-ios-security-keychain/task.json +0 -12
  290. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-1-analysis.json +0 -29
  291. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-2-plan.json +0 -41
  292. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-review.json +0 -12
  293. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-triage.json +0 -6
  294. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/metadata.json +0 -14
  295. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/task.json +0 -12
  296. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-1-analysis.json +0 -29
  297. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-2-plan.json +0 -42
  298. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-review.json +0 -28
  299. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-triage.json +0 -27
  300. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/metadata.json +0 -14
  301. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/task.json +0 -12
  302. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-1-analysis.json +0 -25
  303. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-2-plan.json +0 -31
  304. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-review.json +0 -12
  305. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-triage.json +0 -18
  306. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/metadata.json +0 -14
  307. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/task.json +0 -12
  308. package/pipeline/eval/golden-tasks/README.md +0 -65
  309. package/pipeline/eval/intent-cases.json +0 -40
  310. package/pipeline/eval/run-metrics-fixture.json +0 -46
  311. package/pipeline/eval/triage/01-empty-findings/expected.json +0 -6
  312. package/pipeline/eval/triage/01-empty-findings/input.json +0 -5
  313. package/pipeline/eval/triage/01-empty-findings/notes.md +0 -7
  314. package/pipeline/eval/triage/02-real-blocker/expected.json +0 -15
  315. package/pipeline/eval/triage/02-real-blocker/input.json +0 -14
  316. package/pipeline/eval/triage/02-real-blocker/notes.md +0 -7
  317. package/pipeline/eval/triage/03-out-of-scope-defer/expected.json +0 -18
  318. package/pipeline/eval/triage/03-out-of-scope-defer/input.json +0 -14
  319. package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +0 -10
  320. package/pipeline/eval/triage/04-false-positive-reject/expected.json +0 -18
  321. package/pipeline/eval/triage/04-false-positive-reject/input.json +0 -14
  322. package/pipeline/eval/triage/04-false-positive-reject/notes.md +0 -10
  323. package/pipeline/eval/triage/05-mixed-classification/expected.json +0 -43
  324. package/pipeline/eval/triage/05-mixed-classification/input.json +0 -38
  325. package/pipeline/eval/triage/05-mixed-classification/notes.md +0 -17
  326. package/pipeline/eval/triage/06-severity-mismatch/expected.json +0 -15
  327. package/pipeline/eval/triage/06-severity-mismatch/input.json +0 -14
  328. package/pipeline/eval/triage/06-severity-mismatch/notes.md +0 -9
  329. package/pipeline/eval/triage/07-duplicate-reviewers/expected.json +0 -27
  330. package/pipeline/eval/triage/07-duplicate-reviewers/input.json +0 -22
  331. package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +0 -9
  332. package/pipeline/eval/triage/08-style-misclassified/expected.json +0 -18
  333. package/pipeline/eval/triage/08-style-misclassified/input.json +0 -14
  334. package/pipeline/eval/triage/08-style-misclassified/notes.md +0 -9
  335. package/pipeline/eval/triage/09-cascading-finding/expected.json +0 -23
  336. package/pipeline/eval/triage/09-cascading-finding/input.json +0 -22
  337. package/pipeline/eval/triage/09-cascading-finding/notes.md +0 -9
  338. package/pipeline/eval/triage/10-deferred-crossref/expected.json +0 -18
  339. package/pipeline/eval/triage/10-deferred-crossref/input.json +0 -14
  340. package/pipeline/eval/triage/10-deferred-crossref/notes.md +0 -9
  341. package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +0 -27
  342. package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +0 -22
  343. package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +0 -14
  344. package/pipeline/eval/triage/README.md +0 -54
  345. package/pipeline/scripts/benchmark-phase-0.sh +0 -128
  346. package/pipeline/scripts/check-md-links.mjs +0 -84
  347. package/pipeline/scripts/eval-golden-tasks-live.mjs +0 -297
  348. package/pipeline/scripts/eval-golden-tasks.mjs +0 -212
  349. package/pipeline/scripts/eval-intent.mjs +0 -103
  350. package/pipeline/scripts/eval-mine-corpus.mjs +0 -201
  351. package/pipeline/scripts/eval-triage.mjs +0 -171
  352. package/pipeline/scripts/fixtures/diff-risk-android.diff +0 -40
  353. package/pipeline/scripts/fixtures/diff-risk-ios.diff +0 -48
  354. package/pipeline/scripts/fixtures/diff-risk-test-removal.diff +0 -40
  355. package/pipeline/scripts/fixtures/install-layout.tsv +0 -19
  356. package/pipeline/scripts/fixtures/pack-expected-count.txt +0 -1
  357. package/pipeline/scripts/fixtures/test-gap-node.diff +0 -30
  358. package/pipeline/scripts/fixtures/test-gap-python.diff +0 -32
  359. package/pipeline/scripts/lint-mcp-refs.mjs +0 -207
  360. package/pipeline/scripts/lint-skills.mjs +0 -143
  361. package/pipeline/scripts/run-smokes.mjs +0 -76
  362. package/pipeline/scripts/smoke-add-detail.sh +0 -137
  363. package/pipeline/scripts/smoke-agent-guard.sh +0 -74
  364. package/pipeline/scripts/smoke-agent-log-cost.sh +0 -262
  365. package/pipeline/scripts/smoke-agent-model-routing.sh +0 -87
  366. package/pipeline/scripts/smoke-ask-choice.sh +0 -42
  367. package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +0 -36
  368. package/pipeline/scripts/smoke-bitbucket-contract.sh +0 -255
  369. package/pipeline/scripts/smoke-changelog-version.sh +0 -47
  370. package/pipeline/scripts/smoke-channels-approval-gate.sh +0 -60
  371. package/pipeline/scripts/smoke-channels-flow.sh +0 -130
  372. package/pipeline/scripts/smoke-ci-workflows.sh +0 -88
  373. package/pipeline/scripts/smoke-clarify.sh +0 -148
  374. package/pipeline/scripts/smoke-command-inventory.sh +0 -81
  375. package/pipeline/scripts/smoke-commands-skills-parity.sh +0 -87
  376. package/pipeline/scripts/smoke-community-gates.sh +0 -75
  377. package/pipeline/scripts/smoke-compliance-skills.sh +0 -119
  378. package/pipeline/scripts/smoke-config-hygiene.sh +0 -58
  379. package/pipeline/scripts/smoke-cost-budget.sh +0 -70
  380. package/pipeline/scripts/smoke-cost-summary.sh +0 -139
  381. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +0 -128
  382. package/pipeline/scripts/smoke-description-tr.sh +0 -82
  383. package/pipeline/scripts/smoke-dev-critic.sh +0 -144
  384. package/pipeline/scripts/smoke-diff-explain.sh +0 -147
  385. package/pipeline/scripts/smoke-diff-risk.sh +0 -190
  386. package/pipeline/scripts/smoke-dynamic-skill-loading.sh +0 -160
  387. package/pipeline/scripts/smoke-eval-live.sh +0 -136
  388. package/pipeline/scripts/smoke-evidence-gate.sh +0 -93
  389. package/pipeline/scripts/smoke-extract-conventions.sh +0 -163
  390. package/pipeline/scripts/smoke-fetchers-offline.sh +0 -448
  391. package/pipeline/scripts/smoke-figma-dispatch.sh +0 -112
  392. package/pipeline/scripts/smoke-gate-hooks.sh +0 -74
  393. package/pipeline/scripts/smoke-gc-tmp.sh +0 -130
  394. package/pipeline/scripts/smoke-gc-worktrees.sh +0 -125
  395. package/pipeline/scripts/smoke-generate-issue.sh +0 -120
  396. package/pipeline/scripts/smoke-handoff-contract.sh +0 -92
  397. package/pipeline/scripts/smoke-identity-isolation.sh +0 -70
  398. package/pipeline/scripts/smoke-install-layout.sh +0 -248
  399. package/pipeline/scripts/smoke-intent-guard.sh +0 -86
  400. package/pipeline/scripts/smoke-issue-comment-template.sh +0 -86
  401. package/pipeline/scripts/smoke-issue-jira-triad.sh +0 -120
  402. package/pipeline/scripts/smoke-keychain.sh +0 -158
  403. package/pipeline/scripts/smoke-language-axis.sh +0 -109
  404. package/pipeline/scripts/smoke-learning-curve.sh +0 -61
  405. package/pipeline/scripts/smoke-learnings-ledger.sh +0 -86
  406. package/pipeline/scripts/smoke-lib-scripts.sh +0 -448
  407. package/pipeline/scripts/smoke-mcp-gate.sh +0 -68
  408. package/pipeline/scripts/smoke-md-links.sh +0 -8
  409. package/pipeline/scripts/smoke-md2confluence.sh +0 -126
  410. package/pipeline/scripts/smoke-metrics-cache-ratio.sh +0 -72
  411. package/pipeline/scripts/smoke-migrate-state.sh +0 -102
  412. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +0 -161
  413. package/pipeline/scripts/smoke-model-fallback.sh +0 -89
  414. package/pipeline/scripts/smoke-multi-repo-integration.sh +0 -116
  415. package/pipeline/scripts/smoke-multi-repo-worktree.sh +0 -61
  416. package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +0 -115
  417. package/pipeline/scripts/smoke-no-token-prompt.sh +0 -85
  418. package/pipeline/scripts/smoke-pack-contents.sh +0 -140
  419. package/pipeline/scripts/smoke-pat-audit.sh +0 -128
  420. package/pipeline/scripts/smoke-per-repo-memory.sh +0 -156
  421. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +0 -170
  422. package/pipeline/scripts/smoke-phase-6-multi.sh +0 -79
  423. package/pipeline/scripts/smoke-phase-banner.sh +0 -101
  424. package/pipeline/scripts/smoke-phase-tracker.sh +0 -324
  425. package/pipeline/scripts/smoke-phase0-bridge-contract.sh +0 -241
  426. package/pipeline/scripts/smoke-phase4-gates.sh +0 -45
  427. package/pipeline/scripts/smoke-phase4-triage.sh +0 -229
  428. package/pipeline/scripts/smoke-plan-approval-gate.sh +0 -71
  429. package/pipeline/scripts/smoke-plan-safety.sh +0 -139
  430. package/pipeline/scripts/smoke-plan-todos.sh +0 -196
  431. package/pipeline/scripts/smoke-plugin-validate.sh +0 -64
  432. package/pipeline/scripts/smoke-pr-review-actions.sh +0 -152
  433. package/pipeline/scripts/smoke-pre-commit.sh +0 -170
  434. package/pipeline/scripts/smoke-pref-migration.sh +0 -226
  435. package/pipeline/scripts/smoke-prefs-language.sh +0 -134
  436. package/pipeline/scripts/smoke-progress-contract.sh +0 -127
  437. package/pipeline/scripts/smoke-prune-logs.sh +0 -137
  438. package/pipeline/scripts/smoke-purge.sh +0 -138
  439. package/pipeline/scripts/smoke-push-retry.sh +0 -75
  440. package/pipeline/scripts/smoke-repo-map.sh +0 -300
  441. package/pipeline/scripts/smoke-review-readiness.sh +0 -92
  442. package/pipeline/scripts/smoke-review-watch.sh +0 -146
  443. package/pipeline/scripts/smoke-routines.sh +0 -84
  444. package/pipeline/scripts/smoke-run-aggregator.sh +0 -216
  445. package/pipeline/scripts/smoke-run-metrics.sh +0 -50
  446. package/pipeline/scripts/smoke-search.sh +0 -187
  447. package/pipeline/scripts/smoke-shadow-git.sh +0 -224
  448. package/pipeline/scripts/smoke-skill-authoring.sh +0 -137
  449. package/pipeline/scripts/smoke-skill-language.sh +0 -83
  450. package/pipeline/scripts/smoke-skill-manifest.sh +0 -138
  451. package/pipeline/scripts/smoke-skill-scan.sh +0 -198
  452. package/pipeline/scripts/smoke-source-parity.sh +0 -85
  453. package/pipeline/scripts/smoke-subagent-validators.sh +0 -108
  454. package/pipeline/scripts/smoke-sync-parity.sh +0 -92
  455. package/pipeline/scripts/smoke-tasklist-ordering.sh +0 -112
  456. package/pipeline/scripts/smoke-telemetry.sh +0 -147
  457. package/pipeline/scripts/smoke-test-gap.sh +0 -183
  458. package/pipeline/scripts/smoke-token-budget.sh +0 -67
  459. package/pipeline/scripts/smoke-token-preflight.sh +0 -82
  460. package/pipeline/scripts/smoke-tracker-contract.sh +0 -191
  461. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +0 -73
  462. package/pipeline/scripts/smoke-triage-memory.sh +0 -174
  463. package/pipeline/scripts/smoke-update-check.sh +0 -135
  464. package/pipeline/scripts/smoke-url-enrichment.sh +0 -70
  465. package/pipeline/scripts/smoke-validate-analysis-doc.sh +0 -161
  466. package/pipeline/scripts/smoke-validator-contradiction.sh +0 -67
  467. package/pipeline/scripts/smoke-validator-gates.sh +0 -164
  468. package/pipeline/scripts/smoke-vercel-deploy-redact.sh +0 -129
  469. package/pipeline/scripts/smoke-verify-by-test.sh +0 -148
  470. package/pipeline/scripts/smoke-wiki-integration.sh +0 -122
  471. package/pipeline/scripts/smoke-work-summary.sh +0 -163
  472. package/pipeline/scripts/smoke-workflow-audit.sh +0 -69
  473. package/pipeline/scripts/smoke-worktree-path-convention.sh +0 -86
  474. package/pipeline/scripts/smoke-wrapper-preservation.sh +0 -68
  475. package/pipeline/scripts/smoke-write-state.sh +0 -115
  476. package/pipeline/scripts/sync-parity-check.sh +0 -135
  477. package/pipeline/scripts/test-gap-rules/android.json +0 -25
  478. package/pipeline/scripts/test-gap-rules/ios.json +0 -29
  479. package/pipeline/scripts/test-gap-rules/node.json +0 -17
  480. package/pipeline/scripts/test-gap-rules/python.json +0 -19
  481. package/pipeline/scripts/validate-schemas.mjs +0 -88
@@ -1,170 +0,0 @@
1
- #!/usr/bin/env bash
2
- # smoke-phase-0-multi-repo.sh - asserts the v2.1.0+ multi-repo + identity-routing
3
- # + fetch-fail contract is fully documented in phase-0-init.md.
4
- #
5
- # This is a doc-shape smoke (Phase 0 is spec-driven; the executable behavior
6
- # lives in the orchestrator, not a single .sh). Failures here mean the spec
7
- # diverged from the schema or feedback memory.
8
-
9
- set -uo pipefail
10
-
11
- # Source-tree read (authoritative). Installed tree may lag behind.
12
- HERE="$(cd "$(dirname "$0")" && pwd)"
13
- ROOT="$(cd "$HERE/../.." && pwd)"
14
- PHASE0="$ROOT/pipeline/multi-agent-refs/phases/phase-0-init.md"
15
- PREFS_SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
16
- STATE_SCHEMA="$ROOT/pipeline/schemas/agent-state.schema.json"
17
-
18
- PASS=0
19
- FAIL=0
20
- pass() { PASS=$((PASS + 1)); echo " ✓ $1"; }
21
- fail() { FAIL=$((FAIL + 1)); echo " ✗ $1"; }
22
-
23
- if [ ! -f "$PHASE0" ]; then
24
- fail "phase-0-init.md missing at $PHASE0"
25
- echo "══ phase-0-multi-repo smoke: aborted ══"
26
- exit 2
27
- fi
28
-
29
- # ──────────────────────────────────────────────────────────────────────────
30
- echo "→ 1. Multi-repo project-selection contract"
31
- grep -q "v2.1.0+ Multi-Repo Mode" "$PHASE0" \
32
- && pass "Step 2 has 'v2.1.0+ Multi-Repo Mode' subsection" \
33
- || fail "Step 2 missing v2.1.0+ multi-repo subsection"
34
- grep -q "state.projects\[\]" "$PHASE0" \
35
- && pass "Step 2 references state.projects[] population" \
36
- || fail "Step 2 missing state.projects[] reference"
37
- grep -q "recentGroups" "$PHASE0" \
38
- && pass "Step 2 mentions recentGroups (LRU bump)" \
39
- || fail "Step 2 missing recentGroups reference"
40
- grep -q "settings.multiRepoEnabled" "$PHASE0" \
41
- && pass "Step 2 multi-repo gated by settings.multiRepoEnabled flag" \
42
- || fail "Step 2 missing settings.multiRepoEnabled gate"
43
-
44
- # ──────────────────────────────────────────────────────────────────────────
45
- echo ""
46
- echo "→ 2. Branch TTL + collision detection"
47
- grep -q "branchTtlDays" "$PHASE0" \
48
- && pass "TTL filter references settings.branchTtlDays" \
49
- || fail "TTL filter not anchored to settings.branchTtlDays"
50
- grep -q "default 15" "$PHASE0" \
51
- && pass "TTL default 15d documented" \
52
- || fail "TTL default 15d not documented"
53
- grep -qE "Collision handling|Branch-collision" "$PHASE0" \
54
- && pass "Collision handling section present" \
55
- || fail "Collision handling section missing"
56
- # Post-10caff1: collision handling is automatic (`-v2`, `-v3` suffix), no prompt.
57
- grep -qE "append \`-v2\`|append -v2" "$PHASE0" \
58
- && pass "Collision handling appends -v2/-v3 suffix automatically" \
59
- || fail "Collision automatic-suffix rule missing"
60
- grep -qE "ls-remote --exit-code --heads" "$PHASE0" \
61
- && pass "Remote collision probe uses ls-remote --exit-code" \
62
- || fail "Remote collision probe missing ls-remote --exit-code"
63
-
64
- # ──────────────────────────────────────────────────────────────────────────
65
- echo ""
66
- echo "→ 3. Fetch-fail flow (4 options per feedback memory)"
67
- grep -q "Fetch-fail handling" "$PHASE0" \
68
- && pass "Fetch-fail handling subsection present" \
69
- || fail "Fetch-fail handling subsection missing"
70
- for opt in "Connect VPN" "Use cached origin" "Use local branch" "Abort"; do
71
- grep -q "$opt" "$PHASE0" \
72
- && pass "Fetch-fail option present: $opt" \
73
- || fail "Fetch-fail option missing: $opt"
74
- done
75
- grep -q '"baseFetchStatus"' "$PHASE0" \
76
- && pass "baseFetchStatus state field documented" \
77
- || fail "baseFetchStatus state field missing"
78
- for v in "fresh" "cached-stale" "local-branch" "aborted"; do
79
- grep -qE "\"$v\"" "$PHASE0" \
80
- && pass "baseFetchStatus enum value: $v" \
81
- || fail "baseFetchStatus enum value missing: $v"
82
- done
83
-
84
- # ──────────────────────────────────────────────────────────────────────────
85
- echo ""
86
- echo "→ 4. Branch-naming kebab rules + multi-repo shared name"
87
- grep -q "Kebab rules" "$PHASE0" \
88
- && pass "Kebab rules block present" \
89
- || fail "Kebab rules block missing"
90
- grep -q "shared across all repos" "$PHASE0" \
91
- && pass "Multi-repo shared-name rule documented" \
92
- || fail "Multi-repo shared-name rule missing"
93
-
94
- # ──────────────────────────────────────────────────────────────────────────
95
- echo ""
96
- echo "→ 5. Identity routing (Step 6 v2.1.0+)"
97
- grep -q "platformIdentityRouting" "$PHASE0" \
98
- && pass "Step 6 references platformIdentityRouting" \
99
- || fail "Step 6 missing platformIdentityRouting reference"
100
- # Post-10caff1: identity routing is ALWAYS on (no gate); previous
101
- # settings.identityRoutingEnabled is obsolete. Verify no stale gate remains.
102
- if grep -q "settings.identityRoutingEnabled" "$PHASE0"; then
103
- fail "legacy settings.identityRoutingEnabled gate still present (should be removed)"
104
- else
105
- pass "no legacy settings.identityRoutingEnabled gate"
106
- fi
107
- grep -q "longest-prefix wins\|Most-specific" "$PHASE0" \
108
- && pass "Glob match semantics: longest-prefix / most-specific wins" \
109
- || fail "Glob match semantics not documented"
110
- # Schema renamed gitIdentities → identities in v2.1.0. Step 6 must not use
111
- # the legacy name.
112
- if grep -q "gitIdentities" "$PHASE0"; then
113
- fail "Step 6 still reading legacy gitIdentities path"
114
- else
115
- pass "no legacy gitIdentities reference"
116
- fi
117
- grep -qE "per repo( independently)?" "$PHASE0" \
118
- && pass "Multi-repo: identity routed per-repo" \
119
- || fail "Multi-repo per-repo routing not stated"
120
-
121
- # ──────────────────────────────────────────────────────────────────────────
122
- echo ""
123
- echo "→ 6. Step 8 multi-repo worktree setup"
124
- grep -q "v2.1.0+ Multi-Repo Worktree Setup" "$PHASE0" \
125
- && pass "Step 8 has multi-repo worktree subsection" \
126
- || fail "Step 8 missing multi-repo worktree subsection"
127
- grep -q "serially per repo" "$PHASE0" \
128
- && pass "Multi-repo worktrees created serially (not parallel)" \
129
- || fail "Serial worktree creation rule missing"
130
- grep -q "roll back already-created worktrees" "$PHASE0" \
131
- && pass "Atomicity: rollback on partial failure documented" \
132
- || fail "Atomicity rollback rule missing"
133
- grep -q "worktree remove --force" "$PHASE0" \
134
- && pass "Rollback uses git worktree remove --force" \
135
- || fail "Rollback command not specified"
136
-
137
- # ──────────────────────────────────────────────────────────────────────────
138
- echo ""
139
- echo "→ 7. Recents update map (Step 0 v2.1.0+)"
140
- grep -q "v2.1.0+ Recents update map" "$PHASE0" \
141
- && pass "Recents update map table present" \
142
- || fail "Recents update map table missing"
143
- for path in recentProjects recentGroups recentBranches serviceStatus; do
144
- grep -q "\`global\.$path" "$PHASE0" \
145
- && pass "Recents map covers global.$path" \
146
- || fail "Recents map missing global.$path"
147
- done
148
-
149
- # ──────────────────────────────────────────────────────────────────────────
150
- echo ""
151
- echo "→ 8. Schema cross-reference sanity"
152
- if [ -f "$STATE_SCHEMA" ]; then
153
- if grep -q "projects" "$STATE_SCHEMA"; then
154
- pass "agent-state.schema.json has projects field"
155
- else
156
- fail "agent-state.schema.json missing projects field"
157
- fi
158
- fi
159
- if [ -f "$PREFS_SCHEMA" ]; then
160
- for f in platformIdentityRouting recentGroups recentBranches serviceStatus settings; do
161
- grep -q "\"$f\":" "$PREFS_SCHEMA" \
162
- && pass "prefs schema declares $f" \
163
- || fail "prefs schema missing $f"
164
- done
165
- fi
166
-
167
- # ──────────────────────────────────────────────────────────────────────────
168
- echo ""
169
- echo "══ phase-0-multi-repo smoke: $PASS passed, $FAIL failed ══"
170
- [ "$FAIL" -eq 0 ]
@@ -1,79 +0,0 @@
1
- #!/usr/bin/env bash
2
- # smoke-phase-6-multi.sh - asserts Phase 6 multi-repo commit + per-repo PR
3
- # + cross-link contract is documented.
4
-
5
- set -uo pipefail
6
-
7
- PHASE6="$HOME/.claude/multi-agent-refs/phases/phase-6-commit.md"
8
-
9
- PASS=0; FAIL=0
10
- pass() { PASS=$((PASS+1)); echo " ✓ $1"; }
11
- fail() { FAIL=$((FAIL+1)); echo " ✗ $1"; }
12
-
13
- if [ ! -f "$PHASE6" ]; then
14
- fail "phase-6-commit.md missing"; echo "══ aborted ══"; exit 2
15
- fi
16
-
17
- echo "→ 1. v2.1.0+ Multi-Repo Mode subsection present"
18
- grep -q "v2.1.0+ Multi-Repo Mode" "$PHASE6" \
19
- && pass "Phase 6 has v2.1.0+ Multi-Repo Mode subsection" \
20
- || fail "Phase 6 missing v2.1.0+ Multi-Repo Mode subsection"
21
-
22
- echo "→ 2. Per-repo commit (shared subject + per-repo scope)"
23
- grep -q "shared subject" "$PHASE6" \
24
- && pass "Shared subject across repos documented" \
25
- || fail "Shared subject rule missing"
26
- grep -q "per-repo scope" "$PHASE6" \
27
- && pass "Per-repo scope rule documented" \
28
- || fail "Per-repo scope rule missing"
29
- grep -q "Part of multi-repo change" "$PHASE6" \
30
- && pass "Body mentions sibling repos in commit message" \
31
- || fail "Sibling repo mention missing from commit body"
32
- grep -q "state.projects\[i\].commit" "$PHASE6" \
33
- && pass "Per-repo commit sha persisted to state" \
34
- || fail "Per-repo commit sha persistence missing"
35
-
36
- echo "→ 3. Per-repo PR with sibling cross-links"
37
- grep -q "Sibling PRs (multi-repo task)" "$PHASE6" \
38
- && pass "PR body has Sibling PRs section" \
39
- || fail "PR body Sibling PRs section missing"
40
- grep -q "update_sibling_links" "$PHASE6" \
41
- && pass "Idempotent sibling-link update documented" \
42
- || fail "Sibling-link update missing"
43
- grep -q "version+1\|version +1" "$PHASE6" \
44
- && pass "Bitbucket version-bump for PR update mentioned" \
45
- || fail "Bitbucket PUT version-bump missing"
46
- grep -q "gh pr edit --body-file" "$PHASE6" \
47
- && pass "GitHub gh pr edit for sibling-link update" \
48
- || fail "GitHub PR update command missing"
49
-
50
- echo "→ 4. GitHub issue body - multi-repo PR list"
51
- grep -q "one row per repo" "$PHASE6" \
52
- && pass "Issue body lists one row per repo" \
53
- || fail "Issue body multi-repo expansion missing"
54
- grep -q '\*\*common:\*\*\|\*\*uicomponents:\*\*' "$PHASE6" \
55
- && pass "Per-repo row format example present" \
56
- || fail "Per-repo row example missing"
57
-
58
- echo "→ 5. recentGroups update on success"
59
- grep -q "recentGroups\` update on success" "$PHASE6" \
60
- && pass "recentGroups update section present" \
61
- || fail "recentGroups update section missing"
62
- grep -q "order-independent compare" "$PHASE6" \
63
- && pass "Group dedup by order-independent compare" \
64
- || fail "Order-independent compare rule missing"
65
- grep -q '"skipped"' "$PHASE6" \
66
- && pass "Skipped repos excluded from LRU bump" \
67
- || fail "LRU bump exclusion for skipped repos missing"
68
-
69
- echo "→ 6. Telemetry per-repo"
70
- grep -q "commit.created.*repo=\|push.attempted.*repo=" "$PHASE6" \
71
- && pass "Per-repo commit/push telemetry documented" \
72
- || fail "Per-repo telemetry missing"
73
- grep -q "multi_repo.completed" "$PHASE6" \
74
- && pass "Aggregate multi_repo.completed metric present" \
75
- || fail "multi_repo.completed metric missing"
76
-
77
- echo ""
78
- echo "══ phase-6-multi smoke: $PASS passed, $FAIL failed ══"
79
- [ "$FAIL" -eq 0 ]
@@ -1,101 +0,0 @@
1
- #!/usr/bin/env bash
2
- # smoke-phase-banner.sh - contract check for phase-banner.sh.
3
- #
4
- # Verifies:
5
- # 1. start/end/sub render with phase + name
6
- # 2. status enum on `end` is enforced (done|failed|skipped only)
7
- # 3. plain-text mode (no TTY, TERM=dumb) strips ANSI codes
8
- # 4. bad action / bad status → non-zero exit
9
- # 5. minimal args allowed (no name, no detail)
10
-
11
- set -uo pipefail
12
-
13
- HERE="$(cd "$(dirname "$0")" && pwd)"
14
- ROOT="$(cd "$HERE/../.." && pwd)"
15
- SCRIPT="$ROOT/pipeline/scripts/phase-banner.sh"
16
-
17
- PASS=0
18
- FAIL=0
19
- pass() { PASS=$((PASS+1)); echo " ✓ $1"; }
20
- fail() { FAIL=$((FAIL+1)); echo " ✗ $1"; }
21
-
22
- # Capture in plain-text mode (no TTY, TERM=dumb so colors are off).
23
- run_plain() {
24
- TERM=dumb "$SCRIPT" "$@" 2>/tmp/banner-err
25
- }
26
- run_plain_status() {
27
- local rc=0
28
- TERM=dumb "$SCRIPT" "$@" >/dev/null 2>/tmp/banner-err || rc=$?
29
- echo "$rc"
30
- }
31
-
32
- echo "→ 1. start renders phase + name"
33
- OUT=$(run_plain start 4 "Review" "demo")
34
- echo "$OUT" | grep -q "Phase 4: Review" && pass "start banner contains phase + name" || fail "start banner missing phase or name"
35
- echo "$OUT" | grep -q "demo" && pass "start banner contains detail" || fail "missing detail"
36
-
37
- echo ""
38
- echo "→ 2. end renders phase + status glyph"
39
- OUT_DONE=$(run_plain end 4 done "Review")
40
- echo "$OUT_DONE" | grep -q "✓ done" && pass "end done shows ✓" || fail "missing ✓ on done"
41
- OUT_FAIL=$(run_plain end 3 failed "Dev")
42
- echo "$OUT_FAIL" | grep -q "✗ failed" && pass "end failed shows ✗" || fail "missing ✗ on failed"
43
- OUT_SKIP=$(run_plain end 5 skipped "Test")
44
- echo "$OUT_SKIP" | grep -q "↷ skipped" && pass "end skipped shows ↷" || fail "missing ↷ on skipped"
45
-
46
- echo ""
47
- echo "→ 3. sub renders Sub <phase>.<sub>"
48
- OUT_SUB=$(run_plain sub 4 2 "Triage" "validating")
49
- echo "$OUT_SUB" | grep -q "Sub 4.2 Triage" && pass "sub line correct" || fail "sub line wrong: $OUT_SUB"
50
-
51
- echo ""
52
- echo "→ 4. plain-text mode strips ANSI"
53
- if echo "$OUT" | grep -q $'\033\['; then
54
- fail "ANSI escape codes leaked into TERM=dumb output"
55
- else
56
- pass "no ANSI escapes when TERM=dumb"
57
- fi
58
-
59
- echo ""
60
- echo "→ 5. bad status → exit 64"
61
- RC=$(run_plain_status end 4 unknownstatus "name")
62
- [ "$RC" = "64" ] && pass "bad status rejected (exit 64)" || fail "bad status didn't fail (rc=$RC)"
63
-
64
- echo ""
65
- echo "→ 6. bad action → exit 64"
66
- RC=$(run_plain_status flapdoodle 4)
67
- [ "$RC" = "64" ] && pass "bad action rejected (exit 64)" || fail "bad action didn't fail (rc=$RC)"
68
-
69
- echo ""
70
- echo "→ 7. missing args → exit 64"
71
- RC=$(run_plain_status start)
72
- [ "$RC" = "64" ] && pass "missing args rejected (exit 64)" || fail "missing args didn't fail (rc=$RC)"
73
-
74
- echo ""
75
- echo "→ 8. minimal args (no name, no detail) work"
76
- RC=$(run_plain_status start 0)
77
- [ "$RC" = "0" ] && pass "minimal start works (just phase)" || fail "minimal start failed (rc=$RC)"
78
-
79
- echo ""
80
- echo "→ 9. label action prints canonical EN name"
81
- OUT_LBL=$(TERM=dumb "$SCRIPT" label 4)
82
- [ "$OUT_LBL" = "Review" ] && pass "label 4 en → Review" || fail "label 4 en unexpected: '$OUT_LBL'"
83
-
84
- echo ""
85
- echo "→ 10. PHASE_LANG=tr resolves TR label"
86
- OUT_TR=$(TERM=dumb PHASE_LANG=tr "$SCRIPT" label 4)
87
- [ "$OUT_TR" = "İnceleme" ] && pass "label 4 tr → İnceleme" || fail "label 4 tr unexpected: '$OUT_TR'"
88
-
89
- echo ""
90
- echo "→ 11. auto sentinel resolves from table (en)"
91
- OUT_AUTO=$(run_plain start 3 auto)
92
- echo "$OUT_AUTO" | grep -q "Phase 3: Dev" && pass "auto en → Phase 3: Dev" || fail "auto en unexpected: $OUT_AUTO"
93
-
94
- echo ""
95
- echo "→ 12. auto sentinel + PHASE_LANG=tr → Faz N: <tr-label>"
96
- OUT_AUTO_TR=$(TERM=dumb PHASE_LANG=tr "$SCRIPT" start 3 auto)
97
- echo "$OUT_AUTO_TR" | grep -q "Faz 3: Geliştirme" && pass "auto tr → Faz 3: Geliştirme" || fail "auto tr unexpected: $OUT_AUTO_TR"
98
-
99
- echo ""
100
- echo "══ phase-banner smoke: $PASS passed, $FAIL failed ══"
101
- [ "$FAIL" -eq 0 ]