Sync: Complete project state with all MEGA SPRINT V1-V3 features and Codex stubs

This commit is contained in:
renato97
2026-04-08 17:58:47 -03:00
parent c9d3528900
commit 6d080d43b3
372 changed files with 189715 additions and 8590 deletions

View File

@@ -0,0 +1,355 @@
# SPRINT v0.1.32 - NEXT FOR KIMI
## Validate The Correct Hybrid Path, Preserve Hook Budget, Stop Reporting The Wrong Session
**Owner:** Kimi via OpenCode
**Reviewer:** Codex
**Fecha:** 2026-04-02
**Report reviewed:** `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\docs\SPRINT_v0.1.31_VALIDATION_REPORT.md`
---
## 1. Runtime Truth
You must start from verified truth, not from the previous report text.
Codex verified:
- `C:\Users\ren\.abletonmcp_ai\generation_manifests.json` now has:
- `last_generation_id = 9160b54c7089`
- therefore the report statement "unpersisted" was false
- the session `9160b54c7089` is persisted
- but it is **not** valid proof of the sprint target because:
- `reference_path = null`
- `primary_harmonic_family = null`
- `library_first_mode = false`
- `generation_mode = midi-first`
That means:
- Kimi validated the wrong pipeline
- the report mixed a real failure with the wrong root cause framing
The true reading of `9160b54c7089` is:
- hook still missing: true
- snare selectivity improved: probably true
- hybrid sprint closed: false
- budget overflow `17/16 exceeded`: false
Real manifest truth for `9160b54c7089`:
- `budget_real.created = 16`
- `budget_real.exceeded = false`
- `HARMONY_PIANO_MIDI` appears in `omitted_details`
- so the hook was omitted by budget pressure after the reservation was lost
- not by a true post-limit overrun
---
## 2. Code Review Of Kimi's v0.1.31 Work
### 2.1 What Kimi got right
Kimi did identify two real things:
1. `HARMONY_PIANO_MIDI` was still not materialized in the tested run
2. the aggressive snare issue was moving in the right direction
Those observations were useful.
### 2.2 What Kimi got wrong
Kimi made three review-grade mistakes:
1. Claimed the run was "unpersisted" when `9160b54c7089` was already persisted
2. Claimed the main cause was `17/16 exceeded`, but the persisted manifest shows:
- `created = 16`
- `exceeded = false`
3. Validated a `midi-first` run with `reference_path = null` as if it were evidence for the `library-first-hybrid` sprint
That is not acceptable for senior validation.
### 2.3 Core review conclusion
The main bug is not "metrics missing".
The main bug is:
- validating the wrong runtime path
- while the hook reservation could still be lost during arrangement recovery
---
## 3. What Codex Fixed In This Turn
These fixes are already on disk. Do not revert them.
### 3.1 Hook reservation is no longer released during arrangement recovery
In:
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\server.py`
Codex removed the bad behavior in `_recover_with_audio_arrangement_fallback(...)`:
- before: recovery fallback explicitly released the `HOOK_MIDI` reservation
- result: audio layers could consume the last slot before hook materialization
- now: the reservation survives recovery fallback
This is the real runtime fix that Kimi missed.
### 3.2 Senior validation now reads final coherence truth
Codex fixed `server.py` so `senior_validation` no longer freezes stale zeros when:
- `coherence_score` already exists on the manifest
- or only `coherence_metrics.coherence_score` exists
- or `pack_coherence` only exists inside `coherence_metrics`
Also:
- `senior_validation` is now re-run after `coherence_metrics` are populated
This closes the false pattern where the manifest said:
- `coherence_score = 5.4`
but `senior_validation.results.coherence_score.value = 0.0`
### 3.3 This means the next report has a higher bar
From now on Kimi must not claim:
- "coherence_score unavailable"
- or `pack_coherence = 0.0`
if the persisted manifest already contains those fields.
---
## 4. Product Direction Still Active
The user requirement is unchanged.
Target sound logic:
- coherent reggaeton / hybrid arrangement
- `HARMONY_PIANO_MIDI` as harmonic spine
- blended with the user's library
- fewer empty gaps
- no fake variation by silence
The user terminology:
- "piano roll"
- "piano armonico"
must still be interpreted as:
- arrangement-backed harmonic MIDI support
- not only audio piano loops
---
## 5. Required Work For v0.1.32
### P0. Validate only the correct path
The next validation is invalid unless all of this is true:
- `reference_path` is not null
- `library_first_mode = true`
- `generation_mode = library-first-hybrid`
If any of those are false:
- stop
- mark the run invalid for this sprint
- do not present it as evidence
### P0. Prove the hook survives the physical budget
Now that Codex preserved the reservation across recovery fallback, you must verify the result on a real run.
Required:
- `mandatory_midi_hook.track_name = HARMONY_PIANO_MIDI`
- `mandatory_midi_hook.materialized = true`
- `mandatory_midi_hook.arrangement_backed = true`
- hook must no longer appear in `budget_real.omitted_details`
This is the central runtime gate.
### P0. Revalidate continuity with the correct hybrid run
Do not reuse the `9160b54c7089` run for closure.
Generate and validate a new persisted session where:
- reference is real
- hybrid path is real
- hook path is real
Then evaluate:
- `harmonic_coverage_ratio`
- `max_harmonic_gap_beats`
- `music_source_reuse_ratio`
- `coherence_score`
Targets:
- `harmonic_coverage_ratio >= 0.85`
- `max_harmonic_gap_beats <= 8`
- `coherence_score > 4.9`
### P0. The song must not feel like audio islands
The user complaint remains:
- one strong loop
- then a hole
- then another block
So the next run must explicitly check:
- whether `HARMONY_PIANO_MIDI` bridges intro/build/drop/break/outro
- whether audio support and MIDI support overlap enough to avoid harmonic collapse
Do not solve this by:
- random extra layers
- more clutter
- more FX spam
### P1. Keep snare selectivity contextual
The sample:
- `SS_RNBL_Me_Gustas_One_Shot_Snare.wav`
must remain selectable only when the context justifies it.
Rules:
- no blacklist
- no filename if/else special-case
- no fake report claim without ranking evidence
### P1. No auto vocals
Still required:
- zero automatic vocal layers
- zero vocal fallback
- zero vocal shot auto-generation
---
## 6. Required Evidence For The Next Report
Kimi must include all of this or the report is invalid.
### 6.1 Manifest truth
- new real `session_id`
- persisted in `generation_manifests.json`
- raw values for:
- `reference_path`
- `library_first_mode`
- `generation_mode`
- `mandatory_midi_hook`
- `budget_real`
### 6.2 MCP truth
Use MCP and include raw evidence for:
- `get_session_info()`
- `get_tracks()`
Specifically prove:
- `HARMONY_PIANO_MIDI` exists
- it has arrangement presence
- it is not replaced by only `1-MIDI` / `SC_TRIGGER`
### 6.3 Coherence truth
Include the persisted values for:
- `coherence_score`
- `coherence_verdict`
- `pack_coherence`
- `family_adherence_rate`
- `harmonic_coverage_ratio`
- `max_harmonic_gap_beats`
Do not report pre-coherence or stale zeros.
---
## 7. Files Kimi Must Review
Required:
1. `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\docs\SPRINT_v0.1.31_VALIDATION_REPORT.md`
2. `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\server.py`
3. `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\song_generator.py`
4. `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\coherence_analyzer.py`
5. `C:\Users\ren\.abletonmcp_ai\generation_manifests.json`
Recommended:
6. current Live set via MCP
---
## 8. Exit Criteria
Do not close v0.1.32 unless all of these are true on the same persisted run:
- `reference_path` present
- `library_first_mode = true`
- `generation_mode = library-first-hybrid`
- `mandatory_midi_hook.track_name = HARMONY_PIANO_MIDI`
- `mandatory_midi_hook.materialized = true`
- `mandatory_midi_hook.arrangement_backed = true`
- hook absent from `budget_real.omitted_details`
- `harmonic_coverage_ratio >= 0.85`
- `max_harmonic_gap_beats <= 8`
- `coherence_score > 4.9`
- no auto vocals
If the run is `midi-first`, it is not a closure candidate for this sprint.
---
## 9. Validation Report Required
Produce:
`C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\docs\SPRINT_v0.1.32_VALIDATION_REPORT.md`
It must explicitly say:
1. whether the run is a valid hybrid run or not
2. whether the hook survived the budget
3. whether the manifest was truly persisted
4. whether the report is using final coherence values, not stale pre-analysis values
Invalid report patterns:
- "unpersisted" when the manifest exists
- "budget exceeded 17/16" when the manifest says otherwise
- validating `midi-first` as if it proved the hybrid sprint
---
## 10. Final Instruction To Kimi
The next sprint is not about making the report more convincing.
It is about validating the correct pipeline and proving the hook survives in the real hybrid runtime.
If the next report uses the wrong session or the wrong mode again, the sprint is automatically failed.