@mmerterden/multi-agent-pipeline 19.1.3 → 20.0.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 (138) hide show
  1. package/CHANGELOG.md +150 -7
  2. package/README.md +60 -50
  3. package/README.tr.md +55 -46
  4. package/docs/adr/0002-instruction-driven-flag.md +6 -5
  5. package/docs/adr/0005-lazy-phase-docs.md +2 -2
  6. package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +1 -0
  7. package/docs/adr/0009-claude-stack-skills-plugin-only.md +1 -1
  8. package/docs/adr/0010-own-code-graph.md +5 -4
  9. package/docs/adr/0012-macos-only.md +2 -2
  10. package/docs/adr/0013-lsp-code-intelligence.md +2 -2
  11. package/docs/adr/0014-six-phase-consolidation.md +9 -9
  12. package/docs/adr/0015-one-pipeline-no-depth-answer.md +83 -0
  13. package/docs/adr/0016-the-run-shape-is-asked-not-typed.md +69 -0
  14. package/docs/adr/README.md +18 -16
  15. package/docs/architecture.md +2 -2
  16. package/docs/ecosystem.md +8 -9
  17. package/docs/facts.json +5 -8
  18. package/docs/features.md +4 -5
  19. package/docs/token-budget-history.md +1 -1
  20. package/install/_common.mjs +14 -6
  21. package/install/_mcp-register.mjs +1 -1
  22. package/install/_plugin-skills.mjs +3 -4
  23. package/install/copilot.mjs +5 -5
  24. package/install/templates/copilot-instructions.md +7 -16
  25. package/manifest.json +135 -138
  26. package/package.json +1 -1
  27. package/pipeline/commands/multi-agent/SKILL.md +6 -8
  28. package/pipeline/commands/multi-agent/analysis/SKILL.md +2 -0
  29. package/pipeline/commands/multi-agent/analysis-jira/SKILL.md +2 -0
  30. package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +2 -0
  31. package/pipeline/commands/multi-agent/autopilot/SKILL.md +2 -0
  32. package/pipeline/commands/multi-agent/autopilot-on/SKILL.md +2 -0
  33. package/pipeline/commands/multi-agent/autopilot-status/SKILL.md +1 -1
  34. package/pipeline/commands/multi-agent/build-optimize/SKILL.md +2 -0
  35. package/pipeline/commands/multi-agent/channels/SKILL.md +1 -1
  36. package/pipeline/commands/multi-agent/create-jira/SKILL.md +2 -0
  37. package/pipeline/commands/multi-agent/design-check/SKILL.md +1 -1
  38. package/pipeline/commands/multi-agent/forget/SKILL.md +2 -0
  39. package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +4 -2
  40. package/pipeline/commands/multi-agent/help/SKILL.md +21 -27
  41. package/pipeline/commands/multi-agent/ios-coding-standard/SKILL.md +5 -4
  42. package/pipeline/commands/multi-agent/issue/SKILL.md +2 -0
  43. package/pipeline/commands/multi-agent/jira/SKILL.md +2 -0
  44. package/pipeline/commands/multi-agent/language/SKILL.md +2 -0
  45. package/pipeline/commands/multi-agent/prune-logs/SKILL.md +2 -0
  46. package/pipeline/commands/multi-agent/purge/SKILL.md +2 -0
  47. package/pipeline/commands/multi-agent/resume/SKILL.md +177 -48
  48. package/pipeline/commands/multi-agent/save/SKILL.md +2 -0
  49. package/pipeline/commands/multi-agent/setup/SKILL.md +4 -4
  50. package/pipeline/commands/multi-agent/stack/SKILL.md +2 -0
  51. package/pipeline/commands/multi-agent/sync/SKILL.md +6 -7
  52. package/pipeline/commands/multi-agent/test-screenshots/SKILL.md +2 -0
  53. package/pipeline/commands/multi-agent/uninstall/SKILL.md +2 -0
  54. package/pipeline/commands/sim-test.md +4 -4
  55. package/pipeline/lib/repo-hygiene.sh +1 -1
  56. package/pipeline/multi-agent-refs/analysis/locked.md +2 -2
  57. package/pipeline/multi-agent-refs/analysis/render.md +1 -1
  58. package/pipeline/multi-agent-refs/analysis/resolve.md +1 -1
  59. package/pipeline/multi-agent-refs/analysis/synthesis.md +1 -1
  60. package/pipeline/multi-agent-refs/analysis-template.md +1 -1
  61. package/pipeline/multi-agent-refs/channels/jira.md +8 -8
  62. package/pipeline/multi-agent-refs/component-dispatch.md +0 -8
  63. package/pipeline/multi-agent-refs/cross-cli-contract.md +10 -11
  64. package/pipeline/multi-agent-refs/features/base-branch-evidence.md +2 -2
  65. package/pipeline/multi-agent-refs/features/external-context-injection.md +2 -0
  66. package/pipeline/multi-agent-refs/features/review-delta.md +1 -1
  67. package/pipeline/multi-agent-refs/features/review-multi-repo.md +3 -3
  68. package/pipeline/multi-agent-refs/features/scope-check.md +1 -1
  69. package/pipeline/multi-agent-refs/features/skill-conformance.md +1 -1
  70. package/pipeline/multi-agent-refs/features/stack-skill-routing.md +1 -1
  71. package/pipeline/multi-agent-refs/features/visual-evidence.md +2 -1
  72. package/pipeline/multi-agent-refs/features/worktree-finalize.md +1 -1
  73. package/pipeline/multi-agent-refs/generate-issue.md +2 -0
  74. package/pipeline/multi-agent-refs/issue-jira-triad.md +2 -0
  75. package/pipeline/multi-agent-refs/keychain.md +2 -0
  76. package/pipeline/multi-agent-refs/knowledge.md +0 -7
  77. package/pipeline/multi-agent-refs/outside-the-pipeline.md +1 -1
  78. package/pipeline/multi-agent-refs/payload-contracts.md +1 -1
  79. package/pipeline/multi-agent-refs/phases/modes.md +32 -108
  80. package/pipeline/multi-agent-refs/phases/operations.md +3 -1
  81. package/pipeline/multi-agent-refs/phases/phase-0-init.md +23 -42
  82. package/pipeline/multi-agent-refs/phases/phase-1-plan.md +10 -21
  83. package/pipeline/multi-agent-refs/phases/phase-2-dev.md +13 -44
  84. package/pipeline/multi-agent-refs/phases/phase-3-review.md +19 -22
  85. package/pipeline/multi-agent-refs/phases/phase-4-commit.md +6 -6
  86. package/pipeline/multi-agent-refs/phases/phase-5-report.md +2 -2
  87. package/pipeline/multi-agent-refs/phases.md +9 -11
  88. package/pipeline/multi-agent-refs/progress-contract.md +1 -1
  89. package/pipeline/multi-agent-refs/readiness-review.md +2 -0
  90. package/pipeline/multi-agent-refs/rules.md +2 -2
  91. package/pipeline/multi-agent-refs/tracker-contract.md +9 -40
  92. package/pipeline/multi-agent-refs/wiki-capture.md +3 -2
  93. package/pipeline/preferences-template.json +2 -2
  94. package/pipeline/rules/figma-pipeline.md +1 -1
  95. package/pipeline/schemas/agent-state.schema.json +5 -10
  96. package/pipeline/schemas/migrations/prefs-2.7.0-to-2.8.0.mjs +33 -0
  97. package/pipeline/schemas/phases.json +3 -24
  98. package/pipeline/schemas/prefs.schema.json +5 -5
  99. package/pipeline/scripts/autopilot-runner.mjs +6 -7
  100. package/pipeline/scripts/build-references.mjs +3 -3
  101. package/pipeline/scripts/build-stack-plugins.mjs +1 -1
  102. package/pipeline/scripts/bulk-read.sh +6 -4
  103. package/pipeline/scripts/cost-table.json +1 -1
  104. package/pipeline/scripts/doctor.mjs +4 -4
  105. package/pipeline/scripts/gc-refs.sh +1 -1
  106. package/pipeline/scripts/gen-mode-dispatch.mjs +11 -41
  107. package/pipeline/scripts/learnings-ledger.mjs +1 -1
  108. package/pipeline/scripts/match-skills.mjs +4 -4
  109. package/pipeline/scripts/memory-load.sh +3 -3
  110. package/pipeline/scripts/migrate-prefs.mjs +18 -17
  111. package/pipeline/scripts/phase-tracker.sh +2 -2
  112. package/pipeline/scripts/phase0-exit-gate.mjs +1 -1
  113. package/pipeline/scripts/plan-coverage-gate.mjs +6 -6
  114. package/pipeline/scripts/run-aggregator.mjs +3 -3
  115. package/pipeline/scripts/runs-index.mjs +7 -7
  116. package/pipeline/scripts/scope-check-gate.mjs +1 -1
  117. package/pipeline/scripts/smoke-schema-validation.sh +9 -12
  118. package/pipeline/scripts/usage-report.mjs +5 -7
  119. package/pipeline/scripts/validate-analysis-doc.mjs +3 -3
  120. package/pipeline/scripts/worktree-finalize.sh +2 -2
  121. package/pipeline/scripts/write-state.mjs +22 -11
  122. package/pipeline/skills/.skill-manifest.json +9 -21
  123. package/pipeline/skills/.skills-index.json +6 -39
  124. package/pipeline/skills/shared/README.md +5 -8
  125. package/pipeline/skills/shared/core/multi-agent/SKILL.md +10 -13
  126. package/pipeline/skills/shared/core/multi-agent-autopilot-status/SKILL.md +1 -1
  127. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +4 -5
  128. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +13 -16
  129. package/pipeline/skills/shared/core/multi-agent-ios-coding-standard/SKILL.md +2 -3
  130. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +51 -15
  131. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +6 -6
  132. package/pipeline/skills/skills-index.md +3 -6
  133. package/pipeline/commands/multi-agent/local/SKILL.md +0 -132
  134. package/pipeline/commands/multi-agent/local-autopilot/SKILL.md +0 -142
  135. package/pipeline/commands/multi-agent/resume-local/SKILL.md +0 -114
  136. package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +0 -41
  137. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +0 -55
  138. package/pipeline/skills/shared/core/multi-agent-resume-local/SKILL.md +0 -51
package/README.tr.md CHANGED
@@ -43,12 +43,12 @@ bak, sonra sana uyan satırı uygula:
43
43
  node -v; npm -v; command -v node npm npx
44
44
  ```
45
45
 
46
- | Gördüğün | Yapılacak |
47
- |---|---|
48
- | hiçbiri yok | Node >= 20.11 kur: `brew install node` ya da nodejs.org'dan LTS installer |
49
- | `node` çalışıyor, `npx` çalışmıyor | `npm i -g @mmerterden/multi-agent-pipeline` sonra `multi-agent-pipeline install --claude` |
50
- | nvm kurulu ama kabuk görmüyor | `source ~/.nvm/nvm.sh && nvm use --lts`, ya da yeni bir terminal aç |
51
- | npm çok eski (< 5.2, npx'ten önceki sürümler) | `npm i -g npm@latest`, ya da üstteki global kurulum satırı |
46
+ | Gördüğün | Yapılacak |
47
+ | --------------------------------------------- | ----------------------------------------------------------------------------------------- |
48
+ | hiçbiri yok | Node >= 20.11 kur: `brew install node` ya da nodejs.org'dan LTS installer |
49
+ | `node` çalışıyor, `npx` çalışmıyor | `npm i -g @mmerterden/multi-agent-pipeline` sonra `multi-agent-pipeline install --claude` |
50
+ | nvm kurulu ama kabuk görmüyor | `source ~/.nvm/nvm.sh && nvm use --lts`, ya da yeni bir terminal aç |
51
+ | npm çok eski (< 5.2, npx'ten önceki sürümler) | `npm i -g npm@latest`, ya da üstteki global kurulum satırı |
52
52
 
53
53
  Ne `npx` ne de global kurulum isteyen yol - klonla ve installer'ı doğrudan çalıştır:
54
54
 
@@ -82,7 +82,7 @@ Bir görev çalıştır - girdi tipi otomatik algılanır:
82
82
 
83
83
  Her girdi aynı kısa intake'ten geçer - **hesap → (repo) → maturity kontrolü → dev-context** - sonra Phase 0'a girer. Bir Jira id'si veya GitHub URL'i hiçbir kod yazılmadan _önce_ çekilir ve maturity-kontrol edilir; serbest-metin bu çekimi atlayıp doğrudan planlamaya geçer. Çoklu-repo görevleri dev-context adımında ekstra repo ekler.
84
84
 
85
- Onayları atlamak için `autopilot` ekle (örn. `/multi-agent:autopilot "PROJ-1234"`). Derinlik de çalışma alanı da artık bayrak değil, koşunun sorduğu iki soru: `/multi-agent` Faz 0'da önce nerede koşacağını (worktree/lokal), sonra ne kadar derin koşacağını (Tam/Kısa) sorar. `--local` ve `:local` ilkini baştan cevaplar.
85
+ Onayları atlamak için `autopilot` ekle (örn. `/multi-agent:autopilot "PROJ-1234"`). Çalışma alanı bayrak değil: koşunun kendi şekli hakkında sorduğu tek soru, Faz 0'da nerede koşacağı - worktree mi, mevcut checkout'un mu. `autopilot` bu soruyu sormadan worktree'ye karar verir.
86
86
 
87
87
  Sonra `/multi-agent:update` ile güncelle. Kaldırmak için (tokenlar korunur) `npx @mmerterden/multi-agent-pipeline uninstall`.
88
88
 
@@ -90,13 +90,12 @@ Sonra `/multi-agent:update` ile güncelle. Kaldırmak için (tokenlar korunur) `
90
90
 
91
91
  ## Nasıl çalışır
92
92
 
93
- Tek komut en fazla 6 fazı çalıştırır, riskli olanlar arasında bir kapı ile. Faz
94
- 0 geri kalanın şeklini belirleyen iki soru sorar: koşu ne kadar derin olacak
95
- (Tam mı Kısa mı) ve branch nerede yaşayacak (worktree mi, mevcut checkout'un
96
- mu):
93
+ Tek komut 6 fazı çalıştırır, riskli olanlar arasında bir kapı ile. Her koşu
94
+ tüm kümeyi taşır; Faz 0'ın şekil hakkında sorduğu tek soru branch'in nerede
95
+ yaşayacağı: worktree mi, mevcut checkout'un mu.
97
96
 
98
97
  - **0 · Init** - girdiyi ayrıştır (Jira id / GitHub URL / serbest metin), hesap + repo(lar) seç, issue'yu çek, maturity kontrolü yap.
99
- - **1 · Plan** - stack'i tespit et, codebase'i tara ve analiz dokümanını yaz; sonra onu dosya seviyesinde hedefleri olan görevlere böl ve koda dokunmadan önce **onayın için dur**. Analiz ve planlama 19.0.0'a kadar iki ayrı fazdı; derinlik seçici ikisini hep birlikte atlıyordu, çünkü tek bir karar. Codebase taraması explorer persona'sı üzerinde koşar (Sonnet).
98
+ - **1 · Plan** - stack'i tespit et, codebase'i tara ve analiz dokümanını yaz; sonra onu dosya seviyesinde hedefleri olan görevlere böl ve koda dokunmadan önce **onayın için dur**. Analiz ve planlama 19.0.0'a kadar iki ayrı fazdı; tek bir karar oldukları için tek faz. Codebase taraması explorer persona'sı üzerinde koşar (Sonnet).
100
99
  - **2 · Dev** - TDD: başarısız test → kod → yeşil, repo'nun stiline + aktif stack skill'lerine uyarak. Faz kendi kapısında biter: build, lint, test ve sır taraması, **bir kez** koşar. Review eskiden ikinci kez build ediyordu ve aradaki farkı kimse okumuyordu.
101
100
  - **3 · Review** - Dev'in ürettiği log'lara karşı **CLI-farkında paralel review** - Claude Code 3 model çalıştırır (Fable + Opus + Sonnet), Copilot CLI 3 (GPT-5.4 + Opus + Sonnet) - ve bir **Fable triage** sadece aksiyon alınabilir bulguları tutar; blocker'lar Phase 2'ye geri döner. Opsiyonel kullanıcı testi burada, bekleme durumunu koruyarak.
102
101
  - **4 · Commit/PR** - conventional commit, push (başarılı olmalı), bir PR aç (`Ref: #N`, asla otomatik kapatma).
@@ -137,7 +136,7 @@ Başarısız bir `git fetch` sessizce değil, yüksek sesle bozuluyor: liste lok
137
136
 
138
137
  ### Çalışma alanı: worktree mi lokal mi
139
138
 
140
- Faz 0 Adım 5b branch'in nerede yaşayacağını sorar. **Worktree** (`.worktrees/{id}/`) mevcut checkout'una dokunmaz; **Lokal** proje kökünde yeni bir branch'te çalışır, bu da Faz 5'i düşürür - kullanıcı-test kapısı değişikliği bir worktree'den checkout eder, ortada worktree yoktur - ve proje kökünün temiz olmasını ister. `/multi-agent:local` ve `--local` bu soruyu baştan cevaplar. Her autopilot girişi sormadan worktree'ye karar verir: gözetimsiz bir koşu nerede duruyorsa oradan commit'leyip push eder, ve bunu senin kendi checkout'unda yapmak tam olarak worktree'nin engellemek için var olduğu şeydir. `:local-autopilot` bunun açık opt-out'u.
139
+ Faz 0 Adım 5b branch'in nerede yaşayacağını sorar. **Worktree** (`.worktrees/{id}/`) mevcut checkout'una dokunmaz; **Lokal** proje kökünde yeni bir branch'te çalışır ve proje kökünün temiz olmasını ister. Bu bir soru, bayrak değil: `:local` komutu da `--local` anahtarı da yok, yani cevap koşunun nasıl yazıldığına gömülmek yerine koşunun içinde görünür. `autopilot` sormadan worktree'ye karar verir: gözetimsiz bir koşu nerede duruyorsa oradan commit'leyip push eder, ve bunu senin kendi checkout'unda yapmak tam olarak worktree'nin engellemek için var olduğu şeydir. Review'ın sonundaki manuel test önerisi de aynı cevabı izler: worktree koşusuna branch'i checkout edip test etmek isteyip istemediği sorulur, lokal koşu zaten o checkout'un içindedir, yani önerilecek bir şey yoktur.
141
140
 
142
141
  Perde arkasında: her görev kendi **git worktree**'sinde çalışır (ya da lokal seçtiğinde mevcut branch'te), commit'ler **repo'nun origin URL'inden yönlendirilen git kimliğini** kullanır, ve **çoklu-repo** görevleri repo başına worktree artı bir integration build alır. Tokenlar OS keychain'de kalır; hiçbir şey commit edilmez ya da loglanmaz. `/multi-agent:review` mevcut bir GitHub/Bitbucket PR'ını da review edebilir - `file:line`'a bağlı bulgu-başına inline yorumlar + açık bir Approve / Needs-Work durumu.
143
142
 
@@ -148,39 +147,23 @@ Bunun arkasındaki disiplin - sınırlı loop'lar, kanıt kapıları, token-büt
148
147
  | Mod | Komut | Akış |
149
148
  | --------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
150
149
  | Full | `/multi-agent "task"` | Tüm 6 faz, interaktif |
151
- | Autopilot | `/multi-agent:autopilot "task"` | 6 faz (interaktif Test kapısı atlanır), onaysız |
152
- | Local | `/multi-agent:local "task"` | İnteraktif Test kapısı hariç tam pipeline, mevcut branch (worktree yok) |
153
- | Derinlik | Faz 0 Adım 7.5'te sorulur | Full (tüm fazlar) veya Short (Dev → Review → Test → Commit → Report). Komut adı değil - `/multi-agent` ve `:local` sorar, iki autopilot girişi de her zaman Full koşar |
154
- | Ship | `/multi-agent:resume-local` | Lokal iş üzerinde review→test→commit→report kuyruğunu çalıştır |
150
+ | Autopilot | `/multi-agent:autopilot "task"` | Aynı 6 faz, onaysız; çalışma alanı worktree'ye çözülür ve Review içindeki kullanıcı-test kapısı atlanır |
155
151
  | Audit | `/multi-agent:design-check` | Mock-mode vs Figma uygunluğu, yalnızca lokal |
156
152
  | Audit | `/multi-agent:testflight-validation` | TestFlight build için pre-submission kapıları: statik archive denetimi → Apple'ın `altool --validate-app`'i → Review-Guidelines kontrolü. Yalnızca doğrular, asla yüklemez |
157
153
 
158
- Koşunun kendisinde ayarlanabilen tek şey derinlik, autopilot ve `--local`; geri kalan her şey kendi komutu. Tam katalog aşağıda.
159
- ### Pipeline derinliği: Tam mı Kısa mı
160
-
161
- Derinlik, koşunun kendi şekli hakkında sorduğu tek soru. `/multi-agent` ve `/multi-agent:local` bunu Faz 0 Adım 7.5'te sorar - issue çekildikten ve görev tipi belirlendikten sonra, çünkü öneri onlardan çıkıyor.
162
-
163
- - **Tam** hepsini koşar: Analiz kod tabanını okuyup etki alanını çıkarır, Planlama görev kırılımını yazıp onayını bekler, Dev de o plandan çalışır.
164
- - **Kısa** doğrudan Dev'den başlar: Init → Dev → Review → Test → Commit → Report. Analiz ve Planlama koşmaz; plan kapısı ve analiz dokümanı yoktur, görev listesini Dev issue'dan kendi çıkarır ve takip edecek bir planı olmadığı için Sonnet yerine **Opus** üzerinde koşar. Review, deterministik kapılar ve test paketi aynen kalır - Kısa düşünmeyi atlar, kanıtı değil.
165
-
166
- Kısa'yı düzeltmeyi ve dosyayı zaten biliyorsan seç: tek satırlık bir guard, bir metin değişikliği, bir yeniden adlandırma, bir geri alma. Neden hâlâ bir hipotezse, görevde Figma referansı ya da analiz dokümanı varsa (bunları kırılıma çeviren şey Planlama'dır) ya da değişiklik birden fazla repoya yayılıyorsa yanlış seçim olur.
167
-
168
- Widget cevabı tahmin etmek yerine takip eder: sen seçmeden önce yalnızca Faz 0 karosu çizilir, Kısa koşu Analiz karosunu hiç çizmez. İki autopilot girişi de bu soruyu sormaz, her zaman Tam koşar. Hangisinin koştuğunu `agent-state.json` `onlyDevelop` alanında tutar.
169
-
154
+ Koşunun kendisinde ayarlanabilen tek şey autopilot; geri kalan her şey kendi komutu. Tam katalog aşağıda.
170
155
 
171
156
  ## Komutlar
172
157
 
173
- `/multi-agent` ve 56 alt komut. `/multi-agent:help` aynı katalogu terminalde, `outputLanguage` ayarına göre gösterir.
158
+ `/multi-agent` ve 57 alt komut. `/multi-agent:help` aynı katalogu terminalde, `outputLanguage` ayarına göre gösterir.
174
159
 
175
160
  ### Pipeline girişleri
176
161
 
177
162
  | Komut | Ne yapar |
178
163
  | ------------------------------------- | ----------------------------------------------------------------------------------------------- |
179
- | `/multi-agent "task"` | Worktree'de tam pipeline. Faz 0'da Full mu Short mu diye sorar |
180
- | `/multi-agent:local "task"` | Aynı pipeline, mevcut branch üzerinde, worktree yok |
181
- | `/multi-agent:autopilot "task"` | Worktree, onay yok, her zaman Full |
182
- | `/multi-agent:local-autopilot "task"` | Mevcut branch, onay yok, her zaman Full |
183
- | `/multi-agent:resume-local` | Lokalde bitmiş iş için pipeline kuyruğu: Review → Build+Test → Commit/PR → Report. Dev fazı yok |
164
+ | `/multi-agent "task"` | Pipeline; branch'in nerede yaşayacağını Faz 0 sorar |
165
+ | `/multi-agent:autopilot "task"` | Aynı pipeline, gözetimsiz: worktree'ye çözülür, onay sorulmaz |
166
+ | `/multi-agent:resume` | Yarım kalan iş, iki kaynaktan da: duran koşu kaldığı yerden devam eder, arkasında koşu olmayan branch kuyruğu alır (Review → Build+Test → Commit/PR → Report) |
184
167
 
185
168
  ### Görev kontrolü
186
169
 
@@ -188,7 +171,7 @@ Widget cevabı tahmin etmek yerine takip eder: sen seçmeden önce yalnızca Faz
188
171
  | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
189
172
  | `/multi-agent:status` | Her görevin ID'si, fazı, branch'i ve durumu |
190
173
  | `/multi-agent:log [#N]` | Görevin `agent-log.md` dosyası (varsayılan: en son görev) |
191
- | `/multi-agent:resume [#N]` | Durmuş ya da hata almış görevi kaldığı fazdan sürdürür |
174
+ | `/multi-agent:resume [#N]` | Durmuş ya da hata almış görevi kaldığı fazdan sürdürür; arkasında koşu olmayan branch için kuyruğu çalıştırır |
192
175
  | `/multi-agent:kill [#N]` | Görevi durdurur, worktree'sini ve branch'ini siler |
193
176
  | `/multi-agent:steer #N "<talimat>"` | Koşan bir görevi durdurmadan düzeltir; talimat bir sonraki faz sınırında uygulanır |
194
177
  | `/multi-agent:search` | Tüm görev loglarında sıralamalı arama; `--semantic` triyaj corpus'unu sorgular |
@@ -282,11 +265,37 @@ Yukarıdaki her şey sen başlattığında başlar. Sürekli mod, aynı pipeline
282
265
  **senin seçtiğin tek makinede**, **senin seçtiğin repolardan** işi kendi başına
283
266
  alması.
284
267
 
285
- | Komut | Ne yapar |
286
- | --- | --- |
287
- | `/multi-agent:autopilot-on` | Bu makinenin izleyeceği repoları seçersin. Etiketli GitHub issue'ları ve sana atanmış + etiketli Jira maddeleri worktree'de koşar, açık PR'da durur. Listeyi değiştirmek için tekrar çalıştır |
288
- | `/multi-agent:autopilot-status` | Ne koşuyor hangi fazda, sırada ne var, ne cevap bekliyor, son bir günün PR'ları ve yuvarlanan harcama |
289
- | `/multi-agent:autopilot-off` | Zamanlamayı kaldırır. Koşan iş biter; repo seçimi saklanır |
268
+ | Komut | Ne yapar |
269
+ | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
270
+ | `/multi-agent:autopilot-on` | Bu makinenin izleyeceği repoları seçersin. Etiketli GitHub issue'ları ve sana atanmış + etiketli Jira maddeleri worktree'de koşar, açık PR'da durur. Listeyi değiştirmek için tekrar çalıştır |
271
+ | `/multi-agent:autopilot-status` | Ne koşuyor hangi fazda, sırada ne var, ne cevap bekliyor, son bir günün PR'ları ve yuvarlanan harcama |
272
+ | `/multi-agent:autopilot-off` | Zamanlamayı kaldırır. Koşan iş biter; repo seçimi saklanır |
273
+
274
+ ## Hangi model cevaplıyor
275
+
276
+ Merdiven `fable -> opus -> sonnet -> haiku`; koşu başarısızlıkta merdiveni iner.
277
+ Yönlendirme basamağı çağrı yeri başına bir politikaya seçtirir ve sen açana
278
+ kadar kapalıdır.
279
+
280
+ | Komut | Ne yapar |
281
+ | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
282
+ | `/multi-agent:route-on` | Strateji, kapsam ve hangi çağrının hangi basamağa düşeceğini söyleyen kuralları sorar. Hiçbir şey yazılmadan önce `route-config.schema.json`'a karşı doğrulanır |
283
+ | `/multi-agent:route-off` | Kapatır. Kurallar SAKLANIR, tekrar açıldığında aynı yapılandırma yeniden sorulmaz |
284
+ | `/multi-agent:route-status` | Açık mı, hangi kural nerede geçerli, son çağrılar hangi basamağa gitti, bu koşu ne tuttu |
285
+ | `/multi-agent:model` | Üst basamağı açıp kapatır ve maliyet defterinin fiyatlamasını aynı adımda onunla taşır |
286
+
287
+ **Kapsam oturumun tamamı olamaz.** `scope` yalnız `subagent`, `bulk-read` ve
288
+ `research` kabul eder; `host-session` diye bir değer yoktur ve bu bir teamül
289
+ değil, şema kapısıdır. Host'un base URL'ini sahiplenmek, bu pipeline'la ilgisi
290
+ olmayan işler dahil yaptığın her çağrıyı üçüncü bir katmandan geçirirdi.
291
+
292
+ **Dürüst sınır, ve `route-status` bunu gizlemek yerine yazar.** Anthropic
293
+ dışı bir sağlayıcıdaki basamak dağıtımda reddedilir. Hiçbir çağrı yeri model
294
+ isteğini kendisi atmıyor: yönlendirilen tek yer olan `bulk-read.sh` işi `claude`
295
+ CLI'ına devrediyor, o da yalnız bu merdiveni konuşuyor. Bir okumayı üçüncü bir
296
+ sağlayıcıya göndermek ayrıca dosyanın tam metnini onu sahiplenen hesabın dışına
297
+ çıkarırdı; bu yüzden varsayılan değil, kullanıcının verdiği bir karardır.
298
+ Yönlendirme merdivenin içinde seçim yapar.
290
299
 
291
300
  **Varsayılan olarak hiçbir şey açık değil ve hiçbir repo kendiliğinden eklenmez.**
292
301
  Paketi kurmak ne durum yazar ne zamanlama kurar; bu bir gün değişirse
@@ -305,7 +314,7 @@ PR sayısına tavan yok; sınırlar 24 saatlik yuvarlanan `costCeilingUsd` ve
305
314
  makinenin kapasitesi.
306
315
 
307
316
  **`swiftc` varsa menü çubuğu göstergesi** aynı `status.json`'ı sağ üstte çizer ve
308
- kendi kendine tazelenir: madde başına tek satır - id, Full ya da Short, kesir
317
+ kendi kendine tazelenir: madde başına tek satır - id, kesir
309
318
  olarak faz, geçen süre, stack. Madde biter bitmez satır kaybolur ve PR'ıyla
310
319
  Raporlar altında görünür. Yalnızca **çizer**; bir koşuyu başlatamaz, durduramaz,
311
320
  değiştiremez. ActivityKit macOS'ta yok, o yüzden bu bir `NSStatusItem` ve
@@ -341,17 +350,17 @@ Bu, ilgili plugin'i (+ ortak `ai-common` plugin'ini) repo'nun `.claude/settings.
341
350
 
342
351
  ## Araç desteği
343
352
 
344
- Pipeline **Claude Code**, **Copilot CLI** ve **Codex CLI** üzerinde native çalışır - üçü de aynı `pipeline/` kaynağından kurulur ve aynı 60 komutu alır.
353
+ Pipeline **Claude Code**, **Copilot CLI** ve **Codex CLI** üzerinde native çalışır - üçü de aynı `pipeline/` kaynağından kurulur ve aynı 57 komutu alır.
345
354
 
346
355
  | Araç | Bayrak | Ne kurar |
347
356
  | ----------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------- |
348
357
  | Claude Code | `--claude` (varsayılan) | slash komutları + skill'ler + agent'lar + üç `PreToolUse` hook'u (secret scan, agent-guard, okuma-boyutu geçidi) |
349
- | Copilot CLI | `--copilot` | talimatlar + 60 alt-komut skill'i + script'ler |
350
- | Codex CLI | `--codex` | bir router skill + ref olarak 60 spec + 9 agent TOML + `AGENTS.md` bloğu + `codex mcp add` |
358
+ | Copilot CLI | `--copilot` | talimatlar + 57 alt-komut skill'i + script'ler |
359
+ | Codex CLI | `--codex` | bir router skill + ref olarak 57 spec + 9 agent TOML + `AGENTS.md` bloğu + `codex mcp add` |
351
360
 
352
361
  Skill'leri stack'e göre filtrele: `--platform=ios\|android\|all`.
353
362
 
354
- **Codex neden 60 değil de tek bir skill alıyor.** Codex, keşfettiği her skill'in adını
363
+ **Codex neden 57 değil de tek bir skill alıyor.** Codex, keşfettiği her skill'in adını
355
364
  ve açıklamasını tek bir prompt bloğuna toplar ve blok taştığında girdileri hatasızca
356
365
  düşürür. 0.145 üzerinde ölçüldü: 142 skill deklare eden bir plugin kurulduğunda sadece
357
366
  75'i yüzeye çıktı ve alakasız bir kullanıcı skill'i tahliye edildi. Bu yüzden Codex'te
@@ -1,6 +1,7 @@
1
1
  # 2. `instructionDriven` flag as explicit pipeline fork
2
2
 
3
3
  **Status:** Accepted · 2025
4
+
4
5
  > **Phase numbers below are the eight-phase ones.** [ADR-0014](./0014-six-phase-consolidation.md) renumbered the contract in v19.0.0 (Phase 6 Commit is now Phase 4, Phase 7 Report is now Phase 5). The decision this ADR records is unchanged; only the labels moved, and they are left as written because an ADR records what was decided.
5
6
 
6
7
  ## Context
@@ -27,11 +28,11 @@ phases that need to fork read this flag.
27
28
  Phase 6 uses a **deterministic truth table** (documented at
28
29
  `phase-6-commit.md:25`) to dispatch:
29
30
 
30
- | `instructionDriven` | `instructionFiles.commit` exists | Action |
31
- | ------------------- | -------------------------------- | ------ |
32
- | true | yes | Instruction-driven path |
33
- | true | no | Log error, set `instructionDrivenFallback=true`, use standard path |
34
- | false | - | Standard path |
31
+ | `instructionDriven` | `instructionFiles.commit` exists | Action |
32
+ | ------------------- | -------------------------------- | ------------------------------------------------------------------ |
33
+ | true | yes | Instruction-driven path |
34
+ | true | no | Log error, set `instructionDrivenFallback=true`, use standard path |
35
+ | false | - | Standard path |
35
36
 
36
37
  ## Consequences
37
38
 
@@ -27,10 +27,10 @@ Current budgets (v3.5.0):
27
27
 
28
28
  - Phase 0: warn 3500 / max 4000 (INIT is interactive + token-heavy)
29
29
  - Phase 1: warn 1200 / max 1500
30
- - Phase 2: warn 800 / max 1000
30
+ - Phase 2: warn 800 / max 1000
31
31
  - Phase 3: warn 1500 / max 1800
32
32
  - Phase 4: warn 1800 / max 2200 (triage + 3-model review is verbose)
33
- - Phase 5: warn 600 / max 800
33
+ - Phase 5: warn 600 / max 800
34
34
  - Phase 6: warn 2400 / max 2800 (commit + PR + issue body update)
35
35
  - Phase 7: warn 1800 / max 2200
36
36
 
@@ -1,6 +1,7 @@
1
1
  # 8. Installer modularization + secret-leak defense
2
2
 
3
3
  **Status:** Accepted · 2026-04-27 (v8.0.0)
4
+
4
5
  > **Phase numbers below are the eight-phase ones.** [ADR-0014](./0014-six-phase-consolidation.md) renumbered the contract in v19.0.0 (the producer/consumer phase docs it names were renumbered). The decision this ADR records is unchanged; only the labels moved, and they are left as written because an ADR records what was decided.
5
6
 
6
7
  > **Amended v10.7.0:** the `_adapters.mjs` module and its third-party adapter dispatch were removed when the pipeline narrowed to Claude Code + Copilot CLI (see ADR 0007). `install/` now ships **8** modules, not 9; the module list below records the v8.0.0 decision as it shipped at the time.
@@ -9,7 +9,7 @@ ADR-0006 split the source tree into `shared/core/` + `shared/external/` but kept
9
9
  That left Claude Code receiving every stack skill **twice**:
10
10
 
11
11
  - 110 of 157 local skill dirs duplicated the enabled plugins byte-for-byte - ~10k tokens of duplicate descriptions per session, 4.4 MB on disk.
12
- - The local copy shadowed the plugin the moment it went stale, and it *was* stale in practice: the plugin cache and the local copy advanced on different schedules.
12
+ - The local copy shadowed the plugin the moment it went stale, and it _was_ stale in practice: the plugin cache and the local copy advanced on different schedules.
13
13
  - The duplication hid real bugs: `skill-conformance.mjs` and `match-skills.mjs` only knew the local root, so they kept working by accident - against the stale copy.
14
14
 
15
15
  ## Decision
@@ -1,6 +1,7 @@
1
1
  # 10. Our own code graph, not a forked one
2
2
 
3
3
  **Status:** Accepted · 2026-08-28
4
+
4
5
  > **Phase numbers below are the eight-phase ones.** [ADR-0014](./0014-six-phase-consolidation.md) renumbered the contract in v19.0.0 (`phase-1-analysis.md` is now `phase-1-plan.md` and Phase 7 Report is now Phase 5). The decision this ADR records is unchanged; only the labels moved, and they are left as written because an ADR records what was decided.
5
6
 
6
7
  ## Context
@@ -85,10 +86,10 @@ a repo whose files are not in the page cache costs more: the first build of the
85
86
  30,000-token retrieval budget, ground truth derived by grep and path match so
86
87
  that the impact family is stacked against the graph on purpose.
87
88
 
88
- | Arm | Coverage | Tokens/question |
89
- |---|---|---|
90
- | grep + read | 66.0% | 24,555 |
91
- | code graph | 80.4% | 18,465 |
89
+ | Arm | Coverage | Tokens/question |
90
+ | ----------- | -------- | --------------- |
91
+ | grep + read | 66.0% | 24,555 |
92
+ | code graph | 80.4% | 18,465 |
92
93
 
93
94
  The aggregate passes the gate, but the split is the useful part. On questions
94
95
  naming an exact type, `grep -lw` is the oracle: it scored 100% and the graph
@@ -50,7 +50,7 @@ constructs look like cross-platform scaffolding and are load-bearing on macOS:
50
50
 
51
51
  1. `smoke-shell-portability.sh`'s `grep -P` ban. BSD grep has no `-P`, exits 2,
52
52
  and with `2>/dev/null` that reads as "found nothing". Two gates already
53
- shipped green on macOS for exactly this reason. The rule is *more* relevant
53
+ shipped green on macOS for exactly this reason. The rule is _more_ relevant
54
54
  after this ADR, not less; only its header changes, from "supports macOS,
55
55
  Linux and Windows" to "the runtime is BSD userland and bash 3.2".
56
56
  2. The `sha256sum || shasum` ordering in seven scripts. The gate fails a file
@@ -63,7 +63,7 @@ constructs look like cross-platform scaffolding and are load-bearing on macOS:
63
63
  Together they are what keeps macOS writes on `security -i`, with the secret
64
64
  on stdin and never on argv. Simplifying one without the other silently moves
65
65
  the write onto the delegate.
66
- 5. `github-ssh-setup.sh`'s Darwin arm. `UseKeychain yes` *is* the macOS
66
+ 5. `github-ssh-setup.sh`'s Darwin arm. `UseKeychain yes` _is_ the macOS
67
67
  behaviour; the other arm is an empty string.
68
68
  6. The `stat -c ... || stat -f ...` chains. GNU-first ordering is required
69
69
  because `stat -f` is a valid GNU flag (`--file-system`) that succeeds.
@@ -25,8 +25,8 @@ and answers exactly those questions.
25
25
 
26
26
  `swiftlens/swiftlens` demonstrated the idea as an MCP server. It could not be
27
27
  used: its licence is the "SwiftLens Non-Commercial Use License 1.0", which
28
- prohibits *"Use by a company or organization for internal development or
29
- production"*, and the repository has been archived since 2025-07-17. The
28
+ prohibits _"Use by a company or organization for internal development or
29
+ production"_, and the repository has been archived since 2025-07-17. The
30
30
  underlying technology is unencumbered - SourceKit-LSP is Apple's, Apache-2.0.
31
31
 
32
32
  ## Decision
@@ -1,6 +1,6 @@
1
1
  # 14. Six phases, because two of the eight were doing the same work twice
2
2
 
3
- **Status:** Accepted · 2026-09-18 · amends [ADR-0005](./0005-lazy-phase-docs.md)
3
+ **Status:** Accepted · 2026-09-18 · amends [ADR-0005](./0005-lazy-phase-docs.md) · amended by [ADR-0015](./0015-one-pipeline-no-depth-answer.md)
4
4
 
5
5
  Three further ADRs carry the old numbers in their bodies and now carry a pointer
6
6
  back here instead of being rewritten: [ADR-0002](./0002-instruction-driven-flag.md)
@@ -39,14 +39,14 @@ left the whole tree stale and the suite would have stayed green.
39
39
 
40
40
  Six phases. The mapping:
41
41
 
42
- | Was | Is | Name | What changed |
43
- |---|---|---|---|
44
- | 0 Init | **0** | Init | Nothing |
45
- | 1 Analysis + 2 Planning | **1** | Plan | One doc, one exit gate |
46
- | 3 Dev + 4 Review Stage 1 | **2** | Dev | Verify became Dev's exit gate; the build runs once |
47
- | 4 Review (Stage 2-3) + 5 Test | **3** | Review | The user test moved inside Review |
48
- | 6 Commit | **4** | Commit | Nothing |
49
- | 7 Report | **5** | Report | Nothing |
42
+ | Was | Is | Name | What changed |
43
+ | ----------------------------- | ----- | ------ | -------------------------------------------------- |
44
+ | 0 Init | **0** | Init | Nothing |
45
+ | 1 Analysis + 2 Planning | **1** | Plan | One doc, one exit gate |
46
+ | 3 Dev + 4 Review Stage 1 | **2** | Dev | Verify became Dev's exit gate; the build runs once |
47
+ | 4 Review (Stage 2-3) + 5 Test | **3** | Review | The user test moved inside Review |
48
+ | 6 Commit | **4** | Commit | Nothing |
49
+ | 7 Report | **5** | Report | Nothing |
50
50
 
51
51
  Analysis folds into Plan rather than into Init because of the token budget,
52
52
  not preference. Init is 733 lines with a 13,400-token ceiling, already the
@@ -0,0 +1,83 @@
1
+ # 15. One pipeline: the depth question is removed
2
+
3
+ **Status:** Accepted · 2026-09-21 · amends [ADR-0014](./0014-six-phase-consolidation.md) · extended by [ADR-0016](./0016-the-run-shape-is-asked-not-typed.md)
4
+
5
+ ## Context
6
+
7
+ Two selectors decided how much work a run did, and neither read evidence.
8
+
9
+ `analysisPhase.mode` chose between a full analysis document and a Lite one
10
+ whose section list was fixed: seven sections regardless of what the feature
11
+ carried. v19.0.0 removed it, because Locked 2 already decides section presence
12
+ from evidence and a fixed list can only disagree with it - dropping a section a
13
+ feature needed, keeping one it did not.
14
+
15
+ `state.onlyDevelop` did the same thing one level up. A Phase 0 Step 7.5 picker
16
+ asked Full or Short before the run had read anything, and Short skipped the plan
17
+ phase outright. The question arrived after `taskType` and before any analysis,
18
+ so the answer was a guess about work not yet examined, and it recommended itself
19
+ from `taskType` alone: `bugfix` and `chore` were told to answer Short.
20
+
21
+ The cost of keeping it was not only the branch. Phase 2 carried a second
22
+ contract for Short runs - a different model, a different task source, five of
23
+ its nine steps recorded `not-applicable` - and the tracker deferred half its
24
+ tile registration to Step 7.5 because the phase set was unknown until the
25
+ question was answered. One pipeline had two shapes, and only one of them was
26
+ exercised by the documents that describe it.
27
+
28
+ ## Decision
29
+
30
+ There is one pipeline. Every mode runs its whole phase set, and the set is a
31
+ property of the command, known before the tracker boots.
32
+
33
+ - The Step 7.5 depth question is gone, and with it `state.onlyDevelop`.
34
+ - Phase 1 always runs. What it produces scales with the evidence the task
35
+ carries: the Locked 2 omission rule already drops a section with nothing
36
+ behind it, so a one-line chore yields a short document rather than a skipped
37
+ phase.
38
+ - The Plan Approval Gate has exactly one skip left, `autopilot`, and it is a
39
+ skip because there is nobody to ask - not because the run is a lighter kind
40
+ of run.
41
+ - Tracker registration is a single batch at Step -1. Nothing is deferred,
42
+ because no answer later in the run can add or remove a phase.
43
+ - Phase 2 reads the analysis document in steps 1, 2, 3, 5 and 6. A step whose
44
+ section is absent records `not-applicable (no <section> in this document)`
45
+ instead of aborting, which is the same rule the document's own omission rule
46
+ produces.
47
+
48
+ Two gates hold the line, and both assert the ABSENCE: `smoke-pipeline-surface.sh`
49
+ fails if `phase-0-init` grows a depth step or writes a depth key, or if any of
50
+ the four downstream readers reads one; `smoke-plan-approval-gate.sh` fails if
51
+ the gate's scope clause widens past autopilot.
52
+
53
+ ## Consequences
54
+
55
+ - **Breaking.** `state.onlyDevelop` is removed from the state schema, which has
56
+ `additionalProperties: false`, so a state file written before v20 no longer
57
+ validates. The floor is raised with `dist-tags.required` rather than a
58
+ migration: a run below the floor halts instead of reading a record written
59
+ under a contract that no longer exists.
60
+ - Every run now produces an analysis document. For a one-line change that
61
+ document is short, and it is the thing Phase 2 steps 1, 2, 3, 5 and 6 read;
62
+ before, those steps had no input at all on a Short run and recorded
63
+ `not-applicable` for a reason that was a mode rather than a measurement.
64
+ - The fastest path is no longer "answer Short". It is answering the Phase 0
65
+ workspace question with `local`, which changes where the work happens rather
66
+ than how much of the pipeline runs.
67
+ - `gen-mode-dispatch.mjs` loses its deferred-registration branch, and every
68
+ generated tracker section shrinks to one registration loop.
69
+
70
+ ## Alternatives
71
+
72
+ **Keep Short but derive it from evidence.** A run would have to read the
73
+ codebase before deciding whether to read the codebase. The measurement that
74
+ would justify skipping Phase 1 is the one Phase 1 makes.
75
+
76
+ **Keep the question and make Phase 1 cheap on a Short run.** That is Phase 1
77
+ running, with a second name. If the phase is cheap when there is little to say,
78
+ the question buys nothing; if it is not, the question is a way to avoid work the
79
+ review phase then has no record of.
80
+
81
+ **Keep the key, stop writing it.** A reader left behind keeps a dead branch
82
+ alive and invites the question back to feed it. The gates assert the key's
83
+ absence for that reason, not merely the picker's.
@@ -0,0 +1,69 @@
1
+ # 16. The shape of a run is asked, not typed into its name
2
+
3
+ **Status:** Accepted · 2026-09-21 · extends [ADR-0015](./0015-one-pipeline-no-depth-answer.md)
4
+
5
+ ## Context
6
+
7
+ ADR-0015 removed the depth answer, leaving one pipeline. Three command names
8
+ still encoded a decision the run was able to ask about:
9
+
10
+ - `/multi-agent:local` and `/multi-agent:local-autopilot` answered "where does
11
+ the branch live" before the run started. Phase 0 Step 5b asks the same
12
+ question, so the same answer had two entry points and the command names were
13
+ the one that never appeared in the run's own record: `workspaceSource` could
14
+ say `command`, and nothing downstream could tell which command.
15
+ - `/multi-agent:resume-local` named the *kind* of unfinished work rather than
16
+ the work. A user who had stopped a run and a user who had hand-written a
17
+ change both wanted to continue; they had to know which of two commands
18
+ described their situation before they could ask for help with it.
19
+
20
+ Each name also multiplied surface: two more command directories, two more
21
+ Copilot mirrors, two more rows in seven gated inventories, and a preference
22
+ block (`global.resumeLocal`) named after a command.
23
+
24
+ ## Decision
25
+
26
+ The workspace question is asked at Phase 0 Step 5b and nowhere else. The
27
+ `:local` and `:local-autopilot` commands are removed along with the `--local`
28
+ flag. `autopilot` resolves the workspace to a worktree without asking, because
29
+ an unattended run commits and pushes from wherever it stands.
30
+
31
+ `:resume-local` folds into `/multi-agent:resume`, which now builds a list from
32
+ both sources - tracked runs that stopped, and the current branch when it
33
+ carries work no run produced - and asks which one to pick up. The tail path
34
+ (Review → Commit → Report, no Plan and no Dev) is unchanged; only its entry
35
+ point moved. `global.resumeLocal` becomes `global.resume` under preferences
36
+ schema 2.8.0, carrying the `autoFix` value across.
37
+
38
+ Command inventory: 60 → 57.
39
+
40
+ ## Consequences
41
+
42
+ - A run's shape is visible in the run. `workspaceSource` and the Step 5b
43
+ answer are the record, and there is no second way to set them.
44
+ - One fewer thing to know before asking. `/multi-agent:resume` with no argument
45
+ is a complete request; the list answers the question the command names used
46
+ to ask of the user.
47
+ - The manual-test offer at the end of Review follows the workspace answer
48
+ rather than a command name: a worktree run is asked whether to check the
49
+ branch out and test it, a local run already is that checkout.
50
+ - `phases.json` modes lose their `local` flag, since no mode sets it. The
51
+ generated dispatch blocks are byte-identical, so the drift gate holds.
52
+ - Old names stay in `COMMAND_RENAMES`, so a snapshot naming them still
53
+ resolves and the removal cannot happen silently in a later release.
54
+
55
+ ## Alternatives
56
+
57
+ **Keep the commands as aliases.** An alias that answers a question the run also
58
+ asks is the exact shape this ADR removes; two paths to one answer is what made
59
+ `workspaceSource: "command"` unreadable.
60
+
61
+ **Keep `:resume-local` and have `:resume` delegate.** The user still has to
62
+ know which situation they are in to pick a verb, which is the cost being paid.
63
+
64
+ **Rename `:resume-local` to something clearer.** Any name still forces the
65
+ distinction at typing time, and the run can see the difference by looking.
66
+
67
+ **Leave `global.resumeLocal` alone.** A preference named after a command that
68
+ no longer exists is a name nobody can resolve from the code; the migration is
69
+ one hop and carries the value.
@@ -8,22 +8,24 @@ Format: lightly adapted from [Michael Nygard's ADR template](https://cognitect.c
8
8
 
9
9
  ## Index
10
10
 
11
- | # | Title | Status |
12
- |---|-------|--------|
13
- | [0001](./0001-three-model-triage.md) | CLI-aware parallel review with top-tier triage | Accepted (amended v5.2.2, v10.6.0 Fable) |
14
- | [0002](./0002-instruction-driven-flag.md) | instructionDriven flag as explicit pipeline fork | Accepted |
15
- | [0003](./0003-unified-shared-skills.md) | Unified `skills/shared/` for Claude Code + Copilot | Accepted (amended v5.3.3) |
16
- | [0004](./0004-zero-dependency-philosophy.md) | Keep the package zero-runtime-deps | Accepted |
17
- | [0005](./0005-lazy-phase-docs.md) | Lazy-loaded phase docs with per-phase token budget | Accepted (amended by 0014: eight phase docs became six) |
18
- | [0006](./0006-skills-core-external-split.md) | `shared/core/` vs `shared/external/` source org | Accepted |
19
- | [0007](./0007-multi-tool-adapter-framework.md) | Multi-tool adapter framework + token-preserving uninstall | Superseded by v10.7.0 (adapters removed; Claude Code + Copilot CLI only) |
20
- | [0008](./0008-installer-modularization-and-secret-leak-defense.md) | Installer modularization + secret-leak defense | Accepted (amended v10.7.0: adapter module removed) |
21
- | [0009](./0009-claude-stack-skills-plugin-only.md) | Claude Code stack skills are plugin-only; local copy retired | Accepted (supersedes ADR-0006 install-destination clause) |
22
- | [0010](./0010-own-code-graph.md) | Own code graph, referenced from graphify, not forked | Accepted |
23
- | [0011](./0011-dormant-ci.md) | CI dormant in-repo; pre-push gate is primary | Accepted |
24
- | [0012](./0012-macos-only.md) | macOS only; Linux and Windows support removed | Accepted |
25
- | [0013](./0013-lsp-code-intelligence.md) | A language server for the answers regex cannot give | Accepted |
26
- | [0014](./0014-six-phase-consolidation.md) | Six phases, because two of the eight were doing the same work twice | Accepted |
11
+ | # | Title | Status |
12
+ | ------------------------------------------------------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------ |
13
+ | [0001](./0001-three-model-triage.md) | CLI-aware parallel review with top-tier triage | Accepted (amended v5.2.2, v10.6.0 Fable) |
14
+ | [0002](./0002-instruction-driven-flag.md) | instructionDriven flag as explicit pipeline fork | Accepted |
15
+ | [0003](./0003-unified-shared-skills.md) | Unified `skills/shared/` for Claude Code + Copilot | Accepted (amended v5.3.3) |
16
+ | [0004](./0004-zero-dependency-philosophy.md) | Keep the package zero-runtime-deps | Accepted |
17
+ | [0005](./0005-lazy-phase-docs.md) | Lazy-loaded phase docs with per-phase token budget | Accepted (amended by 0014: eight phase docs became six) |
18
+ | [0006](./0006-skills-core-external-split.md) | `shared/core/` vs `shared/external/` source org | Accepted |
19
+ | [0007](./0007-multi-tool-adapter-framework.md) | Multi-tool adapter framework + token-preserving uninstall | Superseded by v10.7.0 (adapters removed; Claude Code + Copilot CLI only) |
20
+ | [0008](./0008-installer-modularization-and-secret-leak-defense.md) | Installer modularization + secret-leak defense | Accepted (amended v10.7.0: adapter module removed) |
21
+ | [0009](./0009-claude-stack-skills-plugin-only.md) | Claude Code stack skills are plugin-only; local copy retired | Accepted (supersedes ADR-0006 install-destination clause) |
22
+ | [0010](./0010-own-code-graph.md) | Own code graph, referenced from graphify, not forked | Accepted |
23
+ | [0011](./0011-dormant-ci.md) | CI dormant in-repo; pre-push gate is primary | Accepted |
24
+ | [0012](./0012-macos-only.md) | macOS only; Linux and Windows support removed | Accepted |
25
+ | [0013](./0013-lsp-code-intelligence.md) | A language server for the answers regex cannot give | Accepted |
26
+ | [0014](./0014-six-phase-consolidation.md) | Six phases, because two of the eight were doing the same work twice | Accepted (amended by 0015: the depth answer is removed) |
27
+ | [0015](./0015-one-pipeline-no-depth-answer.md) | One pipeline: the depth question is removed | Accepted (extended by 0016: the workspace and resume names go too) |
28
+ | [0016](./0016-the-run-shape-is-asked-not-typed.md) | The shape of a run is asked, not typed into its name | Accepted |
27
29
 
28
30
  ## Writing a New ADR
29
31
 
@@ -113,7 +113,7 @@ graph TB
113
113
  end
114
114
 
115
115
  subgraph "Pipeline Specs"
116
- CMD[commands/<br/>60 command files]
116
+ CMD[commands/<br/>57 command files]
117
117
  AGT[agents/<br/>8 agent personas]
118
118
  RUL[rules/<br/>12 domain rules]
119
119
  PHS[multi-agent-refs/phases/<br/>phase specs + contracts]
@@ -169,7 +169,7 @@ revisions of this diagram - Codex CLI and the two independently-shipped repos
169
169
  graph TD
170
170
  CC["Claude Code<br/>(source of truth)"]
171
171
  COP["Copilot CLI<br/>(instructions + 56 skills)"]
172
- COD["Codex CLI<br/>(1 router skill + 60 refs)"]
172
+ COD["Codex CLI<br/>(1 router skill + 57 refs)"]
173
173
  REPO["Pipeline Repo<br/>(npm package)"]
174
174
  WEB["Website"]
175
175
  PLUGREPO["multi-agent-plugins<br/>(5 stack plugins, own repo)"]