Remove external music generation handoff

This commit is contained in:
diyaa
2026-09-15 12:16:08 +02:00
parent cd066d0a82
commit 1ebb5aadc3
11 changed files with 22 additions and 409 deletions
+4 -12
View File
@@ -29,8 +29,7 @@ macOS App
│ ├── Project Versioning
│ └── Validation
├── Integrations
│ ├── OpenAI
│ └── Suno Field-Fill Integration
│ └── OpenAI
└── Persistence
└── Local project/version storage
```
@@ -82,17 +81,10 @@ and explicitly apply the processed text before any Suno handoff.
and providers can be changed later.
- Do not log secrets or full authorization headers.
## Suno Boundary
## External Generation Boundary
The initial requirement is an app-managed web surface for the Suno
Create page in Custom mode. This avoids relying on a particular user
browser. The integration attempts to fill the supported title,
lyrics and style fields but does not press Generate. If a field cannot
be filled, it returns a field-specific result so Presentation can report
it and offer the approved text for copying. Treat this integration as
replaceable because website UI/behavior can change. The field filler is
an adapter behind a protocol so it can be replaced without changing
SongProject, prompt compilation or UI review logic.
The application prepares final lyrics and style prompts but does not
open, embed or control an external music-generation service.
## Instrument Selector Boundary
+1 -7
View File
@@ -15,13 +15,7 @@ finalized.
- Exact list of supported languages/dialects for MVP.
- Arabic diacritization policy: full tashkeel vs
pronunciation-targeted tashkeel.
- Resolved: Suno handoff presents the Create page in an app-managed web
surface in Custom mode and attempts to fill title, lyrics and style
fields. It never
starts generation. Field-fill failures are reported with the
approved text available for copying.
- Whether Suno integration is permitted/reliable under the intended
account/workflow and current terms.
- External music-generation handoff is not in the current scope.
- Project storage technology and whether cloud sync is required later.
- Whether users supply their own OpenAI/API credentials or the product
owner supplies service credentials.
+4 -16
View File
@@ -4,8 +4,7 @@
A native macOS application that helps users design a complete song
concept through a natural chat interface, using OpenAI as the planning
and writing engine, then prepares the final lyrics and style
instructions for Suno.
and writing engine, then prepares final lyrics and style instructions.
## Core Flow
@@ -18,12 +17,6 @@ instructions for Suno.
decisions.
4. User reviews and manually edits every generated component.
5. Project versions are saved.
6. User presses **Send to Suno**.
7. The app presents the Suno Create page in an app-managed web surface
in Custom mode and fills the
supported title, lyrics and style fields. It does not trigger
Generate. If a field cannot be filled, the app reports that result
and keeps its approved text ready for the user to copy.
## Song Controls
@@ -76,7 +69,7 @@ views. Each catalog entry should support structured metadata:
Selected instruments must be available as part of the Song Project and
later available to the OpenAI/song-generation layer so they can
influence arrangement, instrument roles, entry/exit timing, song
structure where relevant and the Suno Style Prompt.
structure where relevant and the final style prompt.
Instrument images, audio previews, sound samples, audio playback,
Freesound, an Instrument API and external API calls for instrument data
@@ -94,10 +87,5 @@ Normal users cannot view or modify these rules in the initial version.
## Initial Boundary
Suno remains responsible for music generation and playback. The macOS
app opens the browser-based Suno Create page in Custom mode and fills
the supported title, lyrics and style fields only. It never triggers
Generate. If Suno changes its interface and a field cannot be filled,
the app reports that field and keeps the approved text available to
copy. Generated songs do not need to return to the app in the initial
version.
The macOS app prepares and stores the final lyrics and style prompt only.
It does not open, embed or control an external music-generation website.
+5 -11
View File
@@ -105,15 +105,10 @@ requirement is missing and blocks implementation, record it in
- [x] Validate output before handoff.
- [x] Keep compiler independent from UI and OpenAI client.
## Phase 8 --- Suno Handoff
## Removed --- External Generation Handoff
- [x] Implement explicit `Send to Suno` action.
- [x] Open the appropriate Suno creation surface.
- [x] Fill supported fields with approved project output.
- [x] Never trigger Generate automatically.
- [x] Detect/report when fields cannot be filled rather than silently
failing.
- [x] Keep integration isolated because Suno UI can change.
- [x] Removed opening, embedding and controlling external
music-generation websites.
## Phase 9 --- Quality
@@ -124,12 +119,11 @@ requirement is missing and blocks implementation, record it in
- [ ] Test AI output against locked user choices.
- [ ] Test selected instruments influence compiled song-generation
context.
- [ ] Test Suno handoff without generation.
## Definition of MVP Done
A user can create a macOS song project through chat, manually or
automatically configure the agreed song parameters, generate/edit lyrics
and song planning through OpenAI, select instruments, review
the complete project, save versions, and send the approved lyrics/style
data to Suno where the app fills fields without initiating generation.
the complete project, save versions, and retain the approved final
lyrics and style prompt in the project.