livepilot 1.10.5 → 1.10.7

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.
Files changed (111) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.mcp.json.disabled +9 -0
  3. package/.mcpbignore +3 -0
  4. package/AGENTS.md +3 -3
  5. package/BUGS.md +1570 -0
  6. package/CHANGELOG.md +92 -0
  7. package/CONTRIBUTING.md +1 -1
  8. package/README.md +7 -7
  9. package/bin/livepilot.js +28 -8
  10. package/livepilot/.Codex-plugin/plugin.json +2 -2
  11. package/livepilot/.claude-plugin/plugin.json +2 -2
  12. package/livepilot/skills/livepilot-core/SKILL.md +4 -4
  13. package/livepilot/skills/livepilot-core/references/overview.md +2 -2
  14. package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +1 -1
  15. package/livepilot/skills/livepilot-release/SKILL.md +8 -8
  16. package/m4l_device/LivePilot_Analyzer.amxd +0 -0
  17. package/m4l_device/LivePilot_Analyzer.amxd.pre-presentation-backup +0 -0
  18. package/m4l_device/LivePilot_Analyzer.maxproj +53 -0
  19. package/m4l_device/livepilot_bridge.js +226 -3
  20. package/manifest.json +3 -3
  21. package/mcp_server/__init__.py +1 -1
  22. package/mcp_server/atlas/__init__.py +93 -26
  23. package/mcp_server/composer/sample_resolver.py +10 -6
  24. package/mcp_server/composer/tools.py +10 -6
  25. package/mcp_server/connection.py +6 -1
  26. package/mcp_server/creative_constraints/tools.py +214 -40
  27. package/mcp_server/experiment/engine.py +16 -14
  28. package/mcp_server/experiment/tools.py +9 -9
  29. package/mcp_server/hook_hunter/analyzer.py +62 -9
  30. package/mcp_server/hook_hunter/tools.py +74 -18
  31. package/mcp_server/m4l_bridge.py +32 -6
  32. package/mcp_server/memory/taste_graph.py +7 -2
  33. package/mcp_server/mix_engine/tools.py +8 -3
  34. package/mcp_server/musical_intelligence/detectors.py +32 -0
  35. package/mcp_server/musical_intelligence/tools.py +15 -10
  36. package/mcp_server/performance_engine/tools.py +117 -30
  37. package/mcp_server/preview_studio/engine.py +89 -8
  38. package/mcp_server/preview_studio/tools.py +43 -21
  39. package/mcp_server/project_brain/automation_graph.py +71 -19
  40. package/mcp_server/project_brain/builder.py +2 -0
  41. package/mcp_server/project_brain/tools.py +73 -15
  42. package/mcp_server/reference_engine/profile_builder.py +129 -3
  43. package/mcp_server/reference_engine/tools.py +54 -11
  44. package/mcp_server/runtime/capability_probe.py +10 -4
  45. package/mcp_server/runtime/execution_router.py +50 -0
  46. package/mcp_server/runtime/mcp_dispatch.py +75 -3
  47. package/mcp_server/runtime/remote_commands.py +4 -2
  48. package/mcp_server/runtime/tools.py +8 -2
  49. package/mcp_server/sample_engine/analyzer.py +131 -4
  50. package/mcp_server/sample_engine/critics.py +29 -8
  51. package/mcp_server/sample_engine/models.py +20 -1
  52. package/mcp_server/sample_engine/tools.py +74 -31
  53. package/mcp_server/semantic_moves/sound_design_compilers.py +22 -59
  54. package/mcp_server/semantic_moves/tools.py +5 -1
  55. package/mcp_server/semantic_moves/transition_compilers.py +12 -19
  56. package/mcp_server/server.py +78 -11
  57. package/mcp_server/services/motif_service.py +9 -3
  58. package/mcp_server/session_continuity/models.py +4 -0
  59. package/mcp_server/session_continuity/tools.py +7 -3
  60. package/mcp_server/session_continuity/tracker.py +23 -9
  61. package/mcp_server/song_brain/builder.py +110 -12
  62. package/mcp_server/song_brain/tools.py +94 -25
  63. package/mcp_server/sound_design/tools.py +112 -1
  64. package/mcp_server/splice_client/client.py +19 -6
  65. package/mcp_server/stuckness_detector/detector.py +90 -0
  66. package/mcp_server/stuckness_detector/tools.py +49 -5
  67. package/mcp_server/tools/_agent_os_engine/__init__.py +52 -0
  68. package/mcp_server/tools/_agent_os_engine/critics.py +158 -0
  69. package/mcp_server/tools/_agent_os_engine/evaluation.py +206 -0
  70. package/mcp_server/tools/_agent_os_engine/models.py +132 -0
  71. package/mcp_server/tools/_agent_os_engine/taste.py +192 -0
  72. package/mcp_server/tools/_agent_os_engine/techniques.py +161 -0
  73. package/mcp_server/tools/_agent_os_engine/world_model.py +170 -0
  74. package/mcp_server/tools/_composition_engine/__init__.py +67 -0
  75. package/mcp_server/tools/_composition_engine/analysis.py +174 -0
  76. package/mcp_server/tools/_composition_engine/critics.py +522 -0
  77. package/mcp_server/tools/_composition_engine/gestures.py +230 -0
  78. package/mcp_server/tools/_composition_engine/harmony.py +160 -0
  79. package/mcp_server/tools/_composition_engine/models.py +193 -0
  80. package/mcp_server/tools/_composition_engine/sections.py +414 -0
  81. package/mcp_server/tools/_harmony_engine.py +52 -8
  82. package/mcp_server/tools/_perception_engine.py +18 -11
  83. package/mcp_server/tools/_research_engine.py +98 -19
  84. package/mcp_server/tools/_theory_engine.py +138 -9
  85. package/mcp_server/tools/agent_os.py +43 -18
  86. package/mcp_server/tools/analyzer.py +105 -8
  87. package/mcp_server/tools/automation.py +6 -1
  88. package/mcp_server/tools/clips.py +45 -0
  89. package/mcp_server/tools/composition.py +90 -38
  90. package/mcp_server/tools/devices.py +32 -7
  91. package/mcp_server/tools/harmony.py +115 -14
  92. package/mcp_server/tools/midi_io.py +13 -1
  93. package/mcp_server/tools/mixing.py +35 -1
  94. package/mcp_server/tools/motif.py +56 -5
  95. package/mcp_server/tools/planner.py +6 -2
  96. package/mcp_server/tools/research.py +37 -10
  97. package/mcp_server/tools/theory.py +108 -16
  98. package/mcp_server/transition_engine/critics.py +18 -11
  99. package/mcp_server/transition_engine/tools.py +6 -1
  100. package/mcp_server/translation_engine/tools.py +8 -6
  101. package/mcp_server/wonder_mode/engine.py +8 -3
  102. package/mcp_server/wonder_mode/tools.py +29 -21
  103. package/package.json +2 -2
  104. package/remote_script/LivePilot/__init__.py +57 -2
  105. package/remote_script/LivePilot/clips.py +69 -0
  106. package/remote_script/LivePilot/mixing.py +117 -0
  107. package/remote_script/LivePilot/router.py +13 -1
  108. package/scripts/generate_tool_catalog.py +13 -38
  109. package/scripts/sync_metadata.py +231 -14
  110. package/mcp_server/tools/_agent_os_engine.py +0 -947
  111. package/mcp_server/tools/_composition_engine.py +0 -1530
package/CHANGELOG.md CHANGED
@@ -1,5 +1,97 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.10.7 — npm .amxd parity + domain-count consistency (April 18 2026)
4
+
5
+ Shipping release. Brings npm's tarball back in line with the fresh `.amxd`
6
+ freeze that landed on `main` after v1.10.6 tagged, and unifies the three
7
+ formerly-disagreeing sources of the domain count.
8
+
9
+ ### Fixed
10
+
11
+ - **npm tarball parity with the GitHub release.** v1.10.6's npm publish
12
+ predated commit `b0463ea` (the real fat `.amxd` freeze with matching ping
13
+ bytes), so `npm install livepilot@1.10.6` shipped the stale Batch-22
14
+ `.amxd` and `simpler_set_warp` silently no-op'd. v1.10.7 republishes with
15
+ the fresh `.amxd` already present in the GitHub release assets.
16
+ - **Domain count unified at 45.** Three formerly-disagreeing sources: prose
17
+ docs claimed "43 domains", `generate_tool_catalog.py` inferred "36" (via
18
+ a hand-maintained whitelist that silently dropped ~10 domains —
19
+ `atlas`, `composer`, `creative_constraints`, `device_forge`,
20
+ `hook_hunter`, `preview_studio`, `sample_engine`, `session_continuity`,
21
+ `song_brain`, `stuckness_detector`, `wonder_mode` — into an "Other"
22
+ bucket), runtime module layout has 45. All three now agree.
23
+ - **Inline domain lists completed.** `CLAUDE.md:31` was missing
24
+ `experiment`, `musical_intelligence`, and `semantic_moves`;
25
+ `livepilot/skills/livepilot-release/SKILL.md:63` was missing
26
+ `semantic_moves`.
27
+
28
+ ### Infra
29
+
30
+ - **`scripts/sync_metadata.py` extended** with `check_domain_count()` and
31
+ `check_domain_list()` that derive truth from `mcp_server` module paths.
32
+ `--fix` mode now auto-corrects stale tool/domain counts and appends
33
+ missing inline-list entries; extra entries are never auto-removed so a
34
+ pattern miss can't silently delete a legitimate domain.
35
+ - **`scripts/generate_tool_catalog.py`** now uses the same module-layout
36
+ rule (`mcp_server.<X>` / `mcp_server.tools.<Y>`) as `sync_metadata.py`
37
+ so the two tools can't disagree on the domain set again.
38
+ - **`.mcpbignore`** excludes `m4l_device/*.pre-*-backup` rollback artifacts
39
+ from the packaged `.mcpb`, keeping release bundles pristine across
40
+ future freeze cycles.
41
+ - **`CLAUDE.md` gains `## Domain Count` section** documenting the drift
42
+ enforcer alongside the existing `## Tool Count` and `## Version Bump`
43
+ sections.
44
+
45
+ ## 1.10.6 — Debuggability + Engine Modularization (April 17 2026)
46
+
47
+ Defensive-programming release. Zero behavior change for users; substantial
48
+ quality-of-life gains for developers and future debugging sessions.
49
+
50
+ ### Debuggability
51
+
52
+ - **Silent-exception sweep.** All 79 `except Exception: pass` sites across
53
+ `mcp_server/` now emit a `logger.debug("<func> failed: %s", exc)` breadcrumb
54
+ while preserving the original body (pass / return X / continue). Previously
55
+ invisible failures now leave a trail. Run with `LOG_LEVEL=DEBUG` to surface.
56
+ - **Credit-floor guard hardened.** `SpliceGRPCClient.download_sample()` now
57
+ enforces `CREDIT_HARD_FLOOR` defensively via `can_afford(1, budget=1)` before
58
+ the gRPC call. Tool-layer callers still gate upstream for UX; this closes
59
+ the hole if any future caller forgets. The docstring claimed this guard
60
+ existed — now the code matches.
61
+
62
+ ### Engine modularization
63
+
64
+ Two single-file engines (2,477 LOC combined) split into packages while keeping
65
+ the public surface identical. Callers that did `from . import X as engine` or
66
+ `from .X import Symbol` continue to work unchanged.
67
+
68
+ - **`mcp_server/tools/_composition_engine/`** — 6 sub-modules (models, sections,
69
+ critics, gestures, harmony, analysis) + facade. Was 1,530 LOC in one file;
70
+ now no sub-module exceeds 522 LOC.
71
+ - **`mcp_server/tools/_agent_os_engine/`** — 6 sub-modules (models, world_model,
72
+ critics, evaluation, techniques, taste) + facade. Was 947 LOC; now no
73
+ sub-module exceeds 207 LOC. `_clamp` promoted to models.py to resolve a
74
+ circular-dep risk between `evaluation` and `taste`.
75
+
76
+ ### Infra
77
+
78
+ - **CI matrix adds Python 3.11.** Ableton 12.3's embedded Python is 3.11 on
79
+ some platforms — catching drift pre-merge.
80
+ - **`livepilot.mcpb` removed from git tracking.** It was already excluded from
81
+ `.npmignore` and `.mcpbignore`; now it's no longer bloating git history every
82
+ release. Distribute via GitHub Releases.
83
+ - **`.git-backup-full/` deleted.** 3.4 MB worktree reclaim.
84
+
85
+ ### Docs
86
+
87
+ - **OSC address convention** documented in both `m4l_device/livepilot_bridge.js`
88
+ and `mcp_server/m4l_bridge.py` — the existing tolerant normalization at
89
+ `_parse_osc` now has a written contract.
90
+
91
+ ### Tests
92
+
93
+ 1756 pass, 1 skipped (macOS-only path test on non-darwin), 0 failures.
94
+
3
95
  ## 1.10.5 — Splice online catalog unblocked + Simpler sample-loading fixes (April 14 2026)
4
96
 
5
97
  The Splice integration was **never working online** in previous releases. The
package/CONTRIBUTING.md CHANGED
@@ -98,7 +98,7 @@ Prefix with `fix:`, `feat:`, `docs:`, `refactor:`, `test:`, or `chore:`.
98
98
 
99
99
  ## Tool Count Discipline
100
100
 
101
- Currently **320 tools**. If you add or remove a `@mcp.tool()` decorator, update all of these files:
101
+ Currently **323 tools**. If you add or remove a `@mcp.tool()` decorator, update all of these files:
102
102
 
103
103
  - `README.md`
104
104
  - `CLAUDE.md`
package/README.md CHANGED
@@ -17,7 +17,7 @@
17
17
 
18
18
  <p align="center">
19
19
  An agentic production system for Ableton Live 12.<br>
20
- 320 tools. 43 domains. Device atlas. Splice integration. Auto-composition. Spectral perception. Technique memory.
20
+ 323 tools. 45 domains. Device atlas. Splice integration. Auto-composition. Spectral perception. Technique memory.
21
21
  </p>
22
22
 
23
23
  <br>
@@ -79,8 +79,8 @@ Most MCP servers are tool collections — they execute commands. LivePilot is an
79
79
  │ └─────────────────┼──────────────────┘ │
80
80
  │ ▼ │
81
81
  │ ┌─────────────────┐ │
82
- │ │ 320 MCP Tools │ │
83
- │ │ 43 domains │ │
82
+ │ │ 323 MCP Tools │ │
83
+ │ │ 45 domains │ │
84
84
  │ └────────┬────────┘ │
85
85
  │ │ │
86
86
  │ Remote Script ──┤── TCP 9878 │
@@ -120,7 +120,7 @@ Most MCP servers are tool collections — they execute commands. LivePilot is an
120
120
 
121
121
  ## The Intelligence Layer
122
122
 
123
- 12 engines sit on top of the 320 tools. They give the AI musical judgment, not just musical execution.
123
+ 12 engines sit on top of the 323 tools. They give the AI musical judgment, not just musical execution.
124
124
 
125
125
  ### SongBrain — What the Song Is
126
126
 
@@ -172,7 +172,7 @@ Every engine follows: **measure before → act → measure after → compare**.
172
172
 
173
173
  ## Tools
174
174
 
175
- 320 tools across 43 domains. Highlights below — [full catalog here](docs/manual/tool-catalog.md).
175
+ 323 tools across 45 domains. Highlights below — [full catalog here](docs/manual/tool-catalog.md).
176
176
 
177
177
  <br>
178
178
 
@@ -360,7 +360,7 @@ The V2 intelligence layer. These tools analyze, diagnose, plan, evaluate, and le
360
360
  | Creative Constraints | 5 | constraint activation, reference-inspired variants |
361
361
  | Preview Studio | 5 | variant creation, preview rendering, comparison, commit |
362
362
 
363
- > **[View all 320 tools →](docs/manual/tool-catalog.md)**
363
+ > **[View all 323 tools →](docs/manual/tool-catalog.md)**
364
364
 
365
365
  <br>
366
366
 
@@ -585,7 +585,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details, code guidelines
585
585
 
586
586
  | Document | What's inside |
587
587
  |----------|---------------|
588
- | [Manual](docs/manual/index.md) | Complete reference: architecture, all 320 tools, workflows |
588
+ | [Manual](docs/manual/index.md) | Complete reference: architecture, all 323 tools, workflows |
589
589
  | [Intelligence Layer](docs/manual/intelligence.md) | How the 12 engines connect — conductor, moves, preview, evaluation |
590
590
  | [Device Atlas](docs/manual/device-atlas.md) | 1305 devices indexed — search, suggest, chain building |
591
591
  | [Samples & Slicing](docs/manual/samples.md) | 3-source search, fitness critics, slice workflows |
package/bin/livepilot.js CHANGED
@@ -402,27 +402,47 @@ async function setupFlucoma() {
402
402
  const https = require("https");
403
403
 
404
404
  const home = os.homedir();
405
- const packagesDir = process.platform === "darwin"
406
- ? path.join(home, "Documents", "Max 8", "Packages")
407
- : path.join(process.env.USERPROFILE || home, "Documents", "Max 8", "Packages");
408
405
 
406
+ // Max 9 is the current release (the Ableton Live 12.3+ default); Max 8 is
407
+ // the legacy path. Check both — if FluCoMa is already installed in either,
408
+ // Max will find it via its package search path. For fresh installs, prefer
409
+ // Max 9. Users still on Max 8 get the legacy path.
410
+ const docsBase = process.platform === "darwin"
411
+ ? path.join(home, "Documents")
412
+ : path.join(process.env.USERPROFILE || home, "Documents");
413
+
414
+ const max9PackagesDir = path.join(docsBase, "Max 9", "Packages");
415
+ const max8PackagesDir = path.join(docsBase, "Max 8", "Packages");
416
+
417
+ // Prefer Max 9 if that directory exists, else Max 8
418
+ const packagesDir = fs.existsSync(max9PackagesDir) ? max9PackagesDir : max8PackagesDir;
409
419
  const flucomaDir = path.join(packagesDir, "FluidCorpusManipulation");
410
420
 
411
- if (fs.existsSync(flucomaDir)) {
412
- // Check version
413
- const pkgInfo = path.join(flucomaDir, "package-info.json");
421
+ // Check BOTH locations for an existing install — a user may have Max 8
422
+ // FluCoMa from a prior install that still works
423
+ const altFlucomaDir = path.join(
424
+ packagesDir === max9PackagesDir ? max8PackagesDir : max9PackagesDir,
425
+ "FluidCorpusManipulation"
426
+ );
427
+
428
+ for (const candidateDir of [flucomaDir, altFlucomaDir]) {
429
+ if (!fs.existsSync(candidateDir)) continue;
430
+ const pkgInfo = path.join(candidateDir, "package-info.json");
414
431
  if (fs.existsSync(pkgInfo)) {
415
432
  try {
416
433
  const info = JSON.parse(fs.readFileSync(pkgInfo, "utf-8"));
417
434
  console.log("FluCoMa already installed: v%s", info.version || "unknown");
418
- console.log("Location: %s", flucomaDir);
435
+ console.log("Location: %s", candidateDir);
419
436
  return;
420
437
  } catch {}
421
438
  }
422
- console.log("FluCoMa already installed at %s", flucomaDir);
439
+ console.log("FluCoMa already installed at %s", candidateDir);
423
440
  return;
424
441
  }
425
442
 
443
+ // Ensure the parent Packages directory exists for the install target
444
+ fs.mkdirSync(packagesDir, { recursive: true });
445
+
426
446
  console.log("FluCoMa not found. Downloading from GitHub...");
427
447
  const crypto = require("crypto");
428
448
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "livepilot",
3
- "version": "1.10.5",
4
- "description": "Agentic production system for Ableton Live 12 — 320 tools, 43 domains, device atlas, sample intelligence, auto-composition, spectral perception, technique memory, neo-Riemannian harmony, Euclidean rhythm, species counterpoint, MIDI I/O",
3
+ "version": "1.10.7",
4
+ "description": "Agentic production system for Ableton Live 12 — 323 tools, 45 domains, device atlas, sample intelligence, auto-composition, spectral perception, technique memory, neo-Riemannian harmony, Euclidean rhythm, species counterpoint, MIDI I/O",
5
5
  "author": {
6
6
  "name": "Pilot Studio"
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "livepilot",
3
- "version": "1.10.5",
4
- "description": "Agentic production system for Ableton Live 12 — 320 tools, 43 domains, device atlas, sample intelligence, auto-composition, spectral perception, technique memory, neo-Riemannian harmony, Euclidean rhythm, species counterpoint, MIDI I/O",
3
+ "version": "1.10.7",
4
+ "description": "Agentic production system for Ableton Live 12 — 323 tools, 45 domains, device atlas, sample intelligence, auto-composition, spectral perception, technique memory, neo-Riemannian harmony, Euclidean rhythm, species counterpoint, MIDI I/O",
5
5
  "author": {
6
6
  "name": "Pilot Studio"
7
7
  }
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: livepilot-core
3
- description: Core discipline for LivePilot — agentic production system for Ableton Live 12. 320 tools across 43 domains. This skill should be used whenever working with Ableton Live through MCP tools. Provides golden rules, tool speed tiers, error handling protocol, and pointers to domain and engine skills.
3
+ description: Core discipline for LivePilot — agentic production system for Ableton Live 12. 323 tools across 45 domains. This skill should be used whenever working with Ableton Live through MCP tools. Provides golden rules, tool speed tiers, error handling protocol, and pointers to domain and engine skills.
4
4
  ---
5
5
 
6
6
  # LivePilot Core — Ableton Live 12
7
7
 
8
- Agentic production system for Ableton Live 12. 320 tools across 43 domains, three layers:
8
+ Agentic production system for Ableton Live 12. 323 tools across 45 domains, three layers:
9
9
 
10
10
  - **Device Atlas** — 1305 devices indexed (81 enriched with sonic intelligence, 683 drum kits). Consult `atlas_search` or `atlas_suggest` before loading any device. Never guess a device name.
11
11
  - **M4L Analyzer** — Real-time audio analysis on the master bus (8-band spectrum, RMS/peak, key detection). Optional — all core tools work without it.
@@ -39,7 +39,7 @@ Agentic production system for Ableton Live 12. 320 tools across 43 domains, thre
39
39
  ## Tool Speed Tiers
40
40
 
41
41
  ### Instant (<1s) — Use freely
42
- All 320 tools plus M4L perception tools.
42
+ All 323 tools plus M4L perception tools.
43
43
 
44
44
  ### Fast (1-5s) — Use freely
45
45
  `analyze_loudness` · `analyze_mix` · `analyze_sound_design`
@@ -128,7 +128,7 @@ Deep production knowledge in `references/`:
128
128
 
129
129
  | File | Content |
130
130
  |------|---------|
131
- | `references/overview.md` | All 320 tools with params and ranges |
131
+ | `references/overview.md` | All 323 tools with params and ranges |
132
132
  | `references/device-atlas/` | 280+ device corpus with URIs and presets |
133
133
  | `references/midi-recipes.md` | Drum patterns, chord voicings, humanization |
134
134
  | `references/sound-design.md` | Synth recipes, device chain patterns |
@@ -1,6 +1,6 @@
1
- # LivePilot v1.10.5 — Architecture & Tool Reference
1
+ # LivePilot v1.10.7 — Architecture & Tool Reference
2
2
 
3
- Agentic production system for Ableton Live 12. 320 tools across 43 domains. Device atlas (1305 devices, 81 enriched), spectral perception (M4L analyzer), technique memory, automation intelligence (16 curve types, 15 recipes), music theory (Krumhansl-Schmuckler, species counterpoint), generative algorithms (Euclidean rhythm, tintinnabuli, phase shift, additive process), neo-Riemannian harmony (PRL transforms, Tonnetz), MIDI file I/O, Splice online catalog search and download via gRPC (v1.10.5 unblocked 19,690+ catalog hits previously inaccessible).
3
+ Agentic production system for Ableton Live 12. 323 tools across 45 domains. Device atlas (1305 devices, 81 enriched), spectral perception (M4L analyzer), technique memory, automation intelligence (16 curve types, 15 recipes), music theory (Krumhansl-Schmuckler, species counterpoint), generative algorithms (Euclidean rhythm, tintinnabuli, phase shift, additive process), neo-Riemannian harmony (PRL transforms, Tonnetz), MIDI file I/O, Splice online catalog search and download via gRPC (v1.10.6 unblocked 19,690+ catalog hits previously inaccessible).
4
4
 
5
5
  ## Architecture
6
6
 
@@ -104,7 +104,7 @@ Call `get_capability_state` at the start of any evaluation session. The response
104
104
  {
105
105
  "mode": "normal",
106
106
  "analyzer_connected": true,
107
- "bridge_version": "1.10.5",
107
+ "bridge_version": "1.10.6",
108
108
  "spectral_cache_age_ms": 1200,
109
109
  "flucoma_available": false,
110
110
  "session_connected": true
@@ -28,20 +28,20 @@ Run this checklist EVERY time the user says "update everything", "push", "releas
28
28
 
29
29
  ## 2. Tool Count (must ALL match)
30
30
 
31
- Current: **320 tools across 43 domains**.
31
+ Current: **323 tools across 45 domains**.
32
32
  Core (no M4L): **289**. Bridge (M4L): **30** (backed by 28 bridge commands).
33
33
 
34
34
  Verify: `grep -rc "@mcp.tool" mcp_server/tools/ | grep -v ":0" | awk -F: '{sum+=$2} END{print sum}'`
35
35
 
36
36
  Files that reference tool count:
37
- - [ ] `README.md` — header ("320 tools. 43 domains"), bridge section ("281 core...36 bridge")
37
+ - [ ] `README.md` — header ("323 tools. 45 domains"), bridge section ("281 core...36 bridge")
38
38
  - [ ] `package.json` → `"description"`
39
39
  - [ ] `server.json` → `"description"`
40
40
  - [ ] `manifest.json` → `"description"`
41
41
  - [ ] `livepilot/.Codex-plugin/plugin.json` → `"description"` (primary Codex manifest)
42
42
  - [ ] `livepilot/.claude-plugin/plugin.json` → `"description"` (must match Codex plugin)
43
43
  - [ ] `.claude-plugin/marketplace.json` → `"description"`
44
- - [ ] `CLAUDE.md` → "320 tools across 43 domains"
44
+ - [ ] `CLAUDE.md` → "323 tools across 45 domains"
45
45
  - [ ] `CONTRIBUTING.md` → tool count in intro
46
46
  - [ ] `livepilot/skills/livepilot-core/SKILL.md` — tool/domain count
47
47
  - [ ] `livepilot/skills/livepilot-core/references/overview.md` — tool/domain count
@@ -60,10 +60,10 @@ Files that reference tool count:
60
60
 
61
61
  ## 3. Domain Count
62
62
 
63
- Current: **43 domains**: transport, tracks, clips, notes, devices, scenes, mixing, browser, arrangement, memory, analyzer, automation, theory, generative, harmony, midi_io, perception, agent_os, composition, motif, research, planner, project_brain, runtime, evaluation, mix_engine, sound_design, transition_engine, reference_engine, translation_engine, performance_engine, song_brain, preview_studio, hook_hunter, stuckness_detector, wonder_mode, session_continuity, creative_constraints, device_forge, sample_engine, atlas, composer, experiment, musical_intelligence.
63
+ Current: **45 domains**: transport, tracks, clips, notes, devices, scenes, mixing, browser, arrangement, memory, analyzer, automation, theory, generative, harmony, midi_io, perception, agent_os, composition, motif, research, planner, project_brain, runtime, evaluation, mix_engine, sound_design, transition_engine, reference_engine, translation_engine, performance_engine, song_brain, preview_studio, hook_hunter, stuckness_detector, wonder_mode, session_continuity, creative_constraints, device_forge, sample_engine, atlas, composer, experiment, musical_intelligence, semantic_moves.
64
64
 
65
- - [ ] All files that mention domain count say "43 domains"
66
- - [ ] Domain lists include ALL 43 (especially newer domains — they're the most often omitted)
65
+ - [ ] All files that mention domain count say "45 domains"
66
+ - [ ] Domain lists include ALL 45 (especially newer domains — they're the most often omitted)
67
67
 
68
68
  ## 4. npm Registry
69
69
 
@@ -93,8 +93,8 @@ Current: **43 domains**: transport, tracks, clips, notes, devices, scenes, mixin
93
93
 
94
94
  - [ ] `README.md` — features match current capabilities, "Coming" section is accurate
95
95
  - [ ] `docs/manual/getting-started.md` — install instructions current
96
- - [ ] `docs/manual/tool-reference.md` — all 43 domains listed, all 320 tools present
97
- - [ ] `docs/TOOL_REFERENCE.md` — all 43 domains present with correct counts
96
+ - [ ] `docs/manual/tool-reference.md` — all 45 domains listed, all 323 tools present
97
+ - [ ] `docs/TOOL_REFERENCE.md` — all 45 domains present with correct counts
98
98
  - [ ] `docs/M4L_BRIDGE.md` — architecture accurate, core/bridge counts correct
99
99
 
100
100
  ## 9. Derived Artifacts
Binary file
@@ -0,0 +1,53 @@
1
+ {
2
+ "name" : "LivePilot_Analyzer",
3
+ "version" : 1,
4
+ "creationdate" : 3923452800,
5
+ "modificationdate" : 3923452800,
6
+ "viewrect" : [ 100.0, 100.0, 300.0, 500.0 ],
7
+ "autoorganize" : 0,
8
+ "hideprojectwindow" : 0,
9
+ "showdependencies" : 1,
10
+ "autolocalize" : 0,
11
+ "contents" : {
12
+ "patchers" : {
13
+ "LivePilot_Analyzer.maxpat" : {
14
+ "kind" : "patcher",
15
+ "local" : 1,
16
+ "toplevel" : 1
17
+ }
18
+ },
19
+ "code" : {
20
+ "livepilot_bridge.js" : {
21
+ "kind" : "javascript",
22
+ "local" : 1
23
+ }
24
+ },
25
+ "externals" : {
26
+ "fluid.chroma~.mxo" : { "kind" : "maxext_darwin", "local" : 1 },
27
+ "fluid.chroma~.mxe64" : { "kind" : "maxext_win_64", "local" : 1 },
28
+ "fluid.loudness~.mxo" : { "kind" : "maxext_darwin", "local" : 1 },
29
+ "fluid.loudness~.mxe64" : { "kind" : "maxext_win_64", "local" : 1 },
30
+ "fluid.melbands~.mxo" : { "kind" : "maxext_darwin", "local" : 1 },
31
+ "fluid.melbands~.mxe64" : { "kind" : "maxext_win_64", "local" : 1 },
32
+ "fluid.noveltyfeature~.mxo" : { "kind" : "maxext_darwin", "local" : 1 },
33
+ "fluid.noveltyfeature~.mxe64" : { "kind" : "maxext_win_64", "local" : 1 },
34
+ "fluid.onsetfeature~.mxo" : { "kind" : "maxext_darwin", "local" : 1 },
35
+ "fluid.onsetfeature~.mxe64" : { "kind" : "maxext_win_64", "local" : 1 },
36
+ "fluid.spectralshape~.mxo" : { "kind" : "maxext_darwin", "local" : 1 },
37
+ "fluid.spectralshape~.mxe64" : { "kind" : "maxext_win_64", "local" : 1 }
38
+ }
39
+ },
40
+ "layout" : {
41
+
42
+ },
43
+ "searchpath" : {
44
+
45
+ },
46
+ "detailsvisible" : 0,
47
+ "amxdtype" : 1627865200,
48
+ "readonly" : 0,
49
+ "devpathtype" : 0,
50
+ "devpath" : ".",
51
+ "sortmode" : 0,
52
+ "viewmode" : 0
53
+ }