@mmerterden/multi-agent-pipeline 16.31.1 → 17.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.
- package/CHANGELOG.md +78 -0
- package/README.md +101 -101
- package/README.tr.md +101 -101
- package/docs/adr/0011-dormant-ci.md +10 -1
- package/docs/adr/0012-macos-only.md +98 -0
- package/docs/adr/README.md +1 -0
- package/docs/engineering.md +1 -1
- package/index.js +26 -0
- package/install/_dev-only-files.mjs +0 -1
- package/install/index.mjs +10 -0
- package/package.json +5 -3
- package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +40 -3
- package/pipeline/commands/multi-agent/help/SKILL.md +2 -2
- package/pipeline/commands/multi-agent/setup/SKILL.md +15 -7
- package/pipeline/commands/multi-agent/stack/SKILL.md +31 -32
- package/pipeline/commands/multi-agent/status/SKILL.md +17 -1
- package/pipeline/commands/multi-agent/sync/SKILL.md +24 -19
- package/pipeline/lib/stack-detect.sh +200 -0
- package/pipeline/multi-agent-refs/cross-cli-contract.md +29 -10
- package/pipeline/multi-agent-refs/features/doctor.md +15 -3
- package/pipeline/multi-agent-refs/features/visual-evidence.md +49 -1
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +14 -5
- package/pipeline/multi-agent-refs/phases/phase-1-analysis.md +26 -12
- package/pipeline/multi-agent-refs/phases/phase-3-dev.md +6 -4
- package/pipeline/multi-agent-refs/phases/phase-7-report.md +2 -3
- package/pipeline/schemas/agent-state.schema.json +99 -25
- package/pipeline/schemas/token-budget.json +4 -4
- package/pipeline/scripts/_stack-routing.mjs +91 -0
- package/pipeline/scripts/capture-resume.sh +76 -14
- package/pipeline/scripts/doctor.mjs +26 -3
- package/pipeline/scripts/gc-abandoned.sh +352 -0
- package/pipeline/scripts/usage-report.mjs +5 -5
- package/pipeline/scripts/gate-linux.sh +0 -62
package/README.tr.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
**Claude Code**, **Copilot CLI** ve **Codex CLI** için 8 fazlı bir AI geliştirme pipeline'ı. Bir Jira issue'sunu veya GitHub URL'sini tek komutla merge edilmiş bir PR'a dönüştürür - analiz → plan → TDD → review → test → commit → PR - çoklu-repo orkestrasyonu, bir plan-onay kapısı, CLI-farkında paralel review ve store-uyumluluk kontrolleriyle birlikte. Component ve Figma-to-code işleri paket içine gömülmek yerine stack başına marketplace plugin'lerine (iOS/SwiftUI, Android/Compose) devredilir, böylece component skill'leri tek bir yerde yaşar.
|
|
12
12
|
|
|
13
|
-
Claude Code, Copilot CLI ve Codex CLI üzerinde native çalışır. macOS
|
|
13
|
+
Claude Code, Copilot CLI ve Codex CLI üzerinde native çalışır. Yalnızca macOS. Sıfır runtime dependency.
|
|
14
14
|
|
|
15
15
|
📐 **[Mimari diyagramları](./docs/architecture.md)** - 8 faz akışı, çalışma modları, review/triage, Figma subphase'leri, component yapısı. **[Ekosistem diyagramı](./docs/ecosystem.md)** - bu repo, `multi-agent-plugins` marketplace'i ve `multi-agent-toolkit-mcp`'nin nasıl bir araya geldiği.
|
|
16
16
|
|
|
@@ -46,7 +46,7 @@ Bir görev çalıştır - girdi tipi otomatik algılanır:
|
|
|
46
46
|
/multi-agent:issue # atanmamış GitHub issue'larını gez → seç
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
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
|
|
49
|
+
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.
|
|
50
50
|
|
|
51
51
|
Onayları atlamak için `autopilot`, worktree olmadan mevcut branch'te çalışmak için `--local` ekle (örn. `/multi-agent:autopilot "PROJ-1234"`). Pipeline derinliği artık bayrak değil, koşunun sorduğu bir soru: `/multi-agent` ve `/multi-agent:local` Faz 0'da Tam mı Kısa mı diye sorar.
|
|
52
52
|
|
|
@@ -75,15 +75,15 @@ Bunun arkasındaki disiplin - sınırlı loop'lar, kanıt kapıları, token-büt
|
|
|
75
75
|
|
|
76
76
|
## Modlar
|
|
77
77
|
|
|
78
|
-
| Mod
|
|
79
|
-
|
|
80
|
-
| Full
|
|
81
|
-
| Autopilot | `/multi-agent:autopilot "task"`
|
|
82
|
-
| Local
|
|
83
|
-
| Derinlik
|
|
84
|
-
| Ship
|
|
85
|
-
| Audit
|
|
86
|
-
| Audit
|
|
78
|
+
| Mod | Komut | Akış |
|
|
79
|
+
| --------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
80
|
+
| Full | `/multi-agent "task"` | Tüm 8 faz, interaktif |
|
|
81
|
+
| Autopilot | `/multi-agent:autopilot "task"` | 7 faz (interaktif Test kapısı atlanır), onaysız |
|
|
82
|
+
| Local | `/multi-agent:local "task"` | İnteraktif Test kapısı hariç tam pipeline, mevcut branch (worktree yok) |
|
|
83
|
+
| 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 |
|
|
84
|
+
| Ship | `/multi-agent:resume-local` | Lokal iş üzerinde review→test→commit→report kuyruğunu çalıştır |
|
|
85
|
+
| Audit | `/multi-agent:design-check` | Mock-mode vs Figma uygunluğu, yalnızca lokal |
|
|
86
|
+
| 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 |
|
|
87
87
|
|
|
88
88
|
Koşunun kendisinde ayarlanabilen tek şey derinlik, autopilot ve `--local`; geri kalan her şey kendi komutu. Tam katalog aşağıda.
|
|
89
89
|
|
|
@@ -93,99 +93,99 @@ Koşunun kendisinde ayarlanabilen tek şey derinlik, autopilot ve `--local`; ger
|
|
|
93
93
|
|
|
94
94
|
### Pipeline girişleri
|
|
95
95
|
|
|
96
|
-
| Komut
|
|
97
|
-
|
|
98
|
-
| `/multi-agent "task"`
|
|
99
|
-
| `/multi-agent:local "task"`
|
|
100
|
-
| `/multi-agent:autopilot "task"`
|
|
101
|
-
| `/multi-agent:local-autopilot "task"` | Mevcut branch, onay yok, her zaman Full
|
|
102
|
-
| `/multi-agent:resume-local`
|
|
96
|
+
| Komut | Ne yapar |
|
|
97
|
+
| ------------------------------------- | ----------------------------------------------------------------------------------------------- |
|
|
98
|
+
| `/multi-agent "task"` | Worktree'de tam pipeline. Faz 0'da Full mu Short mu diye sorar |
|
|
99
|
+
| `/multi-agent:local "task"` | Aynı pipeline, mevcut branch üzerinde, worktree yok |
|
|
100
|
+
| `/multi-agent:autopilot "task"` | Worktree, onay yok, her zaman Full |
|
|
101
|
+
| `/multi-agent:local-autopilot "task"` | Mevcut branch, onay yok, her zaman Full |
|
|
102
|
+
| `/multi-agent:resume-local` | Lokalde bitmiş iş için pipeline kuyruğu: Review → Build+Test → Commit/PR → Report. Dev fazı yok |
|
|
103
103
|
|
|
104
104
|
### Görev kontrolü
|
|
105
105
|
|
|
106
|
-
| Komut
|
|
107
|
-
|
|
108
|
-
| `/multi-agent:status`
|
|
109
|
-
| `/multi-agent:log [#N]`
|
|
110
|
-
| `/multi-agent:resume [#N]`
|
|
111
|
-
| `/multi-agent:kill [#N]`
|
|
112
|
-
| `/multi-agent:steer #N "<talimat>"` | Koşan bir görevi durdurmadan düzeltir; talimat bir sonraki faz sınırında uygulanır
|
|
113
|
-
| `/multi-agent:search`
|
|
114
|
-
| `/multi-agent:garbage-collect`
|
|
115
|
-
| `/multi-agent:prune-logs`
|
|
116
|
-
| `/multi-agent:purge`
|
|
106
|
+
| Komut | Ne yapar |
|
|
107
|
+
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
108
|
+
| `/multi-agent:status` | Her görevin ID'si, fazı, branch'i ve durumu |
|
|
109
|
+
| `/multi-agent:log [#N]` | Görevin `agent-log.md` dosyası (varsayılan: en son görev) |
|
|
110
|
+
| `/multi-agent:resume [#N]` | Durmuş ya da hata almış görevi kaldığı fazdan sürdürür |
|
|
111
|
+
| `/multi-agent:kill [#N]` | Görevi durdurur, worktree'sini ve branch'ini siler |
|
|
112
|
+
| `/multi-agent:steer #N "<talimat>"` | Koşan bir görevi durdurmadan düzeltir; talimat bir sonraki faz sınırında uygulanır |
|
|
113
|
+
| `/multi-agent:search` | Tüm görev loglarında sıralamalı arama; `--semantic` triyaj corpus'unu sorgular |
|
|
114
|
+
| `/multi-agent:garbage-collect` | Artık scratch, sahipsiz worktree ve offload edilmiş payload'ları süpürür. `--abandoned` ile durup bir daha dönülmemiş koşuları da toplar. Önce dry-run |
|
|
115
|
+
| `/multi-agent:prune-logs` | Görev loglarını yaş / proje / görev filtresiyle siler. Denetim izi ve metrikler kalır |
|
|
116
|
+
| `/multi-agent:purge` | Tüm worktree, branch, log ve state dosyalarını siler. Çift onay |
|
|
117
117
|
|
|
118
118
|
### Review
|
|
119
119
|
|
|
120
|
-
| Komut
|
|
121
|
-
|
|
122
|
-
| `/multi-agent:review`
|
|
123
|
-
| `/multi-agent:review-jira`
|
|
124
|
-
| `/multi-agent:review-issue`
|
|
125
|
-
| `/multi-agent:review-analysis`
|
|
126
|
-
| `/multi-agent:diff-explain`
|
|
127
|
-
| `/multi-agent:refactor`
|
|
128
|
-
| `/multi-agent:scan`
|
|
129
|
-
| `/multi-agent:prune-prompts`
|
|
130
|
-
| `/multi-agent:ios-coding-standard` | Bir iOS modülünü 99 kurallık registry'ye göre denetler, düzeltme planı çıkarır
|
|
120
|
+
| Komut | Ne yapar |
|
|
121
|
+
| ---------------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
122
|
+
| `/multi-agent:review` | Branch diff'i veya PR üzerinde paralel review; PR girdisinde inline yorum + approve/needs-work |
|
|
123
|
+
| `/multi-agent:review-jira` | Bir Jira issue'sunun geliştirmeye hazırlığını puanlar, eksikleri yorum olarak yazar |
|
|
124
|
+
| `/multi-agent:review-issue` | Aynı puanlama, GitHub issue'su için |
|
|
125
|
+
| `/multi-agent:review-analysis` | Yazılmış analiz dokümanını review eder; bulgular ihlal edilen Locked kuralını gösterir |
|
|
126
|
+
| `/multi-agent:diff-explain` | Faz 4 triyaj bulgusunu onu doğuran diff satırlarına eşler |
|
|
127
|
+
| `/multi-agent:refactor` | Best-practice çıkarımı + bug avı + türetilmiş skill drift'i + toolkit MCP araştırması → tek plan |
|
|
128
|
+
| `/multi-agent:scan` | Yerel skill dizinlerini kademeli desen kataloğuna göre güvenlik taraması |
|
|
129
|
+
| `/multi-agent:prune-prompts` | Sürekli yüklü talimat yükünün sıfır-tabanlı incelemesi; kural başına tut / dene / sil |
|
|
130
|
+
| `/multi-agent:ios-coding-standard` | Bir iOS modülünü 99 kurallık registry'ye göre denetler, düzeltme planı çıkarır |
|
|
131
131
|
|
|
132
132
|
### Analiz
|
|
133
133
|
|
|
134
|
-
| Komut
|
|
135
|
-
|
|
136
|
-
| `/multi-agent:analysis`
|
|
137
|
-
| `/multi-agent:analysis-resolve`
|
|
138
|
-
| `/multi-agent:complaint-analysis` | Graylog kanıtıyla şikayet triyajı: client / bff kök neden ya da core'a yönlendirme
|
|
134
|
+
| Komut | Ne yapar |
|
|
135
|
+
| --------------------------------- | ---------------------------------------------------------------------------------------------- |
|
|
136
|
+
| `/multi-agent:analysis` | Bağımsız özellik spesifikasyonu: global (23 bölümlük doküman) veya kurumsal (IG/UC/FG) profili |
|
|
137
|
+
| `/multi-agent:analysis-resolve` | Analiz dokümanının Bölüm 20 açık sorularını satır satır cevaplar |
|
|
138
|
+
| `/multi-agent:complaint-analysis` | Graylog kanıtıyla şikayet triyajı: client / bff kök neden ya da core'a yönlendirme |
|
|
139
139
|
|
|
140
140
|
### Cihaz üstü test
|
|
141
141
|
|
|
142
|
-
| Komut
|
|
143
|
-
|
|
144
|
-
| `/multi-agent:test`
|
|
145
|
-
| `/multi-agent:test-dark-mode`
|
|
146
|
-
| `/multi-agent:test-accessibility`
|
|
147
|
-
| `/multi-agent:test-dynamic-type`
|
|
148
|
-
| `/multi-agent:test-screenshots [dil]` | Bir dilde App Store screenshot seti (varsayılan `tr`)
|
|
149
|
-
| `/multi-agent:manual-test`
|
|
142
|
+
| Komut | Ne yapar |
|
|
143
|
+
| ------------------------------------- | ------------------------------------------------------------------------------- |
|
|
144
|
+
| `/multi-agent:test` | Açık simülatör veya emülatörde UI Bug Hunter: screenshot, tap, analiz |
|
|
145
|
+
| `/multi-agent:test-dark-mode` | Her ekranı önce light sonra dark gezer, kontrast ve renk hatalarını raporlar |
|
|
146
|
+
| `/multi-agent:test-accessibility` | VoiceOver etiketleri, 44pt altı dokunma alanları, kontrast, trait'ler |
|
|
147
|
+
| `/multi-agent:test-dynamic-type` | Her ekranı XL'den accessibility-XL'e kadar yeniden gezer, kırpılmaları raporlar |
|
|
148
|
+
| `/multi-agent:test-screenshots [dil]` | Bir dilde App Store screenshot seti (varsayılan `tr`) |
|
|
149
|
+
| `/multi-agent:manual-test` | Faz 5'in bağımsız hali: görev branch'ine geçer, Xcode için hazırlar |
|
|
150
150
|
|
|
151
151
|
### Tasarım, build ve store
|
|
152
152
|
|
|
153
|
-
| Komut
|
|
154
|
-
|
|
155
|
-
| `/multi-agent:design-check`
|
|
156
|
-
| `/multi-agent:store-ready`
|
|
157
|
-
| `/multi-agent:testflight-validation` | `store-ready`'nin iOS'a sabitlenmiş hali. Yalnızca doğrular, asla yüklemez
|
|
158
|
-
| `/multi-agent:build-optimize`
|
|
153
|
+
| Komut | Ne yapar |
|
|
154
|
+
| ------------------------------------ | ------------------------------------------------------------------------------------------------ |
|
|
155
|
+
| `/multi-agent:design-check` | Kapsam geçitli mock-mode vs Figma denetimi; annotasyonlu HTML + PDF rapor |
|
|
156
|
+
| `/multi-agent:store-ready` | iOS ve Android için yayın öncesi kapılar: paket denetimi, store doğrulaması, politika incelemesi |
|
|
157
|
+
| `/multi-agent:testflight-validation` | `store-ready`'nin iOS'a sabitlenmiş hali. Yalnızca doğrular, asla yüklemez |
|
|
158
|
+
| `/multi-agent:build-optimize` | Xcode build'ini ölçer, analizörleri koşar, önce-öneri yaklaşımlı plan üretir |
|
|
159
159
|
|
|
160
160
|
### Ticket ve raporlama
|
|
161
161
|
|
|
162
|
-
| Komut
|
|
163
|
-
|
|
164
|
-
| `/multi-agent:jira`
|
|
165
|
-
| `/multi-agent:issue`
|
|
162
|
+
| Komut | Ne yapar |
|
|
163
|
+
| -------------------------- | --------------------------------------------------------------------------------------------- |
|
|
164
|
+
| `/multi-agent:jira` | Açık Jira issue'larını gez → seç → branch → mod → başlat |
|
|
165
|
+
| `/multi-agent:issue` | Atanmamış GitHub issue'larını gez → seç → otomatik ata → başlat |
|
|
166
166
|
| `/multi-agent:create-jira` | Projenin kendi konvansiyonlarına uygun Task / Bug / Story taslağı, oluşturmadan önce önizleme |
|
|
167
|
-
| `/multi-agent:channels`
|
|
168
|
-
| `/multi-agent:feedback`
|
|
167
|
+
| `/multi-agent:channels` | Çok kanallı raporu gönderir: Jira, Confluence, Wiki, PR açıklaması, board durumu |
|
|
168
|
+
| `/multi-agent:feedback` | Bakımcıya tek mesaj. Yalnızca yazdığın metin gider, log ve yol gitmez |
|
|
169
169
|
|
|
170
170
|
### Kendi rutinlerin
|
|
171
171
|
|
|
172
|
-
| Komut
|
|
173
|
-
|
|
174
|
-
| `/multi-agent:save [ad]`
|
|
175
|
-
| `/multi-agent:routines`
|
|
176
|
-
| `/multi-agent:forget [ad]` | Kayıtlı bir rutini ve registry kaydını siler
|
|
172
|
+
| Komut | Ne yapar |
|
|
173
|
+
| -------------------------- | -------------------------------------------------------------------------------------- |
|
|
174
|
+
| `/multi-agent:save [ad]` | Tekrar eden bir işi `/multi-agent:<ad>` olarak kaydeder. Local-only, asla sync edilmez |
|
|
175
|
+
| `/multi-agent:routines` | Kaydettiğin rutinleri ve ne yaptıklarını listeler |
|
|
176
|
+
| `/multi-agent:forget [ad]` | Kayıtlı bir rutini ve registry kaydını siler |
|
|
177
177
|
|
|
178
178
|
### Kurulum ve bakım
|
|
179
179
|
|
|
180
|
-
| Komut
|
|
181
|
-
|
|
182
|
-
| `/multi-agent:setup`
|
|
183
|
-
| `/multi-agent:stack [id]`
|
|
184
|
-
| `/multi-agent:language [en\|tr]` | `outputLanguage`'i gösterir veya değiştirir; `promptLanguage` İngilizce kalır
|
|
185
|
-
| `/multi-agent:sync`
|
|
186
|
-
| `/multi-agent:update`
|
|
187
|
-
| `/multi-agent:uninstall`
|
|
188
|
-
| `/multi-agent:help`
|
|
180
|
+
| Komut | Ne yapar |
|
|
181
|
+
| -------------------------------- | ---------------------------------------------------------------------------------- |
|
|
182
|
+
| `/multi-agent:setup` | İlk kurulum sihirbazı: keychain token keşfi, git identity, pipeline hazırlığı |
|
|
183
|
+
| `/multi-agent:stack [id]` | Bu repo için marketplace plugin'lerini etkinleştirir. Çoklu seçim |
|
|
184
|
+
| `/multi-agent:language [en\|tr]` | `outputLanguage`'i gösterir veya değiştirir; `promptLanguage` İngilizce kalır |
|
|
185
|
+
| `/multi-agent:sync` | Tek atımlık senkron: Claude Code, Copilot CLI, pipeline repo, website, toolkit MCP |
|
|
186
|
+
| `/multi-agent:update` | npm'deki son yayına günceller ve migration'ları koşar |
|
|
187
|
+
| `/multi-agent:uninstall` | Pipeline'ı her CLI'dan kaldırır. Keychain token'larına hiç dokunmaz |
|
|
188
|
+
| `/multi-agent:help` | Bu katalog, terminalde, `outputLanguage`'ine göre |
|
|
189
189
|
|
|
190
190
|
### Alt agent'lar
|
|
191
191
|
|
|
@@ -209,11 +209,11 @@ Bu, ilgili plugin'i (+ ortak `ai-common` plugin'ini) repo'nun `.claude/settings.
|
|
|
209
209
|
|
|
210
210
|
Pipeline **Claude Code**, **Copilot CLI** ve **Codex CLI** üzerinde native çalışır - üçü de aynı `pipeline/` kaynağından kurulur ve aynı 53 komutu alır.
|
|
211
211
|
|
|
212
|
-
| Araç
|
|
213
|
-
|
|
212
|
+
| Araç | Bayrak | Ne kurar |
|
|
213
|
+
| ----------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
214
214
|
| Claude Code | `--claude` (varsayılan) | slash komutları + skill'ler + agent'lar + üç `PreToolUse` hook'u (secret scan, agent-guard, okuma-boyutu geçidi) |
|
|
215
|
-
| Copilot CLI | `--copilot`
|
|
216
|
-
| Codex CLI
|
|
215
|
+
| Copilot CLI | `--copilot` | talimatlar + 53 alt-komut skill'i + script'ler |
|
|
216
|
+
| Codex CLI | `--codex` | bir router skill + ref olarak 53 spec + 8 agent TOML + `AGENTS.md` bloğu + `codex mcp add` |
|
|
217
217
|
|
|
218
218
|
Skill'leri stack'e göre filtrele: `--platform=ios\|android\|all`.
|
|
219
219
|
|
|
@@ -233,20 +233,20 @@ triage notu bunu belirtir.
|
|
|
233
233
|
|
|
234
234
|
## Token'lar ve entegrasyonlar
|
|
235
235
|
|
|
236
|
-
`setup` OS keychain'ini tarar ve her token'ı **mantıksal bir isimle** (örn. `jira`) gerçek keychain girdisine eşler - pipeline token'ları bu eşleme üzerinden çözer (`credential-store.sh`), böylece literal keychain isimleri hiçbir sync edilen dosyada görünmez. Token'lar
|
|
237
|
-
|
|
238
|
-
| Token
|
|
239
|
-
|
|
240
|
-
| `jira`
|
|
241
|
-
| `github`
|
|
242
|
-
| `bitbucket`
|
|
243
|
-
| `confluence`
|
|
244
|
-
| `figma` + `figma_mcp` | design context çek
|
|
245
|
-
| `fortify`
|
|
246
|
-
| `firebase`
|
|
247
|
-
| `jenkins`
|
|
248
|
-
| `npm`
|
|
249
|
-
| `appstore_connect_*`
|
|
236
|
+
`setup` OS keychain'ini tarar ve her token'ı **mantıksal bir isimle** (örn. `jira`) gerçek keychain girdisine eşler - pipeline token'ları bu eşleme üzerinden çözer (`credential-store.sh`), böylece literal keychain isimleri hiçbir sync edilen dosyada görünmez. Token'lar macOS Keychain'de kalır, **asla commit edilmez ya da loglanmaz**, ve hepsi **opsiyoneldir** - pipeline Phase 0'da ihtiyaç duyduğu herhangi birini sorar.
|
|
237
|
+
|
|
238
|
+
| Token | Ne için kullanılır | Faz |
|
|
239
|
+
| --------------------- | ------------------------------------------------------------------ | ----------------------- |
|
|
240
|
+
| `jira` | issue'yu çek · rapor yorumunu gönder | 0, 7 |
|
|
241
|
+
| `github` | issue'lar · PR'lar · `gh` auth | 0, 6 |
|
|
242
|
+
| `bitbucket` | PR create/update (reviewer koruyarak) · diff | 6 |
|
|
243
|
+
| `confluence` | analiz / wiki sayfaları yayınla | 7 |
|
|
244
|
+
| `figma` + `figma_mcp` | design context çek | yalnızca analiz |
|
|
245
|
+
| `fortify` | security-scan bulgu kapısı | 4 |
|
|
246
|
+
| `firebase` | Firebase projeleri için servis hesabı JSON'ı | gerektiğinde |
|
|
247
|
+
| `jenkins` | CI tetikleme / durum | build / deploy |
|
|
248
|
+
| `npm` | paket publish (çoğunlukla CI) | release |
|
|
249
|
+
| `appstore_connect_*` | TestFlight / App Store pre-submission doğrulaması (opsiyonel, iOS) | `testflight-validation` |
|
|
250
250
|
|
|
251
251
|
**Secret scan**, Claude Code'da bir `PreToolUse` hook'u olarak (bulgu halinde commit'i sert-engeller) ve diğer yerlerde bir pre-push kontrolü olarak çalışır.
|
|
252
252
|
|
|
@@ -262,13 +262,13 @@ Uninstall bu katmanı korur: token'lar, onları açan okuyucu, adlarını tutan
|
|
|
262
262
|
|
|
263
263
|
## Platform desteği
|
|
264
264
|
|
|
265
|
-
**macOS
|
|
265
|
+
Yalnızca **macOS** üzerinde çalışır. Paket `os: ["darwin"]` beyan eder, yani `npm` başka bir platformda kurulumu reddeder - koşunun yarısında başarısız olmasındansa. Her credential okuması `security`, her iOS build'i `xcodebuild`, her ekran kaydı `simctl` çağırıyor. Node.js 20.11+ (20 ve 22'de test edildi). Gerekçe: [ADR-0012](docs/adr/0012-macos-only.md).
|
|
266
266
|
|
|
267
267
|
## Yan repolar
|
|
268
268
|
|
|
269
|
-
| Repo
|
|
270
|
-
|
|
271
|
-
| [`mmerterden/multi-agent-plugins`](https://github.com/mmerterden/multi-agent-plugins)
|
|
269
|
+
| Repo | Ne olduğu |
|
|
270
|
+
| --------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
271
|
+
| [`mmerterden/multi-agent-plugins`](https://github.com/mmerterden/multi-agent-plugins) | Stack-başına skill toolkit'lerinin marketplace'i (iOS / Android / Frontend / Backend + common). `/multi-agent:stack` ilgili plugin'i etkinleştirir. |
|
|
272
272
|
| [`mmerterden/multi-agent-toolkit-mcp`](https://github.com/mmerterden/multi-agent-toolkit-mcp) | UI testing / simulator capture / xcodebuild için MCP sunucusu - Phase 5 UI Bug Hunter'ı güçlendirir. Public npm registry'de [`@mmerterden/multi-agent-toolkit-mcp`](https://www.npmjs.com/package/@mmerterden/multi-agent-toolkit-mcp) olarak yayınlanır; installer her CLI'a onu senin için register eder, böylece `npx` ekstra konfigürasyon olmadan onu çözer. |
|
|
273
273
|
|
|
274
274
|
## Lisans
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
# 11. CI stays in the repository but dormant; the pre-push gate is primary
|
|
2
2
|
|
|
3
|
-
**Status:** Accepted · 2026-08-31
|
|
3
|
+
**Status:** Accepted · 2026-08-31 · amended 2026-09-13
|
|
4
|
+
|
|
5
|
+
> **Amendment, 2026-09-13 (ADR-0012, macOS only).** Linux and Windows support
|
|
6
|
+
> was removed. `package.json` now declares `os: ["darwin"]`, which npm enforces
|
|
7
|
+
> on the root package, so no non-macOS runner can `npm ci` this tree at all.
|
|
8
|
+
> Every workflow moved to a macOS runner, `test.yml`'s matrix lost its Ubuntu
|
|
9
|
+
> leg and its `windows-test` job, and `npm run gate:linux` and
|
|
10
|
+
> `pipeline/scripts/gate-linux.sh` are gone. Where the body below says a leg is
|
|
11
|
+
> reachable through `act` on Ubuntu, read it as history: the gap it describes no
|
|
12
|
+
> longer exists because the platform no longer does.
|
|
4
13
|
|
|
5
14
|
## Context
|
|
6
15
|
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# 12. macOS only; Linux and Windows support is removed, not deprecated
|
|
2
|
+
|
|
3
|
+
**Status:** Accepted · 2026-09-13
|
|
4
|
+
|
|
5
|
+
## Context
|
|
6
|
+
|
|
7
|
+
The package advertised three platforms. `README.md` said "macOS / Linux /
|
|
8
|
+
Windows", `lib/credential-store.sh` carried a `secret-tool` backend for Linux
|
|
9
|
+
and a PowerShell Credential Manager backend for Windows, and `test.yml` ran a
|
|
10
|
+
matrix over Ubuntu and macOS plus a dedicated `windows-test` job.
|
|
11
|
+
|
|
12
|
+
None of it was verified. ADR-0011 records that CI has not executed since
|
|
13
|
+
2026-07-02, and its own honest-status block already said the Linux path was
|
|
14
|
+
"coded, smoke-skipped (CI has no keyring agent)" and the Windows path "coded,
|
|
15
|
+
unverified this release". `docs/engineering.md` claimed "the CI matrix runs
|
|
16
|
+
macOS, Linux, and Windows", which stopped being true the day the runners went
|
|
17
|
+
away.
|
|
18
|
+
|
|
19
|
+
The rest of the pipeline never made the same promise. Every credential read
|
|
20
|
+
shells `security`. Every iOS build shells `xcodebuild`. Every piece of visual
|
|
21
|
+
evidence shells `simctl`. A run on another platform does not degrade into a
|
|
22
|
+
smaller run; it fails partway through, having already created a worktree and a
|
|
23
|
+
branch. Three advertised platforms, one that works.
|
|
24
|
+
|
|
25
|
+
## Decision
|
|
26
|
+
|
|
27
|
+
macOS is the only supported platform, and the package says so where a machine
|
|
28
|
+
can act on it:
|
|
29
|
+
|
|
30
|
+
- `package.json` declares `os: ["darwin"]`. npm enforces this on the root
|
|
31
|
+
package - a non-macOS `npm ci` ends in `EBADPLATFORM` before a single file is
|
|
32
|
+
written. This one field does more than deleting every branch would.
|
|
33
|
+
- `index.js` and `install/index.mjs` refuse a non-darwin host with one line
|
|
34
|
+
naming the requirement. `uninstall`, `help` and `--version` are exempt:
|
|
35
|
+
somebody who installed before this gate must still be able to remove it, and
|
|
36
|
+
a person diagnosing a broken install needs the other two.
|
|
37
|
+
`MULTI_AGENT_ALLOW_NON_DARWIN=1` overrides, and says on stderr that nothing
|
|
38
|
+
on that path is tested.
|
|
39
|
+
- `doctor` gains `host-platform`, which runs first and blocks. It runs first so
|
|
40
|
+
a non-macOS host gets one honest line instead of a cascade whose common cause
|
|
41
|
+
is never stated.
|
|
42
|
+
- Every workflow runs on a macOS runner. `test.yml` loses its Ubuntu leg and
|
|
43
|
+
its `windows-test` job, `pipeline/scripts/gate-linux.sh` and the
|
|
44
|
+
`npm run gate:linux` script are deleted.
|
|
45
|
+
|
|
46
|
+
**The dead Linux and Windows code is removed separately, or not at all.** It
|
|
47
|
+
costs nothing at runtime - `detect_platform()` returns `macos` and the other
|
|
48
|
+
arms never execute - and removing it is where the real risk lives. Seven
|
|
49
|
+
constructs look like cross-platform scaffolding and are load-bearing on macOS:
|
|
50
|
+
|
|
51
|
+
1. `smoke-shell-portability.sh`'s `grep -P` ban. BSD grep has no `-P`, exits 2,
|
|
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
|
|
54
|
+
after this ADR, not less; only its header changes, from "supports macOS,
|
|
55
|
+
Linux and Windows" to "the runtime is BSD userland and bash 3.2".
|
|
56
|
+
2. The `sha256sum || shasum` ordering in seven scripts. The gate fails a file
|
|
57
|
+
that names either one alone, and macOS ships `shasum` while a mac with brew
|
|
58
|
+
coreutils has both. Net change: zero lines.
|
|
59
|
+
3. `credential-store.sh`'s node reader for `keychainMapping`. Its comment
|
|
60
|
+
blames Windows; its condition is `command -v node`, so it fires on any host
|
|
61
|
+
without `python3`, macOS included.
|
|
62
|
+
4. `delegate_to_python()` and `do_set`'s `[ "$PLATFORM" != "macos" ] &&` guard.
|
|
63
|
+
Together they are what keeps macOS writes on `security -i`, with the secret
|
|
64
|
+
on stdin and never on argv. Simplifying one without the other silently moves
|
|
65
|
+
the write onto the delegate.
|
|
66
|
+
5. `github-ssh-setup.sh`'s Darwin arm. `UseKeychain yes` *is* the macOS
|
|
67
|
+
behaviour; the other arm is an empty string.
|
|
68
|
+
6. The `stat -c ... || stat -f ...` chains. GNU-first ordering is required
|
|
69
|
+
because `stat -f` is a valid GNU flag (`--file-system`) that succeeds.
|
|
70
|
+
7. `credential-store-resolver.sh`, which has no OS content at all - it resolves
|
|
71
|
+
Claude / Copilot / Codex install trees.
|
|
72
|
+
|
|
73
|
+
## Consequences
|
|
74
|
+
|
|
75
|
+
- A Linux or Windows user cannot install. That is the point: the alternative
|
|
76
|
+
was letting them install and fail at Phase 3.
|
|
77
|
+
- `rollup.byOs` in the usage panel keeps its key. A row with the field missing
|
|
78
|
+
should read as "unknown host", not as "macOS".
|
|
79
|
+
- `test.yml` is still dormant per ADR-0011. What it would verify on waking is
|
|
80
|
+
now a clean macOS runner and a lockfile install, not a platform matrix.
|
|
81
|
+
- The `os` field is a hard stop with no per-file discipline required, which is
|
|
82
|
+
why it is listed first. Deleting 126 lines of unreachable branches buys no
|
|
83
|
+
behaviour and risks the seven items above; it is optional cleanup, gated
|
|
84
|
+
behind a green `npm test` on both sides of each removal.
|
|
85
|
+
|
|
86
|
+
## Alternatives
|
|
87
|
+
|
|
88
|
+
**Deprecate rather than remove.** A deprecation window helps users who have a
|
|
89
|
+
working install. Nobody has one: the paths were never verified and CI has not
|
|
90
|
+
run since July.
|
|
91
|
+
|
|
92
|
+
**Keep the code, drop only the claim.** Tempting, and it is what the optional
|
|
93
|
+
part of this decision does. But leaving `secret-tool` in the tree with no
|
|
94
|
+
promise attached means the next reader has to work out whether it is supported,
|
|
95
|
+
which is the ambiguity the `os` field removes in one line.
|
|
96
|
+
|
|
97
|
+
**Self-hosted macOS runner.** Considered and rejected in ADR-0011 for a public
|
|
98
|
+
repository: a self-hosted runner executes code from any fork's pull request.
|
package/docs/adr/README.md
CHANGED
|
@@ -21,6 +21,7 @@ Format: lightly adapted from [Michael Nygard's ADR template](https://cognitect.c
|
|
|
21
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
22
|
| [0010](./0010-own-code-graph.md) | Own code graph, referenced from graphify, not forked | Accepted |
|
|
23
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 |
|
|
24
25
|
|
|
25
26
|
## Writing a New ADR
|
|
26
27
|
|
package/docs/engineering.md
CHANGED
|
@@ -73,4 +73,4 @@ Every loop in the pipeline has a deterministic exit condition and a hard iterati
|
|
|
73
73
|
## Cross-CLI parity
|
|
74
74
|
|
|
75
75
|
- **One source of truth, two runtimes**: Claude Code and Copilot CLI command surfaces are byte-identical where shared; a parity smoke fails on drift.
|
|
76
|
-
- **Portability gates**: every shell script passes `bash -n` and a
|
|
76
|
+
- **Portability gates**: every shell script passes `bash -n` and a BSD-userland portability grep. The target is macOS with bash 3.2, not a platform matrix - `grep -P` is banned because BSD grep lacks it and fails silently, and the `sha256sum || shasum` and `stat -c || stat -f` chains keep their ordering for the same reason.
|
package/index.js
CHANGED
|
@@ -30,6 +30,32 @@ if (noColor) {
|
|
|
30
30
|
process.env.NO_COLOR = "1";
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
// macOS only, and the gate is here rather than in install.js so every entry
|
|
34
|
+
// point sees the same answer. Three commands are deliberately exempt:
|
|
35
|
+
// `uninstall` (someone who installed before this gate existed must still be
|
|
36
|
+
// able to remove it), `--version` and `help` (a person diagnosing a broken
|
|
37
|
+
// install needs both to work).
|
|
38
|
+
//
|
|
39
|
+
// The pipeline shells `security` for every credential, `xcodebuild` and
|
|
40
|
+
// `simctl` for every iOS build and every piece of visual evidence. On another
|
|
41
|
+
// platform a run does not degrade, it fails - so refusing here is the honest
|
|
42
|
+
// answer rather than letting the user discover it at Phase 3.
|
|
43
|
+
const PLATFORM_EXEMPT = new Set(["uninstall", "delete", "help", "--version", "-v", "version"]);
|
|
44
|
+
if (process.platform !== "darwin" && !PLATFORM_EXEMPT.has(command ?? "")) {
|
|
45
|
+
if (process.env.MULTI_AGENT_ALLOW_NON_DARWIN !== "1") {
|
|
46
|
+
console.error(
|
|
47
|
+
`multi-agent-pipeline supports macOS only. This host reports "${process.platform}".`,
|
|
48
|
+
);
|
|
49
|
+
console.error(
|
|
50
|
+
"Set MULTI_AGENT_ALLOW_NON_DARWIN=1 to proceed anyway; nothing on that path is tested.",
|
|
51
|
+
);
|
|
52
|
+
process.exit(3);
|
|
53
|
+
}
|
|
54
|
+
console.error(
|
|
55
|
+
`warning: MULTI_AGENT_ALLOW_NON_DARWIN=1 on "${process.platform}" - untested, unsupported.`,
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
33
59
|
if (command === "--version" || command === "-v" || command === "version") {
|
|
34
60
|
const pkg = JSON.parse(readFileSync(join(__dirname, "package.json"), "utf-8"));
|
|
35
61
|
console.log(pkg.version);
|
|
@@ -65,7 +65,6 @@ const DEV_ONLY_TOOLING = Object.freeze([
|
|
|
65
65
|
"validate-schemas.mjs", // validates the repo's own schema files, needs ajv
|
|
66
66
|
"sync-parity-check.sh",
|
|
67
67
|
"benchmark-phase-0.sh",
|
|
68
|
-
"gate-linux.sh", // drives .github/workflows/ci-lite.yml through act; no consumer has either
|
|
69
68
|
]);
|
|
70
69
|
|
|
71
70
|
/** Eval harnesses (`eval-*.mjs`) read `pipeline/eval/**`, which never ships. */
|
package/install/index.mjs
CHANGED
|
@@ -33,6 +33,16 @@ const TOOL_FLAGS = ["--claude", "--copilot", "--codex"];
|
|
|
33
33
|
* @param {string[]} argv
|
|
34
34
|
*/
|
|
35
35
|
export async function runInstall(argv) {
|
|
36
|
+
// index.js gates the CLI path; this repeats the check for programmatic
|
|
37
|
+
// importers, since `./install` is its own exports entry and can be called
|
|
38
|
+
// without ever passing through index.js.
|
|
39
|
+
if (process.platform !== "darwin" && process.env.MULTI_AGENT_ALLOW_NON_DARWIN !== "1") {
|
|
40
|
+
console.error(
|
|
41
|
+
`multi-agent-pipeline supports macOS only. This host reports "${process.platform}".`,
|
|
42
|
+
);
|
|
43
|
+
process.exit(3);
|
|
44
|
+
}
|
|
45
|
+
|
|
36
46
|
const HOME = process.env.HOME || process.env.USERPROFILE;
|
|
37
47
|
if (!HOME) {
|
|
38
48
|
console.error(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmerterden/multi-agent-pipeline",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "17.0.0",
|
|
4
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.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -25,8 +25,7 @@
|
|
|
25
25
|
"format": "prettier --write \"**/*.{js,mjs,json,yml}\" --ignore-path .gitignore --ignore-path .prettierignore",
|
|
26
26
|
"format:check": "prettier --check \"**/*.{js,mjs,json,yml}\" --ignore-path .gitignore --ignore-path .prettierignore",
|
|
27
27
|
"scorecard": "node pipeline/scripts/scorecard.mjs",
|
|
28
|
-
"gate": "bash pipeline/scripts/pre-push-check.sh --run"
|
|
29
|
-
"gate:linux": "bash pipeline/scripts/gate-linux.sh"
|
|
28
|
+
"gate": "bash pipeline/scripts/pre-push-check.sh --run"
|
|
30
29
|
},
|
|
31
30
|
"keywords": [
|
|
32
31
|
"multi-agent",
|
|
@@ -65,6 +64,9 @@
|
|
|
65
64
|
"engines": {
|
|
66
65
|
"node": ">=20.11.0"
|
|
67
66
|
},
|
|
67
|
+
"os": [
|
|
68
|
+
"darwin"
|
|
69
|
+
],
|
|
68
70
|
"files": [
|
|
69
71
|
"index.js",
|
|
70
72
|
"install.js",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Sweep leftover /tmp scratch (picker state, review diffs, channel payloads, analysis drafts), worktree residue (orphan .worktrees dirs, gitlink index entries) and offloaded tool payloads under .multi-agent/refs/ from past runs. Dry-run first; confirms before deleting. Use when scratch files from earlier runs need clearing out."
|
|
3
|
-
description-tr: "Geçmiş çalışmalardan kalan /tmp scratch'ini (picker durumu, review diff'leri, kanal payload'ları, analiz taslakları), worktree kalıntılarını (sahipsiz .worktrees klasörleri, gitlink index kayıtları) ve .multi-agent/refs/ altındaki offload edilmiş araç çıktılarını süpürür. Önce dry-run; silmeden önce onay alır."
|
|
4
|
-
argument-hint: "[--older-than=<minutes>] [--yes] - dry-run unless confirmed"
|
|
2
|
+
description: "Sweep leftover /tmp scratch (picker state, review diffs, channel payloads, analysis drafts), worktree residue (orphan .worktrees dirs, gitlink index entries) and offloaded tool payloads under .multi-agent/refs/ from past runs. With --abandoned, also reaps runs that stopped and were never picked back up, stashing any uncommitted work. Dry-run first; confirms before deleting. Use when scratch files from earlier runs need clearing out, or when stopped runs are holding worktrees."
|
|
3
|
+
description-tr: "Geçmiş çalışmalardan kalan /tmp scratch'ini (picker durumu, review diff'leri, kanal payload'ları, analiz taslakları), worktree kalıntılarını (sahipsiz .worktrees klasörleri, gitlink index kayıtları) ve .multi-agent/refs/ altındaki offload edilmiş araç çıktılarını süpürür. --abandoned ile durup bir daha dönülmemiş koşuları da toplar, commit edilmemiş işi stash'ler. Önce dry-run; silmeden önce onay alır."
|
|
4
|
+
argument-hint: "[--older-than=<minutes>] [--abandoned [--days=N]] [--yes] - dry-run unless confirmed"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# multi-agent garbage-collect - Sweep /tmp Scratch
|
|
@@ -97,6 +97,43 @@ deletes nothing until you confirm.
|
|
|
97
97
|
Pass `--all` to sweep every checkout under `$HOME` rather than only the
|
|
98
98
|
current repo.
|
|
99
99
|
|
|
100
|
+
8. **Abandoned runs (fourth phase, only with `--abandoned`)** - the other three
|
|
101
|
+
phases sweep leftovers from runs that ENDED. This one reaps runs that simply
|
|
102
|
+
stopped:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
bash $HOME/.claude/scripts/gc-abandoned.sh ${ARGUMENTS}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Nothing else collects these. `gc-worktrees.sh` skips registered worktrees on
|
|
109
|
+
purpose, because a registered worktree belongs to a live run - and a run that
|
|
110
|
+
stopped never stops being "live". Measured on one machine: 20 runs reading
|
|
111
|
+
`in_progress`, every one over a day old, one of them 157 days.
|
|
112
|
+
|
|
113
|
+
The output has four kinds of line and they are not interchangeable:
|
|
114
|
+
|
|
115
|
+
| Line | Meaning |
|
|
116
|
+
|---|---|
|
|
117
|
+
| `would remove` / `would remove worktree` | reapable: stopped past its age limit, or finished with its worktree left behind |
|
|
118
|
+
| `would stash` | uncommitted work found - it is stashed to `autopilot/abandoned/<task-id>` and the worktree is **kept** |
|
|
119
|
+
| `would mark abandoned` | the state is stale but there is no worktree left to remove |
|
|
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
|
+
|
|
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
|
|
124
|
+
touched; a path outside `<repo>/.worktrees/` is never removed, which matters
|
|
125
|
+
because four state files on the measured machine record the REPO ROOT as
|
|
126
|
+
their `worktreePath`; and uncommitted work is stashed rather than lost.
|
|
127
|
+
|
|
128
|
+
- Output says `nothing to do` -> skip silently, no question.
|
|
129
|
+
- Otherwise surface a fourth `AskUserQuestion` (in `outputLanguage`):
|
|
130
|
+
`question`: "Reap the listed abandoned runs?" (include the counts, the
|
|
131
|
+
freed-size estimate, and the unattributed total as a separate sentence -
|
|
132
|
+
those are not being reaped), `header`: "Abandoned",
|
|
133
|
+
options `{ label: "Reap runs" }` / `{ label: "Cancel", description: "Keep everything, change nothing" }`.
|
|
134
|
+
- On confirm, re-run with `--yes` and echo its summary line. If anything was
|
|
135
|
+
stashed, name the branch so the user can recover it.
|
|
136
|
+
|
|
100
137
|
## Notes
|
|
101
138
|
|
|
102
139
|
- An in-flight analysis keeps its drafts in `/tmp/analysis-<slug>-<timestamp>/`
|
|
@@ -106,7 +106,7 @@ Status & Resume:
|
|
|
106
106
|
/multi-agent:steer #id "..." Correct a running task without stopping it (applied at the next phase)
|
|
107
107
|
/multi-agent:prune-logs Delete per-task project logs (audit + metrics kept; age/project/task filters, dry-run first)
|
|
108
108
|
/multi-agent:prune-prompts Zero-base prompt review: measure always-on instruction footprint, propose keep/trial/delete per rule (report first, apply on approval)
|
|
109
|
-
/multi-agent:garbage-collect Sweep
|
|
109
|
+
/multi-agent:garbage-collect Sweep run residue; --abandoned reaps stopped runs
|
|
110
110
|
/multi-agent:purge Worktree + logs - full reset (double confirm)
|
|
111
111
|
|
|
112
112
|
Post-Hoc & Side-Channel:
|
|
@@ -382,7 +382,7 @@ Status & Resume:
|
|
|
382
382
|
/multi-agent:steer #id "..." Koşan task'ı durdurmadan düzelt (sonraki fazda uygulanır)
|
|
383
383
|
/multi-agent:prune-logs Task bazlı proje log'larını sil (audit + metrics korunur; yaş/proje/task filtresi, önce dry-run)
|
|
384
384
|
/multi-agent:prune-prompts Sıfır-tabanlı prompt incelemesi: sürekli yüklü talimat yükünü ölç, kural başına tut/dene/sil öner (önce rapor, onayla uygula)
|
|
385
|
-
/multi-agent:garbage-collect
|
|
385
|
+
/multi-agent:garbage-collect Koşu artığını süpür; --abandoned durmuş koşuları toplar
|
|
386
386
|
/multi-agent:purge Worktree + log'lar - tam reset (çift onay)
|
|
387
387
|
|
|
388
388
|
Post-Hoc & Side-Channel:
|