livepilot 1.26.0 → 1.26.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 (181) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +1 -1
  3. package/installer/codex.js +87 -9
  4. package/livepilot/.Codex-plugin/plugin.json +8 -0
  5. package/livepilot/.claude-plugin/plugin.json +8 -0
  6. package/livepilot/.mcp.json +8 -0
  7. package/livepilot/agents/livepilot-producer/AGENT.md +314 -0
  8. package/livepilot/commands/arrange.md +47 -0
  9. package/livepilot/commands/beat.md +81 -0
  10. package/livepilot/commands/evaluate.md +49 -0
  11. package/livepilot/commands/memory.md +22 -0
  12. package/livepilot/commands/mix.md +47 -0
  13. package/livepilot/commands/perform.md +42 -0
  14. package/livepilot/commands/session.md +13 -0
  15. package/livepilot/commands/sounddesign.md +58 -0
  16. package/livepilot/rubrics/default_preset_check.md +82 -0
  17. package/livepilot/rubrics/layer_accumulation.md +79 -0
  18. package/livepilot/rubrics/layer_precision.md +79 -0
  19. package/livepilot/rubrics/modulation_presence.md +63 -0
  20. package/livepilot/rubrics/sound_design_depth.md +40 -0
  21. package/livepilot/skills/livepilot-arrangement/SKILL.md +164 -0
  22. package/livepilot/skills/livepilot-composition-engine/SKILL.md +151 -0
  23. package/livepilot/skills/livepilot-composition-engine/references/form-patterns.md +97 -0
  24. package/livepilot/skills/livepilot-composition-engine/references/transition-archetypes.md +102 -0
  25. package/livepilot/skills/livepilot-core/SKILL.md +261 -0
  26. package/livepilot/skills/livepilot-core/references/ableton-workflow-patterns.md +831 -0
  27. package/livepilot/skills/livepilot-core/references/affordances/_schema.md +160 -0
  28. package/livepilot/skills/livepilot-core/references/affordances/devices/auto-filter.yaml +133 -0
  29. package/livepilot/skills/livepilot-core/references/affordances/devices/chorus-ensemble.yaml +91 -0
  30. package/livepilot/skills/livepilot-core/references/affordances/devices/compressor.yaml +98 -0
  31. package/livepilot/skills/livepilot-core/references/affordances/devices/convolution-reverb.yaml +113 -0
  32. package/livepilot/skills/livepilot-core/references/affordances/devices/corpus.yaml +84 -0
  33. package/livepilot/skills/livepilot-core/references/affordances/devices/drift.yaml +105 -0
  34. package/livepilot/skills/livepilot-core/references/affordances/devices/echo.yaml +108 -0
  35. package/livepilot/skills/livepilot-core/references/affordances/devices/eq-eight.yaml +95 -0
  36. package/livepilot/skills/livepilot-core/references/affordances/devices/glue-compressor.yaml +88 -0
  37. package/livepilot/skills/livepilot-core/references/affordances/devices/granulator-iii.yaml +104 -0
  38. package/livepilot/skills/livepilot-core/references/affordances/devices/hybrid-reverb.yaml +83 -0
  39. package/livepilot/skills/livepilot-core/references/affordances/devices/operator.yaml +98 -0
  40. package/livepilot/skills/livepilot-core/references/affordances/devices/ping-pong-delay.yaml +104 -0
  41. package/livepilot/skills/livepilot-core/references/affordances/devices/poli.yaml +98 -0
  42. package/livepilot/skills/livepilot-core/references/affordances/devices/saturator.yaml +98 -0
  43. package/livepilot/skills/livepilot-core/references/affordances/devices/shifter.yaml +77 -0
  44. package/livepilot/skills/livepilot-core/references/affordances/devices/simpler.yaml +113 -0
  45. package/livepilot/skills/livepilot-core/references/affordances/devices/utility.yaml +95 -0
  46. package/livepilot/skills/livepilot-core/references/affordances/devices/vinyl-distortion.yaml +92 -0
  47. package/livepilot/skills/livepilot-core/references/affordances/devices/wavetable.yaml +98 -0
  48. package/livepilot/skills/livepilot-core/references/artist-vocabularies.md +389 -0
  49. package/livepilot/skills/livepilot-core/references/automation-atlas.md +272 -0
  50. package/livepilot/skills/livepilot-core/references/concepts/_schema.md +158 -0
  51. package/livepilot/skills/livepilot-core/references/concepts/artists/akufen.yaml +116 -0
  52. package/livepilot/skills/livepilot-core/references/concepts/artists/aphex-twin.yaml +133 -0
  53. package/livepilot/skills/livepilot-core/references/concepts/artists/arca-sophie.yaml +131 -0
  54. package/livepilot/skills/livepilot-core/references/concepts/artists/autechre.yaml +130 -0
  55. package/livepilot/skills/livepilot-core/references/concepts/artists/basic-channel.yaml +140 -0
  56. package/livepilot/skills/livepilot-core/references/concepts/artists/basinski.yaml +126 -0
  57. package/livepilot/skills/livepilot-core/references/concepts/artists/boards-of-canada.yaml +124 -0
  58. package/livepilot/skills/livepilot-core/references/concepts/artists/burial.yaml +127 -0
  59. package/livepilot/skills/livepilot-core/references/concepts/artists/com-truise-tycho.yaml +121 -0
  60. package/livepilot/skills/livepilot-core/references/concepts/artists/daft-punk.yaml +117 -0
  61. package/livepilot/skills/livepilot-core/references/concepts/artists/dj-premier-rza.yaml +119 -0
  62. package/livepilot/skills/livepilot-core/references/concepts/artists/gas.yaml +134 -0
  63. package/livepilot/skills/livepilot-core/references/concepts/artists/hawtin.yaml +127 -0
  64. package/livepilot/skills/livepilot-core/references/concepts/artists/isolee-luomo.yaml +130 -0
  65. package/livepilot/skills/livepilot-core/references/concepts/artists/j-dilla.yaml +133 -0
  66. package/livepilot/skills/livepilot-core/references/concepts/artists/jeff-mills.yaml +120 -0
  67. package/livepilot/skills/livepilot-core/references/concepts/artists/johannsson-richter.yaml +132 -0
  68. package/livepilot/skills/livepilot-core/references/concepts/artists/madlib.yaml +124 -0
  69. package/livepilot/skills/livepilot-core/references/concepts/artists/moodymann-theo-parrish.yaml +121 -0
  70. package/livepilot/skills/livepilot-core/references/concepts/artists/oneohtrix-point-never.yaml +126 -0
  71. package/livepilot/skills/livepilot-core/references/concepts/artists/photek-source-direct.yaml +120 -0
  72. package/livepilot/skills/livepilot-core/references/concepts/artists/rashad-spinn-traxman.yaml +122 -0
  73. package/livepilot/skills/livepilot-core/references/concepts/artists/robert-henke.yaml +113 -0
  74. package/livepilot/skills/livepilot-core/references/concepts/artists/shackleton.yaml +124 -0
  75. package/livepilot/skills/livepilot-core/references/concepts/artists/skream-mala.yaml +119 -0
  76. package/livepilot/skills/livepilot-core/references/concepts/artists/stars-of-the-lid.yaml +119 -0
  77. package/livepilot/skills/livepilot-core/references/concepts/artists/tim-hecker.yaml +122 -0
  78. package/livepilot/skills/livepilot-core/references/concepts/artists/villalobos.yaml +135 -0
  79. package/livepilot/skills/livepilot-core/references/concepts/genres/ambient.yaml +137 -0
  80. package/livepilot/skills/livepilot-core/references/concepts/genres/boom_bap.yaml +124 -0
  81. package/livepilot/skills/livepilot-core/references/concepts/genres/deep-minimal.yaml +130 -0
  82. package/livepilot/skills/livepilot-core/references/concepts/genres/deep_house.yaml +130 -0
  83. package/livepilot/skills/livepilot-core/references/concepts/genres/detroit_techno.yaml +116 -0
  84. package/livepilot/skills/livepilot-core/references/concepts/genres/disco.yaml +123 -0
  85. package/livepilot/skills/livepilot-core/references/concepts/genres/downtempo.yaml +129 -0
  86. package/livepilot/skills/livepilot-core/references/concepts/genres/drone.yaml +133 -0
  87. package/livepilot/skills/livepilot-core/references/concepts/genres/drum-and-bass.yaml +119 -0
  88. package/livepilot/skills/livepilot-core/references/concepts/genres/dub-techno.yaml +132 -0
  89. package/livepilot/skills/livepilot-core/references/concepts/genres/dub.yaml +129 -0
  90. package/livepilot/skills/livepilot-core/references/concepts/genres/dubstep.yaml +120 -0
  91. package/livepilot/skills/livepilot-core/references/concepts/genres/experimental.yaml +136 -0
  92. package/livepilot/skills/livepilot-core/references/concepts/genres/footwork.yaml +119 -0
  93. package/livepilot/skills/livepilot-core/references/concepts/genres/hip-hop.yaml +132 -0
  94. package/livepilot/skills/livepilot-core/references/concepts/genres/house.yaml +126 -0
  95. package/livepilot/skills/livepilot-core/references/concepts/genres/hyperpop.yaml +128 -0
  96. package/livepilot/skills/livepilot-core/references/concepts/genres/idm.yaml +134 -0
  97. package/livepilot/skills/livepilot-core/references/concepts/genres/lo_fi.yaml +129 -0
  98. package/livepilot/skills/livepilot-core/references/concepts/genres/microhouse.yaml +138 -0
  99. package/livepilot/skills/livepilot-core/references/concepts/genres/minimal-techno.yaml +116 -0
  100. package/livepilot/skills/livepilot-core/references/concepts/genres/modern-classical.yaml +123 -0
  101. package/livepilot/skills/livepilot-core/references/concepts/genres/soul.yaml +125 -0
  102. package/livepilot/skills/livepilot-core/references/concepts/genres/synthwave.yaml +123 -0
  103. package/livepilot/skills/livepilot-core/references/concepts/genres/techno.yaml +123 -0
  104. package/livepilot/skills/livepilot-core/references/concepts/genres/trap.yaml +120 -0
  105. package/livepilot/skills/livepilot-core/references/concepts/genres/uk-garage.yaml +121 -0
  106. package/livepilot/skills/livepilot-core/references/device-atlas/00-index.md +110 -0
  107. package/livepilot/skills/livepilot-core/references/device-atlas/distortion-and-character.md +687 -0
  108. package/livepilot/skills/livepilot-core/references/device-atlas/drums-and-percussion.md +753 -0
  109. package/livepilot/skills/livepilot-core/references/device-atlas/dynamics-and-punch.md +525 -0
  110. package/livepilot/skills/livepilot-core/references/device-atlas/eq-and-filtering.md +402 -0
  111. package/livepilot/skills/livepilot-core/references/device-atlas/midi-tools.md +963 -0
  112. package/livepilot/skills/livepilot-core/references/device-atlas/movement-and-modulation.md +874 -0
  113. package/livepilot/skills/livepilot-core/references/device-atlas/space-and-depth.md +571 -0
  114. package/livepilot/skills/livepilot-core/references/device-atlas/spectral-and-weird.md +714 -0
  115. package/livepilot/skills/livepilot-core/references/device-atlas/synths-native.md +953 -0
  116. package/livepilot/skills/livepilot-core/references/device-knowledge/00-index.md +34 -0
  117. package/livepilot/skills/livepilot-core/references/device-knowledge/automation-as-music.md +204 -0
  118. package/livepilot/skills/livepilot-core/references/device-knowledge/chains-genre.md +173 -0
  119. package/livepilot/skills/livepilot-core/references/device-knowledge/creative-thinking.md +211 -0
  120. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-distortion.md +188 -0
  121. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-space.md +162 -0
  122. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-spectral.md +229 -0
  123. package/livepilot/skills/livepilot-core/references/device-knowledge/instruments-synths.md +243 -0
  124. package/livepilot/skills/livepilot-core/references/genre-vocabularies.md +382 -0
  125. package/livepilot/skills/livepilot-core/references/m4l-devices.md +352 -0
  126. package/livepilot/skills/livepilot-core/references/memory-guide.md +178 -0
  127. package/livepilot/skills/livepilot-core/references/midi-recipes.md +402 -0
  128. package/livepilot/skills/livepilot-core/references/mixing-patterns.md +578 -0
  129. package/livepilot/skills/livepilot-core/references/overview.md +300 -0
  130. package/livepilot/skills/livepilot-core/references/pack-knowledge.md +319 -0
  131. package/livepilot/skills/livepilot-core/references/sample-manipulation.md +724 -0
  132. package/livepilot/skills/livepilot-core/references/sound-design-deep.md +140 -0
  133. package/livepilot/skills/livepilot-core/references/sound-design.md +393 -0
  134. package/livepilot/skills/livepilot-corpus-builder/SKILL.md +379 -0
  135. package/livepilot/skills/livepilot-creative-director/SKILL.md +455 -0
  136. package/livepilot/skills/livepilot-creative-director/references/anti-repetition-rules.md +214 -0
  137. package/livepilot/skills/livepilot-creative-director/references/creative-brief-template.md +222 -0
  138. package/livepilot/skills/livepilot-creative-director/references/hybrid-compilation.md +185 -0
  139. package/livepilot/skills/livepilot-creative-director/references/move-family-diversity-rule.md +258 -0
  140. package/livepilot/skills/livepilot-creative-director/references/phase-6-execution.md +409 -0
  141. package/livepilot/skills/livepilot-creative-director/references/the-four-move-rule.md +192 -0
  142. package/livepilot/skills/livepilot-devices/SKILL.md +213 -0
  143. package/livepilot/skills/livepilot-devices/references/load_browser_item-uri-grammar.md +82 -0
  144. package/livepilot/skills/livepilot-evaluation/SKILL.md +195 -0
  145. package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +176 -0
  146. package/livepilot/skills/livepilot-evaluation/references/evaluation-contracts.md +121 -0
  147. package/livepilot/skills/livepilot-evaluation/references/memory-promotion.md +110 -0
  148. package/livepilot/skills/livepilot-mix-engine/SKILL.md +136 -0
  149. package/livepilot/skills/livepilot-mix-engine/references/mix-critics.md +143 -0
  150. package/livepilot/skills/livepilot-mix-engine/references/mix-moves.md +105 -0
  151. package/livepilot/skills/livepilot-mixing/SKILL.md +157 -0
  152. package/livepilot/skills/livepilot-notes/SKILL.md +130 -0
  153. package/livepilot/skills/livepilot-performance-engine/SKILL.md +122 -0
  154. package/livepilot/skills/livepilot-performance-engine/references/performance-safety.md +98 -0
  155. package/livepilot/skills/livepilot-release/SKILL.md +151 -0
  156. package/livepilot/skills/livepilot-sample-engine/SKILL.md +117 -0
  157. package/livepilot/skills/livepilot-sample-engine/references/sample-critics.md +87 -0
  158. package/livepilot/skills/livepilot-sample-engine/references/sample-philosophy.md +51 -0
  159. package/livepilot/skills/livepilot-sample-engine/references/sample-techniques.md +131 -0
  160. package/livepilot/skills/livepilot-sound-design-engine/SKILL.md +225 -0
  161. package/livepilot/skills/livepilot-sound-design-engine/references/patch-model.md +119 -0
  162. package/livepilot/skills/livepilot-sound-design-engine/references/sound-design-critics.md +118 -0
  163. package/livepilot/skills/livepilot-wonder/SKILL.md +143 -0
  164. package/m4l_device/LivePilot_Analyzer.amxd +0 -0
  165. package/m4l_device/LivePilot_Elektron.amxd +0 -0
  166. package/m4l_device/LivePilot_Elektron.maxpat +758 -0
  167. package/m4l_device/livepilot_bridge.js +1 -1
  168. package/m4l_device/livepilot_elektron_bridge.js +82 -0
  169. package/mcp_server/__init__.py +1 -1
  170. package/mcp_server/composer/develop/apply.py +1 -1
  171. package/mcp_server/composer/full/apply.py +32 -6
  172. package/mcp_server/m4l_bridge.py +5 -0
  173. package/mcp_server/runtime/execution_router.py +6 -0
  174. package/mcp_server/runtime/mcp_dispatch.py +18 -0
  175. package/mcp_server/runtime/remote_commands.py +2 -0
  176. package/mcp_server/server.py +11 -7
  177. package/package.json +20 -5
  178. package/remote_script/LivePilot/__init__.py +1 -1
  179. package/remote_script/LivePilot/server.py +63 -2
  180. package/requirements.txt +3 -3
  181. package/server.json +3 -3
@@ -0,0 +1,261 @@
1
+ ---
2
+ name: livepilot-core
3
+ description: Core discipline for LivePilot — agentic production system for Ableton Live 12. 465 tools across 56 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
+ ---
5
+
6
+ # LivePilot Core — Ableton Live 12
7
+
8
+ Agentic production system for Ableton Live 12. 465 tools across 56 domains, three layers:
9
+
10
+ - **Device Atlas** — 5264 devices indexed (135 enriched with sonic intelligence, 683 drum kits). Consult `atlas_search` or `atlas_suggest` before loading any device. Never guess a device name.
11
+ - **M4L Analyzer** — Real-time audio analysis on the master bus (9-band spectrum sub_low → air, RMS/peak, key detection). Optional — all core tools work without it.
12
+ - **Technique Memory** — Persistent storage for production decisions. Consult `memory_recall` before creative tasks to understand user taste.
13
+
14
+ ## Golden Rules
15
+
16
+ 1. **Always call `get_session_info` first** — know the session before changing anything
17
+ 2. **Verify after every write** — re-read state to confirm changes took effect
18
+ 3. **Use `undo` liberally** — mention it to users when doing destructive ops
19
+ 4. **One operation at a time** — verify between steps
20
+ 5. **Track indices are 0-based** — negative for return tracks (-1=A, -2=B), -1000 for master
21
+ 6. **NEVER invent device/preset names** — always `search_browser` first, use exact `uri` from results. Exception: `find_and_load_device` for built-in effects only ("Reverb", "Delay", "Compressor", "EQ Eight", "Saturator", "Utility")
22
+ 7. **Color indices 0-69** — Ableton's fixed palette
23
+ 8. **Volume 0.0-1.0, pan -1.0 to 1.0** — normalized, not dB
24
+ 9. **Tempo range 20-999 BPM**
25
+ 10. **Always name tracks and clips** — organization is part of the process
26
+ 11. **Respect tool speed tiers** — see below
27
+ 12. **ALWAYS report tool errors** — never silently swallow errors. Include: tool name, error message, fallback plan
28
+ 13. **Verify plugin health after loading** — check `health_flags`, `mcp_sound_design_ready`, `plugin_host_status`. If `parameter_count` <= 1 on AU/VST → dead plugin, delete and replace
29
+ 14. **Use `C hijaz` for Hijaz/Phrygian Dominant keys** — avoids false out-of-key warnings
30
+ 15. **VERIFY AFTER EVERY WRITE** — mandatory, non-negotiable:
31
+ - After `set_device_parameter` or `batch_set_parameters`: read `value_string` in the response to confirm the actual Hz/dB/% value makes sense
32
+ - After any filter, EQ, or effect parameter change: call `get_track_meters(include_stereo=true)` and verify the target track has non-zero left AND right levels
33
+ - After `apply_automation_recipe`: check that the recipe didn't push the parameter to an extreme that kills audio
34
+ - **`batch_set_parameters` schema gotcha**: the `parameters` argument
35
+ is a dict of `{"ParamName": {"value": v}}`, NOT `{"ParamName": v}`.
36
+ The bare-value shape raises `Each parameter entry must include 'value'`.
37
+ Live-verified v1.18.0 — example:
38
+ ```
39
+ batch_set_parameters(
40
+ track_index=-1, device_index=0,
41
+ parameters={"Feedback": {"value": 0.45}, "Channel Mode": {"value": 1}}
42
+ )
43
+ ```
44
+ (For single params, `set_device_parameter` takes the value directly —
45
+ only `batch_set_parameters` wraps it in a dict.)
46
+ - If a track's stereo output drops to 0: the effect is killing the signal — check `get_device_parameters` for `value_string`, fix, re-verify
47
+ - **Parameter ranges are NOT always 0-1.** Auto Filter Frequency is 20-135. Bit Depth is 1-16. Always read `value_string` to see actual units.
48
+ 16. **NEVER apply automation recipes without understanding the target parameter's range** — recipes generate 0-1 curves that get auto-scaled for device parameters, but always verify the result
49
+ 17. **LivePilot_Analyzer must be LAST on master chain** — always place after ALL effects (EQ, Compressor, Utility, etc.) so it measures the final post-processing output, not the raw signal. When loading effects on master, either load them before the analyzer or move the analyzer to end afterward
50
+ 18. **Remote Script reload workflow** — after any edit to `remote_script/LivePilot/*.py`: run `npx livepilot --install` (NOT `node installer/install.js` — that raw file only module-exports the install function and silently no-ops as a script), then call `reload_handlers` (MCP tool, domain: diagnostics). NEVER instruct the user to toggle the Control Surface in Live Preferences. The tool uses pkgutil + importlib to re-fire `@register` decorators in-place in <1s while the TCP connection stays open. Standard procedure for every handler change — not just releases
51
+
52
+ ## Tool Speed Tiers
53
+
54
+ ### Instant (<1s) — Use freely
55
+ All 465 tools plus M4L perception tools.
56
+
57
+ ### Fast (1-5s) — Use freely
58
+ `analyze_loudness` · `analyze_mix` · `analyze_sound_design`
59
+
60
+ ### Slow (5-15s) — Tell the user first
61
+ `compare_to_reference` · `analyze_spectrum_offline` · `read_audio_metadata`
62
+
63
+ **Escalation pattern:** Start fast, escalate only with consent:
64
+ ```
65
+ Level 1 (instant): get_master_spectrum + get_track_meters
66
+ Level 2 (fast): analyze_loudness + analyze_mix
67
+ Level 3 (slow): compare_to_reference + analyze_spectrum_offline
68
+ ```
69
+
70
+ ## Error Handling Protocol
71
+
72
+ Report ALL errors to the user immediately. Common failure modes:
73
+ - **Dead AU/VST plugin** — `parameter_count` <= 1 → delete, replace with native
74
+ - **Sample-dependent plugin** — granular synths produce silence without samples → use self-contained synths (Wavetable, Operator, Drift, Analog)
75
+ - **Empty Drum Rack** — bare rack = silence → always load a kit preset
76
+ - **M4L bridge timeout** — device may be busy or removed → retry or skip analyzer features
77
+ - **Connection timeout** — Ableton unresponsive → check if session is heavy
78
+ - **Volume reset on scene fire** — Ableton restores mixer state when firing scenes. Always re-apply `set_track_volume`/`set_track_pan` after `fire_scene` if your mix settings differ from what was stored in the clips
79
+ - **M4L Analyzer not connected** — if `get_master_spectrum` errors with "Analyzer not detected", auto-load it: `find_and_load_device(track_index=-1000, device_name="LivePilot_Analyzer")`. If it errors with "UDP bridge not connected", try `reconnect_bridge` first
80
+ - **Another client connected** — Remote Script only accepts one TCP client on port 9878. If you see this error, the MCP server is already connected. Use MCP tools instead of raw TCP
81
+
82
+ ## Technique Memory
83
+
84
+ Three modes:
85
+ - **Informed (default):** `memory_recall` before creative tasks, let past decisions influence new ones
86
+ - **Fresh:** Skip memory when user wants something new ("ignore my history", "surprise me")
87
+ - **Explicit recall:** `memory_recall` → `memory_get` → `memory_replay` when user references a saved technique
88
+
89
+ ## Wonder Mode — Stuck-Rescue Routing
90
+
91
+ - Use Wonder (`enter_wonder_mode`) for creative ambiguity and session rescue
92
+ - Do not fabricate three variants when only one real option exists
93
+ - Do not describe a branch as previewable unless it has a valid `compiled_plan`
94
+ - Prefer Wonder when `detect_stuckness` confidence > 0.5
95
+ - Prefer Wonder when the user's request is emotionally-shaped, not parametric
96
+ - Load `livepilot-wonder` skill for full workflow guidance
97
+
98
+ ## Creative Sound Design Knowledge
99
+
100
+ Before setting device parameters, consult the knowledge corpus for informed creative choices. Read the relevant file BEFORE making changes:
101
+
102
+ | User says | Read this file |
103
+ |-----------|---------------|
104
+ | "make it breathe" / "organic" / "alive" / "warm" / "cold" / "anxious" / "nostalgic" | `references/device-knowledge/creative-thinking.md` — emotional-to-technical mapping, physical world modeling |
105
+ | "what effect chain for [genre]" / "dub techno" / "trap" / "SOPHIE" / "Arca" / "ambient" | `references/device-knowledge/chains-genre.md` — complete chains per genre |
106
+ | "how to use Wavetable/Drift/Analog/Operator/Meld" | `references/device-knowledge/instruments-synths.md` — parameter-level recipes |
107
+ | "distortion" / "saturation" / "Roar" / "Saturator" / "Redux" | `references/device-knowledge/effects-distortion.md` — every curve type, creative applications |
108
+ | "reverb" / "delay" / "echo" / "space" / "dub" | `references/device-knowledge/effects-space.md` — dub recipes, shimmer chains |
109
+ | "spectral" / "Resonators" / "Corpus" / "Vocoder" / "weird" / "experimental" | `references/device-knowledge/effects-spectral.md` — drum-to-melody, cross-synthesis |
110
+ | "automate" / "evolve" / "arc" / "movement" / "filter sweep" | `references/device-knowledge/automation-as-music.md` — shapes, macro gestures, density mapping |
111
+ | "sound design" / "make it interesting" / "more complex" | `references/sound-design-deep.md` — minimal-techno, SOPHIE, Basic Channel master techniques |
112
+
113
+ **Rule:** Never set effect parameters from memory alone when the corpus has specific guidance. Read the file first, then apply the technique.
114
+
115
+ ## Domain Skills
116
+
117
+ For domain-specific workflows, load the appropriate skill:
118
+
119
+ | Skill | When to use |
120
+ |-------|-------------|
121
+ | `livepilot-devices` | Loading, browsing, configuring devices and presets |
122
+ | `livepilot-notes` | Writing notes, theory, generative algorithms, MIDI I/O |
123
+ | `livepilot-mixing` | Volume, pan, sends, routing, automation |
124
+ | `livepilot-arrangement` | Song structure, scenes, arrangement view |
125
+
126
+ ## V2 Engine Skills
127
+
128
+ For agentic evaluation loops, load the appropriate engine skill:
129
+
130
+ | Skill | When to use |
131
+ |-------|-------------|
132
+ | `livepilot-creative-director` | **Load FIRST on any open-ended creative request** — "like X", "develop", "mutate", "more interesting", reference/style asks. Compiles a Creative Brief and enforces 3-plan divergence across `move.family` before any commit. Routes to the skills below. |
133
+ | `livepilot-mix-engine` | Critic-driven mix analysis and iterative improvement |
134
+ | `livepilot-sound-design-engine` | Critic-driven patch analysis and refinement |
135
+ | `livepilot-composition-engine` | Section analysis, transitions, motifs, form |
136
+ | `livepilot-performance-engine` | Live performance with safety constraints |
137
+ | `livepilot-evaluation` | Universal before/after evaluation loop |
138
+
139
+ ## Reference Corpus
140
+
141
+ Deep production knowledge in `references/`:
142
+
143
+ | File | Content |
144
+ |------|---------|
145
+ | `references/overview.md` | All 465 tools with params and ranges |
146
+ | `references/device-atlas/` | 280+ device corpus with URIs and presets |
147
+ | `references/device-knowledge/` | Per-device parameter + technique knowledge |
148
+ | `references/pack-knowledge.md` | All 44 installed packs scored for aesthetic fit (Tier S / A / B / C), with Top / Use-when guidance |
149
+ | `references/artist-vocabularies.md` | **v1.17+** — ~25 producers (Villalobos, Hawtin, Basic Channel, Gas, Basinski, Hecker, Aphex, Dilla, Burial, Henke, Daft Punk, …) mapped to `reach_for` LivePilot devices + `avoid` anti-patterns + `key_techniques` cross-refs. The LLM's bridge from "sound like X" to concrete tool calls. |
150
+ | `references/genre-vocabularies.md` | **v1.17+** — 15 genres (microhouse, dub_techno, deep_minimal, minimal_techno, ambient, idm, modern_classical, hip_hop, trap, dubstep, house, dnb, garage, experimental, synthwave) with tempo / kick / bass / percussion / harmonic / texture / reach-for / avoid structure |
151
+ | `references/sound-design-deep.md` | Masters-level sound design principles (Basic Channel space-as-composition, Hawtin subtraction-over-addition, micro-modulation, space as composition) — explicitly "not a recipe book" |
152
+ | `references/sample-manipulation.md` | 29 sample techniques (slice_and_sequence, micro_chop, vocal_chop_rhythm, extreme_stretch, dub_throw, tail_harvest, granular_scatter, …) with producer references (Burial, Dilla, Amon Tobin, Stars of the Lid) |
153
+ | `references/midi-recipes.md` | Drum patterns, chord voicings, humanization |
154
+ | `references/sound-design.md` | Synth recipes, device chain patterns |
155
+ | `references/mixing-patterns.md` | Gain staging, compression, EQ, stereo |
156
+ | `references/automation-atlas.md` | 16 curve types, 15 recipes, spectral mapping |
157
+ | `references/ableton-workflow-patterns.md` | Session/arrangement workflows |
158
+ | `references/memory-guide.md` | Technique memory usage and quality templates |
159
+ | `references/m4l-devices.md` | M4L bridge command reference |
160
+
161
+ **For aesthetic queries ("sound like X", "make me a <genre> track"), read
162
+ `artist-vocabularies.md` + `genre-vocabularies.md` BEFORE selecting devices.**
163
+ They're structured translation layers between the LLM's training and
164
+ LivePilot's atlas — not recipe scripts.
165
+
166
+ ## V2 Orchestration Layer
167
+
168
+ For complex requests, use the V2 orchestration flow instead of ad-hoc tool calls. There are **two peer flows** — choose based on intent.
169
+
170
+ **For creative intent** (reference / style / "more interesting" / open-ended): load `livepilot-creative-director` BEFORE choosing a flow. It compiles a Creative Brief, enforces 3-plan divergence across `move.family`, and routes through Flow B with the right seeds.
171
+
172
+ ### Flow A — Targeted (recipe-first, for specific fixes)
173
+ Use when the user has a concrete, specific request ("tighten the low end", "make the drums punchier", "fix the masking").
174
+
175
+ 1. **`route_request`** — classify the request, get recommended engines and workflow mode
176
+ 2. **`get_session_kernel`** — build the unified turn snapshot
177
+ 3. **`propose_next_best_move`** — get ranked semantic move suggestions (taste-aware)
178
+ 4. **`preview_semantic_move`** — see what a move will do before committing
179
+ 5. **`apply_semantic_move`** — compile and execute the move
180
+ 6. **Evaluate** — use the appropriate evaluator to check the result
181
+
182
+ ### Flow B — Exploratory (branch-native, for creative search)
183
+ Use when the user wants options, variants, or is stuck ("surprise me", "try some things", "I don't know what I want", "make it more like X"). **Flow B is also correct when `route_request` returns `workflow_mode="creative_search"`.**
184
+
185
+ 1. **`get_session_kernel`** — include creative controls when relevant:
186
+ - `freshness=0.8` to bias toward surprise (default 0.5)
187
+ - `creativity_profile="alchemist"` / `"surgeon"` / `"sculptor"` to set producer philosophy
188
+ - `sacred_elements=[...]` if the user named protected parts
189
+ - `synth_hints={"track_indices": [...], "preferred_devices": [...]}` for synth work
190
+ 2. **`create_experiment`** with *seeds*, not just move_ids:
191
+ - Each seed is a `BranchSeed` dict (or let Wonder emit them for you)
192
+ - Seeds with source `"semantic_move"` compile via the registry at run time
193
+ - Seeds with source `"freeform" / "synthesis" / "composer" / "technique"` must arrive with a pre-compiled plan attached via the parallel `compiled_plans=[...]` list
194
+ 3. **`run_experiment`** — trials each branch; respects pre-compiled plans
195
+ 4. **`compare_experiments`** — rank by score
196
+ 5. **`commit_experiment`** — apply winner; or `discard_experiment` to throw everything away
197
+
198
+ **Rule of thumb**: if the user asked for a specific fix, Flow A. If they asked "what would you do?" or mentioned feel/vibe without parameters, Flow B.
199
+
200
+ ### Semantic Moves
201
+ High-level musical intents that compile to deterministic tool sequences. 7 families (44 moves as of v1.26.1):
202
+ - **mix** — `tighten_low_end`, `widen_stereo`, `make_punchier`, `darken_without_losing_width`, `reduce_repetition_fatigue`, `make_kick_bass_lock`, `reduce_foreground_competition`
203
+ - **arrangement** — `refresh_repeated_section`, plus structural moves defined alongside mix
204
+ - **transition** — `create_buildup_tension`, `smooth_scene_handoff`, `increase_contrast_before_payoff`, `bridge_sections`, `increase_forward_motion`, `open_chorus`, `create_breakdown`
205
+ - **sound_design** — `add_warmth`, `add_texture`, `shape_transients`, `add_space`
206
+ - **performance** — `recover_energy`, `decompress_tension`, `safe_spotlight`, `emergency_simplify`
207
+ - **device_creation** — `create_chaos_modulator`, `create_feedback_resonator`, `create_wavefolder_effect`, `create_bitcrusher_effect`, `create_karplus_string`, `create_stochastic_texture`, `create_fdn_reverb` (procedural M4L device generation)
208
+ - **sample** — `sample_chop_rhythm`, `sample_texture_layer`, `sample_vocal_ghost`, `sample_break_layer`, `sample_resample_destroy`, `sample_one_shot_accent` (registered from `sample_engine/moves.py`)
209
+
210
+ Use `list_semantic_moves(domain="mix")` to discover available moves.
211
+
212
+ ### Experiment Branching — Seed-Based (canonical, PR3+)
213
+
214
+ Experiments support both the legacy `move_ids` path and the new `seeds` path. Prefer `seeds` for anything exploratory:
215
+
216
+ ```
217
+ # Legacy / targeted — one semantic_move per branch:
218
+ create_experiment(request_text="make it punchier", move_ids=["make_punchier", "widen_stereo"])
219
+
220
+ # Branch-native / exploratory — mixed sources, pre-compiled plans allowed:
221
+ create_experiment(
222
+ request_text="surprise me",
223
+ seeds=[
224
+ {"seed_id": "a", "source": "semantic_move", "move_id": "make_punchier",
225
+ "novelty_label": "safe", "risk_label": "low"},
226
+ {"seed_id": "b", "source": "freeform", "hypothesis": "Audio-rate LFO into filter cutoff",
227
+ "novelty_label": "unexpected", "risk_label": "medium"},
228
+ {"seed_id": "c", "source": "synthesis", "hypothesis": "Wavetable morph across positions",
229
+ "novelty_label": "strong"},
230
+ ],
231
+ compiled_plans=[None, {"steps": [...], "step_count": N}, {"steps": [...], "step_count": M}],
232
+ )
233
+ ```
234
+
235
+ **Never claim a branch is previewable unless it has a valid `compiled_plan`.** Analytical-only branches (no plan, or seed marked `analytical_only=true`) short-circuit to a neutral evaluation — they're directional suggestions, not executable paths.
236
+
237
+ ### Branch Status Vocabulary
238
+ Branches carry a status string that governs lifecycle:
239
+ - `pending` — created, not yet run
240
+ - `running` — apply pass in progress
241
+ - `evaluated` — ran and was scored; may be kept or discarded
242
+ - `committed` / `committed_with_errors` — winner was applied permanently
243
+ - `discarded` — rolled back or abandoned
244
+ - `interesting_but_failed` — (PR7+) failed hard technical gates but surfaced novel ideas; kept for audit, not re-applied
245
+ - `failed` — couldn't apply any steps; do not claim success
246
+
247
+ ### Taste-Aware Ranking
248
+ The system learns user preferences from kept/undone moves:
249
+ - `get_taste_graph()` — current taste model
250
+ - `explain_taste_inference()` — human-readable explanation
251
+ - `rank_moves_by_taste(move_specs)` — sort options by preference fit
252
+ - `propose_next_best_move` automatically applies taste ranking when evidence exists
253
+
254
+ ### Musical Intelligence
255
+ Song-level analysis beyond parameters:
256
+ - `detect_repetition_fatigue()` — clip overuse, section staleness
257
+ - `detect_role_conflicts()` — tracks fighting for the same space
258
+ - `infer_section_purposes()` — label sections as setup/tension/payoff/contrast/release
259
+ - `score_emotional_arc()` — does the song have a satisfying build→climax→resolve?
260
+ - `analyze_phrase_arc()` — capture and evaluate musical phrases
261
+ - `compare_phrase_renders()` — compare phrase variants side by side