9.1 KiB
9.1 KiB
SPRINT v0.1.42 - Live Proof of Open-Project Editing
Goal
Validate and use the existing MCP editing path on the already-open Ableton project:
- C:\Users\ren\Desktop\song Project\song.als
This sprint is not a generation sprint and not a wrapper-expansion sprint.
It is a runtime-proof sprint:
- prove the MCP can inspect the real open project
- prove the MCP can apply real Arrangement edits on that project
- prove the edits improve coherence in measurable ways
- document exact evidence or fail explicitly
Why This Task Exists
The previous run failed.
Repository truth from the failed run:
- infrastructure was added in AbletonMCP_AI/MCP_Server/server.py
- contextual snare scoring was added in AbletonMCP_AI/MCP_Server/sample_selector.py
- docs/SPRINT_v0.1.41_VALIDATION_REPORT.md was corrected to an honest fail
- no live MCP calls were exercised against song.als
- no real edit pass was applied
- no before/after coherence metrics were captured
- no proof exists that the new editing tools work through the real Ableton runtime path
The highest-signal blocker is now obvious:
- stop adding unvalidated infrastructure
- prove runtime behavior on the open project
- if runtime behavior is blocked, isolate the exact blocker with raw evidence
Required Work
- Prove the live target is the real open project.
- Connect through the MCP to the active Ableton session.
- Capture enough session evidence to prove the target is the already-open song.als session and not a generated set or blank template.
- Save raw outputs under temp/.
- Validate the existing MCP tool path live before adding more tools.
- Exercise these tools against the open project and record exact calls plus raw outputs:
- get_session_info()
- get_tracks()
- get_track_info(...)
- get_clips(...)
- get_clip_info(...)
- get_devices(...)
- get_device_parameters(...)
- set_device_parameter_by_name(...)
- one arrangement creation or duplication path
- one arrangement MIDI note insertion path
- For each tool, classify it as:
- live validated
- failed live
- blocked by backend/runtime limitation
- Do not mark a tool complete just because it compiles.
- If a live tool path fails, fix only the minimal blocker.
- Use the existing code added in v0.1.41 as the starting point.
- If a backend handler or runtime path is missing, add the smallest fix needed in the real runtime path.
- Re-run the exact same MCP call after the fix and save the before/after evidence.
- Do not add unrelated new feature surface.
- Audit the open project before editing.
- Run project-facing audits on the real song.als session.
- Capture exact before metrics for:
- silence islands
- mirrored section pairs
- harmonic coverage / harmonic backbone status
- same-source dominance or repeated-source overuse
- repeated clip overuse if available
- Save raw outputs under temp/.
- Use these audits to choose the edit targets.
- Apply a bounded real edit pass on song.als.
- Use the validated MCP editing tools on the real open project.
- The edit pass must be small, targeted, and measurable.
- Prioritize:
- extending or repairing harmonic MIDI backbone in Arrangement
- reducing dead gaps
- breaking at least one mirrored or obviously repeated arrangement shape
- improving continuity without destroying identity
- The harmonic MIDI backbone must become real Arrangement content intended to be audible.
- It is acceptable to use keys, pluck, pad, or synth timbre.
- It is not acceptable to leave the backbone as metadata, a hidden clip, or an empty placeholder.
- Validate snare selectivity in the real path.
- Do not hard-ban SS_RNBL_Me_Gustas_One_Shot_Snare.wav.
- Prove whether the new contextual snare scoring actually affects selection in real use.
- If the logic exists but is not wired into the live path, wire the minimal real path and validate it.
- Record exact evidence showing whether lower-energy sections are treated more conservatively than higher-energy sections.
- Re-audit after editing.
- Run the same project-facing audits again.
- Save raw after-state outputs under temp/.
- Produce an exact before/after table using measured values, not estimates.
- State clearly what improved, what stayed flat, and what regressed.
- Keep the scope disciplined.
- Touch only the files directly required to validate or minimally fix the runtime editing path.
- Likely files:
- AbletonMCP_AI/MCP_Server/server.py
- AbletonMCP_AI/MCP_Server/sample_selector.py
- abletonmcp_init.py
- AbletonMCP_AI/abletonmcp_runtime.py
- docs/SPRINT_v0.1.42_VALIDATION_REPORT.md
- Do not add broad new capability areas unless they are the direct blocker to a required live validation step.
- Fail fast if the runtime is not reachable.
- If Ableton, the control surface, or the MCP connection is unavailable, do not continue building infrastructure.
- Capture the exact failing step and raw evidence.
- Mark the sprint failed with specific blocker evidence.
- A code-only partial success is not acceptable for this sprint.
Acceptance Criteria
This sprint passes only if all of the following are true:
- The live validation target is the already-open song.als project.
- Exact MCP calls and exact raw results are recorded for the validated live tool sequence.
- At least one real Arrangement edit is applied through the MCP path on the open project.
- At least one real Arrangement MIDI operation is applied on the open project, or the report proves the exact runtime limitation with raw evidence.
- Harmonic MIDI backbone exists in Arrangement as meaningful content over materially more of the song than before.
- Before and after project-audit metrics are captured from the real open project with exact values.
- The after state shows at least one concrete improvement in coherence metrics, such as fewer silence islands, fewer mirrored pairs, stronger harmonic coverage, or reduced repeated-source dominance.
- Snare selectivity is validated in the real selection path, not only described from source code.
- All changed Python files compile.
- Relevant tests for touched MCP/runtime/coherence code pass.
- The validation report is strict and honest about what was and was not validated live.
- Codex can reasonably return pass from repository evidence alone.
Automatic fail conditions:
- validation remains code-only
- no exact MCP call log exists
- no before/after metrics exist
- no live edit was applied to song.als
- the run validates against a new generated song or different session
- the report claims completion without runtime evidence
Validation
Produce all of the following artifacts:
- docs/SPRINT_v0.1.42_VALIDATION_REPORT.md Required sections:
- Summary
- Files Changed
- Live Target Proof
- MCP Tools Validated Live
- Project Audits Before
- Project Edits Applied
- Project Audits After
- Before/After Metrics
- Snare Selectivity
- Harmonic MIDI Backbone
- What Is Still Weak
- Remaining Risks
- temp/v04142_live_target_proof.json
- raw evidence proving the active Ableton session is the intended open project
- temp/v04142_mcp_calls.jsonl
- one JSON line per MCP call
- include tool name, arguments, success or failure, and raw result or raw error
- temp/v04142_before_audit.json
- raw before-state audit outputs
- temp/v04142_after_audit.json
- raw after-state audit outputs
- temp/v04142_edit_actions.json
- exact live edits attempted and whether each succeeded
- If blocked, replace missing success artifacts with:
- temp/v04142_blocker_evidence.json
- include the exact failing step, exact raw response, and why the sprint could not proceed
Required validation actions:
- python -m py_compile on every changed Python file
- relevant tests for touched runtime/MCP/coherence code
- live MCP calls against the open project
- before and after audits on the same open project session
Context
Read these first:
- previous failed run directory:
- C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\ralph\runs\20260403-195932-queue
- previous summary:
- C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\ralph\runs\20260403-195932-queue\SUMMARY.md
- previous reviews:
- C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\ralph\runs\20260403-195932-queue\reviews\codex_master_pre_fix.json
- C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\ralph\runs\20260403-195932-queue\reviews\opencode_qwen3coder_plus.json
- C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\ralph\runs\20260403-195932-queue\reviews\opencode_glm47.json
- previous validation report:
- docs/SPRINT_v0.1.41_VALIDATION_REPORT.md
Primary source files:
- AbletonMCP_AI/MCP_Server/server.py
- AbletonMCP_AI/MCP_Server/sample_selector.py
- abletonmcp_init.py
- AbletonMCP_AI/abletonmcp_runtime.py
Execution priority for this sprint:
- prove live target and MCP connectivity
- validate existing tools live
- minimally fix only the runtime blockers that prevent validation
- apply one bounded real edit pass
- capture before/after evidence
- report strictly from repository truth
Do not overclaim. This sprint exists to turn unvalidated open-project editing infrastructure into demonstrated live behavior on the real Ableton session.