Without rollback, a brief that fails (network error, abort signal, parse error, etc) before any sub-agent content lands permanently mutates the user's doc.variables with the plan's palette — they see no design, but their token state is now polluted with whatever style guide the planner picked. Next brief on the same doc inherits this stale palette. Fix: snapshot the 7 plan-derived variable names BEFORE seedDocVariables- FromStyleGuide writes them, and in the existing catch block restore the snapshot iff no content survived (every root frame got cleaned up). With partial content surviving (a salvageable half-design) we keep the seeded palette so existing $color-* refs in those nodes still resolve correctly. design.md flows still bypass this entirely; user-set variables outside the plan-derived 7 are untouched on both seed and rollback. |
||
|---|---|---|
| .. | ||
| public | ||
| server | ||
| src | ||
| CLAUDE.md | ||
| components.json | ||
| dev.ts | ||
| package.json | ||
| tsconfig.json | ||
| vite.config.ts | ||