From promising generation to finished song: an iteration workflow that does not lose the idea
A promising generation can get worse when every revision rewrites the whole song. Finishing requires preserving what works and narrowing the change surface.
Freeze the identity, rank problems by impact, fix one section or trait at a time, keep versions and stop when new generations trade one solved problem for another of similar size.
Write a keep list before touching anything
Immediately note the three things you do not want to lose: perhaps the lead vocal character, chorus melody and dry groove. These become your anchors. If a later version improves the bridge but destroys two anchors, it is not an upgrade.
Rank problems instead of chasing perfection
Label issues as A, B or C. A-problems block the song: weak hook, unusable vocal, broken structure. B-problems reduce quality but can wait. C-problems are preferences. Fix A first.
Version by hypothesis
Name each revision by what you are testing: v03-shorter-intro, v04-chorus-vocal, v05-half-time-bridge. A version number without a hypothesis becomes a pile of files you cannot learn from.
Know the regeneration trap
If each new generation is different rather than clearly better, return to the strongest version and finish around it. Infinite variation can hide the fact that the creative decision is already good enough.
Keep list → problem ranking → one hypothesis per version → compare against anchors → stop when variation replaces improvement.