Phase 1-3 audits and normalizations complete. ServiceSelector aria-required fixed (P0). Badge/AddOnOption/ProviderCard flagged issues analyzed and determined false positives. Preflight clean. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6.3 KiB
Retroactive Review Plan
Components built before the workflow upgrade (2026-03-27) haven't been through the full quality gate lifecycle. This plan reviews them using a lighter process focused on catching real issues, not re-polishing what already works.
Approach
Use the condensed review process from component-lifecycle.md:
/normalize {tier}— Scan the tier for cross-component consistency/audit {component}— Score each component (only those scoring < 16/20 need fixes)- Fix P0/P1 issues only
/preflight→ commit
Priority Order
Review bottom-up: atoms first (they're the foundation everything builds on), then molecules, then organisms. Within each tier, prioritise by usage — components used by many others matter more than standalone ones.
Phase 1: Atoms (foundation layer — highest priority)
Step 1.1 — Normalize all atoms
Run /normalize atoms once to get a cross-component consistency report.
Expected findings: token access patterns (D031), transition timing, focus
styles. Fix all issues in a single batch commit.
Step 1.2 — Audit each atom
Run /audit on each atom. Components already audited in previous sessions have
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) | |
| Typography | 18/20 (2026-04-06) | |
| Input | 20/20 (2026-03-27) | |
| Card | 20/20 (2026-03-27, after P1 fixes) | |
| Badge | 15/20 (2026-04-06) | |
| Chip | — | Low (minimal wrapper) |
| Switch | — | Low (minimal wrapper) |
| Radio | — | Low (minimal wrapper) |
| IconButton | — | Low (minimal wrapper) |
| Divider | — | Low (minimal wrapper) |
| Link | — | Low (minimal wrapper) |
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 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 /normalize molecules for cross-component consistency....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) | |
| VenueCard | Critique 33/40 | |
| SearchBar | Critique 35/40 | Low (high scores already) |
| ServiceOption | Audit 13/20 (2026-03-30, P1 fixed) | |
| AddOnOption | Audit 14/20 (2026-03-30, P1 fixed) | |
| StepIndicator | — | Low (display-only) |
| LineItem | Audit 19/20 | Low (excellent score) |
| ProviderCardCompact | Audit 15/20 (2026-03-30, P2 fixed) |
Estimated effort: 1 session Done.
Phase 3: Organisms (page-level compositions)
Step 3.1 — Normalize all organisms
Run 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./normalize organisms for cross-component consistency.
Step 3.2 — Full review of critical organisms
Run /audit + /critique + /harden on each.
| Organism | Last Scores | Priority |
|---|---|---|
| Navigation | Audit 15/20 (2026-04-06) | |
| Footer | Critique 38/40 | Low (excellent score) |
| ServiceSelector | Audit 17/20 (2026-04-06, P0 fixed: aria-required) | |
| PackageDetail | Audit 19/20 | Low (excellent score) |
| 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 |
Estimated effort: 1 session Done.
Phase 4: Cross-cutting concerns
After individual components are clean:
Form error colour normalisation (D034):Done (2026-03-28). Copper error styling in MuiOutlinedInput, MuiFormHelperText, MuiFormLabel, ToggleButtonGroup.RunDone (2026-03-31d). Navigation + Footer touch targets fixed (P0/P1). ProviderCard/VenueCard: no action needed (card is the touch target)./adapton all organisms + ProviderCard/VenueCard (responsive check)- Run
/typesetacross a representative sample of each tier — deferred (low risk, typography tokens are consistent) RunDone (2026-04-06). TypeScript ✓, ESLint ✓, Prettier ✓, Storybook build ✓./preflightto verify the full codebaseCommit all fixesDone.
Estimated effort: 0.5 session Done (typeset deferred as low-priority).
Total estimated effort: ~3.5 sessions
| Phase | Focus | Effort |
|---|---|---|
| 1 | Atoms normalize + audit | 1 session |
| 2 | Molecules normalize + audit | 1 session |
| 3 | Organisms normalize + audit/critique/harden | 1 session |
| 4 | Cross-cutting (adapt, typeset, preflight) | 0.5 session |
This can be interleaved with new component work — e.g., review atoms in the morning, build a new molecule in the afternoon. The review findings often improve the patterns used in new components.
Decisions (confirmed 2026-03-27)
- FuneralFinder version — V3 is production. V1/V2 archived (viewable in Storybook under Archive/). Only V3 gets the full review.
- Depth — P0/P1 only. Don't touch P2/P3 — not worth the risk on approved components.
- Approach — Interleaved. Start each session with a review pass (~30-60 min), then shift to new component work. This is automated — the agent runs it proactively at session start without being asked.