livepilot 1.10.7 → 1.10.8

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 (122) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +11 -9
  3. package/bin/livepilot.js +146 -28
  4. package/installer/install.js +117 -11
  5. package/m4l_device/LivePilot_Analyzer.amxd +0 -0
  6. package/m4l_device/livepilot_bridge.js +1 -1
  7. package/mcp_server/__init__.py +1 -1
  8. package/mcp_server/atlas/__init__.py +39 -7
  9. package/mcp_server/atlas/tools.py +56 -15
  10. package/mcp_server/composer/layer_planner.py +27 -0
  11. package/mcp_server/composer/prompt_parser.py +15 -6
  12. package/mcp_server/connection.py +11 -3
  13. package/mcp_server/corpus/__init__.py +14 -4
  14. package/mcp_server/m4l_bridge.py +48 -7
  15. package/mcp_server/runtime/execution_router.py +16 -2
  16. package/mcp_server/runtime/remote_commands.py +6 -0
  17. package/mcp_server/sample_engine/models.py +22 -3
  18. package/mcp_server/semantic_moves/__init__.py +1 -0
  19. package/mcp_server/semantic_moves/compiler.py +9 -1
  20. package/mcp_server/semantic_moves/device_creation_compilers.py +47 -0
  21. package/mcp_server/semantic_moves/mix_compilers.py +170 -0
  22. package/mcp_server/semantic_moves/mix_moves.py +1 -1
  23. package/mcp_server/semantic_moves/models.py +5 -0
  24. package/mcp_server/semantic_moves/tools.py +15 -4
  25. package/mcp_server/server.py +7 -3
  26. package/mcp_server/services/singletons.py +68 -0
  27. package/mcp_server/splice_client/client.py +29 -8
  28. package/mcp_server/tools/analyzer.py +7 -6
  29. package/mcp_server/tools/clips.py +1 -1
  30. package/mcp_server/tools/midi_io.py +10 -0
  31. package/mcp_server/tools/tracks.py +1 -1
  32. package/mcp_server/tools/transport.py +1 -1
  33. package/mcp_server/translation_engine/tools.py +8 -4
  34. package/package.json +25 -3
  35. package/remote_script/LivePilot/__init__.py +29 -9
  36. package/remote_script/LivePilot/arrangement.py +12 -2
  37. package/remote_script/LivePilot/browser.py +16 -6
  38. package/remote_script/LivePilot/devices.py +10 -5
  39. package/remote_script/LivePilot/notes.py +13 -2
  40. package/remote_script/LivePilot/server.py +51 -13
  41. package/remote_script/LivePilot/version_detect.py +7 -4
  42. package/server.json +20 -0
  43. package/.claude-plugin/marketplace.json +0 -21
  44. package/.mcp.json.disabled +0 -9
  45. package/.mcpbignore +0 -60
  46. package/AGENTS.md +0 -46
  47. package/BUGS.md +0 -1570
  48. package/CODE_OF_CONDUCT.md +0 -27
  49. package/CONTRIBUTING.md +0 -131
  50. package/SECURITY.md +0 -48
  51. package/livepilot/.Codex-plugin/plugin.json +0 -8
  52. package/livepilot/.claude-plugin/plugin.json +0 -8
  53. package/livepilot/agents/livepilot-producer/AGENT.md +0 -313
  54. package/livepilot/commands/arrange.md +0 -47
  55. package/livepilot/commands/beat.md +0 -77
  56. package/livepilot/commands/evaluate.md +0 -49
  57. package/livepilot/commands/memory.md +0 -22
  58. package/livepilot/commands/mix.md +0 -44
  59. package/livepilot/commands/perform.md +0 -42
  60. package/livepilot/commands/session.md +0 -13
  61. package/livepilot/commands/sounddesign.md +0 -43
  62. package/livepilot/skills/livepilot-arrangement/SKILL.md +0 -155
  63. package/livepilot/skills/livepilot-composition-engine/SKILL.md +0 -107
  64. package/livepilot/skills/livepilot-composition-engine/references/form-patterns.md +0 -97
  65. package/livepilot/skills/livepilot-composition-engine/references/transition-archetypes.md +0 -102
  66. package/livepilot/skills/livepilot-core/SKILL.md +0 -184
  67. package/livepilot/skills/livepilot-core/references/ableton-workflow-patterns.md +0 -831
  68. package/livepilot/skills/livepilot-core/references/automation-atlas.md +0 -272
  69. package/livepilot/skills/livepilot-core/references/device-atlas/00-index.md +0 -110
  70. package/livepilot/skills/livepilot-core/references/device-atlas/distortion-and-character.md +0 -687
  71. package/livepilot/skills/livepilot-core/references/device-atlas/drums-and-percussion.md +0 -753
  72. package/livepilot/skills/livepilot-core/references/device-atlas/dynamics-and-punch.md +0 -525
  73. package/livepilot/skills/livepilot-core/references/device-atlas/eq-and-filtering.md +0 -402
  74. package/livepilot/skills/livepilot-core/references/device-atlas/midi-tools.md +0 -963
  75. package/livepilot/skills/livepilot-core/references/device-atlas/movement-and-modulation.md +0 -874
  76. package/livepilot/skills/livepilot-core/references/device-atlas/space-and-depth.md +0 -571
  77. package/livepilot/skills/livepilot-core/references/device-atlas/spectral-and-weird.md +0 -714
  78. package/livepilot/skills/livepilot-core/references/device-atlas/synths-native.md +0 -953
  79. package/livepilot/skills/livepilot-core/references/device-knowledge/00-index.md +0 -34
  80. package/livepilot/skills/livepilot-core/references/device-knowledge/automation-as-music.md +0 -204
  81. package/livepilot/skills/livepilot-core/references/device-knowledge/chains-genre.md +0 -173
  82. package/livepilot/skills/livepilot-core/references/device-knowledge/creative-thinking.md +0 -211
  83. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-distortion.md +0 -188
  84. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-space.md +0 -162
  85. package/livepilot/skills/livepilot-core/references/device-knowledge/effects-spectral.md +0 -229
  86. package/livepilot/skills/livepilot-core/references/device-knowledge/instruments-synths.md +0 -243
  87. package/livepilot/skills/livepilot-core/references/m4l-devices.md +0 -352
  88. package/livepilot/skills/livepilot-core/references/memory-guide.md +0 -107
  89. package/livepilot/skills/livepilot-core/references/midi-recipes.md +0 -402
  90. package/livepilot/skills/livepilot-core/references/mixing-patterns.md +0 -578
  91. package/livepilot/skills/livepilot-core/references/overview.md +0 -290
  92. package/livepilot/skills/livepilot-core/references/sample-manipulation.md +0 -724
  93. package/livepilot/skills/livepilot-core/references/sound-design-deep.md +0 -140
  94. package/livepilot/skills/livepilot-core/references/sound-design.md +0 -393
  95. package/livepilot/skills/livepilot-devices/SKILL.md +0 -169
  96. package/livepilot/skills/livepilot-evaluation/SKILL.md +0 -156
  97. package/livepilot/skills/livepilot-evaluation/references/capability-modes.md +0 -118
  98. package/livepilot/skills/livepilot-evaluation/references/evaluation-contracts.md +0 -121
  99. package/livepilot/skills/livepilot-evaluation/references/memory-promotion.md +0 -110
  100. package/livepilot/skills/livepilot-mix-engine/SKILL.md +0 -123
  101. package/livepilot/skills/livepilot-mix-engine/references/mix-critics.md +0 -143
  102. package/livepilot/skills/livepilot-mix-engine/references/mix-moves.md +0 -105
  103. package/livepilot/skills/livepilot-mixing/SKILL.md +0 -157
  104. package/livepilot/skills/livepilot-notes/SKILL.md +0 -130
  105. package/livepilot/skills/livepilot-performance-engine/SKILL.md +0 -122
  106. package/livepilot/skills/livepilot-performance-engine/references/performance-safety.md +0 -98
  107. package/livepilot/skills/livepilot-release/SKILL.md +0 -130
  108. package/livepilot/skills/livepilot-sample-engine/SKILL.md +0 -105
  109. package/livepilot/skills/livepilot-sample-engine/references/sample-critics.md +0 -87
  110. package/livepilot/skills/livepilot-sample-engine/references/sample-philosophy.md +0 -51
  111. package/livepilot/skills/livepilot-sample-engine/references/sample-techniques.md +0 -131
  112. package/livepilot/skills/livepilot-sound-design-engine/SKILL.md +0 -168
  113. package/livepilot/skills/livepilot-sound-design-engine/references/patch-model.md +0 -119
  114. package/livepilot/skills/livepilot-sound-design-engine/references/sound-design-critics.md +0 -118
  115. package/livepilot/skills/livepilot-wonder/SKILL.md +0 -79
  116. package/m4l_device/LivePilot_Analyzer.amxd.pre-presentation-backup +0 -0
  117. package/m4l_device/LivePilot_Analyzer.maxpat +0 -2705
  118. package/m4l_device/LivePilot_Analyzer.maxproj +0 -53
  119. package/manifest.json +0 -91
  120. package/mcp_server/splice_client/protos/app_pb2.pyi +0 -1153
  121. package/scripts/generate_tool_catalog.py +0 -106
  122. package/scripts/sync_metadata.py +0 -349
@@ -1,102 +0,0 @@
1
- # Transition Archetypes Reference
2
-
3
- Common transition patterns returned by `plan_transition` and usable with `apply_gesture_template`.
4
-
5
- ## Energy-Up Transitions
6
-
7
- ### riser_sweep
8
- A filter or noise sweep that builds energy into the next section.
9
-
10
- - Duration: 2-8 bars
11
- - Implementation: ascending automation on filter cutoff (20% to 100%) plus optional white noise riser
12
- - Best for: verse-to-chorus, breakdown-to-drop
13
- - Tools: `set_clip_automation`, `apply_automation_shape(track_index, clip_index, parameter_type="device", curve_type="exponential", start=0, end=1)`
14
-
15
- ### drum_build
16
- Progressive addition of percussion layers leading to the downbeat.
17
-
18
- - Duration: 2-4 bars
19
- - Implementation: add hi-hat rolls (increasing density), snare fills, kick pattern intensification
20
- - Best for: pre-chorus builds, intro-to-verse
21
- - Tools: `add_notes` for fill patterns, `set_track_volume` automation for gradual volume increase
22
-
23
- ### harmonic_tension
24
- Build tension through suspended or unresolved harmony before resolving at the section boundary.
25
-
26
- - Duration: 1-4 bars
27
- - Implementation: sus4 or dominant 7th chord sustained over the transition, resolving on beat 1 of the new section
28
- - Best for: verse-to-chorus, bridge-to-final-chorus
29
- - Tools: `modify_notes` to alter chord voicings, `add_notes` for tension tones
30
-
31
- ### stacking
32
- Gradually add instrumental layers, one per bar or phrase, building density.
33
-
34
- - Duration: 4-16 bars
35
- - Implementation: unmute tracks in sequence (percussion first, then bass, then harmony, then leads)
36
- - Best for: intro builds, post-breakdown rebuilds
37
- - Tools: `set_clip_automation` on track volume, `set_track_mute` for discrete layer adds
38
-
39
- ## Energy-Down Transitions
40
-
41
- ### strip_down
42
- Remove elements one by one to reduce energy before a quieter section.
43
-
44
- - Duration: 2-8 bars
45
- - Implementation: mute layers in reverse order of importance (effects first, then leads, then harmony, keeping bass and kick last)
46
- - Best for: chorus-to-verse, pre-breakdown
47
- - Tools: `set_track_mute`, `set_track_volume` automation with gradual decrease
48
-
49
- ### filter_close
50
- Low-pass filter sweep closing down to muffle the sound.
51
-
52
- - Duration: 2-4 bars
53
- - Implementation: descending automation on master or bus filter cutoff (100% to 20-30%)
54
- - Best for: section endings, transitions to breakdowns
55
- - Tools: `set_clip_automation`, `apply_automation_shape(track_index, clip_index, parameter_type="device", curve_type="exponential", start=1, end=0)`
56
-
57
- ### reverb_wash
58
- Increase reverb wet level to blur the previous section into the next.
59
-
60
- - Duration: 1-2 bars
61
- - Implementation: automate send level to reverb return (0% to 60-80%), then cut dry signal on beat 1
62
- - Best for: hard section changes where you want continuity of space
63
- - Tools: `set_track_send` automation, `set_clip_automation`
64
-
65
- ## Neutral Transitions
66
-
67
- ### hard_cut
68
- Instant transition with no preparation. The contrast itself creates impact.
69
-
70
- - Duration: 0 bars (instantaneous)
71
- - Implementation: no transition processing — the sections simply abut
72
- - Best for: drop entries after silence, genre-specific style (punk, some electronic)
73
- - Constraint: works best when the energy delta is extreme (silence to loud, or vice versa)
74
-
75
- ### crossfade
76
- Gradual overlap of outgoing and incoming sections.
77
-
78
- - Duration: 1-4 bars
79
- - Implementation: outgoing section fades out while incoming fades in, overlapping by the crossfade duration
80
- - Best for: ambient, cinematic, smooth genre transitions
81
- - Tools: `set_clip_automation` on track volumes with opposing curves
82
-
83
- ### fill_break
84
- A drum fill followed by a brief silence (1-2 beats) before the new section.
85
-
86
- - Duration: 1 bar
87
- - Implementation: drum fill on the last bar, then all instruments drop for 1-2 beats, new section enters on beat 3 or 4
88
- - Best for: rock, pop, funk section transitions
89
- - Tools: `add_notes` for the fill, `set_track_mute` or volume automation for the gap
90
-
91
- ## Choosing the Right Archetype
92
-
93
- | From -> To | Recommended | Alternative |
94
- |------------|-------------|-------------|
95
- | Intro -> Verse | stacking | drum_build |
96
- | Verse -> Chorus | riser_sweep, drum_build | harmonic_tension |
97
- | Chorus -> Verse | strip_down | filter_close |
98
- | Verse -> Bridge | harmonic_tension | strip_down |
99
- | Bridge -> Final Chorus | riser_sweep + drum_build | harmonic_tension |
100
- | Chorus -> Breakdown | strip_down, hard_cut | filter_close |
101
- | Breakdown -> Drop | riser_sweep | drum_build + stacking |
102
- | Any -> Outro | strip_down, reverb_wash | filter_close |
@@ -1,184 +0,0 @@
1
- ---
2
- name: livepilot-core
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
- ---
5
-
6
- # LivePilot Core — Ableton Live 12
7
-
8
- Agentic production system for Ableton Live 12. 323 tools across 45 domains, three layers:
9
-
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
- - **M4L Analyzer** — Real-time audio analysis on the master bus (8-band spectrum, 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
- - 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
35
- - **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.
36
- 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
37
- 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
38
-
39
- ## Tool Speed Tiers
40
-
41
- ### Instant (<1s) — Use freely
42
- All 323 tools plus M4L perception tools.
43
-
44
- ### Fast (1-5s) — Use freely
45
- `analyze_loudness` · `analyze_mix` · `analyze_sound_design`
46
-
47
- ### Slow (5-15s) — Tell the user first
48
- `compare_to_reference` · `analyze_spectrum_offline` · `read_audio_metadata`
49
-
50
- **Escalation pattern:** Start fast, escalate only with consent:
51
- ```
52
- Level 1 (instant): get_master_spectrum + get_track_meters
53
- Level 2 (fast): analyze_loudness + analyze_mix
54
- Level 3 (slow): compare_to_reference + analyze_spectrum_offline
55
- ```
56
-
57
- ## Error Handling Protocol
58
-
59
- Report ALL errors to the user immediately. Common failure modes:
60
- - **Dead AU/VST plugin** — `parameter_count` <= 1 → delete, replace with native
61
- - **Sample-dependent plugin** — granular synths produce silence without samples → use self-contained synths (Wavetable, Operator, Drift, Analog)
62
- - **Empty Drum Rack** — bare rack = silence → always load a kit preset
63
- - **M4L bridge timeout** — device may be busy or removed → retry or skip analyzer features
64
- - **Connection timeout** — Ableton unresponsive → check if session is heavy
65
- - **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
66
- - **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
67
- - **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
68
-
69
- ## Technique Memory
70
-
71
- Three modes:
72
- - **Informed (default):** `memory_recall` before creative tasks, let past decisions influence new ones
73
- - **Fresh:** Skip memory when user wants something new ("ignore my history", "surprise me")
74
- - **Explicit recall:** `memory_recall` → `memory_get` → `memory_replay` when user references a saved technique
75
-
76
- ## Wonder Mode — Stuck-Rescue Routing
77
-
78
- - Use Wonder (`enter_wonder_mode`) for creative ambiguity and session rescue
79
- - Do not fabricate three variants when only one real option exists
80
- - Do not describe a branch as previewable unless it has a valid `compiled_plan`
81
- - Prefer Wonder when `detect_stuckness` confidence > 0.5
82
- - Prefer Wonder when the user's request is emotionally-shaped, not parametric
83
- - Load `livepilot-wonder` skill for full workflow guidance
84
-
85
- ## Creative Sound Design Knowledge
86
-
87
- Before setting device parameters, consult the knowledge corpus for informed creative choices. Read the relevant file BEFORE making changes:
88
-
89
- | User says | Read this file |
90
- |-----------|---------------|
91
- | "make it breathe" / "organic" / "alive" / "warm" / "cold" / "anxious" / "nostalgic" | `references/device-knowledge/creative-thinking.md` — emotional-to-technical mapping, physical world modeling |
92
- | "what effect chain for [genre]" / "dub techno" / "trap" / "SOPHIE" / "Arca" / "ambient" | `references/device-knowledge/chains-genre.md` — complete chains per genre |
93
- | "how to use Wavetable/Drift/Analog/Operator/Meld" | `references/device-knowledge/instruments-synths.md` — parameter-level recipes |
94
- | "distortion" / "saturation" / "Roar" / "Saturator" / "Redux" | `references/device-knowledge/effects-distortion.md` — every curve type, creative applications |
95
- | "reverb" / "delay" / "echo" / "space" / "dub" | `references/device-knowledge/effects-space.md` — dub recipes, shimmer chains |
96
- | "spectral" / "Resonators" / "Corpus" / "Vocoder" / "weird" / "experimental" | `references/device-knowledge/effects-spectral.md` — drum-to-melody, cross-synthesis |
97
- | "automate" / "evolve" / "arc" / "movement" / "filter sweep" | `references/device-knowledge/automation-as-music.md` — shapes, macro gestures, density mapping |
98
- | "sound design" / "make it interesting" / "more complex" | `references/sound-design-deep.md` — master techniques from Villalobos, SOPHIE, Basic Channel |
99
-
100
- **Rule:** Never set effect parameters from memory alone when the corpus has specific guidance. Read the file first, then apply the technique.
101
-
102
- ## Domain Skills
103
-
104
- For domain-specific workflows, load the appropriate skill:
105
-
106
- | Skill | When to use |
107
- |-------|-------------|
108
- | `livepilot-devices` | Loading, browsing, configuring devices and presets |
109
- | `livepilot-notes` | Writing notes, theory, generative algorithms, MIDI I/O |
110
- | `livepilot-mixing` | Volume, pan, sends, routing, automation |
111
- | `livepilot-arrangement` | Song structure, scenes, arrangement view |
112
-
113
- ## V2 Engine Skills
114
-
115
- For agentic evaluation loops, load the appropriate engine skill:
116
-
117
- | Skill | When to use |
118
- |-------|-------------|
119
- | `livepilot-mix-engine` | Critic-driven mix analysis and iterative improvement |
120
- | `livepilot-sound-design-engine` | Critic-driven patch analysis and refinement |
121
- | `livepilot-composition-engine` | Section analysis, transitions, motifs, form |
122
- | `livepilot-performance-engine` | Live performance with safety constraints |
123
- | `livepilot-evaluation` | Universal before/after evaluation loop |
124
-
125
- ## Reference Corpus
126
-
127
- Deep production knowledge in `references/`:
128
-
129
- | File | Content |
130
- |------|---------|
131
- | `references/overview.md` | All 323 tools with params and ranges |
132
- | `references/device-atlas/` | 280+ device corpus with URIs and presets |
133
- | `references/midi-recipes.md` | Drum patterns, chord voicings, humanization |
134
- | `references/sound-design.md` | Synth recipes, device chain patterns |
135
- | `references/mixing-patterns.md` | Gain staging, compression, EQ, stereo |
136
- | `references/automation-atlas.md` | 16 curve types, 15 recipes, spectral mapping |
137
- | `references/ableton-workflow-patterns.md` | Session/arrangement workflows |
138
- | `references/memory-guide.md` | Technique memory usage and quality templates |
139
- | `references/m4l-devices.md` | M4L bridge command reference |
140
-
141
- ## V2 Orchestration Layer
142
-
143
- For complex requests, use the V2 orchestration flow instead of ad-hoc tool calls:
144
-
145
- ### Standard V2 Flow
146
- 1. **`route_request`** — classify the request, get recommended engines and workflow mode
147
- 2. **`get_session_kernel`** — build the unified turn snapshot (session, capabilities, taste, memory)
148
- 3. **`propose_next_best_move`** — get ranked semantic move suggestions (taste-aware)
149
- 4. **`preview_semantic_move`** — see what a move will do before committing
150
- 5. **`apply_semantic_move`** — compile and execute the move (mode-dependent)
151
- 6. **Evaluate** — use the appropriate evaluator to check the result
152
-
153
- ### Semantic Moves
154
- High-level musical intents that compile to deterministic tool sequences. 5 families:
155
- - **mix** — `tighten_low_end`, `widen_stereo`, `make_punchier`, `darken_without_losing_width`, `reduce_repetition_fatigue`, `make_kick_bass_lock`, `reduce_foreground_competition`
156
- - **arrangement** — `create_buildup_tension`, `smooth_scene_handoff`, `increase_contrast_before_payoff`, `refresh_repeated_section`
157
- - **transition** — `increase_forward_motion`, `open_chorus`, `create_breakdown`, `bridge_sections`
158
- - **sound_design** — `add_warmth`, `add_texture`, `shape_transients`, `add_space`
159
- - **performance** — `recover_energy`, `decompress_tension`, `safe_spotlight`, `emergency_simplify`
160
-
161
- Use `list_semantic_moves(domain="mix")` to discover available moves.
162
-
163
- ### Experiment Branching
164
- For creative exploration, use experiment branching to compare multiple approaches:
165
- 1. `create_experiment(request_text="make it punchier")` — auto-proposes branches
166
- 2. `run_experiment(experiment_id)` — trials each branch (apply → capture → undo)
167
- 3. `compare_experiments(experiment_id)` — rank branches by score
168
- 4. `commit_experiment(experiment_id, branch_id)` — apply winner permanently
169
-
170
- ### Taste-Aware Ranking
171
- The system learns user preferences from kept/undone moves:
172
- - `get_taste_graph()` — current taste model
173
- - `explain_taste_inference()` — human-readable explanation
174
- - `rank_moves_by_taste(move_specs)` — sort options by preference fit
175
- - `propose_next_best_move` automatically applies taste ranking when evidence exists
176
-
177
- ### Musical Intelligence
178
- Song-level analysis beyond parameters:
179
- - `detect_repetition_fatigue()` — clip overuse, section staleness
180
- - `detect_role_conflicts()` — tracks fighting for the same space
181
- - `infer_section_purposes()` — label sections as setup/tension/payoff/contrast/release
182
- - `score_emotional_arc()` — does the song have a satisfying build→climax→resolve?
183
- - `analyze_phrase_arc()` — capture and evaluate musical phrases
184
- - `compare_phrase_renders()` — compare phrase variants side by side