Implement automatic song project decisions

This commit is contained in:
diyaa
2026-09-13 20:59:25 +02:00
parent 1bf84ca049
commit bf1ccbe8a9
6 changed files with 494 additions and 1 deletions
+3
View File
@@ -40,6 +40,9 @@ macOS App
OpenAI receives the user's intent plus private application rules and
structured project state. AI output should be requested as structured
data wherever possible, not treated as an unstructured chat transcript.
For automatic decisions, the AI Director requests only enabled automatic
scopes and merges the response into the current project while preserving
manual structure, arrangement, musical-parameter and production choices.
## Prompt Compiler
+11
View File
@@ -20,11 +20,13 @@ SongProject
- key
- scale
- maqam
- structureMode: manual | auto
- sections[]
- instruments[]
- vocalists[]
- lyrics
- productionDirections[]
- productionMode: manual | auto
- sunoOutput
- versions[]
- createdAt
@@ -59,6 +61,15 @@ InstrumentTrack
- autoArrangementEnabled
- placements[]
Auto-decision behavior
- The AI may update song sections only when structureMode is auto.
- The AI may update an instrument's role, playing style and placements only
when autoArrangementEnabled is true for that selected instrument.
- The AI may fill BPM, key, scale and maqam only when their individual
ManualAutoValue mode is auto.
- The AI may update production directions only when productionMode is auto.
- Manual values remain authoritative when automatic decisions are applied.
InstrumentPlacement
- sectionId (optional)
- startTime (optional)
+1 -1
View File
@@ -59,7 +59,7 @@ requirement is missing and blocks implementation, record it in
- [x] Define structured AI response schema for SongProject updates.
- [x] Implement idea → complete project generation.
- [x] Implement existing lyrics → correction/improvement flow.
- [ ] Implement Auto mode for structure, arrangement, BPM/key/maqam
- [x] Implement Auto mode for structure, arrangement, BPM/key/maqam
and production decisions.
- [ ] Implement optional Discuss mode.
- [ ] Enforce user-lock/manual-value precedence over AI output.