# Decision 0001: Composer Draft Sync Status: Accepted Date: 2026-05-03 ## Context The bottom composer edits node parameters through a local draft. If the user edits node A and then selects node B, the product needs a deterministic rule for the unsaved draft. Options considered: - autosave dirty draft before changing target - discard dirty draft when changing target - interrupt with a confirmation dialog ## Decision Use autosave. Rules: - On blur, write dirty draft fields back to the selected node. - Before generate, write dirty draft fields back to the selected node. - Before switching from node A to node B, write dirty draft fields back to node A, then load node B. - If the draft target node no longer exists, discard the draft. - Do not show a confirmation dialog in MVP. ## Rationale Autosave preserves user edits without adding modal friction to canvas exploration. It also keeps the selected node as the durable source of truth before execution. ## Consequences - Composer needs dirty-field tracking. - Status/output/error updates must not reset dirty draft fields. - Tests must cover selection changes with unsaved prompt/model edits.