You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Border-radius zeroed via class override to keep the full-width banner look at the top of the layout.
UpdateDialog.svelte form body — left as-is. The dialog body is informational (version comparison + manual update steps), not a form. The original AC item "compose body via Field + Input" was based on the parent issue's wording but does not apply: there are no inputs to compose. The version comparison block is custom layout that doesn't map to a primitive. Decision documented in PR description and EVID-023 §Interpretation.
Acceptance criteria
grep -RIn '<style>' template/src/widgets/version-footer/ui/UpdateDialog.svelte template/src/pages/home shows only layout/motion styles. Verified post-merge: 2 style blocks remain (UpdateDialog version-comparison layout, HomePage layout), zero atom selectors.
No new ad-hoc reimplementation of an atom that already exists in @/shared/ui.
npm run check passes (0 errors, 0 warnings, 1039 files).
Visual smoke in Chrome on / — 0 console errors, dual-theme parity (verified). UpdateDialog opens via the version-footer Update button; .error-bar flow not exercised in this session (requires triggering globalError by killing the forgeplan CLI), but the rendering is type-safe and the Alert + Button primitives are showcased on /playground.
Form labels programmatically associated — N/A. UpdateDialog has no form inputs in this batch (Field + Input not applied — see "What landed" above). When form inputs are added later (separate effort), Field will handle label wiring.
Bundle delta inside PRD-018 NFR-002 budget. PR-internal net diff in HomePage: −6 LOC (27 removed, 21 added). Cumulative pre-Create and promote components #68 baseline not re-measured.
After this batch merges: parent Integrate shared/ui primitives into widgets/pages (follow-up to #68) #81 acceptance criterion "EvidencePack updates PRD-018 SC-2 from 'deferred' → 'pass'" is actioned. EVID-023 created, structured fields filled (verdict=supports, congruence_level=3 CL3, evidence_type=measurement), linked --informs--> PRD-018 + RFC-016, activated. forgeplan score PRD-018 → R_eff = 1.00 (Adequate).
Sub-issue of #81. Batch 3/3 — closes the long tail of the shared/ui follow-up integration deferred from #68.
Refs: PRD-018 SC-2 · RFC-016 · EVID-022 · closing EvidencePack EVID-023.
Closed by PR #85 (commit
f8de23cfor this batch).What landed
pages/home/ui/HomePage.svelte(commitf8de23c):.error-barblock (custom div + embedded.retrybutton) →<Alert variant="danger" title="CLI error">containing<Button variant="ghost" size="sm">.UpdateDialog.svelteform body — left as-is. The dialog body is informational (version comparison + manual update steps), not a form. The original AC item "compose body via Field + Input" was based on the parent issue's wording but does not apply: there are no inputs to compose. The version comparison block is custom layout that doesn't map to a primitive. Decision documented in PR description and EVID-023 §Interpretation.Acceptance criteria
grep -RIn '<style>' template/src/widgets/version-footer/ui/UpdateDialog.svelte template/src/pages/homeshows only layout/motion styles. Verified post-merge: 2 style blocks remain (UpdateDialog version-comparison layout, HomePage layout), zero atom selectors.@/shared/ui.npm run checkpasses (0 errors, 0 warnings, 1039 files)./— 0 console errors, dual-theme parity (verified). UpdateDialog opens via the version-footer Update button;.error-barflow not exercised in this session (requires triggeringglobalErrorby killing theforgeplanCLI), but the rendering is type-safe and the Alert + Button primitives are showcased on/playground.Fieldwill handle label wiring.forgeplan score PRD-018→ R_eff = 1.00 (Adequate).