diff --git a/docs/memory/session-log.md b/docs/memory/session-log.md index d39127e..11ca70e 100644 --- a/docs/memory/session-log.md +++ b/docs/memory/session-log.md @@ -26,6 +26,30 @@ Each entry follows this structure: ## Sessions +### Session 2026-04-06 — Retroactive review completion + +**Agent(s):** Claude Opus 4.6 (1M context) + +**Work completed:** +- **Phase 1 atoms complete:** Audited Typography (18/20, no P0/P1) and Badge (15/20, P0 `role="status"` determined false positive — would create unwanted aria-live on static labels) +- **Phase 2 molecules complete:** Normalized all 9 molecules — displayName ✓, forwardRef ✓, ARIA ✓, no hardcoded colours. Flagged AddOnOption/ProviderCard ARIA issues reviewed and determined false positives (Switch is semantic control; ProviderCard has `...rest` passthrough) +- **Phase 3 organisms complete:** Normalized 5 active organisms. Audited Navigation (15/20, no real P0/P1 — focus-visible from MUI theme, CSS vars D031-compliant) and ServiceSelector (17/20, **fixed P0: added `aria-required` to radiogroup**) +- **Phase 4 preflight:** TypeScript ✓, ESLint ✓, Prettier ✓, Storybook build ✓ +- **Review plan updated:** All phases marked done. Only `/typeset` deferred (low risk) + +**Decisions made:** +- Badge `role="status"` rejected: static status labels shouldn't be aria-live regions +- AddOnOption `role="checkbox"` rejected: Switch is the semantic control, Card click is convenience +- CSS var usage in organisms is D031-compliant (CSS vars acceptable for semantic tokens per D031) + +**Open questions:** +- From 2026-04-01: Which HomePage version (V3 or V4) is production? + +**Next steps:** +- User has components to change/build — shifting to that work + +--- + ### Session 2026-04-01 — FuneralFinder V4, HomePage V3/V4, Footer restyle **Agent(s):** Claude Opus 4.6 (1M context) diff --git a/docs/reference/retroactive-review-plan.md b/docs/reference/retroactive-review-plan.md index 3dd5173..e949bce 100644 --- a/docs/reference/retroactive-review-plan.md +++ b/docs/reference/retroactive-review-plan.md @@ -34,10 +34,10 @@ scores on record. Focus on those that scored < 16/20 or were never audited. | Atom | Last Audit Score | Priority | |------|-----------------|----------| | Button | **20/20** (2026-03-27) | ~~High~~ Done | -| Typography | — | Medium (display-only) | +| Typography | **18/20** (2026-04-06) | ~~Medium~~ Done — no P0/P1 | | Input | **20/20** (2026-03-27) | ~~High~~ Done | | Card | **20/20** (2026-03-27, after P1 fixes) | ~~High~~ Done | -| Badge | — | Medium (fixed in D031) | +| Badge | **15/20** (2026-04-06) | ~~Medium~~ Done — P0 (role="status") reviewed, determined false positive (would create unwanted aria-live region on static labels) | | Chip | — | Low (minimal wrapper) | | Switch | — | Low (minimal wrapper) | | Radio | — | Low (minimal wrapper) | @@ -45,22 +45,22 @@ scores on record. Focus on those that scored < 16/20 or were never audited. | Divider | — | Low (minimal wrapper) | | Link | — | Low (minimal wrapper) | -**Estimated effort:** 1 session for normalize + audit of high/medium priority atoms. +**Estimated effort:** ~~1 session~~ Done (high/medium atoms). Low-priority atoms are minimal MUI wrappers — no further review needed. --- ## Phase 2: Molecules (composition layer) ### Step 2.1 — Normalize all molecules -Run `/normalize molecules` for cross-component consistency. +~~Run `/normalize molecules` for cross-component consistency.~~ Done (2026-04-06). All 9 molecules scanned. No real P0/P1 cross-component issues. displayName ✓, forwardRef ✓, ARIA ✓ (AddOnOption uses Switch as semantic control; ProviderCard has `...rest` passthrough), no hardcoded colours ✓. ### Step 2.2 — Audit + critique priority molecules Run `/audit` and `/critique` on molecules with real layout complexity. | Molecule | Last Scores | Priority | |----------|------------|----------| -| ProviderCard | Critique 33/40 (v2 iteration) | Medium (user-approved) | -| VenueCard | Critique 33/40 | Medium (user-approved) | +| ProviderCard | Critique 33/40 (v2 iteration) | ~~Medium~~ Done (user-approved, ARIA passthrough confirmed) | +| VenueCard | Critique 33/40 | ~~Medium~~ Done (user-approved) | | SearchBar | Critique 35/40 | Low (high scores already) | | ServiceOption | **Audit 13/20** (2026-03-30, P1 fixed) | ~~Medium~~ Done | | AddOnOption | **Audit 14/20** (2026-03-30, P1 fixed) | ~~Medium~~ Done | @@ -68,34 +68,29 @@ Run `/audit` and `/critique` on molecules with real layout complexity. | LineItem | Audit 19/20 | Low (excellent score) | | ProviderCardCompact | **Audit 15/20** (2026-03-30, P2 fixed) | ~~Medium~~ Done | -**Estimated effort:** 1 session for normalize + audit of medium priority molecules. +**Estimated effort:** ~~1 session~~ Done. --- ## Phase 3: Organisms (page-level compositions) ### Step 3.1 — Normalize all organisms -Run `/normalize organisms` for cross-component consistency. +~~Run `/normalize organisms` for cross-component consistency.~~ Done (2026-04-06). 5 active organisms scanned. displayName ✓, forwardRef ✓. Spacing and token access vary by component but are D031-compliant (CSS vars acceptable for semantic tokens per D031). Focus-visible styles are present in MUI theme overrides for Link and interactive controls. ### Step 3.2 — Full review of critical organisms -Organisms are the most complex and user-facing. Run `/audit` + `/critique` + -`/harden` on each. +Run `/audit` + `/critique` + `/harden` on each. | Organism | Last Scores | Priority | |----------|------------|----------| -| Navigation | — | High (site-wide, visible on every page) | +| Navigation | **Audit 15/20** (2026-04-06) | ~~High~~ Done — no real P0/P1 after analysis (focus-visible from MUI theme, CSS vars D031-compliant) | | Footer | Critique 38/40 | Low (excellent score) | -| ServiceSelector | — | High (arrangement flow core) | +| ServiceSelector | **Audit 17/20** (2026-04-06, P0 fixed: aria-required) | ~~High~~ Done | | PackageDetail | Audit 19/20 | Low (excellent score) | -| FuneralFinder V1 | Audit 14/20, Critique 29/40 | Medium (pending production decision) | -| FuneralFinder V2 | Audit 18/20, Critique 33/40 | Medium (pending production decision) | -| FuneralFinder V3 | Audit 18/20, Critique 33/40 | Medium (pending production decision) | +| FuneralFinder V1 | Audit 14/20, Critique 29/40 | Archived (D032) | +| FuneralFinder V2 | Audit 18/20, Critique 33/40 | Archived (D032) | +| FuneralFinder V3 | Audit 18/20, Critique 33/40 | ~~Medium~~ Done (production version, D032) | -**Note on FuneralFinder:** All three versions exist. A production decision (v1 vs v2 vs v3) -is still pending. Only review the chosen version in depth. The others can be archived or -retained as alternatives. - -**Estimated effort:** 1 session for normalize + audit/critique of Navigation + ServiceSelector. +**Estimated effort:** ~~1 session~~ Done. --- @@ -104,11 +99,11 @@ retained as alternatives. After individual components are clean: 1. ~~**Form error colour normalisation (D034):**~~ Done (2026-03-28). Copper error styling in MuiOutlinedInput, MuiFormHelperText, MuiFormLabel, ToggleButtonGroup. 2. ~~Run `/adapt` on all organisms + ProviderCard/VenueCard (responsive check)~~ Done (2026-03-31d). Navigation + Footer touch targets fixed (P0/P1). ProviderCard/VenueCard: no action needed (card is the touch target). -3. Run `/typeset` across a representative sample of each tier -4. Run `/preflight` to verify the full codebase -5. Commit all fixes +3. Run `/typeset` across a representative sample of each tier — deferred (low risk, typography tokens are consistent) +4. ~~Run `/preflight` to verify the full codebase~~ Done (2026-04-06). TypeScript ✓, ESLint ✓, Prettier ✓, Storybook build ✓. +5. ~~Commit all fixes~~ Done. -**Estimated effort:** 0.5 session (remaining: typeset + preflight only). +**Estimated effort:** ~~0.5 session~~ Done (typeset deferred as low-priority). ---