@mmerterden/multi-agent-pipeline 20.30.0 → 20.34.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 +123 -0
- package/README.md +47 -1
- package/README.tr.md +61 -1
- package/docs/adr/0018-cross-repo-links-not-a-global-graph.md +43 -0
- package/docs/adr/README.md +2 -1
- package/docs/facts.json +6 -5
- package/docs/features.md +1 -1
- package/install/_dev-only-files.mjs +1 -0
- package/install/_unattended-profile.mjs +61 -0
- package/install/catalog-history.json +1 -1
- package/install/claude.mjs +16 -2
- package/install/index.mjs +10 -1
- package/install/templates/claude-hooks.json +23 -1
- package/manifest.json +198 -134
- package/package.json +4 -1
- package/pipeline/agents/code-reviewer.md +9 -0
- package/pipeline/agents/explorer.md +4 -0
- package/pipeline/agents/plan-critic.md +4 -2
- package/pipeline/commands/multi-agent/SKILL.md +17 -136
- package/pipeline/commands/multi-agent/analysis/SKILL.md +4 -4
- package/pipeline/commands/multi-agent/channels/SKILL.md +15 -297
- package/pipeline/commands/multi-agent/graph/SKILL.md +5 -2
- package/pipeline/commands/multi-agent/language/SKILL.md +3 -3
- package/pipeline/commands/multi-agent/office-on/SKILL.md +8 -7
- package/pipeline/commands/multi-agent/office-status/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/prune-logs/SKILL.md +4 -1
- package/pipeline/commands/multi-agent/resume/SKILL.md +8 -22
- package/pipeline/commands/multi-agent/review/SKILL.md +11 -134
- package/pipeline/commands/multi-agent/scenario-audit/SKILL.md +4 -2
- package/pipeline/commands/multi-agent/setup/SKILL.md +19 -224
- package/pipeline/commands/multi-agent/sync/SKILL.md +12 -0
- package/pipeline/commands/multi-agent/test-gen/SKILL.md +29 -3
- package/pipeline/contract/CHANGELOG.md +46 -0
- package/pipeline/contract/README.md +27 -10
- package/pipeline/contract/fixtures/error-invalid-request.json +1 -1
- package/pipeline/contract/fixtures/error-unauthorized.json +1 -1
- package/pipeline/contract/fixtures/error-unsigned.json +1 -1
- package/pipeline/contract/fixtures/launch-plan.json +1 -1
- package/pipeline/contract/fixtures/runs-awaiting-question.json +6 -1
- package/pipeline/contract/fixtures/runs-empty.json +1 -1
- package/pipeline/contract/fixtures/runs-failed.json +6 -1
- package/pipeline/contract/fixtures/runs-old-schema.json +6 -1
- package/pipeline/contract/fixtures/runs-pr-opened-redacted.json +5 -1
- package/pipeline/contract/fixtures/runs-pr-opened.json +6 -1
- package/pipeline/contract/fixtures/runs-running.json +6 -1
- package/pipeline/contract/manifest.json +153 -19
- package/pipeline/contract/types/index.d.ts +304 -6
- package/pipeline/lib/bg-launch.mjs +106 -0
- package/pipeline/lib/code-digest.mjs +49 -0
- package/pipeline/lib/credential-resolve.mjs +42 -2
- package/pipeline/multi-agent-refs/channels/generator.md +146 -0
- package/pipeline/multi-agent-refs/channels/menu.md +55 -0
- package/pipeline/multi-agent-refs/channels/multi-repo.md +6 -0
- package/pipeline/multi-agent-refs/channels/preview.md +25 -0
- package/pipeline/multi-agent-refs/channels/reference.md +98 -0
- package/pipeline/multi-agent-refs/features/autopilot-circuit-breaker.md +1 -1
- package/pipeline/multi-agent-refs/features/code-graph.md +27 -0
- package/pipeline/multi-agent-refs/features/office-threat-model.md +24 -6
- package/pipeline/multi-agent-refs/features/plan-critic.md +5 -2
- package/pipeline/multi-agent-refs/features/review-delta.md +4 -1
- package/pipeline/multi-agent-refs/features/scope-check.md +10 -1
- package/pipeline/multi-agent-refs/features/unattended-security.md +1 -1
- package/pipeline/multi-agent-refs/help/en.md +2 -2
- package/pipeline/multi-agent-refs/help/tr.md +2 -2
- package/pipeline/multi-agent-refs/knowledge.md +9 -0
- package/pipeline/multi-agent-refs/orchestrator/dispatcher.md +163 -0
- package/pipeline/multi-agent-refs/phases/modes.md +7 -7
- package/pipeline/multi-agent-refs/phases/phase-1-plan.md +4 -4
- package/pipeline/multi-agent-refs/phases/phase-2-dev.md +9 -8
- package/pipeline/multi-agent-refs/phases/phase-3-review.md +12 -7
- package/pipeline/multi-agent-refs/phases/phase-4-commit.md +7 -3
- package/pipeline/multi-agent-refs/phases/phase-5-report.md +19 -10
- package/pipeline/multi-agent-refs/picker-contract.md +1 -1
- package/pipeline/multi-agent-refs/resume/details.md +35 -0
- package/pipeline/multi-agent-refs/review/inputs.md +87 -0
- package/pipeline/multi-agent-refs/review/module-guides.md +25 -0
- package/pipeline/multi-agent-refs/review/valven.md +42 -0
- package/pipeline/multi-agent-refs/review-standalone-tracker.md +37 -0
- package/pipeline/multi-agent-refs/setup/accounts.md +27 -0
- package/pipeline/multi-agent-refs/setup/app-store-connect.md +5 -0
- package/pipeline/multi-agent-refs/setup/firebase.md +5 -0
- package/pipeline/multi-agent-refs/setup/google-play.md +4 -0
- package/pipeline/multi-agent-refs/setup/hooks-and-plugins.md +21 -0
- package/pipeline/multi-agent-refs/setup/language.md +46 -0
- package/pipeline/multi-agent-refs/setup/multi-repo-group.md +51 -0
- package/pipeline/multi-agent-refs/setup/summaries.md +63 -0
- package/pipeline/multi-agent-refs/setup/token-save-flow.md +51 -0
- package/pipeline/multi-agent-refs/tracker-contract.md +8 -3
- package/pipeline/office/NOTICE.md +4 -1
- package/pipeline/office/assets/ARCHIVE_BOXES.png +0 -0
- package/pipeline/office/assets/COFFEE_MACHINE.png +0 -0
- package/pipeline/office/assets/COUNTER_SINK.png +0 -0
- package/pipeline/office/assets/DEVICE_STAND.png +0 -0
- package/pipeline/office/assets/FILING_CABINET.png +0 -0
- package/pipeline/office/assets/FRIDGE.png +0 -0
- package/pipeline/office/assets/MAILBOX.png +0 -0
- package/pipeline/office/assets/MOP_BUCKET.png +0 -0
- package/pipeline/office/assets/PRINTER.png +0 -0
- package/pipeline/office/assets/RECEPTION_DESK.png +0 -0
- package/pipeline/office/assets/SERVER_RACK.png +0 -0
- package/pipeline/office/assets/SERVER_RACK_2.png +0 -0
- package/pipeline/office/assets/TOILET_STALL.png +0 -0
- package/pipeline/office/assets/VENDING.png +0 -0
- package/pipeline/office/assets/WASHBASIN.png +0 -0
- package/pipeline/office/assets/WATER_COOLER.png +0 -0
- package/pipeline/office/index.html +3936 -819
- package/pipeline/office/toolkit.json +3 -0
- package/pipeline/rules/response-shape.md +6 -7
- package/pipeline/schemas/activity.schema.json +188 -4
- package/pipeline/schemas/agent-state.schema.json +511 -115
- package/pipeline/schemas/contract-error.schema.json +12 -1
- package/pipeline/schemas/job-change.schema.json +72 -0
- package/pipeline/schemas/job-request.schema.json +38 -0
- package/pipeline/schemas/launch.json +4 -4
- package/pipeline/schemas/office-credentials.schema.json +71 -0
- package/pipeline/schemas/office-jobs.json +253 -0
- package/pipeline/schemas/office-jobs.schema.json +62 -0
- package/pipeline/schemas/office-memory.schema.json +105 -0
- package/pipeline/schemas/office-settings-request.schema.json +30 -0
- package/pipeline/schemas/office-settings.schema.json +67 -0
- package/pipeline/schemas/phases.json +14 -6
- package/pipeline/schemas/phases.schema.json +86 -19
- package/pipeline/schemas/plan-critique.schema.json +9 -2
- package/pipeline/schemas/planning-output.schema.json +25 -2
- package/pipeline/schemas/prefs.schema.json +24 -1
- package/pipeline/schemas/prs.schema.json +5 -0
- package/pipeline/schemas/prune-logs-request.schema.json +26 -0
- package/pipeline/schemas/prune-logs.schema.json +52 -0
- package/pipeline/schemas/repo-change.schema.json +54 -0
- package/pipeline/schemas/repo-request.schema.json +29 -0
- package/pipeline/schemas/repos.schema.json +49 -1
- package/pipeline/schemas/reviewer-output.schema.json +20 -2
- package/pipeline/schemas/runs-index.schema.json +257 -46
- package/pipeline/schemas/system-status.schema.json +111 -0
- package/pipeline/schemas/token-budget.json +4 -4
- package/pipeline/schemas/tools.schema.json +5 -0
- package/pipeline/schemas/triage-output.schema.json +20 -2
- package/pipeline/schemas/unattended-profile.json +7 -2
- package/pipeline/scripts/_active-run.mjs +2 -1
- package/pipeline/scripts/_graph-analysis.mjs +270 -0
- package/pipeline/scripts/_memory-policy.mjs +165 -0
- package/pipeline/scripts/_secret-scan.mjs +105 -0
- package/pipeline/scripts/_spawn-async.mjs +9 -5
- package/pipeline/scripts/_unified-diff.mjs +2 -2
- package/pipeline/scripts/activity-snapshot.mjs +219 -23
- package/pipeline/scripts/autopilot-runner.mjs +7 -5
- package/pipeline/scripts/capture-flush.sh +12 -2
- package/pipeline/scripts/check-read-size.sh +9 -0
- package/pipeline/scripts/code-graph-rules/android.json +8 -3
- package/pipeline/scripts/contract-server.mjs +575 -28
- package/pipeline/scripts/debt-ledger.mjs +323 -0
- package/pipeline/scripts/file-context.mjs +261 -0
- package/pipeline/scripts/file-context.sh +20 -0
- package/pipeline/scripts/gen-mode-dispatch.mjs +3 -1
- package/pipeline/scripts/graph-links.mjs +230 -0
- package/pipeline/scripts/graph-query.mjs +133 -1
- package/pipeline/scripts/graph-report.mjs +65 -0
- package/pipeline/scripts/job-launch.mjs +477 -0
- package/pipeline/scripts/launch-request.mjs +94 -9
- package/pipeline/scripts/learn-from-transcripts.mjs +12 -48
- package/pipeline/scripts/learnings-ledger.mjs +143 -24
- package/pipeline/scripts/office-build.mjs +148 -11
- package/pipeline/scripts/office-control.mjs +34 -7
- package/pipeline/scripts/office-credentials.mjs +106 -0
- package/pipeline/scripts/office-memory.mjs +200 -0
- package/pipeline/scripts/office-prune.mjs +125 -0
- package/pipeline/scripts/office-settings.mjs +145 -0
- package/pipeline/scripts/phase-tracker.sh +12 -5
- package/pipeline/scripts/plan-critique-gate.mjs +11 -2
- package/pipeline/scripts/prune-logs.sh +53 -2
- package/pipeline/scripts/rework-rulings.mjs +106 -0
- package/pipeline/scripts/runs-index.mjs +62 -2
- package/pipeline/scripts/scope-check-gate.mjs +149 -2
- package/pipeline/scripts/system-status.mjs +196 -0
- package/pipeline/scripts/task-mirror.mjs +150 -0
- package/pipeline/scripts/task-mirror.sh +20 -0
- package/pipeline/scripts/toolkit-tools.mjs +33 -7
- package/pipeline/scripts/transcript-index.mjs +4 -1
- package/pipeline/scripts/triage-memory.mjs +64 -37
- package/pipeline/scripts/validate-planning.mjs +68 -4
- package/pipeline/scripts/validate-reviewer.mjs +20 -0
- package/pipeline/scripts/validate-triage.mjs +107 -2
- package/pipeline/scripts/work-items.mjs +191 -22
- package/pipeline/skills/.skill-manifest.json +9 -9
- package/pipeline/skills/.skills-index.json +1 -1
- package/pipeline/skills/shared/README.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-graph/SKILL.md +5 -2
- package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +4 -4
- package/pipeline/skills/shared/core/multi-agent-office-on/SKILL.md +3 -4
- package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +4 -1
- package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +21 -0
- package/pipeline/skills/shared/core/multi-agent-scenario-audit/SKILL.md +4 -2
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +4 -4
- package/pipeline/skills/shared/core/multi-agent-test-gen/SKILL.md +26 -3
- package/pipeline/skills/skills-index.md +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: multi-agent-office-on
|
|
3
|
-
description: "Open the office
|
|
3
|
+
description: "Open the office: a local browser page that shows runs and agents live and drives the ecosystem (new runs, jobs, PRs, keys, memory, system, cleanup). Use when you want to watch or drive runs from a browser."
|
|
4
4
|
user-invocable: true
|
|
5
5
|
metadata:
|
|
6
6
|
language: en
|
|
@@ -14,9 +14,8 @@ and opens the browser at `/office` with a one-time code in the URL fragment
|
|
|
14
14
|
|
|
15
15
|
1. `node "$HOME/.copilot/scripts/office-control.mjs" on --json`
|
|
16
16
|
2. Report in `outputLanguage`: `url` (it carries no code), whether the server
|
|
17
|
-
was started or `reused`, that it
|
|
18
|
-
|
|
19
|
-
now. If `opened` is false, say to run it again from a desktop session.
|
|
17
|
+
was started or `reused`, and that it runs until `/multi-agent-office-off`
|
|
18
|
+
stops it. If `opened` is false, say to run it again from a desktop session.
|
|
20
19
|
|
|
21
20
|
Never print the token, read the token file or pass `--print-token`. The server
|
|
22
21
|
listens on 127.0.0.1 only; remote access is not part of this installation.
|
|
@@ -17,7 +17,10 @@ whole task dirs, with optional age / project / task filters.
|
|
|
17
17
|
Backed by `$HOME/.claude/scripts/prune-logs.sh`. Safe by default: it previews
|
|
18
18
|
and deletes nothing until you confirm. The audit trail (`audit.jsonl` +
|
|
19
19
|
rotations) and the metrics corpus (`metrics.jsonl`, `metrics-summary.md`) live
|
|
20
|
-
at the log-root top level and are never removed; `.counter` files survive too.
|
|
20
|
+
at the log-root top level and are never removed; `.counter` files survive too. A run that can still be resumed (its `agent-state.json` status is not
|
|
21
|
+
finished, abandoned or cancelled) keeps its log however old it is, and
|
|
22
|
+
so does a folder written in the last 10 minutes; `--task` names one dir and
|
|
23
|
+
bypasses both.
|
|
21
24
|
|
|
22
25
|
Unlike `/multi-agent:purge` (which wipes worktrees, branches, logs, and state
|
|
23
26
|
together), this only removes log dirs and leaves your worktrees and branches
|
|
@@ -20,6 +20,25 @@ Skip Phase 0-3 and review a diff only. Input shapes: a PR (`#N`, `repo#N`, GitHu
|
|
|
20
20
|
|
|
21
21
|
## Steps
|
|
22
22
|
|
|
23
|
+
0. **Session id and tracker record.** A pipeline run passes its own `TASK_ID`; a standalone review seeds a `review-` one and registers a tracker record, so the review shows wherever runs are read (the office panel, `multi-agent-status`):
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
: "${TASK_ID:=review-$(date +%s)-$$}"
|
|
27
|
+
case "$TASK_ID" in review-*)
|
|
28
|
+
S="${LOGS_ROOT:-$HOME/.claude/logs/multi-agent}/$TASK_ID"; mkdir -p "$S"
|
|
29
|
+
printf '{"taskId":"%s","mode":"review","status":"in_progress","currentPhase":0}' "$TASK_ID" \
|
|
30
|
+
| node "$HOME/.copilot/scripts/write-state.mjs" "$S/agent-state.json" >/dev/null
|
|
31
|
+
export MULTI_AGENT_TASK_ID="$TASK_ID"
|
|
32
|
+
bash "$HOME/.copilot/scripts/phase-tracker.sh" init "$TASK_ID"
|
|
33
|
+
for p in "0:Input" "1:Diff" "2:Reviewers" "3:Triage" "4:Report"; do
|
|
34
|
+
bash "$HOME/.copilot/scripts/phase-tracker.sh" add "${p%%:*}" "${p#*:}"
|
|
35
|
+
done
|
|
36
|
+
bash "$HOME/.copilot/scripts/phase-tracker.sh" update 0 in_progress ;;
|
|
37
|
+
esac
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The steps map to tracker steps as in `$HOME/.claude/multi-agent-refs/review-standalone-tracker.md` (1/1a is 0, 2 is 1, 3-4 are 2, 5 is 3, 6-7 are 4), each call prefixed `MULTI_AGENT_TASK_ID=<the review- id> MULTI_AGENT_STRICT_TASK_ID=1`; there is no task widget, so call `phase-tracker.sh render` after each change. After step 7 close the record with `"status":"complete","currentPhase":4` through the same `write-state.mjs` call.
|
|
41
|
+
|
|
23
42
|
1. **Resolve the input** (`{kind, provider}`):
|
|
24
43
|
- PR URL / `#N` / `repo#N` -> `kind=pr` (`github` or `bitbucket-server`).
|
|
25
44
|
- branch name -> `kind=branch` (local).
|
|
@@ -101,6 +120,8 @@ Skip Phase 0-3 and review a diff only. Input shapes: a PR (`#N`, `repo#N`, GitHu
|
|
|
101
120
|
- 🟡 **Important** → fix recommended
|
|
102
121
|
- 🟢 **Suggestion** → optional
|
|
103
122
|
|
|
123
|
+
Triage also settles every reviewer `cannotVerify` row: `verified` with the file:line read, `finding` with the file:line of the accepted or deferred finding, or `out-of-scope`. Unsettled rows are listed in the summary.
|
|
124
|
+
|
|
104
125
|
6. **Show a summary** (always prints, any mode):
|
|
105
126
|
```
|
|
106
127
|
🔍 Review Complete
|
|
@@ -53,7 +53,9 @@ Read the candidate lines it returns. A term nothing matched is listed under
|
|
|
53
53
|
|
|
54
54
|
## Step 3 - Verdict
|
|
55
55
|
|
|
56
|
-
Write
|
|
56
|
+
Write the verdicts to a file in a folder of this run's own
|
|
57
|
+
(`VERDICTS="$(mktemp -d)/verdicts.json"`, never a fixed `/tmp` name another
|
|
58
|
+
user or a second audit could share): `[{id, status, citations, searched, note}]`.
|
|
57
59
|
|
|
58
60
|
| Status | When | Needs |
|
|
59
61
|
|---|---|---|
|
|
@@ -64,7 +66,7 @@ Write `/tmp/ma-verdicts.json`: `[{id, status, citations, searched, note}]`.
|
|
|
64
66
|
|
|
65
67
|
```bash
|
|
66
68
|
node "$HOME/.claude/scripts/scenario-audit.mjs" verify --csv "<scenarios.csv>" \
|
|
67
|
-
--verdicts
|
|
69
|
+
--verdicts "$VERDICTS" --repo "<repo>" --lang "<outputLanguage>"
|
|
68
70
|
```
|
|
69
71
|
|
|
70
72
|
## Step 4 - Report
|
|
@@ -39,7 +39,7 @@ Ask BEFORE anything else, so every subsequent setup prompt and the rest of the p
|
|
|
39
39
|
- `promptLanguage`: picker chrome only (the `AskUserQuestion` `header` chip, host error UI, internal contract identifiers). **Not configurable - fixed to `en`**; the chip is capped at 12 chars, which most Turkish equivalents overflow.
|
|
40
40
|
- `outputLanguage`: the assistant's non-interactive explanations, status updates, error messages and pipeline-generated reports. Set here, changeable later via `/multi-agent-language <en|tr>`.
|
|
41
41
|
|
|
42
|
-
`promptLanguage` is seeded as `"en"` and never offered to the user.
|
|
42
|
+
`promptLanguage` is seeded as `"en"` and never offered to the user. Language matrix: `multi-agent-refs/rules.md`.
|
|
43
43
|
|
|
44
44
|
The wizard asks one question (English UI per skill-prompt rules):
|
|
45
45
|
|
|
@@ -55,8 +55,8 @@ Select (1-2):
|
|
|
55
55
|
|
|
56
56
|
- **Already set in prefs** → skip silently. User can change later with `/multi-agent-language <en|tr>` or `/multi-agent-language output <en|tr>`.
|
|
57
57
|
- **New value** → validate against the schema enum (`en`, `tr`), write `prefs.global.outputLanguage` via atomic rename, force `prefs.global.promptLanguage = "en"`, then echo a confirmation in the just-chosen `outputLanguage`:
|
|
58
|
-
- `en`: `outputLanguage=<Y>. promptLanguage stays "en".
|
|
59
|
-
- `tr`: `outputLanguage=<Y>. promptLanguage "en" sabit.
|
|
58
|
+
- `en`: `outputLanguage=<Y>. promptLanguage stays "en". Commits stay English; PR/Jira/wiki bodies follow it.`
|
|
59
|
+
- `tr`: `outputLanguage=<Y>. promptLanguage "en" sabit. Commit'ler İngilizce; PR/Jira/wiki metinleri onu izler.`
|
|
60
60
|
- **Unknown input** → re-ask once, then abort setup with a hint pointing to `/multi-agent-language`.
|
|
61
61
|
|
|
62
62
|
From here on, every prompt in Steps 1-6 follows the per-field matrix in
|
|
@@ -324,7 +324,7 @@ All tokens are optional in the sense that every service can be answered with Ski
|
|
|
324
324
|
|
|
325
325
|
### Step 8 - Enforcement hooks (optional)
|
|
326
326
|
|
|
327
|
-
On Claude Code, offer to merge `$HOME/.claude/templates/claude-hooks.json`: three blocking `PreToolUse` gates (secret scan, agent-guard, read-size) plus
|
|
327
|
+
On Claude Code, offer to merge `$HOME/.claude/templates/claude-hooks.json`: three blocking `PreToolUse` gates (secret scan, agent-guard, read-size) plus non-blocking hooks on `PreCompact`, `SessionEnd`, `SessionStart` and `PostToolUse`, and a blocking `Stop` hook (`run-stop-guard.sh`). What each does: `$HOME/.claude/multi-agent-refs/picker-contract.md`.
|
|
328
328
|
|
|
329
329
|
- Ask (picker): "Install the pipeline's hooks into `~/.claude/settings.json`?" Default Yes.
|
|
330
330
|
- On Yes, deep-merge EVERY event in the template's `hooks` object (merging `PreToolUse` alone drops the capture hooks); keep existing hooks, never duplicate a matcher calling the same script.
|
|
@@ -43,9 +43,32 @@ Scripts: `test-gen-gate.mjs` (artefact, handle and write gates),
|
|
|
43
43
|
## Step 1 - Prepare
|
|
44
44
|
|
|
45
45
|
1. Repo: `--repo`, else the current directory; confirm it in one line.
|
|
46
|
-
Platform: `--platform`, else detect as `multi-agent-test` does.
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
Platform: `--platform`, else detect as `multi-agent-test` does. One
|
|
47
|
+
timestamp names the run everywhere: `TS="$(date +%Y%m%d%H%M%S)"`, run id
|
|
48
|
+
`tg-$TS`, `RUN="$HOME/.claude/logs/test-gen/<repo>/$TS"`, created with
|
|
49
|
+
`mkdir -p "$RUN"`.
|
|
50
|
+
Register the run so its progress shows wherever runs are read (the office
|
|
51
|
+
panel, `multi-agent-status`), with one step per stage below:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
TG_ID="tg-$TS"
|
|
55
|
+
S="${LOGS_ROOT:-$HOME/.claude/logs/multi-agent}/$TG_ID"; mkdir -p "$S"
|
|
56
|
+
printf '{"taskId":"%s","mode":"test-gen","status":"in_progress","currentPhase":0}' "$TG_ID" \
|
|
57
|
+
| node "$HOME/.copilot/scripts/write-state.mjs" "$S/agent-state.json" >/dev/null
|
|
58
|
+
export MULTI_AGENT_TASK_ID="$TG_ID"
|
|
59
|
+
bash "$HOME/.copilot/scripts/phase-tracker.sh" init "$TG_ID"
|
|
60
|
+
for p in "0:Prepare" "1:Inventory" "2:Discovery" "3:Handles" "4:Tests" "5:Report"; do
|
|
61
|
+
bash "$HOME/.copilot/scripts/phase-tracker.sh" add "${p%%:*}" "${p#*:}"
|
|
62
|
+
done
|
|
63
|
+
bash "$HOME/.copilot/scripts/phase-tracker.sh" update 0 in_progress
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Each step below starts with `update <N> in_progress` and ends with
|
|
67
|
+
`update <N> completed` (Step 5 and Step 6 share step 4), every call prefixed
|
|
68
|
+
`MULTI_AGENT_TASK_ID=<the tg- id, written out> MULTI_AGENT_STRICT_TASK_ID=1`.
|
|
69
|
+
There is no task widget here: call `phase-tracker.sh render` after each
|
|
70
|
+
change, and close the record with `"status":"complete","currentPhase":5`
|
|
71
|
+
through the same `write-state.mjs` call when the report is written.
|
|
49
72
|
2. Toolkit: `test_results_classify`, `coverage_gap` and `ui_locator_codegen`
|
|
50
73
|
need `@mmerterden/multi-agent-toolkit-mcp` >= v3.25.0. Check the tool list
|
|
51
74
|
once. Each missing tool has a fallback in `stages.md` (classify from the
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
| core | `multi-agent-manual-test` | - | Switch to the active task's branch and prepare it for manual testing in Xcode. Phase 3 user-test step, standalone (the UI Bug Hunter lives a |
|
|
132
132
|
| core | `multi-agent-model` | - | Turn the top model rung on or off and keep the cost ledger's pricing in step with it. Use when asked to enable or disable Fable, or which mo |
|
|
133
133
|
| core | `multi-agent-office-off` | - | Close the office panel and stop its local server. Use when done with the panel. |
|
|
134
|
-
| core | `multi-agent-office-on` | - | Open the office
|
|
134
|
+
| core | `multi-agent-office-on` | - | Open the office: a local browser page that shows runs and agents live and drives the ecosystem (new runs, jobs, PRs, keys, memory, system, c |
|
|
135
135
|
| core | `multi-agent-office-status` | - | Whether the office panel is running, its URL (never the token) and its last actions. Use when unsure if the panel is open. |
|
|
136
136
|
| core | `multi-agent-postmortem` | - | Post-mortem of a run from its session transcripts: loops, stalls, root-cause hypotheses on file:line, fixes. Read-only, redacted. Use when a |
|
|
137
137
|
| core | `multi-agent-prune-logs` | - | Delete per-task project logs under ~/.claude/logs/multi-agent (filter by age/project/task). Audit trail + metrics are preserved. Dry-run fir |
|