@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 +13 -0
- package/docs/adr/0010-own-code-graph.md +6 -0
- package/package.json +1 -1
- package/pipeline/commands/multi-agent/help/SKILL.md +42 -39
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +4 -0
- package/pipeline/multi-agent-refs/phases/phase-7-report.md +1 -1
- package/pipeline/rules/outside-the-pipeline.md +1 -1
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.
|
|
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
|
-
|
|
151
|
-
|
|
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
|
|
206
|
-
|
|
207
|
-
/multi-agent:design-check Whole-module
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
/multi-agent:design-check
|
|
214
|
-
|
|
215
|
-
/
|
|
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
|
-
|
|
425
|
-
|
|
426
|
-
ai-<stack>-toolkit
|
|
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
|
|
490
|
+
Design Check (mock-mod vs Figma, yalnızca lokal):
|
|
481
491
|
|
|
482
|
-
/multi-agent:design-check Tüm modül
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
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...>
|
|
491
|
-
/multi-agent:design-check --resume
|
|
492
|
-
# KAPSAM GEÇİDİ: her hedef ya denetlenir ya da SOMUT
|
|
493
|
-
#
|
|
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.
|
|
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.**
|
|
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.
|