Depends on #54 (negative-prompt + cfg/apg).
Problem
Steering generation today is prompt-only and additive — you can ask for things but not against them, and you cannot trade prompt-adherence for diversity. That makes layerable material hard: a "bassline" prompt still tends to come back with drums, muddying a layer under a deck (the SA3 cousin of the drum-sit problem, #50). #54 exposes --negative-prompt + --cfg/--apg, which give exactly these controls.
Proposed approach
Expose two steering controls on the generate surface: "avoid" (a negative prompt, with a few one-tap chips — no vocals / no drums / no cymbals / no melody) and an adherence ↔ diversity knob mapped to --cfg (with --apg where it helps). Together these make cleaner stem-ish layers ("bassline, no drums, no melody") for layering under a deck, and tame or loosen prompt-following. Persist the chosen avoid/guidance with the recipe (ADR-0022).
Acceptance criteria
Scope & non-goals
In scope: negative-prompt + guidance controls and the stem-ish layering use. Non-goals: the plumbing (#54); true stem separation (this is prompt-conditioned, not a separator); the palette builder (separate issue); drum-sit on the Magenta deck (#50).
Depends on #54 (negative-prompt + cfg/apg).
Problem
Steering generation today is prompt-only and additive — you can ask for things but not against them, and you cannot trade prompt-adherence for diversity. That makes layerable material hard: a "bassline" prompt still tends to come back with drums, muddying a layer under a deck (the SA3 cousin of the drum-sit problem, #50). #54 exposes
--negative-prompt+--cfg/--apg, which give exactly these controls.Proposed approach
Expose two steering controls on the generate surface: "avoid" (a negative prompt, with a few one-tap chips — no vocals / no drums / no cymbals / no melody) and an adherence ↔ diversity knob mapped to
--cfg(with--apgwhere it helps). Together these make cleaner stem-ish layers ("bassline, no drums, no melody") for layering under a deck, and tame or loosen prompt-following. Persist the chosen avoid/guidance with the recipe (ADR-0022).Acceptance criteria
npx tsc -p tsconfig.app.json --noEmitclean.Scope & non-goals
In scope: negative-prompt + guidance controls and the stem-ish layering use. Non-goals: the plumbing (#54); true stem separation (this is prompt-conditioned, not a separator); the palette builder (separate issue); drum-sit on the Magenta deck (#50).