mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
Plan T2 / spec §1 / §10 / §21.3.1.
apps/daemon/tests/plugins-figma-migration-e2e.test.ts walks every
Phase 6 atom impl in sequence on a stubbed Figma REST response:
figma-extract \u2192 figma/{tree.json, tokens.json, meta.json}
via injected fetch stub (no network).
token-map \u2192 token-map/colors.json crosswalking the lifted
SOLID fills onto the active design system.
diff-review \u2192 review/decision.json with explicit decision.
handoff \u2192 handoff/manifest.json via runAndPersistHandoff()
with the right handoffKind from the promotion
ladder.
Three cases:
1. accept happy path \u2192 implementation-plan rung; figma export
target lands on manifest.exportTargets[].
2. reject path \u2192 design-only rung even after figma-extract +
token-map ran successfully.
3. Bundled scenario folder roster lock — confirms
plugins/_official/scenarios/od-figma-migration/open-design.json
ships the canonical stage list (extract \u2192 tokens \u2192 generate
\u2192 critique) so the §3.O1 fallback resolver always has the
same target shape to copy.
Daemon tests: 1647 \u2192 1650 (+3 cases on plugins-figma-migration-e2e:
accept, reject, scenario roster).
Co-authored-by: Tom Huang <1043269994@qq.com>