@mmerterden/multi-agent-pipeline 18.0.0 → 19.1.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 (234) hide show
  1. package/CHANGELOG.md +287 -0
  2. package/README.md +36 -20
  3. package/README.tr.md +14 -16
  4. package/docs/adr/0002-instruction-driven-flag.md +1 -0
  5. package/docs/adr/0005-lazy-phase-docs.md +11 -1
  6. package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +1 -0
  7. package/docs/adr/0010-own-code-graph.md +1 -0
  8. package/docs/adr/0014-six-phase-consolidation.md +134 -0
  9. package/docs/adr/README.md +2 -1
  10. package/docs/architecture.md +37 -38
  11. package/docs/best-practices.md +1 -1
  12. package/docs/ecosystem.md +46 -27
  13. package/docs/engineering.md +1 -1
  14. package/docs/facts.json +61 -0
  15. package/docs/features.md +55 -54
  16. package/docs/performance.md +5 -5
  17. package/docs/recovery-guide.md +17 -17
  18. package/docs/token-budget-history.md +3 -1
  19. package/index.js +2 -2
  20. package/install/_codex-agents.mjs +1 -1
  21. package/install/templates/claude-hooks.json +1 -1
  22. package/install/templates/codex-instructions.md +1 -1
  23. package/install/templates/copilot-instructions.md +28 -28
  24. package/manifest.json +234 -216
  25. package/package.json +2 -2
  26. package/pipeline/agents/dev-critic.md +7 -7
  27. package/pipeline/commands/figma-to-swiftui.md +1 -1
  28. package/pipeline/commands/multi-agent/SKILL.md +9 -9
  29. package/pipeline/commands/multi-agent/analysis/SKILL.md +15 -15
  30. package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +2 -2
  31. package/pipeline/commands/multi-agent/autopilot/SKILL.md +7 -7
  32. package/pipeline/commands/multi-agent/channels/SKILL.md +15 -15
  33. package/pipeline/commands/multi-agent/diff-explain/SKILL.md +6 -6
  34. package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +1 -1
  35. package/pipeline/commands/multi-agent/graph/SKILL.md +1 -1
  36. package/pipeline/commands/multi-agent/help/SKILL.md +62 -62
  37. package/pipeline/commands/multi-agent/language/SKILL.md +2 -2
  38. package/pipeline/commands/multi-agent/local/SKILL.md +11 -11
  39. package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +13 -13
  40. package/pipeline/commands/multi-agent/log/SKILL.md +2 -2
  41. package/pipeline/commands/multi-agent/manual-test/SKILL.md +9 -9
  42. package/pipeline/commands/multi-agent/model/SKILL.md +69 -0
  43. package/pipeline/commands/multi-agent/refactor/SKILL.md +3 -3
  44. package/pipeline/commands/multi-agent/resume/SKILL.md +4 -4
  45. package/pipeline/commands/multi-agent/resume-local/SKILL.md +19 -17
  46. package/pipeline/commands/multi-agent/review/SKILL.md +2 -2
  47. package/pipeline/commands/multi-agent/review-analysis/SKILL.md +1 -1
  48. package/pipeline/commands/multi-agent/route-off/SKILL.md +36 -0
  49. package/pipeline/commands/multi-agent/route-on/SKILL.md +74 -0
  50. package/pipeline/commands/multi-agent/route-status/SKILL.md +56 -0
  51. package/pipeline/commands/multi-agent/setup/SKILL.md +2 -2
  52. package/pipeline/commands/multi-agent/status/SKILL.md +5 -5
  53. package/pipeline/commands/multi-agent/steer/SKILL.md +2 -2
  54. package/pipeline/commands/multi-agent/sync/SKILL.md +12 -13
  55. package/pipeline/commands/multi-agent/test/SKILL.md +1 -1
  56. package/pipeline/lib/credential-inventory.sh +1 -1
  57. package/pipeline/lib/fetch-fortify.sh +1 -1
  58. package/pipeline/lib/model-dispatch.sh +140 -0
  59. package/pipeline/lib/model-rung.sh +142 -0
  60. package/pipeline/lib/outbound-gate.mjs +14 -0
  61. package/pipeline/lib/phase-schema.mjs +88 -0
  62. package/pipeline/lib/plan-todos.sh +5 -5
  63. package/pipeline/lib/route-state.sh +161 -0
  64. package/pipeline/lib/run-paths.sh +2 -2
  65. package/pipeline/multi-agent-refs/_account-picker.md +1 -1
  66. package/pipeline/multi-agent-refs/_dev-context.md +6 -6
  67. package/pipeline/multi-agent-refs/_input-parser.md +1 -1
  68. package/pipeline/multi-agent-refs/analysis/evidence.md +2 -11
  69. package/pipeline/multi-agent-refs/analysis/intake.md +7 -7
  70. package/pipeline/multi-agent-refs/analysis/locked.md +48 -22
  71. package/pipeline/multi-agent-refs/analysis/redesign.md +1 -1
  72. package/pipeline/multi-agent-refs/analysis/render.md +10 -10
  73. package/pipeline/multi-agent-refs/analysis/resolve.md +1 -1
  74. package/pipeline/multi-agent-refs/analysis/review.md +2 -2
  75. package/pipeline/multi-agent-refs/analysis/synthesis.md +13 -7
  76. package/pipeline/multi-agent-refs/analysis-template-corporate.md +9 -9
  77. package/pipeline/multi-agent-refs/analysis-template.md +19 -19
  78. package/pipeline/multi-agent-refs/android-guide.md +1 -1
  79. package/pipeline/multi-agent-refs/audit-guide.md +13 -13
  80. package/pipeline/multi-agent-refs/channels/issue-comment.md +2 -2
  81. package/pipeline/multi-agent-refs/channels/jira.md +3 -3
  82. package/pipeline/multi-agent-refs/channels/pr.md +4 -4
  83. package/pipeline/multi-agent-refs/channels/wiki.md +1 -1
  84. package/pipeline/multi-agent-refs/component-dispatch.md +8 -8
  85. package/pipeline/multi-agent-refs/conventions-defaults.md +2 -2
  86. package/pipeline/multi-agent-refs/cross-cli-contract.md +31 -6
  87. package/pipeline/multi-agent-refs/features/analysis-jira.md +1 -1
  88. package/pipeline/multi-agent-refs/features/autopilot-circuit-breaker.md +4 -4
  89. package/pipeline/multi-agent-refs/features/code-graph.md +5 -5
  90. package/pipeline/multi-agent-refs/features/design-conformance.md +1 -1
  91. package/pipeline/multi-agent-refs/features/dev-critic.md +3 -3
  92. package/pipeline/multi-agent-refs/features/doctor.md +3 -3
  93. package/pipeline/multi-agent-refs/features/external-context-injection.md +3 -3
  94. package/pipeline/multi-agent-refs/features/maturity-followup.md +3 -3
  95. package/pipeline/multi-agent-refs/features/model-fallback.md +41 -5
  96. package/pipeline/multi-agent-refs/features/plan-todos.md +1 -1
  97. package/pipeline/multi-agent-refs/features/repo-map.md +1 -1
  98. package/pipeline/multi-agent-refs/features/review-delta.md +3 -3
  99. package/pipeline/multi-agent-refs/features/review-multi-repo.md +2 -2
  100. package/pipeline/multi-agent-refs/features/scope-check.md +4 -4
  101. package/pipeline/multi-agent-refs/features/skill-conformance.md +2 -2
  102. package/pipeline/multi-agent-refs/features/stack-skill-routing.md +1 -1
  103. package/pipeline/multi-agent-refs/features/url-enrichment.md +1 -1
  104. package/pipeline/multi-agent-refs/features/verify-by-test.md +4 -4
  105. package/pipeline/multi-agent-refs/features/visual-evidence.md +19 -19
  106. package/pipeline/multi-agent-refs/features/worktree-finalize.md +6 -6
  107. package/pipeline/multi-agent-refs/issue-jira-triad.md +10 -10
  108. package/pipeline/multi-agent-refs/knowledge.md +11 -11
  109. package/pipeline/multi-agent-refs/multi-repo-integration-build.md +13 -13
  110. package/pipeline/multi-agent-refs/payload-contracts.md +8 -8
  111. package/pipeline/multi-agent-refs/phases/log-format.md +10 -10
  112. package/pipeline/multi-agent-refs/phases/modes.md +30 -30
  113. package/pipeline/multi-agent-refs/phases/operations.md +8 -8
  114. package/pipeline/multi-agent-refs/phases/phase-0-init.md +24 -24
  115. package/pipeline/multi-agent-refs/phases/phase-1-plan.md +599 -0
  116. package/pipeline/multi-agent-refs/phases/{phase-3-dev.md → phase-2-dev.md} +129 -49
  117. package/pipeline/multi-agent-refs/phases/{phase-4-review.md → phase-3-review.md} +225 -107
  118. package/pipeline/multi-agent-refs/phases/{phase-6-commit.md → phase-4-commit.md} +23 -23
  119. package/pipeline/multi-agent-refs/phases/{phase-7-report.md → phase-5-report.md} +29 -29
  120. package/pipeline/multi-agent-refs/phases.md +44 -48
  121. package/pipeline/multi-agent-refs/picker-contract.md +1 -1
  122. package/pipeline/multi-agent-refs/progress-contract.md +6 -6
  123. package/pipeline/multi-agent-refs/readiness-review.md +1 -1
  124. package/pipeline/multi-agent-refs/rules.md +7 -7
  125. package/pipeline/multi-agent-refs/swiftui-guide.md +2 -2
  126. package/pipeline/multi-agent-refs/tracker-contract.md +31 -32
  127. package/pipeline/multi-agent-refs/wiki-capture.md +14 -14
  128. package/pipeline/preferences-template.json +9 -1
  129. package/pipeline/rules/figma-pipeline.md +8 -8
  130. package/pipeline/rules/outside-the-pipeline.md +1 -1
  131. package/pipeline/schemas/agent-state.schema.json +50 -50
  132. package/pipeline/schemas/analysis-output.schema.json +3 -3
  133. package/pipeline/schemas/analysis-spec.schema.json +2 -2
  134. package/pipeline/schemas/autopilot-config.schema.json +1 -1
  135. package/pipeline/schemas/code-graph.schema.json +1 -1
  136. package/pipeline/schemas/criteria-manifest.schema.json +1 -1
  137. package/pipeline/schemas/dev-critic-output.schema.json +1 -1
  138. package/pipeline/schemas/diff-risk.schema.json +1 -1
  139. package/pipeline/schemas/figma-project-config.schema.json +1 -1
  140. package/pipeline/schemas/migrations/prefs-2.4.0-to-2.5.0.mjs +2 -2
  141. package/pipeline/schemas/migrations/prefs-2.6.0-to-2.7.0.mjs +31 -0
  142. package/pipeline/schemas/migrations/state-2.1.0-to-2.2.0.mjs +129 -0
  143. package/pipeline/schemas/phases.json +105 -0
  144. package/pipeline/schemas/plan-todos.schema.json +5 -5
  145. package/pipeline/schemas/planning-output.schema.json +1 -1
  146. package/pipeline/schemas/prefs.schema.json +102 -58
  147. package/pipeline/schemas/reviewer-output.schema.json +3 -3
  148. package/pipeline/schemas/route-config.schema.json +74 -0
  149. package/pipeline/schemas/scope-check.schema.json +1 -1
  150. package/pipeline/schemas/secret-patterns.json +124 -0
  151. package/pipeline/schemas/test-gap.schema.json +1 -1
  152. package/pipeline/schemas/token-budget.json +12 -18
  153. package/pipeline/schemas/triage-output.schema.json +6 -6
  154. package/pipeline/scripts/README.md +3 -3
  155. package/pipeline/scripts/_code-graph.mjs +2 -2
  156. package/pipeline/scripts/_run-paths.mjs +2 -2
  157. package/pipeline/scripts/_smoke-root.sh +1 -1
  158. package/pipeline/scripts/aggregate-metrics.mjs +1 -1
  159. package/pipeline/scripts/build-references.mjs +2 -2
  160. package/pipeline/scripts/bulk-read.sh +10 -1
  161. package/pipeline/scripts/capture-flush.sh +8 -8
  162. package/pipeline/scripts/capture-resume.sh +3 -3
  163. package/pipeline/scripts/classify-plan-safety.mjs +1 -1
  164. package/pipeline/scripts/cost-table.json +8 -1
  165. package/pipeline/scripts/diff-explain.mjs +1 -1
  166. package/pipeline/scripts/doctor.mjs +3 -3
  167. package/pipeline/scripts/gc-abandoned.sh +3 -3
  168. package/pipeline/scripts/gc-tmp.sh +1 -1
  169. package/pipeline/scripts/gc-worktrees.sh +1 -1
  170. package/pipeline/scripts/gen-facts.mjs +280 -0
  171. package/pipeline/scripts/gen-mode-dispatch.mjs +32 -37
  172. package/pipeline/scripts/gen-ref-toc.mjs +1 -1
  173. package/pipeline/scripts/graph-report.mjs +1 -1
  174. package/pipeline/scripts/jira-attach.sh +1 -1
  175. package/pipeline/scripts/learn-from-transcripts.mjs +1 -1
  176. package/pipeline/scripts/learning-curve.mjs +2 -2
  177. package/pipeline/scripts/log-metric.sh +17 -4
  178. package/pipeline/scripts/memory-save.sh +1 -1
  179. package/pipeline/scripts/migrate-prefs.mjs +22 -5
  180. package/pipeline/scripts/phase-banner.sh +20 -20
  181. package/pipeline/scripts/phase-tracker.sh +12 -12
  182. package/pipeline/scripts/plan-coverage-gate.mjs +2 -2
  183. package/pipeline/scripts/pre-commit-check.sh +30 -1
  184. package/pipeline/scripts/render-agent-log-cost.sh +1 -1
  185. package/pipeline/scripts/render-work-summary.sh +3 -3
  186. package/pipeline/scripts/review-file-filter.mjs +1 -1
  187. package/pipeline/scripts/run-aggregator.mjs +13 -6
  188. package/pipeline/scripts/run-metrics.mjs +1 -1
  189. package/pipeline/scripts/runs-index.mjs +11 -1
  190. package/pipeline/scripts/scan-skills.sh +26 -0
  191. package/pipeline/scripts/smoke-cross-cli-behavior.sh +6 -6
  192. package/pipeline/scripts/smoke-schema-validation.sh +26 -7
  193. package/pipeline/scripts/token-budget-report.mjs +13 -2
  194. package/pipeline/scripts/triage-memory.mjs +2 -2
  195. package/pipeline/scripts/validate-analysis-doc.mjs +274 -43
  196. package/pipeline/scripts/validate-planning.mjs +1 -1
  197. package/pipeline/scripts/validate-reviewer.mjs +1 -1
  198. package/pipeline/scripts/validate-state.mjs +45 -5
  199. package/pipeline/scripts/validate-triage.mjs +3 -3
  200. package/pipeline/scripts/verify-citations.mjs +1 -1
  201. package/pipeline/scripts/worktree-finalize.sh +5 -5
  202. package/pipeline/scripts/write-state.mjs +32 -0
  203. package/pipeline/skills/.skill-manifest.json +38 -22
  204. package/pipeline/skills/.skills-index.json +49 -5
  205. package/pipeline/skills/shared/README.md +10 -6
  206. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +8 -8
  207. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +8 -8
  208. package/pipeline/skills/shared/core/multi-agent/SKILL.md +81 -82
  209. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +3 -3
  210. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +14 -14
  211. package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +5 -5
  212. package/pipeline/skills/shared/core/multi-agent-graph/SKILL.md +1 -1
  213. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +25 -23
  214. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +2 -2
  215. package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +2 -2
  216. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +8 -8
  217. package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +6 -6
  218. package/pipeline/skills/shared/core/multi-agent-model/SKILL.md +71 -0
  219. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +3 -3
  220. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +1 -1
  221. package/pipeline/skills/shared/core/multi-agent-resume-local/SKILL.md +7 -7
  222. package/pipeline/skills/shared/core/multi-agent-route-off/SKILL.md +39 -0
  223. package/pipeline/skills/shared/core/multi-agent-route-on/SKILL.md +76 -0
  224. package/pipeline/skills/shared/core/multi-agent-route-status/SKILL.md +59 -0
  225. package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +1 -1
  226. package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +5 -5
  227. package/pipeline/skills/shared/core/multi-agent-steer/SKILL.md +2 -2
  228. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +6 -5
  229. package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +1 -1
  230. package/pipeline/skills/shared/external/signal-community/SKILL.md +8 -1
  231. package/pipeline/skills/skills-index.md +8 -4
  232. package/pipeline/multi-agent-refs/phases/phase-1-analysis.md +0 -263
  233. package/pipeline/multi-agent-refs/phases/phase-2-planning.md +0 -344
  234. package/pipeline/multi-agent-refs/phases/phase-5-test.md +0 -182
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mmerterden/multi-agent-pipeline",
3
- "version": "18.0.0",
4
- "description": "8-phase AI development pipeline with full orchestration on Claude Code, Copilot CLI and Codex CLI. Analysis, planning, TDD, CLI-aware parallel review with consensus surfacing + Fable triage, default-FAIL evidence gates, secret + intent guards, per-phase cost ledger, persistent learnings memory, wiki generation, commit automation. Token-preserving uninstall.",
3
+ "version": "19.1.0",
4
+ "description": "6-phase AI development pipeline with full orchestration on Claude Code, Copilot CLI and Codex CLI. Analysis, planning, TDD, CLI-aware parallel review with consensus surfacing + Fable triage, default-FAIL evidence gates, secret + intent guards, per-phase cost ledger, persistent learnings memory, wiki generation, commit automation. Token-preserving uninstall.",
5
5
  "type": "module",
6
6
  "main": "index.js",
7
7
  "exports": {
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  name: dev-critic
3
- description: "Phase 3.5 evaluator - runs after Dev's last edit, before Phase 4. Verifies build/test/checklist gates; returns pass | fix-list. Sonnet by default; Phase 3 orchestrator may override."
3
+ description: "Phase 2.5 evaluator - runs after Dev's last edit, before Phase 4. Verifies build/test/checklist gates; returns pass | fix-list. Sonnet by default; Phase 3 orchestrator may override."
4
4
  model: sonnet
5
5
  preferredModel: sonnet
6
6
  modelRationale: "Critic tier - deterministic checklist + build/test verification needs reliable JSON output and tool-use, not deep reasoning. Sonnet hits the cost/quality sweet spot. Opus override only when the diff is large (>500 LOC) or touches security-critical paths; orchestrator decides via PHASE_MODEL_OVERRIDE."
7
7
  ---
8
8
 
9
- # Dev Critic Agent - Phase 3.5
9
+ # Dev Critic Agent - Phase 2.5
10
10
 
11
- You are the in-loop critic for Phase 3 (Dev). The generator (Sonnet/Opus during Phase 3) has just finished its last edit. **You run BEFORE Phase 4**, on the same worktree, against deterministic criteria that already exist on disk. Your job: catch failures the generator would otherwise send into Phase 4 and waste 2-3 reviewer calls + Fable triage on.
11
+ You are the in-loop critic for Phase 2 (Dev). The generator (Sonnet/Opus during Phase 2) has just finished its last edit. **You run BEFORE Phase 4**, on the same worktree, against deterministic criteria that already exist on disk. Your job: catch failures the generator would otherwise send into Phase 4 and waste 2-3 reviewer calls + Fable triage on.
12
12
 
13
13
  This is the **evaluator-optimizer pattern** from Anthropic's "Building Effective Agents" - the pattern is most effective "when we have clear evaluation criteria, and when iterative refinement provides measurable value." Phase 3 satisfies both: criteria are written in `rules/*.md`, refinement value is measured by Phase 4 fix-cycles avoided.
14
14
 
@@ -16,7 +16,7 @@ This is the **evaluator-optimizer pattern** from Anthropic's "Building Effective
16
16
 
17
17
  | Source | What it provides |
18
18
  |---|---|
19
- | Current worktree | Phase 3's final edit set |
19
+ | Current worktree | Phase 2's final edit set |
20
20
  | `git diff origin/<base>...HEAD` | The diff under critique |
21
21
  | `rules/code-style.md` | Language/structure rules |
22
22
  | `rules/tdd.md` | Test-first contract |
@@ -119,14 +119,14 @@ Return ONLY a JSON object conforming to `pipeline/schemas/dev-critic-output.sche
119
119
  - **important**: Style/structure rule violation (missing accessibility id, force unwrap, magic-number-equivalent constant)
120
120
  - **suggestion**: Nice-to-have improvements (variable rename, comment clarity)
121
121
 
122
- Generator MUST fix all `blocking` items. `important` items SHOULD be fixed in round 1; if generator skips, they pass through to Phase 4 reviewers (who then have legitimate grounds to flag them, not theatre review).
122
+ Generator MUST fix all `blocking` items. `important` items SHOULD be fixed in round 1; if generator skips, they pass through to Phase 3 reviewers (who then have legitimate grounds to flag them, not theatre review).
123
123
 
124
124
  `suggestion` items are **never** sent back for round 2 - generator may apply them at its own judgement.
125
125
 
126
126
  ## What this agent does NOT do
127
127
 
128
128
  - Does NOT propose architectural changes (that's Phase 1/2's job)
129
- - Does NOT review for security depth (that's Phase 4 Reviewer 1 / security-auditor)
129
+ - Does NOT review for security depth (that's Phase 3 Reviewer 1 / security-auditor)
130
130
  - Does NOT re-explore the codebase (use the existing diff and rules; no new exploration)
131
131
  - Does NOT post comments to the PR (this runs in-pipeline; only `post-pr-review.sh` posts)
132
132
 
@@ -140,7 +140,7 @@ LOG_METRIC_FORWARD_TO_TRACKER=1 pipeline/scripts/log-metric.sh "$TASK_ID" 3 \
140
140
  duration_ms=$D tokens_in=$TI tokens_out=$TO
141
141
  ```
142
142
 
143
- Phase 7 cost rollup includes critic calls as `phase 3.5` line items so cost summary shows the savings (or surplus) vs running Phase 4 directly.
143
+ Phase 5 cost rollup includes critic calls as `phase 3.5` line items so cost summary shows the savings (or surplus) vs running Phase 4 directly.
144
144
 
145
145
  ## Rationale citation
146
146
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Figma URL -> SwiftUI component generation (full 8-phase pipeline with SubPhases)"
2
+ description: "Figma URL -> SwiftUI component generation (full 6-phase pipeline with SubPhases)"
3
3
  allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent, WebFetch, TaskCreate, TaskUpdate
4
4
  ---
5
5
 
@@ -80,7 +80,7 @@ Lib scripts (`~/.claude/lib/`):
80
80
  | `analysis ["<feature>"]` | Standalone feature-spec analizi: Figma / Swagger / Confluence / Jira / repo girdileri sabit 7-bölümlük şablona dökülür, humanizer'dan geçer, Local/Confluence/Jira hedef(ler)ine post edilir. Worktree veya commit yok. Dev'e zincirleme yok. |
81
81
  | `complaint-analysis ["<run-name>"] [--file <path>] [<jira-id\|confluence-url> ...]` | Müşteri şikayeti triyajı: şikayetler (serbest metin / csv-xlsx-txt-json dosya / Jira issue / Confluence URL) redakte edilerek alınır, trxId/conversationId ile Graylog kanıtı çekilir, seçili client + BFF repolarında salt-okunur eşleştirme yapılır; verdict: client/bff (kök neden + citation + mevcut mimariyi referans alan fix planı + hazır dev prompt'u) veya core (core ekibine yönlendirme önerisi) veya insufficient-evidence. Rapor + Stop; worktree, commit, dev zinciri yok. |
82
82
  | `build-optimize` | iOS-only Xcode build performance wrapper. Vendored `xcode-build-orchestrator`'a dispatch eder; benchmark + compilation / project / SPM analyzer'lar + recommend-first plan `.build-benchmark/optimization-plan.md`. Non-iOS stack'lerde fail-fast. |
83
- | `channels [PR-url\|#N\|Jira-url\|Jira-id] [--channels pr,jira,confluence,wiki] [--content normal,test,auto-diff,note] [--message "..."]` | Post task report to multi-select channels (PR description, Jira comment, Confluence page, Wiki pages) with multi-select content sources. Humanizer pass per-channel. Bitbucket PR updates use reviewer-preserving PUT. Phase 7 delegates to this command; also invocable post-hoc for fixes made outside the pipeline. No worktree. |
83
+ | `channels [PR-url\|#N\|Jira-url\|Jira-id] [--channels pr,jira,confluence,wiki] [--content normal,test,auto-diff,note] [--message "..."]` | Post task report to multi-select channels (PR description, Jira comment, Confluence page, Wiki pages) with multi-select content sources. Humanizer pass per-channel. Bitbucket PR updates use reviewer-preserving PUT. Phase 5 delegates to this command; also invocable post-hoc for fixes made outside the pipeline. No worktree. |
84
84
  | `create-jira ["desc"] [figma-url] [swagger-url]` | Create a standards-compliant Jira issue: asks the type (**Task** / **Bug** / **Story**), mines the project's recent same-type issues for conventions (summary format, labels, priority, test-scenario style), detects the active sprint, drafts from a standard template with auto-sizing sections (Design Reference / API Contract / Screenshots appear only when their source is given), asks about unknown fields, then full draft preview + explicit approval before create. No worktree, no commits. |
85
85
  | `test` or `test [args]` | UI Bug Hunter - screenshot + tap + analyze on booted simulator via MCP (read `$HOME/.claude/commands/sim-test.md`). `/multi-agent:test` also resolves here via the `commands/multi-agent/test/SKILL.md` delegate. |
86
86
  | `test-dark-mode` · `test-accessibility` · `test-dynamic-type` · `test-screenshots [locale]` | Fixed-scenario aliases for the four parameterless / single-parameter `test` scenarios, so the tag autocompletes instead of having to be quoted. Each delegates to the same `sim-test.md` with its scenario pinned; behaviour is identical to the quoted form, which is not deprecated. |
@@ -130,7 +130,7 @@ This command uses lazy loading for token efficiency. Read the relevant sub-file
130
130
  | Jetpack Compose task (Android) | `$HOME/.claude/multi-agent-refs/android-guide.md` |
131
131
  | Backend API task | `$HOME/.claude/multi-agent-refs/backend-guide.md` |
132
132
  | Web component task | `$HOME/.claude/multi-agent-refs/web-guide.md` |
133
- | Phase 1 or Phase 7 (knowledge) | `$HOME/.claude/multi-agent-refs/knowledge.md` |
133
+ | Phase 1 or Phase 5 (knowledge) | `$HOME/.claude/multi-agent-refs/knowledge.md` |
134
134
  | Token lookup needed | `$HOME/.claude/multi-agent-refs/keychain.md` |
135
135
  | Audit tools (Phase 5/6) | `$HOME/.claude/multi-agent-refs/audit-guide.md` |
136
136
  | `test` | `$HOME/.claude/commands/sim-test.md` (colon-form `/multi-agent:test` uses the delegate at `commands/multi-agent/test/SKILL.md`) |
@@ -150,14 +150,14 @@ This command uses lazy loading for token efficiency. Read the relevant sub-file
150
150
  - Multiple stacks -> load all relevant guides
151
151
 
152
152
  **Agent definitions** (used in Phase 1 and Phase 4):
153
- - `$HOME/.claude/agents/code-reviewer.md` - Phase 4 reviewer persona (`preferredModel: fable`; Phase 4 overrides Reviewer 3 to `sonnet`)
153
+ - `$HOME/.claude/agents/code-reviewer.md` - Phase 3 reviewer persona (`preferredModel: fable`; Phase 4 overrides Reviewer 3 to `sonnet`)
154
154
  - `$HOME/.claude/agents/explorer.md` - Phase 1 codebase scan persona (`preferredModel: sonnet` - scan work, cost-efficient)
155
155
  - `$HOME/.claude/agents/ios-architect.md` - iOS architecture review (`preferredModel: fable`)
156
156
  - `$HOME/.claude/agents/android-architect.md` - Android architecture review (`preferredModel: fable`)
157
157
  - `$HOME/.claude/agents/backend-architect.md` - Backend/API architecture review (`preferredModel: fable`)
158
158
  - `$HOME/.claude/agents/security-auditor.md` - Security audit (`preferredModel: opus`)
159
159
 
160
- **Per-persona model routing:** Before each Agent dispatch, the orchestrator reads `preferredModel` from the persona file and exports `CLAUDE_CODE_SUBAGENT_MODEL` (Claude Code) / passes `--model` (Copilot CLI). Precedence: per-dispatch `PHASE_MODEL_OVERRIDE` > persona `preferredModel` > `fable` (falls back per `$HOME/.claude/multi-agent-refs/features/model-fallback.md`). Full contract: `skills/shared/core/multi-agent/SKILL.md#agent-dispatch--per-persona-model-routing-v610`.
160
+ **Per-persona model routing:** Before each Agent dispatch, the orchestrator reads `preferredModel` from the persona file and exports `CLAUDE_CODE_SUBAGENT_MODEL` (Claude Code) / passes `--model` (Copilot CLI). Precedence: per-dispatch `PHASE_MODEL_OVERRIDE` > a matching `prefs.global.modelRouting` rule (v19.0.0+, consulted only when the phase named no model, and only inside the Anthropic ladder because subagent dispatch belongs to the host) > persona `preferredModel` > `fable` (falls back per `$HOME/.claude/multi-agent-refs/features/model-fallback.md`). Full contract: `skills/shared/core/multi-agent/SKILL.md#agent-dispatch--per-persona-model-routing-v610`.
161
161
 
162
162
  ---
163
163
 
@@ -229,7 +229,7 @@ Save to `prefs.projects[{project}].branches`.
229
229
  ### Step 2 - Mode Selection
230
230
  ```
231
231
  Pipeline depth (same question Phase 0 Step 7.5 asks):
232
- 1. Full (8 phases, Sonnet dev, parallel review + triage - CLI-aware reviewer set)
232
+ 1. Full (6 phases, Sonnet dev, parallel review + triage - CLI-aware reviewer set)
233
233
  2. Short (Init → Dev(Opus) → Review → Test → Commit → Report - no analysis/planning)
234
234
  Select [1/2]:
235
235
  ```
@@ -257,7 +257,7 @@ When called with `review`:
257
257
  1. Detect current branch and project from cwd (or ask)
258
258
  2. Get diff: `git diff HEAD` (unstaged + staged)
259
259
  3. If no diff, get diff against base branch: `git diff origin/{baseBranch}...HEAD`
260
- 4. Launch Phase 4 review (parallel + Fable triage - 3 reviewers on every host: Fable + Opus + Sonnet on Claude Code, GPT-5.4 + Opus + Sonnet on Copilot CLI) on the diff
260
+ 4. Launch Phase 3 review (parallel + Fable triage - 3 reviewers on every host: Fable + Opus + Sonnet on Claude Code, GPT-5.4 + Opus + Sonnet on Copilot CLI) on the diff
261
261
  5. No worktree, no state file - lightweight one-shot review
262
262
  6. Print findings to terminal
263
263
 
@@ -281,7 +281,7 @@ Load `$HOME/.claude/multi-agent-refs/rules.md` for the full contract (Swift-spec
281
281
 
282
282
  ### TaskCreate ordering (strict)
283
283
 
284
- **All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied** - this binds the full interactive `/multi-agent` run (all 8 phases) exactly like every mode alias. The native widget renders tiles by creation order, not by phase number; out-of-order calls produce visually scrambled tile stacks. Register every tile in order, then flip status via TaskUpdate when a phase actually starts or short-circuits. Full contract: `$HOME/.claude/multi-agent-refs/tracker-contract.md` section "TaskCreate ordering (strict)".
284
+ **All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied** - this binds the full interactive `/multi-agent` run (all 6 phases) exactly like every mode alias. The native widget renders tiles by creation order, not by phase number; out-of-order calls produce visually scrambled tile stacks. Register every tile in order, then flip status via TaskUpdate when a phase actually starts or short-circuits. Full contract: `$HOME/.claude/multi-agent-refs/tracker-contract.md` section "TaskCreate ordering (strict)".
285
285
 
286
286
  ---
287
287
 
@@ -294,8 +294,8 @@ Multi-Agent Tasks
294
294
 
295
295
  | ID | Project | Task | Branch | Phase | Status | Duration |
296
296
  |----|---------|------|--------|-------|--------|----------|
297
- | #1 | my-app | PROJ-12345 | feature/PROJ-12345-... | 3/7 Dev | in progress | 4m |
298
- | #2 | other-app | GH42 | feature/GH42-dark-mode | 6/7 Commit | complete | 12m |
297
+ | #1 | my-app | PROJ-12345 | feature/PROJ-12345-... | 2/5 Dev | in progress | 4m |
298
+ | #2 | other-app | GH42 | feature/GH42-dark-mode | 4/5 Commit | complete | 12m |
299
299
 
300
300
  Commands: kill #N | log #N | resume #N
301
301
  ```
@@ -1,12 +1,12 @@
1
1
  ---
2
- description: "Standalone feature-spec analysis. Two profiles picked at intake: global (23-section development handoff, 8 of them in Lite mode) or corporate (IG/UC/FG requirements document with traceability matrices). Platform-agnostic concept layer with repo-driven convention extraction (Phase 1c) and per-platform Pass B render; stack selection is optional. Collects Figma / Swagger / Confluence / Jira / Standards (Confluence + Wiki + local file) / Firebase / repo inputs. Stops after emit - does not chain into a dev run. Use when a feature needs a written specification before any code."
3
- description-tr: "Bağımsız özellik-spesifikasyonu analizi. Girişte iki profil: global (23 bölümlük geliştirme dokümanı, Lite modda 8'i) veya kurumsal (izlenebilirlik matrisleriyle IG/UC/FG gereksinim dokümanı). Repo'dan konvansiyon çıkarımıyla (Faz 1c) platform-bağımsız kavram katmanı ve platform başına Pass B render; stack seçimi opsiyonel. Figma / Swagger / Confluence / Jira / Standartlar (Confluence + Wiki + yerel dosya) / Firebase / repo girdilerini toplar. Çıktıyı üretince durur - dev koşusuna zincirlenmez."
4
- argument-hint: "[\"<analysis-name>\"] [--lite | --full] [--no-cache] [--preview-conventions]"
2
+ description: "Standalone feature-spec analysis. Two profiles picked at intake: global (23-section development handoff, evidence-trimmed) or corporate (IG/UC/FG requirements document with traceability matrices). Platform-agnostic concept layer with repo-driven convention extraction (Phase 1c) and per-platform Pass B render; stack selection is optional. Collects Figma / Swagger / Confluence / Jira / Standards (Confluence + Wiki + local file) / Firebase / repo inputs. Stops after emit - does not chain into a dev run. Use when a feature needs a written specification before any code."
3
+ description-tr: "Bağımsız özellik-spesifikasyonu analizi. Girişte iki profil: global (23 bölümlük geliştirme dokümanı, kanıta göre budanır) veya kurumsal (izlenebilirlik matrisleriyle IG/UC/FG gereksinim dokümanı). Repo'dan konvansiyon çıkarımıyla (Faz 1c) platform-bağımsız kavram katmanı ve platform başına Pass B render; stack seçimi opsiyonel. Figma / Swagger / Confluence / Jira / Standartlar (Confluence + Wiki + yerel dosya) / Firebase / repo girdilerini toplar. Çıktıyı üretince durur - dev koşusuna zincirlenmez."
4
+ argument-hint: "[\"<analysis-name>\"] [--no-cache] [--preview-conventions]"
5
5
  ---
6
6
 
7
7
  # multi-agent analysis - Feature Spec Analysis (v3)
8
8
 
9
- This command is **independent** from the orchestrator's Phase 1 analysis (which is a stack/findings detector inside `/multi-agent`). It produces a stakeholder-ready, platform-agnostic 23-section feature-spec document (or 7-section Lite mode) before any implementation starts. Each per-platform file is rendered by projecting concept-layer content onto repo-extracted conventions (Pass B).
9
+ This command is **independent** from the orchestrator's Phase 1 analysis (which is a stack/findings detector inside `/multi-agent`). It produces a stakeholder-ready, platform-agnostic feature-spec document - up to 23 sections, trimmed to whatever the evidence supports - before any implementation starts. Each per-platform file is rendered by projecting concept-layer content onto repo-extracted conventions (Pass B).
10
10
 
11
11
  **Side-effect contract**: the command may write a local markdown file, post a Confluence page, or update a Jira description - but **never** creates branches, worktrees, commits, or PRs. It stops at the document.
12
12
 
@@ -28,20 +28,20 @@ Cite a decision as `Locked <n> (<short label>)` so the category is inferable.
28
28
 
29
29
  ## Profile
30
30
 
31
- Phase 0 Step 1b asks which analysis standard the document follows (Locked 32), and the answer selects the template. Both profiles read the same evidence: intake, fetching, repo evidence and convention extraction are shared, so the two cannot drift into two products.
31
+ Phase 0 Step 1b asks which analysis standard the document follows (Locked 31), and the answer selects the template. Both profiles read the same evidence: intake, fetching, repo evidence and convention extraction are shared, so the two cannot drift into two products.
32
32
 
33
33
  | Profile | Template | Shape |
34
34
  |---|---|---|
35
35
  | `global` (default) | `analysis-template.md` | Development handoff, 23 sections. Business rules with Gherkin acceptance criteria, architecture plan, files to add, test plan. Zero-evidence sections drop (Locked 2). |
36
- | `corporate` | `analysis-template-corporate.md` | Requirements document. `IG -> UC -> FG` spine with three traceability matrices, current and target state with impact analysis, then Technical Analysis and Development Analysis. The Part A backbone always renders, carrying `N/A` or `EKLENECEK` (Locked 33). |
36
+ | `corporate` | `analysis-template-corporate.md` | Requirements document. `IG -> UC -> FG` spine with three traceability matrices, current and target state with impact analysis, then Technical Analysis and Development Analysis. The Part A backbone always renders, carrying `N/A` or `EKLENECEK` (Locked 32). |
37
37
 
38
38
  One run emits one profile. A missing input never blocks either profile: the gap is written as `EKLENECEK` and raised as a Section 20 open question rather than halting the run.
39
39
 
40
- **Stack is optional** (Locked 35). When no platform is selected the run still completes: everything that does not need a target repository renders in full, and only the development layer plus the Pass B projection are skipped, with a Section 20 row recording why. The output is a single file at `~/Desktop/multiAgentAnalysis/<feature-name>/<feature>.md` instead of one per repo: without a repo there is no working tree for the usual `analysis/` path to be relative to, and the current working directory is never written to. The Phase 3.5 picker shows the resolved path and accepts an override.
40
+ **Stack is optional** (Locked 34). When no platform is selected the run still completes: everything that does not need a target repository renders in full, and only the development layer plus the Pass B projection are skipped, with a Section 20 row recording why. The output is a single file at `~/Desktop/multiAgentAnalysis/<feature-name>/<feature>.md` instead of one per repo: without a repo there is no working tree for the usual `analysis/` path to be relative to, and the current working directory is never written to. The Phase 3.5 picker shows the resolved path and accepts an override.
41
41
 
42
42
  ## Template
43
43
 
44
- v3 template at `$HOME/.claude/multi-agent-refs/analysis-template.md`. Full mode renders up to 23 main sections + footer, minus any dropped by the omission table. The analysis doc is a development handoff, so low-signal sections are default-drop even in Full: **19 Alternatives** (render only for a real 2+-option architectural decision), **22 Glossary** (render only on request or >5 unfamiliar domain terms), and **18 Rollout** (compact checklist only, dropped when the pipeline's own commit/PR/rollout phase covers it). Lite mode renders 7 main sections (1 Summary, 2 Goals + Non-Goals, 4 User Stories, 9 API Contracts, 13 Architecture, 14 Files to Add, 21 References) plus optional 23 Changelog. Section omission rule (Locked 2): zero-evidence and default-drop sections omit entirely; numbering re-flows to stay sequential `1..N` over the rendered set.
44
+ v3 template at `$HOME/.claude/multi-agent-refs/analysis-template.md`. Full mode renders up to 23 main sections + footer, minus any dropped by the omission table. The analysis doc is a development handoff, so low-signal sections are default-drop even in Full: **19 Alternatives** (render only for a real 2+-option architectural decision), **22 Glossary** (render only on request or >5 unfamiliar domain terms), and **18 Rollout** (compact checklist only, dropped when the pipeline's own commit/PR/rollout phase covers it). There is no second mode: Lite was removed in v19.0.0 because it picked a fixed list of sections while this rule picks them from evidence, and the two disagreed in both directions - a small feature with rich business rules lost Section 15, a feature with no API contract kept Section 9. Section omission rule (Locked 2): zero-evidence and default-drop sections omit entirely; numbering re-flows to stay sequential `1..N` over the rendered set.
45
45
 
46
46
  Numbering is plain Arabic numerals: `## 1. Geliştirme Özeti` / `## 1. Summary`, `## 2. Hedefler ve Karşı Hedefler` / `## 2. Goals and Non-Goals`. No special section characters; the section sign codepoint (U+00A7) is banned by `feedback_no-section-sign`.
47
47
 
@@ -59,11 +59,11 @@ Full contract: `$HOME/.claude/multi-agent-refs/analysis/evidence.md`. Fetches ev
59
59
 
60
60
  ### Phase 2, 2a, 2b - Two-pass synthesis
61
61
 
62
- Full contract: `$HOME/.claude/multi-agent-refs/analysis/synthesis.md`. Pass A builds the platform-agnostic concept layer; Phase 2a previews the resolved conventions for approval (Locked 26); Pass B projects each concept onto the selected platform with a footnote per filled cell (Locked 24).
62
+ Full contract: `$HOME/.claude/multi-agent-refs/analysis/synthesis.md`. Pass A builds the platform-agnostic concept layer; Phase 2a previews the resolved conventions for approval (Locked 25); Pass B projects each concept onto the selected platform with a footnote per filled cell (Locked 24).
63
63
 
64
64
  ### Phases 3, 3.2, 3.3, 3.5, 4, 5 - Render, review, publish, report
65
65
 
66
- Full contract: `$HOME/.claude/multi-agent-refs/analysis/render.md`. Renders one markdown file per platform, runs the **required** `ai-common-toolkit:humanizer` pass, gates on `validate-analysis-doc.mjs` and on the `build-references.mjs --check` references coverage gate (Locked 34), asks for the output destination, dispatches to Local / Confluence / Jira (a Jira issue receives a comment unless the user explicitly asks for the description, which is never overwritten without a backup and a confirmation), then reports and stops. The humanizer pass and the validator are required in every mode; a document that skipped either is not shippable.
66
+ Full contract: `$HOME/.claude/multi-agent-refs/analysis/render.md`. Renders one markdown file per platform, runs the **required** `ai-common-toolkit:humanizer` pass, gates on `validate-analysis-doc.mjs` and on the `build-references.mjs --check` references coverage gate (Locked 33), asks for the output destination, dispatches to Local / Confluence / Jira (a Jira issue receives a comment unless the user explicitly asks for the description, which is never overwritten without a backup and a confirmation), then reports and stops. The humanizer pass and the validator are required in every mode; a document that skipped either is not shippable.
67
67
 
68
68
  ### Resume contract
69
69
 
@@ -131,7 +131,7 @@ When `phase == "cancelled_at_pass_b_preview"`:
131
131
  - The minimum possible output (per per-platform file) is `1. Scope` + `7. Development Plan` (both always-present).
132
132
  - If Confluence or Jira POST returns 401 / 403 during Phase 4, surface the error and offer Local fallback (the local drafts in `/tmp/` are still on disk; copying them into the repo working tree is always available).
133
133
  - The `analysis/` directory is not in `.gitignore`; the user can `git add analysis/` manually. No auto-commit.
134
- - **Per-platform file naming**: `analysis/<feature>-<platform>.md`. The `<platform>` slug is lowercase, one of `ios | android | web | backend` for a repo-backed run, or `mobile | web` for the channels a repo-less run derives from its evidence (Locked 35). `web` is the pre-`web` spelling and is still read back for older state and documents. The `<feature>` slug preserves the user's feature name with whitespace replaced by `-` (e.g. `User Profile` -> `UserProfile` or `Item-Status` depending on input shape; the renderer trims and de-duplicates dashes).
134
+ - **Per-platform file naming**: `analysis/<feature>-<platform>.md`. The `<platform>` slug is lowercase, one of `ios | android | web | backend` for a repo-backed run, or `mobile | web` for the channels a repo-less run derives from its evidence (Locked 34). `web` is the pre-`web` spelling and is still read back for older state and documents. The `<feature>` slug preserves the user's feature name with whitespace replaced by `-` (e.g. `User Profile` -> `UserProfile` or `Item-Status` depending on input shape; the renderer trims and de-duplicates dashes).
135
135
  - **Standards binding (the Standards question)**: When `evidence.standards[]` is non-empty, every decision in Section 13 (Architecture Plan, corporate Section 17) must cite the binding source in its 13.7 Standards-binding table. The renderer enforces this by failing render if any architectural decision has no `cite:` reference; the user is prompted to either tighten the source or add a Risk row acknowledging the missing citation.
136
136
  - **Firebase ingestion (the Firebase question)**: Console URLs are never fetched (auth-gated). Only `:names` and `:schema` inputs feed `evidence.firebase[]`. Section 11 Analytics (corporate Section 13) emits per-platform snippets but the events table itself is shared across all per-platform files (the rules / event vocabulary is one product invariant).
137
137
  - **Wiki access fallback chain**: Phase 1 `wiki` fetcher tries (a) `git clone .wiki.git`, (b) `gh api repos/.../contents/<file>.md`, (c) raw `WebFetch` of the page URL. Only after all three fail does the entry land in `fetchErrors[]`.
@@ -153,7 +153,7 @@ Two channels run in parallel at every phase boundary:
153
153
  ```bash
154
154
  # Phase 0, very first shell call (every CLI):
155
155
  bash $HOME/.claude/scripts/phase-tracker.sh init "$TASK_ID"
156
- for p in "0:Init" "1:Analysis" "2:Planning" "4:Review" "6:Commit" "7:Report"; do
156
+ for p in "0:Init" "1:Plan" "3:Review" "4:Commit" "5:Report"; do
157
157
  bash $HOME/.claude/scripts/phase-tracker.sh add "${p%%:*}" "${p#*:}"
158
158
  done
159
159
  bash $HOME/.claude/scripts/phase-tracker.sh update 0 in_progress
@@ -173,7 +173,7 @@ In Claude Code the agent MUST also drive the native TaskList widget so the user
173
173
 
174
174
  ```text
175
175
  # Register one tile per phase, capture the taskId, persist it:
176
- for each phase in 0:Init, 1:Analysis, 2:Planning, 4:Review, 6:Commit, 7:Report:
176
+ for each phase in 0:Init, 1:Plan, 3:Review, 4:Commit, 5:Report:
177
177
  TaskCreate({ subject: "Phase <N>: <Name>", activeForm: "<doing-form>" })
178
178
  -> returns taskId
179
179
  bash $HOME/.claude/scripts/phase-tracker.sh meta <N> tasklist_id "<taskId>"
@@ -190,11 +190,11 @@ TaskUpdate({ taskId: <saved>, status: "completed" })
190
190
  bash $HOME/.claude/scripts/phase-tracker.sh update <N> completed
191
191
  ```
192
192
 
193
- `analysis` mode does NOT TaskCreate phases 3/5 - those are not part of the `analysis` phase set (`0:Init 1:Analysis 2:Planning 4:Review 6:Commit 7:Report`). Only register tiles for the active set.
193
+ `analysis` mode does NOT TaskCreate phases 2 - those are not part of the `analysis` phase set (`0:Init 1:Plan 3:Review 4:Commit 5:Report`). Only register tiles for the active set.
194
194
 
195
195
  #### TaskCreate ordering (strict)
196
196
 
197
- **All TaskCreate calls in a batch fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `analysis` that means: Phase 0 → Phase 1 → Phase 2 → Phase 4 → Phase 6 → Phase 7. The native widget renders by creation order, not by phase number - out-of-order calls produce visually scrambled tile stacks. Full ordering contract in `$HOME/.claude/multi-agent-refs/tracker-contract.md` section "TaskCreate ordering (strict)".
197
+ **All TaskCreate calls in a batch fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `analysis` that means: Phase 0 → Phase 1 → Phase 3 → Phase 4 → Phase 5. The native widget renders by creation order, not by phase number - out-of-order calls produce visually scrambled tile stacks. Full ordering contract in `$HOME/.claude/multi-agent-refs/tracker-contract.md` section "TaskCreate ordering (strict)".
198
198
 
199
199
  ### Visual channel - Copilot CLI / plain shell
200
200
 
@@ -19,7 +19,7 @@ Companion command to `/multi-agent:analysis`. Takes an `analysis/<feature>-<plat
19
19
  - **Locked 6 (no auto-commit).** The command rewrites the doc file(s) but never runs `git add` or `git commit`.
20
20
  - **Locked 7 (humanizer punctuation).** Every fragment this command writes into the doc uses ASCII punctuation only: no em-dash (U+2014), en-dash (U+2013), ellipsis (U+2026), curly quotes, or section sign. Diacritics are preserved verbatim (Turkish letters stay as-is; never ASCII-fold prose). Run the verification grep from `analysis.md` Phase 3 step 3 after the final save.
21
21
  - **Locked 24 (Pass B footnote).** When a resolution overrides a convention cell in Section 13 (or any per-platform projection), the cell's footnote is rewritten to `^[user-override: resolved via analysis-resolve <date>]`.
22
- - **Locked 30 (no MCP outside analysis phase).** This command makes NO Figma MCP calls, no `api.figma.com` requests, no `figma.com/design/...` fetches. A row that genuinely needs new design information gets only `Defer` plus a printed recommendation to re-run `/multi-agent:analysis` for that input. Repo reads and `~/.claude/lib/extract-conventions.sh` re-runs are allowed (they are local evidence, not design fetches).
22
+ - **Locked 29 (no MCP outside analysis phase).** This command makes NO Figma MCP calls, no `api.figma.com` requests, no `figma.com/design/...` fetches. A row that genuinely needs new design information gets only `Defer` plus a printed recommendation to re-run `/multi-agent:analysis` for that input. Repo reads and `~/.claude/lib/extract-conventions.sh` re-runs are allowed (they are local evidence, not design fetches).
23
23
 
24
24
  ## Engine
25
25
 
@@ -61,6 +61,6 @@ Inherited decisions: `$HOME/.claude/multi-agent-refs/analysis/locked.md`.
61
61
 
62
62
  ## Notes
63
63
 
64
- - This command is downstream-safe: it edits only the analysis doc, so the Locked 30 contract (analysis doc as the sole design source for Phase 2+) is strengthened, not weakened - dev phases consume a doc with fewer open holes.
64
+ - This command is downstream-safe: it edits only the analysis doc, so the Locked 29 contract (analysis doc as the sole design source for Phase 2+) is strengthened, not weakened - dev phases consume a doc with fewer open holes.
65
65
  - The resolver is idempotent over `Karar verildi / Decided` rows: re-running skips them.
66
66
  - When the session no longer holds `state.analysisSpec`, everything still works: evidence candidates fall back to what the doc itself cites, and repo candidates come from the Phase 1 subagent.
@@ -17,9 +17,9 @@ Run the task end-to-end with no confirmations.
17
17
  | Phase | Normal | Autopilot |
18
18
  |-----|--------|-----------|
19
19
  | Phase 2 (Plan Approval Gate) | Clarification (max 2 rounds) + approval loop - user confirms / cancels / sends free text | **Gate skipped** - log the plan, jump straight to Phase 3 (autopilot contract: zero interaction) |
20
- | Phase 5 (Test) | "Want to test?" → wait | Skip → Phase 6 |
21
- | Phase 6 (Commit) | "Commit?" → wait | Auto-commit + push |
22
- | Phase 6 (PR) | "Open PR?" → wait | Auto-create PR |
20
+ | Phase 5 (Test) | "Want to test?" → wait | Skip → Phase 4 |
21
+ | Phase 4 (Commit) | "Commit?" → wait | Auto-commit + push |
22
+ | Phase 4 (PR) | "Open PR?" → wait | Auto-create PR |
23
23
 
24
24
  ## What is NEVER skipped
25
25
 
@@ -67,7 +67,7 @@ Two channels run in parallel at every phase boundary:
67
67
  ```bash
68
68
  # Phase 0, very first shell call (every CLI):
69
69
  bash $HOME/.claude/scripts/phase-tracker.sh init "$TASK_ID"
70
- for p in "0:Init" "1:Analysis" "2:Planning" "3:Dev" "4:Review" "6:Commit" "7:Report"; do
70
+ for p in "0:Init" "1:Plan" "2:Dev" "3:Review" "4:Commit" "5:Report"; do
71
71
  bash $HOME/.claude/scripts/phase-tracker.sh add "${p%%:*}" "${p#*:}"
72
72
  done
73
73
  bash $HOME/.claude/scripts/phase-tracker.sh update 0 in_progress
@@ -87,7 +87,7 @@ In Claude Code the agent MUST also drive the native TaskList widget so the user
87
87
 
88
88
  ```text
89
89
  # Register one tile per phase, capture the taskId, persist it:
90
- for each phase in 0:Init, 1:Analysis, 2:Planning, 3:Dev, 4:Review, 6:Commit, 7:Report:
90
+ for each phase in 0:Init, 1:Plan, 2:Dev, 3:Review, 4:Commit, 5:Report:
91
91
  TaskCreate({ subject: "Phase <N>: <Name>", activeForm: "<doing-form>" })
92
92
  -> returns taskId
93
93
  bash $HOME/.claude/scripts/phase-tracker.sh meta <N> tasklist_id "<taskId>"
@@ -104,11 +104,11 @@ TaskUpdate({ taskId: <saved>, status: "completed" })
104
104
  bash $HOME/.claude/scripts/phase-tracker.sh update <N> completed
105
105
  ```
106
106
 
107
- `autopilot` mode does NOT TaskCreate phases 5 - those are not part of the `autopilot` phase set (`0:Init 1:Analysis 2:Planning 3:Dev 4:Review 6:Commit 7:Report`). Only register tiles for the active set.
107
+ `autopilot` mode TaskCreates all 6 phases (no phase is skipped).
108
108
 
109
109
  #### TaskCreate ordering (strict)
110
110
 
111
- **All TaskCreate calls in a batch fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `autopilot` that means: Phase 0 → Phase 1 → Phase 2 → Phase 3 → Phase 4 → Phase 6 → Phase 7. The native widget renders by creation order, not by phase number - out-of-order calls produce visually scrambled tile stacks. Full ordering contract in `$HOME/.claude/multi-agent-refs/tracker-contract.md` section "TaskCreate ordering (strict)".
111
+ **All TaskCreate calls in a batch fire in strict phase-number order BEFORE any TaskUpdate is applied.** For `autopilot` that means: Phase 0 → Phase 1 → Phase 2 → Phase 3 → Phase 4 → Phase 5. The native widget renders by creation order, not by phase number - out-of-order calls produce visually scrambled tile stacks. Full ordering contract in `$HOME/.claude/multi-agent-refs/tracker-contract.md` section "TaskCreate ordering (strict)".
112
112
 
113
113
  ### Visual channel - Copilot CLI / plain shell
114
114
 
@@ -1,13 +1,13 @@
1
1
  ---
2
- description: "Multi-channel reporter - Jira/Confluence/Wiki/PR description/Board status. Multi-select channels + content, humanizer pass, reviewer-preserving Bitbucket PR PUT, GitHub Projects v2 board status move. Phase 7 delegates to this skill; users can invoke post-hoc by Jira ID / PR URL / branch."
3
- description-tr: "Çok kanallı raporlayıcı - Jira/Confluence/Wiki/PR açıklaması/Board durumu. Çoklu kanal + içerik seçimi, humanizer geçişi, reviewer'ı koruyan Bitbucket PR PUT, GitHub Projects v2 board durum taşıma. Faz 7 bu skill'e delege eder; Jira ID / PR URL / branch ile sonradan da çağrılabilir."
2
+ description: "Multi-channel reporter - Jira/Confluence/Wiki/PR description/Board status. Multi-select channels + content, humanizer pass, reviewer-preserving Bitbucket PR PUT, GitHub Projects v2 board status move. Phase 5 delegates to this skill; users can invoke post-hoc by Jira ID / PR URL / branch."
3
+ description-tr: "Çok kanallı raporlayıcı - Jira/Confluence/Wiki/PR açıklaması/Board durumu. Çoklu kanal + içerik seçimi, humanizer geçişi, reviewer'ı koruyan Bitbucket PR PUT, GitHub Projects v2 board durum taşıma. Faz 5 bu skill'e delege eder; Jira ID / PR URL / branch ile sonradan da çağrılabilir."
4
4
  argument-hint: '<Jira-id | PR-url | #N | Jira-url> [--channels pr,jira,confluence,wiki,board] [--content normal,technical,test,auto-diff,note] [--message "..."] [--message-file path] [--board-status <key>] [--dry-run] [--append] [--ready]'
5
5
  allowed-tools: Read, Write, Edit, Bash, Grep, WebFetch, AskUserQuestion
6
6
  ---
7
7
 
8
8
  # /multi-agent channels - Multi-Channel Reporter
9
9
 
10
- > **TLDR** - Single entry point for posting task reports to external channels. Supports Jira, Confluence, Wiki (component-only), and PR description updates. Multi-select channels × multi-select content sources. Phase 7 of the pipeline delegates to this command; users can also invoke it post-hoc by Jira ID / PR URL / branch.
10
+ > **TLDR** - Single entry point for posting task reports to external channels. Supports Jira, Confluence, Wiki (component-only), and PR description updates. Multi-select channels × multi-select content sources. Phase 5 of the pipeline delegates to this command; users can also invoke it post-hoc by Jira ID / PR URL / branch.
11
11
  >
12
12
  > Replaces the old `enrich` command - all enrich capabilities (diff auto-summarize, manual mode, reviewer-preserving Bitbucket PR PUT) preserved and extended with two additional channels.
13
13
 
@@ -135,7 +135,7 @@ Then 3b renders:
135
135
  - "Wiki" unselectable unless `state.taskType === "component"` AND `figmaConfig.wiki.enabled === true`. If greyed, show reason: `"(no figma-config or taskType != component)"`.
136
136
  - "Board" unselectable unless `figmaConfig.board.enabled === true` AND `figmaConfig.board.provider === "github-projects-v2"` AND `figmaConfig.github.projectV2Id` set. If greyed, show reason: `"(no figma-config.board or projectV2Id missing)"`. Default target column: `inReview`.
137
137
  - "Normal analiz" + "Test senaryoları" unselectable if no pipeline log found. Reason: `"(no pipeline log for PROJ-12345)"`.
138
- - "Teknik analiz" unselectable if no Phase 2 planning log AND no PR diff available. Reason: `"(no technical source - need Phase 2 plan or PR diff)"`.
138
+ - "Teknik analiz" unselectable if no Phase 1 planning log AND no PR diff available. Reason: `"(no technical source - need Phase 1 plan or PR diff)"`.
139
139
  - "Auto-diff" unselectable if no PR found. Reason: `"(no PR linked to this target)"`.
140
140
  - "Manuel not" always available.
141
141
  - "Cost özeti" unselectable if `phase-tracker.sh cost total` prints `-` (no priced token tallies; there is no `status` action) AND no `otel-spans.jsonl` exists for the task. Reason: `"(no tracker data - set MULTI_AGENT_OTEL_SPANS=1 or enable token tracking)"`.
@@ -152,7 +152,7 @@ Non-interactive in three cases - menu skipped entirely, flag values or prefs u
152
152
  | Mode | Behavior |
153
153
  |---|---|
154
154
  | `--channels X,Y` + `--content A,B` flags | Exact flag values, no menu. |
155
- | `autopilot` (Phase 7 delegate) | Reads `prefs.global.reportChannels` + `prefs.global.reportContent` - per Phase 7 autopilot-pause contract, Phase 7 STILL pauses before calling channels but pre-fills menu from prefs. Post-hoc `/channels` in autopilot mode uses prefs directly. |
155
+ | `autopilot` (Phase 5 delegate) | Reads `prefs.global.reportChannels` + `prefs.global.reportContent` - per Phase 5 autopilot-pause contract, Phase 5 STILL pauses before calling channels but pre-fills menu from prefs. Post-hoc `/channels` in autopilot mode uses prefs directly. |
156
156
  | `--dry-run` | Runs menu, generates output, prints to stdout, DOES NOT post. |
157
157
 
158
158
  ### Step 5 - Generator
@@ -178,7 +178,7 @@ lead reads before deciding how wide to test.
178
178
  | Content option | Generated section |
179
179
  |---|---|
180
180
  | Normal analiz | `### Analysis` - impact summary from Phase 1, risks from Phase 4 (pipeline-log source, high-level only) |
181
- | Teknik analiz | `### Technical Details` - Changes (what/why per file group), Architecture (structural decisions, pattern changes), Dependencies (new imports/frameworks/packages). Source: Phase 2 planning + Phase 3 dev log + `git diff --stat`. **PR and Confluence only** - never rendered into a Jira comment. |
181
+ | Teknik analiz | `### Technical Details` - Changes (what/why per file group), Architecture (structural decisions, pattern changes), Dependencies (new imports/frameworks/packages). Source: Phase 1 planning + Phase 2 dev log + `git diff --stat`. **PR and Confluence only** - never rendered into a Jira comment. |
182
182
  | Test senaryoları | `### Test Scenarios` - precondition / steps / expected table (4-8 rows), user perspective |
183
183
  | Auto-diff | Old enrich Output Template verbatim - Root Cause / Solution / Changed Files / Test Scenarios |
184
184
  | Manuel not | `### Notes` - user-provided paragraph, or LLM-split into subsections if `--message` is plain text and long |
@@ -200,9 +200,9 @@ source, not that the section may be reordered or renamed.
200
200
 
201
201
  ### Technical Details ← if "Teknik analiz" selected
202
202
  #### Changes
203
- {Per changed-file-group, what changed + why - from Phase 3 dev log}
203
+ {Per changed-file-group, what changed + why - from Phase 2 dev log}
204
204
  #### Architecture
205
- {Structural decisions, pattern changes, new file layouts - from Phase 2 plan}
205
+ {Structural decisions, pattern changes, new file layouts - from Phase 1 plan}
206
206
  #### Dependencies
207
207
  {New imports / frameworks / packages - from git diff --stat, or "None"}
208
208
 
@@ -353,7 +353,7 @@ Applying the Jira table to the PR body is the recurring failure of this step: it
353
353
  {body}
354
354
  ```
355
355
 
356
- Secondary artifacts ride along as one-line intents at the bottom of the preview: Wiki page list, wiki → Jira triad comment (when Wiki is selected and the triad is active per `$HOME/.claude/multi-agent-refs/issue-jira-triad.md`), Board status move (`{from} → {to}`), GitHub issue comment + Progress-flag sync (Phase 7 Step 1.5 - same gate, see `$HOME/.claude/multi-agent-refs/phases/phase-7-report.md`).
356
+ Secondary artifacts ride along as one-line intents at the bottom of the preview: Wiki page list, wiki → Jira triad comment (when Wiki is selected and the triad is active per `$HOME/.claude/multi-agent-refs/issue-jira-triad.md`), Board status move (`{from} → {to}`), GitHub issue comment + Progress-flag sync (Phase 5 Step 1.5 - same gate, see `$HOME/.claude/multi-agent-refs/phases/phase-5-report.md`).
357
357
 
358
358
  **Then a single AskUserQuestion** (`question`/`label`/`description` in `outputLanguage`; `header` English):
359
359
 
@@ -489,18 +489,18 @@ Persist selections to `prefs.global.reportChannels` + `prefs.global.reportConten
489
489
  | Jira token missing/expired | Token Save Flow inline; skip on user-skip |
490
490
  | Wiki preconditions not met | Case B menu per `$HOME/.claude/multi-agent-refs/wiki-capture.md` |
491
491
 
492
- ## Phase 7 delegation contract
492
+ ## Phase 5 delegation contract
493
493
 
494
- Phase 7 invokes this command internally instead of running its own inline Jira/Confluence/Wiki logic. Responsibilities split:
494
+ Phase 5 invokes this command internally instead of running its own inline Jira/Confluence/Wiki logic. Responsibilities split:
495
495
 
496
496
  | Who | What |
497
497
  |---|---|
498
- | Phase 7 | Progress tracker (sub-steps 1-3), agent-log finalization (step 4), knowledge+memory capture (step 5), telemetry emission |
498
+ | Phase 5 | Progress tracker (sub-steps 1-3), agent-log finalization (step 4), knowledge+memory capture (step 5), telemetry emission |
499
499
  | `channels` | All external delivery: PR description update, Jira comment, Confluence page, Wiki pages |
500
500
 
501
- Phase 7 passes a runtime state bundle: `{jiraId, prUrl, remoteType, taskType, figmaConfig, agentState, pipelineLogPath}`. `channels` reads these directly, skips target-resolution Step 1.
501
+ Phase 5 passes a runtime state bundle: `{jiraId, prUrl, remoteType, taskType, figmaConfig, agentState, pipelineLogPath}`. `channels` reads these directly, skips target-resolution Step 1.
502
502
 
503
- **Autopilot contract:** Phase 7 ALWAYS pauses at the channels menu (breaks generic autopilot zero-interaction). 30-min timeout → session ends cleanly, task resumable via `/multi-agent:resume`. See `$HOME/.claude/multi-agent-refs/phases/modes.md` for full contract. The Step 6 body preview + approval gate follows the same split: interactive runs approve the composed bodies before dispatch; autopilot posts directly after the menu resolves.
503
+ **Autopilot contract:** Phase 5 ALWAYS pauses at the channels menu (breaks generic autopilot zero-interaction). 30-min timeout → session ends cleanly, task resumable via `/multi-agent:resume`. See `$HOME/.claude/multi-agent-refs/phases/modes.md` for full contract. The Step 6 body preview + approval gate follows the same split: interactive runs approve the composed bodies before dispatch; autopilot posts directly after the menu resolves.
504
504
 
505
505
  ## Cross-CLI parity
506
506
 
@@ -515,7 +515,7 @@ Both installations read the same source file (`$HOME/.claude/commands/multi-agen
515
515
 
516
516
  Prompts MUST be byte-identical. `smoke-cross-cli-behavior.sh` asserts this - spacing, brackets, numbering, log-line format.
517
517
 
518
- Progress emission on Copilot (no native TaskCreate UI): `bash ~/.copilot/scripts/phase-tracker.sh sub 7 <N> "<step>" <status>` - same shape as Phase 7.
518
+ Progress emission on Copilot (no native TaskCreate UI): `bash ~/.copilot/scripts/phase-tracker.sh sub 5 <N> "<step>" <status>` - same shape as Phase 5.
519
519
 
520
520
  ## Examples
521
521
 
@@ -1,19 +1,19 @@
1
1
  ---
2
- description: "Map Phase 4 triage findings to branch diff lines. Read-only post-hoc command, used after review to answer 'which finding lines up with which code change'. Use when a review finding has to be traced to the exact lines that caused it."
3
- description-tr: "Faz 4 triyaj bulgularını branch diff satırlarına eşler. Review sonrası kullanılan salt-okunur komut: hangi bulgu hangi kod değişikliğine denk geliyor sorusunu cevaplar."
2
+ description: "Map Phase 3 triage findings to branch diff lines. Read-only post-hoc command, used after review to answer 'which finding lines up with which code change'. Use when a review finding has to be traced to the exact lines that caused it."
3
+ description-tr: "Faz 3 triyaj bulgularını branch diff satırlarına eşler. Review sonrası kullanılan salt-okunur komut: hangi bulgu hangi kod değişikliğine denk geliyor sorusunu cevaplar."
4
4
  argument-hint: "[#task-id | --triage <path> | --state <path>] [--branch <name>] [--base <name>]"
5
5
  ---
6
6
 
7
7
  # multi-agent diff-explain - Phase 4 Triage to Diff Bridge
8
8
 
9
- Maps the Phase 4 triage output (`accepted` / `deferred` / `rejected`) onto the branch's `git diff`. Every finding lands inline with the matching file / line hunk.
9
+ Maps the Phase 3 triage output (`accepted` / `deferred` / `rejected`) onto the branch's `git diff`. Every finding lands inline with the matching file / line hunk.
10
10
 
11
11
  **This command has no side effects.** It runs `git diff` and prints markdown.
12
12
 
13
13
  ## When to use it
14
14
 
15
15
  - Between Phase 4 and Phase 5/6: answers "5 findings - which one belongs to which file?"
16
- - Phase 7 reporting: a "review summary with code context" block to embed in the Wiki / Confluence output.
16
+ - Phase 5 reporting: a "review summary with code context" block to embed in the Wiki / Confluence output.
17
17
  - Post-hoc audit: for a closed PR, a "what did review flag, and how did the code change" diff.
18
18
 
19
19
  ## Steps
@@ -39,7 +39,7 @@ Maps the Phase 4 triage output (`accepted` / `deferred` / `rejected`) onto the b
39
39
 
40
40
  4. **Annotate the output** (optional):
41
41
  - Whether every blocking finding actually got touched (Phase 3 fix-coverage check)
42
- - Whether every deferred finding is on the Phase 7 follow-up list
42
+ - Whether every deferred finding is on the Phase 5 follow-up list
43
43
 
44
44
  ## Output template
45
45
 
@@ -57,7 +57,7 @@ Maps the Phase 4 triage output (`accepted` / `deferred` / `rejected`) onto the b
57
57
  > Race condition: order total computed twice without lock
58
58
  **Fix:** Compute total once inside the existing transaction block
59
59
  ```diff
60
- @@ -98,5 +98,7 @@ ...
60
+ -98,5 +98,7 ...
61
61
  const total = sum(items);
62
62
  + const total2 = sum(items); // duplicate
63
63
  await chargeCard(total);
@@ -120,7 +120,7 @@ deletes nothing until you confirm.
120
120
  | `unattributed` | a worktree with no run state. **Never removed, whatever the flags.** `.worktrees/` is not exclusively ours, and nothing distinguishes a hand-made worktree from a pipeline one whose log was pruned. Report the list and its size; the user decides |
121
121
 
122
122
  Three rules hold with or without `--yes`, and they are why this is safe to
123
- offer: a run waiting on you (open PR, Phase 6/7, `awaiting_input`) is never
123
+ offer: a run waiting on you (open PR, Phase 4/5, `awaiting_input`) is never
124
124
  touched; a path outside `<repo>/.worktrees/` is never removed, which matters
125
125
  because four state files on the measured machine record the REPO ROOT as
126
126
  their `worktreePath`; and uncommitted work is stashed rather than lost.
@@ -10,7 +10,7 @@ argument-hint: "[build | refresh | ask \"<question>\" | affected \"<symbol>\" |
10
10
 
11
11
  A code graph is a map of what this repo declares and what refers to what, built by
12
12
  regex over comment-stripped source. It exists so Phase 1 can narrow its Explore
13
- fan-out and Phase 7 can refresh `~/.claude/knowledge/<project>/` without an LLM
13
+ fan-out and Phase 5 can refresh `~/.claude/knowledge/<project>/` without an LLM
14
14
  pass. It answers "where does this live" and "what depends on this". It does not
15
15
  answer "what calls this at runtime": call graphs and type resolution need a real
16
16
  parser, which would be an npm runtime dependency, and ADR-0004 forbids one.