livepilot 1.15.0-beta → 1.16.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.
Files changed (70) hide show
  1. package/CHANGELOG.md +206 -3
  2. package/README.md +11 -11
  3. package/m4l_device/LivePilot_Analyzer.amxd +0 -0
  4. package/m4l_device/livepilot_bridge.js +1 -1
  5. package/mcp_server/__init__.py +1 -1
  6. package/mcp_server/atlas/device_atlas.json +91219 -7161
  7. package/mcp_server/atlas/enrichments/audio_effects/pitch_hack.yaml +61 -0
  8. package/mcp_server/atlas/enrichments/audio_effects/pitchloop89.yaml +111 -0
  9. package/mcp_server/atlas/enrichments/audio_effects/re_enveloper.yaml +51 -0
  10. package/mcp_server/atlas/enrichments/audio_effects/snipper.yaml +36 -0
  11. package/mcp_server/atlas/enrichments/audio_effects/spectral_blur.yaml +64 -0
  12. package/mcp_server/atlas/enrichments/instruments/bell_tower.yaml +37 -0
  13. package/mcp_server/atlas/enrichments/instruments/granulator_iii.yaml +124 -0
  14. package/mcp_server/atlas/enrichments/instruments/harmonic_drone_generator.yaml +83 -0
  15. package/mcp_server/atlas/enrichments/instruments/impulse.yaml +47 -0
  16. package/mcp_server/atlas/enrichments/instruments/sting_iftah.yaml +44 -0
  17. package/mcp_server/atlas/enrichments/midi_effects/expressive_chords.yaml +38 -0
  18. package/mcp_server/atlas/enrichments/midi_effects/filler.yaml +32 -0
  19. package/mcp_server/atlas/enrichments/midi_effects/microtuner.yaml +83 -0
  20. package/mcp_server/atlas/enrichments/midi_effects/patterns_iftah.yaml +38 -0
  21. package/mcp_server/atlas/enrichments/midi_effects/phase_pattern.yaml +51 -0
  22. package/mcp_server/atlas/enrichments/midi_effects/polyrhythm.yaml +46 -0
  23. package/mcp_server/atlas/enrichments/midi_effects/retrigger.yaml +40 -0
  24. package/mcp_server/atlas/enrichments/midi_effects/slice_shuffler.yaml +39 -0
  25. package/mcp_server/atlas/enrichments/midi_effects/sq_sequencer.yaml +39 -0
  26. package/mcp_server/atlas/enrichments/midi_effects/stages.yaml +38 -0
  27. package/mcp_server/atlas/enrichments/utility/arrangement_looper.yaml +31 -0
  28. package/mcp_server/atlas/enrichments/utility/cv_clock_in.yaml +25 -0
  29. package/mcp_server/atlas/enrichments/utility/cv_clock_out.yaml +25 -0
  30. package/mcp_server/atlas/enrichments/utility/cv_envelope_follower.yaml +38 -0
  31. package/mcp_server/atlas/enrichments/utility/cv_in.yaml +26 -0
  32. package/mcp_server/atlas/enrichments/utility/cv_instrument.yaml +34 -0
  33. package/mcp_server/atlas/enrichments/utility/cv_lfo.yaml +38 -0
  34. package/mcp_server/atlas/enrichments/utility/cv_shaper.yaml +35 -0
  35. package/mcp_server/atlas/enrichments/utility/cv_triggers.yaml +26 -0
  36. package/mcp_server/atlas/enrichments/utility/cv_utility.yaml +37 -0
  37. package/mcp_server/atlas/enrichments/utility/performer.yaml +36 -0
  38. package/mcp_server/atlas/enrichments/utility/prearranger.yaml +36 -0
  39. package/mcp_server/atlas/enrichments/utility/rotating_rhythm_generator.yaml +35 -0
  40. package/mcp_server/atlas/enrichments/utility/surround_panner.yaml +40 -0
  41. package/mcp_server/atlas/enrichments/utility/variations.yaml +40 -0
  42. package/mcp_server/atlas/enrichments/utility/vector_map.yaml +36 -0
  43. package/mcp_server/atlas/tools.py +30 -2
  44. package/mcp_server/runtime/remote_commands.py +3 -0
  45. package/mcp_server/sample_engine/tools.py +738 -60
  46. package/mcp_server/server.py +18 -6
  47. package/mcp_server/splice_client/client.py +583 -65
  48. package/mcp_server/splice_client/http_bridge.py +434 -0
  49. package/mcp_server/splice_client/models.py +278 -2
  50. package/mcp_server/splice_client/quota.py +229 -0
  51. package/mcp_server/tools/_analyzer_engine/__init__.py +4 -0
  52. package/mcp_server/tools/_analyzer_engine/sample.py +73 -0
  53. package/mcp_server/tools/analyzer.py +730 -29
  54. package/mcp_server/tools/browser.py +164 -13
  55. package/mcp_server/tools/devices.py +56 -11
  56. package/mcp_server/tools/mixing.py +64 -15
  57. package/mcp_server/tools/scales.py +18 -6
  58. package/mcp_server/tools/tracks.py +92 -4
  59. package/package.json +2 -2
  60. package/remote_script/LivePilot/__init__.py +1 -1
  61. package/remote_script/LivePilot/_clip_helpers.py +86 -0
  62. package/remote_script/LivePilot/_drum_helpers.py +40 -0
  63. package/remote_script/LivePilot/_scale_helpers.py +87 -0
  64. package/remote_script/LivePilot/arrangement.py +44 -15
  65. package/remote_script/LivePilot/clips.py +182 -2
  66. package/remote_script/LivePilot/devices.py +82 -2
  67. package/remote_script/LivePilot/notes.py +17 -2
  68. package/remote_script/LivePilot/scales.py +31 -16
  69. package/remote_script/LivePilot/simpler_sample.py +105 -17
  70. package/server.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,208 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.16.1 — Post-publish live-verification bug sweep (April 22 2026)
4
+
5
+ Three rounds of live verification after 1.16.0 shipped caught five
6
+ runtime bugs that unit tests missed. All unit-test-clean paths that
7
+ failed on first live invocation against a running Splice desktop +
8
+ Ableton 12.4 are now both fixed and guarded by source-grep regression
9
+ tests. Plus one new tool and two observations addressed.
10
+
11
+ **Tool count**: 421 → 422 (+1: `verify_all_devices_health` —
12
+ session-wide silent-track detector).
13
+ **Domain count**: unchanged at 52.
14
+ **Tests**: 2627 → 2644 (+17 new regression guards). No regressions.
15
+
16
+ ### Live-verified bugs fixed
17
+
18
+ - `add_drum_rack_pad` crashed with `ImportError` on first invocation
19
+ — inline `from .._analyzer_engine.sample import ...` resolved to
20
+ `mcp_server._analyzer_engine` (nonexistent; the real package is
21
+ `mcp_server.tools._analyzer_engine`). The helper is already imported
22
+ at module scope on line 29; inline form removed.
23
+ - `splice_preview_sample` returned "No preview URL available" for
24
+ un-downloaded catalog samples. `SampleInfo` RPC only carries
25
+ `PreviewURL` for downloaded/purchased items. Now falls back to
26
+ `SearchSamples(FileHash=...)` which always has catalog metadata.
27
+ - `splice_pack_info` crashed with
28
+ `AttributeError: 'AppStub' object has no attribute 'SamplePackInfo'`.
29
+ The `SamplePackInfoRequest/Response` messages exist in the proto
30
+ descriptor but no RPC on the `App` service binds them. Rewrote to
31
+ paginate `ListSamplePacks` + client-side UUID match. Limitation
32
+ documented: only finds packs the user has engaged with.
33
+ - `splice_pack_info` on an OWNED pack with an extended-format UUID
34
+ (43 chars, e.g. `...887a0dd7f26bf5a3951`) failed because the first
35
+ fix aggressively truncated to `[:36]`, discarding legitimate bytes.
36
+ Correct behavior: Splice uses both UUID formats; build a `targets`
37
+ set of the submitted form AND its canonical truncation, match each
38
+ server-returned UUID in both forms.
39
+ - Startup warning `STARTUP SELF-TEST WARNING — returned 385 tools,
40
+ expects 422`. `_get_all_tools()` took the first non-empty probe,
41
+ which could be a stale `_tool_manager._tools` view lagging behind
42
+ the authoritative `_local_provider._components`. Now takes the
43
+ largest view across all probes.
44
+ - Startup `RuntimeWarning: coroutine 'FastMCP.list_tools' was never
45
+ awaited` on every server import. The `list_tools` probe wrapped an
46
+ async coroutine in `list()` without awaiting. Removed with an
47
+ explanatory comment.
48
+
49
+ ### Added
50
+
51
+ - `verify_all_devices_health(test_midi_note=60, skip_audio_tracks=True,
52
+ skip_empty_tracks=True, threshold=0.005)` — session-wide silent-
53
+ track detector. Fires a test note on every eligible track and reports
54
+ alive / dead / skipped with per-track peak-level evidence.
55
+ - `~/.livepilot/splice.json` config key `plan_kind_override` — pin
56
+ the Splice plan_kind when the gRPC classifier lands on a safe
57
+ default (e.g. `sounds_plan_id=6` with empty `features` map is
58
+ classified as SOUNDS_PLUS but may actually be any of several tiers).
59
+ Values: `ableton_live`, `sounds_plus`, `creator`, `creator_plus`,
60
+ `free`. `get_splice_credits` response now includes
61
+ `plan_kind_override: <value|null>`.
62
+
63
+ ### Internal
64
+
65
+ - M4L bridge source (`livepilot_bridge.js`) ping version drift
66
+ `1.14.1 → 1.16.1` (source had been stale; binary had already been
67
+ patched in a prior release).
68
+ - `SpliceGRPCClient.get_pack_info` return signature changed from
69
+ `Optional[SplicePack]` to `tuple[Optional[SplicePack], Optional[str]]`.
70
+ Callers now receive a structured error message when the lookup
71
+ fails, instead of `None` swallowing the cause.
72
+
73
+ ## 1.16.0 — Minimal-techno session bug batch + Splice plan model (April 22 2026)
74
+
75
+ Hardens the 1.15.0 beta into a full release. Resolves 18 of the 19 bugs
76
+ catalogued in `docs/2026-04-22-bugs-discovered.md` during an end-to-end
77
+ minimal-techno production session, ships a plan-aware Splice download
78
+ model, adds drum-rack pad-by-pad construction, and lands clip-length +
79
+ note-range invariants so programmatic workflows stop corrupting
80
+ arrangement timing.
81
+
82
+ **Tool count**: 403 → 421 (+18).
83
+ **Domain count**: unchanged at 52.
84
+ **Tests**: 49 new contract tests across five helper modules. No regressions.
85
+
86
+ ### Added
87
+
88
+ **Drum Rack pad-by-pad construction (BUG #1)**
89
+ - `add_drum_rack_pad(track_index, pad_note, file_path)` — atomic tool
90
+ that does the full drum-rack build per pad: insert_rack_chain →
91
+ set_drum_chain_note → insert empty Simpler → load sample via native
92
+ Live 12.4 replace_sample with nested addressing. Returns
93
+ `{ok, chain_index, pad_note, nested_device_index}`. Requires Live 12.4+.
94
+ - `replace_simpler_sample` and `load_sample_to_simpler` now accept
95
+ `chain_index` + `nested_device_index` for deep addressing inside
96
+ drum-rack chains.
97
+ - Auto-increment of `in_note` on `insert_rack_chain` for drum racks
98
+ (BUG #13) — no more "all new chains pile up on note 36 (Multi)".
99
+
100
+ **Live-session device-alive verification (BUG #19)**
101
+ - `verify_device_alive(track_index, device_index)` — static check
102
+ returning `{alive, reason, recommendation}` based on parameter_count
103
+ and health_flags.
104
+ - Optional `fire_test_note=True` path for definitive answer: captures
105
+ pre-hit RMS, fires a scratch MIDI clip, samples the meter over the
106
+ duration, captures post-hit RMS. Scratch clip auto-cleaned.
107
+ - Remote Script handlers: `fire_test_note`, `cleanup_test_note`.
108
+
109
+ **Splice plan-aware download gating (2026-04-14 carry-over)**
110
+ - `SpliceGRPCClient.decide_download` with three branches: free samples
111
+ bypass, Ableton Live plan uses daily quota, credit-metered plans use
112
+ credit floor. Fixes the bug where the Ableton Live plan (100/day
113
+ unmetered) was blocked by the credit-floor check.
114
+ - `DailyQuotaTracker` persisting `~/.livepilot/splice_quota.json` keyed
115
+ by UTC date. 100/day default, 90 warn threshold.
116
+ - `classify_plan` reads feature flags (ableton_unmetered,
117
+ ableton_live_plan, unmetered_downloads, creator_plus) with precedence
118
+ locked down by regression-trap tests.
119
+
120
+ **Splice HTTPS bridge scaffolding**
121
+ - `mcp_server/splice_client/http_bridge.py` — auth + endpoint +
122
+ retry/timeout plumbing for the plugin-exclusive Describe-a-Sound and
123
+ Variations features. Tools return a clear "bridge not yet wired"
124
+ error until the real endpoint shapes are captured via mitmproxy.
125
+
126
+ **Extended analyzer perception**
127
+ - `analyze_loudness_live` (BUG #8) — LUFS + true-peak on the live
128
+ master without requiring a file render.
129
+ - `get_master_spectrum` now accepts `window_ms` (BUG #6) — stable
130
+ averaged reads vs the previous single-sample jitter.
131
+
132
+ **Clip length + note-range invariants (BUG #1c)**
133
+ - `create_clip(length=N)` now forces `loop_end = N` and `end_marker = N`
134
+ after creation. Response exposes both fields.
135
+ - `add_notes` auto-extends `loop_end` if any incoming note's
136
+ `start_time + duration` exceeds it. Response reports
137
+ `loop_end_extended_to` when extension fired.
138
+
139
+ **Smart Simpler defaults (BUG #17 + #18)**
140
+ - `load_browser_item(role=...)` applies post-load Simpler defaults:
141
+ - `drum`: Snap=0, Vol=0dB, Trigger Mode=0 (Trigger), root=C1 (36)
142
+ - `melodic`: Snap=1, Vol=0dB, Trigger Mode=1 (Gate), root=C3 (60)
143
+ - `texture`: Snap=0, Vol=-6dB, Trigger Mode=1 (Gate), root=C3 (60)
144
+
145
+ **Miscellaneous**
146
+ - `get_track_info(-1000)` returns master track info (BUG #11).
147
+ - `scan_full_library(max_per_category=5000)` — removed the hardcoded
148
+ 1000 cap that silently truncated large categories (BUG #12).
149
+ - `batch_set_parameters` accepts `{index: N, value}` and `{name: "X", value}`
150
+ shapes — the keys `get_device_parameters` actually returns (BUG #3).
151
+ - `search_browser` / `search_samples` accept intuitive parameter aliases
152
+ (BUG #4).
153
+ - `get_browser_items` paginates when output would exceed the token cap
154
+ (BUG #5).
155
+ - `get_track_meters` returns consistent peak/L/R triple on a single time
156
+ window (BUG #7).
157
+ - `set_song_scale` accepts string root notes ("C", "F#", "Bb") and
158
+ handles Live 12.4.0's moved `scale_names` attribute via a tolerant
159
+ resolver with a built-in fallback scale list (BUG #2).
160
+
161
+ ### Documentation
162
+
163
+ - `docs/load_browser_item-uri-grammar.md` (BUG #14) — the three URI
164
+ forms, failure modes, discovery recipe, top-level folder map. Moved
165
+ under `livepilot/skills/livepilot-devices/references/`.
166
+ - `livepilot-devices` SKILL — new "Custom Drum Rack Construction" and
167
+ "Parameter Name Quirks" sections (BUG #10, #16).
168
+ - `livepilot-arrangement` SKILL — documents the Live LOM limitation
169
+ behind BUG #1b (programmatic arrangement automation) with two
170
+ workaround patterns (session-clip + record, or stepped section
171
+ clips).
172
+ - `docs/M4L_BRIDGE.md` — drift fixes: bridge command count 28 → 30,
173
+ analyzer MCP tool count 20 → 33, Max 8 → Max 9 reference, new
174
+ Phase 3 section documenting 8 previously undocumented bridge
175
+ commands.
176
+
177
+ ### Fixed
178
+
179
+ - `_live_caps` no longer caches the 12.0.0 fallback when
180
+ `get_session_info` returns no live_version — previously pinned the
181
+ entire session to the oldest capability tier.
182
+
183
+ ### Changed
184
+
185
+ - `insert_rack_chain` on drum racks now auto-increments `in_note`
186
+ (BUG #13). Pass `auto_pad_note=false` to keep Live's default
187
+ collide-on-36 behavior.
188
+
189
+ ### Deferred
190
+
191
+ - **BUG #15** — adding a sub_low (30-60 Hz) spectrum band requires a
192
+ Max 9 re-freeze of `LivePilot_Analyzer.amxd`. Deferred to the next
193
+ .amxd rebuild cycle. `get_mel_spectrum` provides finer-grained
194
+ perceptual bands as a workaround.
195
+ - **BUG #1b** — programmatic creation of arrangement automation
196
+ breakpoints. Live LOM limitation (per Ableton docs,
197
+ `Clip.automation_envelope` returns None for arrangement clips);
198
+ documented workaround patterns instead of a synthetic fix.
199
+
200
+ ### Platform
201
+
202
+ - LivePilot_Analyzer.amxd ping version bytes patched 1.15.0 → 1.16.0
203
+ (in-place binary patch — source bumps don't auto-refresh the frozen
204
+ JS, lesson from two prior releases).
205
+
3
206
  ## 1.15.0-beta — Live 12.4 replace_sample native (April 21 2026)
4
207
 
5
208
  First Live 12.4 beta support release. Adds a native fast path for
@@ -392,7 +595,7 @@ every bug now has a named regression guard in the test suite.
392
595
  ## 1.12.1 — Silent-failure fixes + slice classifier (April 18 2026)
393
596
 
394
597
  Reconciles the "separate git stash" called out under v1.12.0's Known
395
- limitations — the 2026-04-18 Villalobos-groove session surfaced four
598
+ limitations — the 2026-04-18 minimal-groove session surfaced four
396
599
  silent-failure bugs and the need for a drum-slice spectral classifier.
397
600
 
398
601
  **+1 tool (397 → 398): `classify_simpler_slices`.** +43 regression
@@ -428,7 +631,7 @@ guards (pure-Python, run without a live Ableton).
428
631
  FFT-based spectral analysis on a Simpler's slice boundaries, returns
429
632
  each slice labeled as KICK / SNARE / HAT / ghost plus feature
430
633
  breakdown (peak, rms, band %). Validated thresholds from the
431
- 2026-04-18 Villalobos-groove session on "Break Ghosts 90 bpm":
634
+ 2026-04-18 minimal-groove session on "Break Ghosts 90 bpm":
432
635
  - KICK: sub+low ≥ 45%, high < 40%
433
636
  - HAT: high ≥ 70% AND mid < 25%
434
637
  - SNARE: mid ≥ 25% AND high ≥ 40% AND peak ≥ 0.6
@@ -445,7 +648,7 @@ guards (pure-Python, run without a live Ableton).
445
648
 
446
649
  ### Documented bug entries
447
650
 
448
- - `BUGS.md` gains a new **"F. 2026-04-18 Villalobos-groove creative
651
+ - `BUGS.md` gains a new **"F. 2026-04-18 minimal-groove creative
449
652
  session"** section: F1-F4 fixed here, F5-F7 scoped to v1.13+, F8
450
653
  wontfix (workaround documented).
451
654
 
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
- 403 tools. 52 domains. Device atlas. Splice integration. Auto-composition. Spectral perception. Technique memory.
20
+ 422 tools. 52 domains. Device atlas. Plan-aware Splice integration. Auto-composition. Spectral perception. Technique memory. Drum-rack pad builder. Live dead-device detection.
21
21
  </p>
22
22
 
23
23
  <br>
@@ -38,8 +38,8 @@ Most MCP servers are tool collections — they execute commands. LivePilot is an
38
38
  | Layer | What it provides |
39
39
  |-------|-----------------|
40
40
  | **Deterministic Tools** | Direct control: transport, tracks, clips, notes, devices, scenes, mixing, arrangement, browser, automation |
41
- | **Device Atlas** | Knowledge of every device in Ableton's library — 1305 devices indexed by name, URI, category, tag, and genre. 71 enriched with sonic intelligence. 683 drum kits mapped |
42
- | **Sample Engine** | Three-source sample intelligence — searches Ableton's browser, your filesystem, and Splice's catalog simultaneously. 6 fitness critics score every result. 29 processing techniques |
41
+ | **Device Atlas** | Knowledge of every device in Ableton's library — 1305 devices indexed by name, URI, category, tag, and genre. 107 enriched with sonic intelligence. 683 drum kits mapped |
42
+ | **Sample Engine** | Three-source sample intelligence — Ableton's browser, your filesystem, and Splice's catalog (plan-aware: Ableton Live plan uses daily quota, Sounds+/Creator uses credits, free samples bypass both). 6 fitness critics. 29 processing techniques. Collections, presets, preview-URL audition, HTTPS bridge scaffolding for Describe-a-Sound + Variations |
43
43
  | **Spectral Perception** | Real-time ears via M4L — 8-band FFT, RMS/peak metering, Krumhansl-Schmuckler key detection, pitch tracking. Closes the feedback loop so the AI hears its own changes |
44
44
  | **Technique Memory** | Persistent library of production decisions. Save a beat pattern, device chain, or mix template. Recall by mood, genre, or texture across sessions |
45
45
  | **Creative Intelligence** | 12 engines that understand song identity, learn your taste, diagnose stuck sessions, generate creative options, and evaluate results before claiming success |
@@ -58,7 +58,7 @@ Most MCP servers are tool collections — they execute commands. LivePilot is an
58
58
  │ │
59
59
  │ Device Atlas 8-band FFT recall by mood, │
60
60
  │ 1305 devices RMS / peak genre, texture │
61
- 71 enriched pitch tracking 29 techniques │
61
+ 107 enriched pitch tracking 29 techniques │
62
62
  │ 683 drum kits key detection replay into session │
63
63
  │ │
64
64
  │ Sample Engine Corpus Intelligence Taste Graph │
@@ -79,7 +79,7 @@ Most MCP servers are tool collections — they execute commands. LivePilot is an
79
79
  │ └─────────────────┼──────────────────┘ │
80
80
  │ ▼ │
81
81
  │ ┌─────────────────┐ │
82
- │ │ 403 MCP Tools │ │
82
+ │ │ 422 MCP Tools │ │
83
83
  │ │ 52 domains │ │
84
84
  │ └────────┬────────┘ │
85
85
  │ │ │
@@ -102,7 +102,7 @@ Most MCP servers are tool collections — they execute commands. LivePilot is an
102
102
 
103
103
  **M4L Bridge** (`m4l_device/`) — Optional Max for Live Audio Effect on the master track. Provides deep LOM access through Max's LiveAPI that the ControlSurface API can't reach. UDP 9880 (M4L to server) carries spectral data and LiveAPI responses. OSC 9881 (server to M4L) sends commands. The 32 spectral/analyzer tools strictly require the bridge; device and sample tools that call the bridge also have graceful fallbacks, so core functionality works without it. Backed by 30 bridge commands for hidden parameters, Simpler internals, warp markers, display values, and Simpler warp / Compressor sidechain writes that live on child objects Python can't reach.
104
104
 
105
- **Device Atlas** (`mcp_server/atlas/`) — In-memory indexed JSON database. 1305 devices with browser URIs, 71 enriched with YAML sonic intelligence profiles (mood, genre, texture, recommended chains). 6 indexes: by_id, by_name, by_uri, by_category, by_tag, by_genre. The AI never hallucinates a device name or preset — it always resolves against the atlas first.
105
+ **Device Atlas** (`mcp_server/atlas/`) — In-memory indexed JSON database. 1305 devices with browser URIs, 107 enriched with YAML sonic intelligence profiles (mood, genre, texture, recommended chains). 6 indexes: by_id, by_name, by_uri, by_category, by_tag, by_genre. The AI never hallucinates a device name or preset — it always resolves against the atlas first.
106
106
 
107
107
  **Sample Engine** (`mcp_server/sample_engine/`) — Searches three sources simultaneously: BrowserSource (Ableton's library), SpliceSource (local Splice catalog via SQLite), FilesystemSource (user directories). Every result passes through a 6-critic fitness battery (key, tempo, spectral, genre, mood, technical). 29 processing techniques (Surgeon precision vs. Alchemist experimentation). Builds complete sample processing plans with warp, slice, and effect recommendations.
108
108
 
@@ -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 403 tools. They give the AI musical judgment, not just musical execution.
123
+ 12 engines sit on top of the 422 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
- 403 tools across 52 domains. Highlights below — [full catalog here](docs/manual/tool-catalog.md).
175
+ 422 tools across 52 domains. Highlights below — [full catalog here](docs/manual/tool-catalog.md).
176
176
 
177
177
  <br>
178
178
 
@@ -232,7 +232,7 @@ The atlas is an in-memory indexed database of Ableton's entire device library.
232
232
 
233
233
  ```
234
234
  1305 devices total
235
- 71 enriched with sonic intelligence (mood, genre, texture, chains)
235
+ 107 enriched with sonic intelligence (mood, genre, texture, chains)
236
236
  683 drum kits mapped with note assignments
237
237
  6 indexes: by_id, by_name, by_uri, by_category, by_tag, by_genre
238
238
  ```
@@ -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 403 tools →](docs/manual/tool-catalog.md)**
363
+ > **[View all 422 tools →](docs/manual/tool-catalog.md)**
364
364
 
365
365
  <br>
366
366
 
@@ -587,7 +587,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for architecture details, code guidelines
587
587
 
588
588
  | Document | What's inside |
589
589
  |----------|---------------|
590
- | [Manual](docs/manual/index.md) | Complete reference: architecture, all 403 tools, workflows |
590
+ | [Manual](docs/manual/index.md) | Complete reference: architecture, all 422 tools, workflows |
591
591
  | [Intelligence Layer](docs/manual/intelligence.md) | How the 12 engines connect — conductor, moves, preview, evaluation |
592
592
  | [Device Atlas](docs/manual/device-atlas.md) | 1305 devices indexed — search, suggest, chain building |
593
593
  | [Samples & Slicing](docs/manual/samples.md) | 3-source search, fitness critics, slice workflows |
Binary file
@@ -95,7 +95,7 @@ function anything() {
95
95
  function dispatch(cmd, args) {
96
96
  switch(cmd) {
97
97
  case "ping":
98
- send_response({"ok": true, "version": "1.14.1"});
98
+ send_response({"ok": true, "version": "1.16.1"});
99
99
  break;
100
100
  case "get_params":
101
101
  cmd_get_params(args);
@@ -1,2 +1,2 @@
1
1
  """LivePilot MCP Server — bridges MCP protocol to Ableton Live."""
2
- __version__ = "1.15.0-beta"
2
+ __version__ = "1.16.1"