Enforce user locks for AI updates

This commit is contained in:
diyaa
2026-09-13 21:20:57 +02:00
parent a39bdbe6fc
commit ae88c6e533
15 changed files with 507 additions and 59 deletions
+3
View File
@@ -46,6 +46,9 @@ manual structure, arrangement, musical-parameter and production choices.
When a Song Project uses Discuss mode, the AI Director sends the current
project and conversation context to the provider and returns follow-up
questions without applying a project update.
All structured AI updates pass through a scope-aware merger. It applies only
the scopes declared by the response, ignores user-locked scopes and preserves
manual control values.
## Prompt Compiler
+6
View File
@@ -27,6 +27,7 @@ SongProject
- lyrics
- productionDirections[]
- productionMode: manual | auto
- userLocks[]
- sunoOutput
- versions[]
- createdAt
@@ -76,6 +77,11 @@ Discuss mode behavior
decision is applied.
- A discussion response does not itself modify the Song Project.
User-lock behavior
- userLocks records update scopes explicitly locked by the user.
- AI updates for locked scopes are ignored; every other accepted AI update must
still preserve Manual/Auto choices.
InstrumentPlacement
- sectionId (optional)
- startTime (optional)
+1 -1
View File
@@ -62,7 +62,7 @@ requirement is missing and blocks implementation, record it in
- [x] Implement Auto mode for structure, arrangement, BPM/key/maqam
and production decisions.
- [x] Implement optional Discuss mode.
- [ ] Enforce user-lock/manual-value precedence over AI output.
- [x] Enforce user-lock/manual-value precedence over AI output.
- [ ] Add error, retry, cancellation and rate-limit handling.
## Phase 5 --- Arabic Lyrics Processing