@mmerterden/multi-agent-pipeline 16.14.0 → 16.15.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 CHANGED
@@ -16,6 +16,19 @@ Internal file-layout changes that don't affect the slash-command surface are sti
16
16
 
17
17
  ## [Unreleased]
18
18
 
19
+ ## [16.15.0] - 2026-08-30
20
+
21
+ ### Fixed
22
+
23
+ - **Usage reporting only ever reported runs that finished.** The reporter was called from Phase 7, and Phase 7 is the phase a run is least likely to reach: across the whole local log history, exactly one run got there. So the admin dashboard read zero of everything while the table held real rows, and the question it exists to answer - who is using this - had no answer. Phase 0's exit gate now reports the run as started, on the same upsert key, so Phase 7 replaces that row with the final state and nothing is double-counted. The read side of the same bug is fixed in the dashboard: its rollup folded only `terminal` rows, and an unfinished run was scored `fail`.
24
+
25
+
26
+ ### Changed
27
+
28
+ - **`/multi-agent:help` now covers the plugins and the toolkit MCP.** It named both in passing - a `refactor` line, a `sync` line, a `design-check` footnote - and never said what they are or how to call one. The catalog gained a Plugins & tools block in both languages: how a stack skill is invoked, which plugins are always on, and the MCP's 83 tools grouped by what they drive (device control, web, design comparison, store and accessibility audits), with the note that its registration survives uninstall. Paid for by compressing the `design-check` entry, which was restating its own contract in fifteen lines: 353 tokens reclaimed before a byte was added, so the file sits within its 8500 ceiling. The tool count that went in with it was wrong and is now absent: `rules/outside-the-pipeline.md` said 83 while the server serves 84, and the pipeline cannot check either number because it does not vendor the toolkit. Both places now say 80+, which stays true; the exact count lives in the toolkit's own README, where a gate boots the server and compares `tools/list` against it.
29
+
30
+ - **ADR-0010 now says where its numbers come from.** The coverage and token figures were published with no path to the harness that produced them, because the harness names a private codebase and cannot ship. It lives beside the graph it measured, under `~/.claude/knowledge/<project>/gate/`, and the ADR points at it: a number nobody can re-derive is an assertion, not a measurement.
31
+
19
32
  ## [16.14.0] - 2026-08-28
20
33
 
21
34
  ### Added
@@ -96,6 +96,12 @@ domain words, the graph scored 63.3% against 32.0% at 10,937 tokens against
96
96
  24,983. The value is in narrowing an open-ended search, not in replacing a
97
97
  grep for a name you already know.
98
98
 
99
+ The harness, the ten graded questions and the raw per-question result live
100
+ beside the graph they measured, under `~/.claude/knowledge/<project>/gate/`.
101
+ They stay there rather than in this repo because they name the private
102
+ codebase's files and symbols, and a number nobody can re-derive is an assertion
103
+ rather than a measurement: `node run-gate.mjs` reproduces the table above.
104
+
99
105
  That measurement covers the context each strategy assembles, not the quality
100
106
  of an answer written from it. graphify's numbers measure the latter. The two
101
107
  are not directly comparable and this ADR does not claim they are.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmerterden/multi-agent-pipeline",
3
- "version": "16.14.0",
3
+ "version": "16.15.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",
@@ -147,8 +147,17 @@ Setup & Maintenance:
147
147
 
148
148
  ------------------------------------------------------------
149
149
 
150
- Stack plugin skills: call directly as ai-<stack>-toolkit:<skill>. Catalog:
151
- ai-<stack>-toolkit:help. Active plugins per repo: /multi-agent:stack.
150
+ Plugins & tools (called directly, no wrappers):
151
+
152
+ Stack plugins ai-<stack>-toolkit:<skill>, e.g. ai-ios-toolkit:create-component
153
+ Catalog: ai-<stack>-toolkit:help Enable per repo: /multi-agent:stack
154
+ common + analyst are always on; the rest follow the repo's stack.
155
+ Toolkit MCP multi-agent-toolkit - 80+ tools for a RUNNING app, no pipeline run needed:
156
+ ios_* / android_* (launch, tap, screenshot, ui tree, logs, crashes,
157
+ locale, dark mode), web_*, design_* (Design Check above), and the
158
+ audits (ios_app_store_audit, ios_testflight_validate, android_apk_audit,
159
+ *_accessibility_audit). Use them instead of guessing about on-screen
160
+ state. Its registration survives uninstall. Not registered = silent no-op.
152
161
 
153
162
  ------------------------------------------------------------
154
163
 
@@ -202,24 +211,17 @@ Manual Test (Phase 5 standalone - Xcode hint flow):
202
211
  /multi-agent:manual-test Checkout task branch, print Xcode/SourceTree hints,
203
212
  /multi-agent:manual-test #N wait for your "ok" / "fix: ..." verdict.
204
213
 
205
- Design Check (mock-mode vs Figma, local-only - powered by the toolkit MCP design_* tools):
206
-
207
- /multi-agent:design-check Whole-module design audit: pick repo+module, gate on mock support,
208
- enumerate every state driver (launch args, scenario cases, scenario codes,
209
- fixtures, deep links) into a countable target set, build Debug in a worktree,
210
- drive each target in mock mode via idb, compare each vs its Figma frame
211
- (padding/width/spacing/font/color/component/localization), and export a
212
- report (HTML+PDF, ~/DesignChecks).
213
- /multi-agent:design-check <screen> Scope to one screen's targets (e.g. boarding-pass).
214
- /multi-agent:design-check <screen@var> Scope to a single variant (e.g. boarding-pass@expired).
215
- /multi-agent:design-check <figma-url...> Scope to the frame(s) those URLs name.
216
- /multi-agent:design-check --resume Audit the unaudited remainder of the last run for this repo+module.
217
- # COVERAGE GATE: every target is either audited or skipped WITH a concrete reason. Anything else fails the
218
- # gate and the run is reported INCOMPLETE with the missing target ids - a partial audit never reads as clean.
219
- # "Requires a scenario / prefix / launch-arg" is not a reason; reaching those states is the run's job.
220
- # When a live screen has no confident Figma match, it SHOWS you the screenshot and asks for the node-id.
221
-
222
- Drives the toolkit design_* tools (+ ios_* / android_* device control).
214
+ Design Check (mock-mode vs Figma, local-only):
215
+
216
+ /multi-agent:design-check Whole-module audit: enumerate every state driver into a countable
217
+ target set, build Debug in a worktree, drive each in mock mode,
218
+ diff against its Figma frame, export HTML+PDF to ~/DesignChecks.
219
+ /multi-agent:design-check <screen> Scope to one screen (e.g. boarding-pass).
220
+ /multi-agent:design-check <screen@var> Scope to one variant (e.g. boarding-pass@expired).
221
+ /multi-agent:design-check <figma-url...> Scope to the frame(s) those URLs name.
222
+ /multi-agent:design-check --resume Audit what the last run for this repo+module left unaudited.
223
+ # COVERAGE GATE: every target is audited or skipped WITH a concrete reason; anything else reports
224
+ # INCOMPLETE with the missing ids. "Needs a scenario/launch-arg" is not a reason, reaching it is the job.
223
225
 
224
226
  ------------------------------------------------------------
225
227
 
@@ -421,9 +423,17 @@ Setup & Maintenance:
421
423
 
422
424
  ------------------------------------------------------------
423
425
 
424
- Stack plugin skill'leri: doğrudan ai-<stack>-toolkit:<skill> olarak çağrılır
425
- (örn. ai-ios-toolkit:create-component). Lokal kopya ve sarmalayıcı yok. Katalog:
426
- ai-<stack>-toolkit:help. Aktif plugin'ler repo bazında: /multi-agent:stack.
426
+ Plugin'ler ve tool'lar (doğrudan çağrılır, sarmalayıcı yok):
427
+
428
+ Stack plugin ai-<stack>-toolkit:<skill>, örn. ai-ios-toolkit:create-component
429
+ Katalog: ai-<stack>-toolkit:help Repo bazında aç: /multi-agent:stack
430
+ common + analyst hep açık; gerisi repo'nun stack'ini izler.
431
+ Toolkit MCP multi-agent-toolkit - ÇALIŞAN uygulama için 80+ tool, pipeline koşusu
432
+ gerektirmez: ios_* / android_* (başlat, tap, screenshot, ui ağacı, log,
433
+ crash, locale, koyu mod), web_*, design_* (yukarıdaki Design Check), ve
434
+ denetimler (ios_app_store_audit, ios_testflight_validate,
435
+ android_apk_audit, *_accessibility_audit). Ekrandaki durumu tahmin etmek
436
+ yerine bunları kullan. Kaydı uninstall'dan sağ çıkar. Kayıtlı değilse sessizce devre dışı.
427
437
 
428
438
  ------------------------------------------------------------
429
439
 
@@ -477,24 +487,17 @@ Manuel Test (Phase 5 standalone - Xcode hint akışı):
477
487
  /multi-agent:manual-test Task branch'ine checkout, Xcode/SourceTree hint basar,
478
488
  /multi-agent:manual-test #N "ok" / "fix: ..." yanıtını bekler.
479
489
 
480
- Design Check (mock-mod vs Figma, yalnızca lokal - multi-agent-toolkit-mcp design_* tool'larıyla):
490
+ Design Check (mock-mod vs Figma, yalnızca lokal):
481
491
 
482
- /multi-agent:design-check Tüm modül tasarım denetimi: repo+modül seç, mock desteğini geçitle,
483
- her state sürücüsünü (launch arg, senaryo case'leri, senaryo kodları,
484
- fixture'lar, deep link'ler) sayılabilir bir hedef kümesine çıkar,
485
- worktree'de Debug derle, her hedefi mock modda idb ile sür, her birini
486
- Figma frame'iyle karşılaştır (padding/genişlik/spacing/font/renk/
487
- component/localization), rapor çıkar (HTML+PDF, ~/DesignChecks).
488
- /multi-agent:design-check <ekran> Tek ekranın hedeflerine kapsa (örn. boarding-pass).
492
+ /multi-agent:design-check Tüm modül denetimi: her state sürücüsünü sayılabilir hedef kümesine
493
+ çıkar, worktree'de Debug derle, her hedefi mock modda sür, Figma
494
+ frame'iyle diff'le, HTML+PDF raporu ~/DesignChecks'e yaz.
495
+ /multi-agent:design-check <ekran> Tek ekrana kapsa (örn. boarding-pass).
489
496
  /multi-agent:design-check <ekran@varyant> Tek varyanta kapsa (örn. boarding-pass@expired).
490
- /multi-agent:design-check <figma-url...> URL'lerin işaret ettiği frame'lere kapsa.
491
- /multi-agent:design-check --resume Bu repo+modül için son koşunun denetlenmemiş kalanını denetle.
492
- # KAPSAM GEÇİDİ: her hedef ya denetlenir ya da SOMUT bir gerekçeyle atlanır. Başka her durum geçidi
493
- # düşürür ve koşu eksik hedef id'leriyle EKSİK raporlanır - kısmi denetim asla temiz görünmez.
494
- # "Senaryo / prefix / launch-arg gerektirir" gerekçe değildir; o state'lere ulaşmak koşunun işidir.
495
- # Canlı ekranın Figma karşılığı kesin bulunamazsa SANA screenshot'ı gösterip node-id sorar.
496
-
497
- multi-agent-toolkit-mcp design_* tool takımını sürer (+ ios_* / android_* cihaz kontrolü).
497
+ /multi-agent:design-check <figma-url...> URL'lerin işaret ettiği frame'lere kapsa.
498
+ /multi-agent:design-check --resume Son koşunun denetlenmemiş kalanını denetle.
499
+ # KAPSAM GEÇİDİ: her hedef ya denetlenir ya da SOMUT gerekçeyle atlanır; başka her durum eksik hedef
500
+ # id'leriyle EKSİK raporlanır. "Senaryo/launch-arg gerektirir" gerekçe değil, oraya ulaşmak koşunun işi.
498
501
 
499
502
  ------------------------------------------------------------
500
503
 
@@ -631,8 +631,12 @@ Phase 0 owns `agent-state.json`. Do not call
631
631
 
632
632
  ```bash
633
633
  node "$HOME/.claude/scripts/phase0-exit-gate.mjs" "$TASK_ID" --input "$ORIGINAL_INPUT"
634
+ node "$HOME/.claude/scripts/usage-report.mjs" --task-id "$TASK_ID" >/dev/null 2>&1 || true
634
635
  ```
635
636
 
637
+ The second line reports the run as started: reporting only from Phase 7 reported
638
+ only runs that finish, and few do. Phase 7 upserts the same key over it.
639
+
636
640
  It asserts three things, each of which has failed silently in a real run:
637
641
 
638
642
  1. **`agent-state.json` exists.** A run once reported Phase 0 `completed` with only
@@ -196,7 +196,7 @@ $HOME/.claude/scripts/log-metric.sh "$TASK_ID" 7 task.completed \
196
196
  duration_ms=$TOTAL_DURATION
197
197
  ```
198
198
 
199
- **Operational reporting.** On by default since v16.8.0; `enabled: false` or `optOut: true` silences it. Sends command, duration, tokens, outcome - never a repo name or path. One POST per run, fire-and-forget, coarse run metadata only - no prompts, code, diffs, or absolute paths. The script no-ops when `usageLog.enabled` is not true or no token resolves, so the call is unconditional and never blocks the run.
199
+ **Operational reporting.** On by default since v16.8.0; `enabled: false` or `optOut: true` silences it. Coarse run metadata only, never prompts, code, diffs, repo names or paths. Fire-and-forget: it no-ops without a token and never blocks the run, so the call is unconditional. Phase 0 already reported this run as started; this upserts the final state over it.
200
200
 
201
201
  ```bash
202
202
  node $HOME/.claude/scripts/usage-report.mjs --state "$STATE_FILE" >/dev/null 2>&1 || true
@@ -21,6 +21,6 @@ available. Read the effective `enabledPlugins` and load each enabled toolkit's
21
21
  `ai-common-toolkit` and `ai-analyst-toolkit` are on everywhere. Nothing enabled
22
22
  is a normal state.
23
23
 
24
- **multi-agent-toolkit MCP.** 83 tools for a running app: `ui-inspect`,
24
+ **multi-agent-toolkit MCP.** 80+ tools for a running app: `ui-inspect`,
25
25
  `crash-logs`, `design-check`, `ios-app-store-audit`, `ios-testflight`. Use them
26
26
  instead of guessing about on-screen state. Not registered is a silent no-op.