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.
- package/.claude-plugin/marketplace.json +3 -3
- package/.mcp.json.disabled +9 -0
- package/.mcpbignore +3 -0
- package/AGENTS.md +3 -3
- package/BUGS.md +1570 -0
- package/CHANGELOG.md +92 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +7 -7
- package/bin/livepilot.js +28 -8
- package/livepilot/.Codex-plugin/plugin.json +2 -2
- package/livepilot/.claude-plugin/plugin.json +2 -2
- package/livepilot/skills/livepilot-core/SKILL.md +4 -4
- package/livepilot/skills/livepilot-core/references/overview.md +2 -2
- package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +1 -1
- package/livepilot/skills/livepilot-release/SKILL.md +8 -8
- package/m4l_device/LivePilot_Analyzer.amxd +0 -0
- package/m4l_device/LivePilot_Analyzer.amxd.pre-presentation-backup +0 -0
- package/m4l_device/LivePilot_Analyzer.maxproj +53 -0
- package/m4l_device/livepilot_bridge.js +226 -3
- package/manifest.json +3 -3
- package/mcp_server/__init__.py +1 -1
- package/mcp_server/atlas/__init__.py +93 -26
- package/mcp_server/composer/sample_resolver.py +10 -6
- package/mcp_server/composer/tools.py +10 -6
- package/mcp_server/connection.py +6 -1
- package/mcp_server/creative_constraints/tools.py +214 -40
- package/mcp_server/experiment/engine.py +16 -14
- package/mcp_server/experiment/tools.py +9 -9
- package/mcp_server/hook_hunter/analyzer.py +62 -9
- package/mcp_server/hook_hunter/tools.py +74 -18
- package/mcp_server/m4l_bridge.py +32 -6
- package/mcp_server/memory/taste_graph.py +7 -2
- package/mcp_server/mix_engine/tools.py +8 -3
- package/mcp_server/musical_intelligence/detectors.py +32 -0
- package/mcp_server/musical_intelligence/tools.py +15 -10
- package/mcp_server/performance_engine/tools.py +117 -30
- package/mcp_server/preview_studio/engine.py +89 -8
- package/mcp_server/preview_studio/tools.py +43 -21
- package/mcp_server/project_brain/automation_graph.py +71 -19
- package/mcp_server/project_brain/builder.py +2 -0
- package/mcp_server/project_brain/tools.py +73 -15
- package/mcp_server/reference_engine/profile_builder.py +129 -3
- package/mcp_server/reference_engine/tools.py +54 -11
- package/mcp_server/runtime/capability_probe.py +10 -4
- package/mcp_server/runtime/execution_router.py +50 -0
- package/mcp_server/runtime/mcp_dispatch.py +75 -3
- package/mcp_server/runtime/remote_commands.py +4 -2
- package/mcp_server/runtime/tools.py +8 -2
- package/mcp_server/sample_engine/analyzer.py +131 -4
- package/mcp_server/sample_engine/critics.py +29 -8
- package/mcp_server/sample_engine/models.py +20 -1
- package/mcp_server/sample_engine/tools.py +74 -31
- package/mcp_server/semantic_moves/sound_design_compilers.py +22 -59
- package/mcp_server/semantic_moves/tools.py +5 -1
- package/mcp_server/semantic_moves/transition_compilers.py +12 -19
- package/mcp_server/server.py +78 -11
- package/mcp_server/services/motif_service.py +9 -3
- package/mcp_server/session_continuity/models.py +4 -0
- package/mcp_server/session_continuity/tools.py +7 -3
- package/mcp_server/session_continuity/tracker.py +23 -9
- package/mcp_server/song_brain/builder.py +110 -12
- package/mcp_server/song_brain/tools.py +94 -25
- package/mcp_server/sound_design/tools.py +112 -1
- package/mcp_server/splice_client/client.py +19 -6
- package/mcp_server/stuckness_detector/detector.py +90 -0
- package/mcp_server/stuckness_detector/tools.py +49 -5
- package/mcp_server/tools/_agent_os_engine/__init__.py +52 -0
- package/mcp_server/tools/_agent_os_engine/critics.py +158 -0
- package/mcp_server/tools/_agent_os_engine/evaluation.py +206 -0
- package/mcp_server/tools/_agent_os_engine/models.py +132 -0
- package/mcp_server/tools/_agent_os_engine/taste.py +192 -0
- package/mcp_server/tools/_agent_os_engine/techniques.py +161 -0
- package/mcp_server/tools/_agent_os_engine/world_model.py +170 -0
- package/mcp_server/tools/_composition_engine/__init__.py +67 -0
- package/mcp_server/tools/_composition_engine/analysis.py +174 -0
- package/mcp_server/tools/_composition_engine/critics.py +522 -0
- package/mcp_server/tools/_composition_engine/gestures.py +230 -0
- package/mcp_server/tools/_composition_engine/harmony.py +160 -0
- package/mcp_server/tools/_composition_engine/models.py +193 -0
- package/mcp_server/tools/_composition_engine/sections.py +414 -0
- package/mcp_server/tools/_harmony_engine.py +52 -8
- package/mcp_server/tools/_perception_engine.py +18 -11
- package/mcp_server/tools/_research_engine.py +98 -19
- package/mcp_server/tools/_theory_engine.py +138 -9
- package/mcp_server/tools/agent_os.py +43 -18
- package/mcp_server/tools/analyzer.py +105 -8
- package/mcp_server/tools/automation.py +6 -1
- package/mcp_server/tools/clips.py +45 -0
- package/mcp_server/tools/composition.py +90 -38
- package/mcp_server/tools/devices.py +32 -7
- package/mcp_server/tools/harmony.py +115 -14
- package/mcp_server/tools/midi_io.py +13 -1
- package/mcp_server/tools/mixing.py +35 -1
- package/mcp_server/tools/motif.py +56 -5
- package/mcp_server/tools/planner.py +6 -2
- package/mcp_server/tools/research.py +37 -10
- package/mcp_server/tools/theory.py +108 -16
- package/mcp_server/transition_engine/critics.py +18 -11
- package/mcp_server/transition_engine/tools.py +6 -1
- package/mcp_server/translation_engine/tools.py +8 -6
- package/mcp_server/wonder_mode/engine.py +8 -3
- package/mcp_server/wonder_mode/tools.py +29 -21
- package/package.json +2 -2
- package/remote_script/LivePilot/__init__.py +57 -2
- package/remote_script/LivePilot/clips.py +69 -0
- package/remote_script/LivePilot/mixing.py +117 -0
- package/remote_script/LivePilot/router.py +13 -1
- package/scripts/generate_tool_catalog.py +13 -38
- package/scripts/sync_metadata.py +231 -14
- package/mcp_server/tools/_agent_os_engine.py +0 -947
- 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 **
|
|
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
|
-
|
|
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
|
-
│ │
|
|
83
|
-
│ │
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
412
|
-
|
|
413
|
-
|
|
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",
|
|
435
|
+
console.log("Location: %s", candidateDir);
|
|
419
436
|
return;
|
|
420
437
|
} catch {}
|
|
421
438
|
}
|
|
422
|
-
console.log("FluCoMa already installed at %s",
|
|
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.
|
|
4
|
-
"description": "Agentic production system for Ableton Live 12 —
|
|
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.
|
|
4
|
-
"description": "Agentic production system for Ableton Live 12 —
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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.
|
|
1
|
+
# LivePilot v1.10.7 — Architecture & Tool Reference
|
|
2
2
|
|
|
3
|
-
Agentic production system for Ableton Live 12.
|
|
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.
|
|
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: **
|
|
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 ("
|
|
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` → "
|
|
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: **
|
|
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 "
|
|
66
|
-
- [ ] Domain lists include ALL
|
|
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
|
|
97
|
-
- [ ] `docs/TOOL_REFERENCE.md` — all
|
|
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
|
|
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
|
+
}
|