@mmerterden/multi-agent-pipeline 20.15.0 → 20.15.1

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,13 @@ Internal file-layout changes that don't affect the slash-command surface are sti
16
16
 
17
17
  ## [Unreleased]
18
18
 
19
+ ## [20.15.1] - 2026-10-02
20
+
21
+ ### Fixed
22
+
23
+ - `phase-tracker.sh` sends no usage ping for a tracker file supplied through `TRACKER_FILE` outside the run roots, so a test fixture run directly (without `MULTI_AGENT_SMOKE`) never reaches the usage dashboard. `test/usage-ping-fixture-guard.test.mjs` covers both sides.
24
+ - `pre-push-check.sh` measures the worktree git runs it in (`git rev-parse --show-toplevel`) rather than the checkout the hook symlink points into, so a push from a second worktree checks that worktree's gate stamp. `test/pre-push-worktree.test.mjs`.
25
+
19
26
  ## [20.15.0] - 2026-10-02
20
27
 
21
28
  ### Added
package/docs/facts.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$comment": "Generated by pipeline/scripts/gen-facts.mjs. Do not hand-edit: the site reads this, and a number edited here instead of at its source is the drift this file removes.",
3
3
  "generatedAt": "2026-10-02",
4
- "version": "20.15.0",
4
+ "version": "20.15.1",
5
5
  "phaseSchema": 2,
6
6
  "phases": [
7
7
  {
@@ -40,12 +40,13 @@
40
40
  "skillCountAll": 220,
41
41
  "agentCount": 10,
42
42
  "hosts": ["Claude Code", "Codex CLI", "Copilot CLI"],
43
- "toolCount": 154,
43
+ "toolCount": 164,
44
44
  "toolCategories": {
45
45
  "ios": 40,
46
46
  "android": 31,
47
47
  "store": 30,
48
48
  "web": 18,
49
+ "vphone": 10,
49
50
  "code": 8,
50
51
  "design": 7,
51
52
  "voice": 6,
@@ -57,5 +58,5 @@
57
58
  "media": 1
58
59
  },
59
60
  "pluginSkillCount": 245,
60
- "toolkitVersion": "3.17.0"
61
+ "toolkitVersion": "3.18.0"
61
62
  }
package/manifest.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@mmerterden/multi-agent-pipeline",
3
- "version": "20.15.0",
4
- "commit": "09149bf3e094216e7074ec86436ba94e8c621753",
5
- "generatedAt": "2026-10-02T09:44:18.338Z",
3
+ "version": "20.15.1",
4
+ "commit": "85ea1bcedc6d7a3b07241483b0051ef80e5eedd7",
5
+ "generatedAt": "2026-10-02T10:17:27.316Z",
6
6
  "algorithm": "sha256",
7
7
  "fileCount": 1297,
8
8
  "files": {
9
- "CHANGELOG.md": "dde7fc53259eef5eda0d339ec6490d98df31155a1945958334b8347f8f7f8e77",
9
+ "CHANGELOG.md": "e007705165d0c94c62e0a99ba9156a6d9d64058948b66f746238161e654f5bb9",
10
10
  "LICENSE": "8d8c51aaf1e1538b180c69965fa038db71be86798cc3e26a143bebfefe16a43e",
11
11
  "README.md": "280e42dbd759e9a55eee46a82f2f5eaa11e866b05c0fb71b30f8330fa80b9c57",
12
12
  "README.tr.md": "25491697cbb9e3f91c1798bd1fbd05fa0a19906adb3e24a25a5fe0a055c2c559",
@@ -33,7 +33,7 @@
33
33
  "docs/best-practices.md": "f8b75b0d38b5896a6a852bb30a1edddeb24dab8b5b7b1d9313290e1241c72024",
34
34
  "docs/ecosystem.md": "6164b62955dc4b915ed13ad183682108b344378ceba6b7acbbf0b674d804b000",
35
35
  "docs/engineering.md": "550528cd47c7d2c921729c68d0782a00ac8e77a4bdfec479f6749f9c3235d188",
36
- "docs/facts.json": "f0ec3716ba9c5f364bf7984b46a09a79a89da76aeccdc8b9f44c020bb7130633",
36
+ "docs/facts.json": "07c25816db268f92253e442f57f01a7d537900b8bdbe3438d5cd7148bc8f7f30",
37
37
  "docs/features.md": "6c9f0efb00c683e6f611c440c87847b187f8b0eee59e9e812f3a241695bc2ae1",
38
38
  "docs/performance.md": "bbf2f3922c25dcba0c1a9e69ef420e3871a729af5b35009a49b48a5d3c5cd151",
39
39
  "docs/recovery-guide.md": "59a8f1b66b34cb9ff5507b3d54dac3b9915e184aa044d9c758d18cac818d510e",
@@ -62,7 +62,7 @@
62
62
  "install/templates/multi-agent-autopilot-awake.plist.template": "ddd25c76c56fcbb38a89de8e35637372d70ace993d6bc487a88ca9cfb702fe1f",
63
63
  "install/templates/multi-agent-autopilot.plist.template": "122c8a61cd927edd99375d6e3da40f1d42bcceed5b6641785c8b28bb930bc77e",
64
64
  "install/unattended-profile-legacy.json": "f52e86b998956f09ad306b1735a6c10b58580d7082d8a55665a4c6bb15c3aa1f",
65
- "package.json": "26d8d5e3083f911d97416d620bb851857cff2d6624a292852e189119bcf2dedb",
65
+ "package.json": "f90e07ddc644acd59b9a330efb2ac663835731a55c371ff5e2876aedc90af8bb",
66
66
  "pipeline/agents/android-architect.md": "11fb74543cb0ebcf9525ca6654fe95d53da7229e0bf4a1149b31fd9005abc453",
67
67
  "pipeline/agents/backend-architect.md": "b02a606c301e4714131aed70ae6d16eeb77fbc819a001e2752cff2488d4246de",
68
68
  "pipeline/agents/bulk-reader.md": "6597052cd7d205bac2b1c7633f5232fe1a40730664a913b8eb77efd5a786dc25",
@@ -590,7 +590,7 @@
590
590
  "pipeline/scripts/owned-path-gate.mjs": "86b17e7a723d30056fac89026790e33cab891a549ffbda50b9e90d9a7675bf11",
591
591
  "pipeline/scripts/package-manager.mjs": "211046f0e32a05a0ac977a285892a4ad87e1d1e362573b048c8accd45c706d02",
592
592
  "pipeline/scripts/phase-banner.sh": "acca704968d6263810de5804ea50a96b7aab7472ec98a7149d92b78b380d8fa0",
593
- "pipeline/scripts/phase-tracker.sh": "0cad7a8073a274d609f6e3473d8eb448ca295ca482c7a9274d7d07038b6da20d",
593
+ "pipeline/scripts/phase-tracker.sh": "a3a72a3a39c8615707f1b3a77c60224ab9747f4dbb5401dc089a8c28d40e6356",
594
594
  "pipeline/scripts/phase0-exit-gate.mjs": "848244c4712c16edd2103b451f9043d20416710dc208d5fc4993c3fd008f32c6",
595
595
  "pipeline/scripts/phone-devices.mjs": "f32288cbe56670eecb7d3a4b43f9ebcb4baeac5eeec357322fe19399603d59e3",
596
596
  "pipeline/scripts/plan-coverage-gate.mjs": "1a83bc52584438a9bd5cba96d2ddefed92a6a317d30ee695e67ef6c00b93e5a8",
@@ -598,7 +598,7 @@
598
598
  "pipeline/scripts/plugin-refresh.sh": "687a33199ad963616ab537e32210ec8c967e76ecc42f494ee8a1dc9fe947fc30",
599
599
  "pipeline/scripts/pr-request.mjs": "e6f4ded2366c6599bb345b3011ecc771e13b8a1561afa4c9a50bca4edff17456",
600
600
  "pipeline/scripts/pre-commit-check.sh": "3692ef40b08968e15e8a4c7b873f1e9fd264f4809976cb616063782f2ef993b1",
601
- "pipeline/scripts/pre-push-check.sh": "e449aff7f0336d7d624eff4c6221f56d8621ba9d010669601755e57fd4ee02c7",
601
+ "pipeline/scripts/pre-push-check.sh": "4a1554a625df4745a829c0df294db7ce450fbe44fe624e562008e9912be78925",
602
602
  "pipeline/scripts/probe-evidence-capability.sh": "ac74252eed6b773fdbc7ec475a63606925f1ba7b5e7c6f911329f46fd920eae7",
603
603
  "pipeline/scripts/probe-store-key.mjs": "b46dfcf444c95d0bb61de36823314945dacaaacb8f35841d153dcfcde8e4df1a",
604
604
  "pipeline/scripts/prune-logs.sh": "c5587b33104c7253e07be8cce8249b50014c52dfdf232de637811ffdd88e95e4",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmerterden/multi-agent-pipeline",
3
- "version": "20.15.0",
3
+ "version": "20.15.1",
4
4
  "description": "6-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",
@@ -162,6 +162,14 @@ usage_live_ping() {
162
162
  # Smoke runs exercise this script's state handling, never the live dashboard -
163
163
  # a test gate must not leave phantom "running" rows on the timeline.
164
164
  [ -n "${MULTI_AGENT_SMOKE:-}" ] && return 0
165
+ # A tracker file supplied through TRACKER_FILE is a fixture unless it sits
166
+ # under a run root; only real runs reach the dashboard.
167
+ if [ "$TRACKER_FILE_FROM_ENV" = "1" ]; then
168
+ case "$TRACKER_FILE" in
169
+ "${LOGS_ROOT:-$HOME/.claude/logs/multi-agent}"/* | "$HOME/.multi-agent-unattended/"*) ;;
170
+ *) return 0 ;;
171
+ esac
172
+ fi
165
173
  local task="$1" phase="$2"
166
174
  # The emitter ships into whichever host tree installed it; a Copilot- or
167
175
  # Codex-only install has no ~/.claude/scripts, so resolve across all three
@@ -53,7 +53,9 @@
53
53
 
54
54
  set -uo pipefail
55
55
 
56
- REPO_ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
56
+ # Git runs the hook from the top of the worktree being pushed; the script itself
57
+ # may live in a different checkout of the same repository. Measure the former.
58
+ REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || (cd "$(dirname "$0")/../.." && pwd))"
57
59
  cd "$REPO_ROOT" || { echo "FAIL: can't cd to repo root" >&2; exit 2; }
58
60
 
59
61
  if ! command -v node >/dev/null 2>&1; then