--- engine: devin cwd: /Users/sd9235/code/mygh/learning_ai_fastgap yolo: true lock: nomgap-web timeout: 4h --- Author the baseline audit into and then execute end-to-end the roadmap at web/docs/roadmaps/UX_INTEGRATION_NOMGAP.md, STRICTLY scoped to /Users/sd9235/code/mygh/learning_ai_fastgap/web — follow waves UX-1→UX-7 + CC.1→CC.6 in order and obey its Ground rules exactly (scope web/; --ng-* tokens, no new color literals; @bytelyst/* deps "*"; minimal lockfile/--frozen-lockfile recovery; route all UI through src/components/ui/Primitives.tsx; tests sacred; commit→push→tick PER ITEM with SHA + test counts; deferrals [~]+reason+table; no stray files). UX-2 migrates recharts→@bytelyst/charts (+data-viz) and decides sonner (keep or fold into gentle-notifications); UX-6 migrates the (auth) screens to @bytelyst/auth-ui; likely defer UX-7 (gentle-notifications/celebrations/broadcast-client already present). Verify each wave: pnpm --filter @nomgap/web typecheck && lint && test && build && test:e2e:ci (this already sets PLAYWRIGHT_REUSE_SERVER=0 + @axe-core — no new failures vs the UX-1 baseline / no new a11y violations). Capture the e2e baseline on UX-1. Do NOT stop until every non-deferred wave + CC is committed, pushed, and ticked. End with SHAs, final test counts, and deferrals.