fix(12-07): make ['me'] fresh on shell entry so post-wizard banner clears (gap 6)

- Root cause confirmed = mechanism (ii): ['me'] staleness, NOT a backend linking gap
  (upsertUser claim preserves users.id → credential stays linked → DB needsProviderSetup=false)
- SetupBanner ['me'] query staleTime 5min → 0 so a pre-claim stale cache entry is
  refetched on mount; banner hides once needsProviderSetup resolves false
- App.tsx boot ['me'] staleTime also set to 0 (committed with Task 1) for the same reason
- Add SetupBanner.test.tsx regression: absent when false, present (no dismiss) when true,
  stale-cache refetch hides banner; success-only dismissal contract preserved (no X button)
- Log pre-existing PWA lint errors (SetupPage.test.tsx, setupClient.contract.test.ts) to deferred-items.md
This commit is contained in:
Lucas Berger
2026-06-15 21:23:46 -04:00
parent fdcb4dc442
commit 2b3569ff20
3 changed files with 150 additions and 1 deletions
@@ -0,0 +1,12 @@
# Deferred Items — Phase 12
Out-of-scope discoveries logged during execution. Not fixed by the originating plan.
## 12-07 — Pre-existing PWA lint errors (out of scope)
Discovered during 12-07 verification (`pnpm lint` in apps/pwa). 22 errors, NOT introduced by 12-07 (the four files 12-07 touched lint clean):
- `apps/pwa/src/api/setupClient.contract.test.ts``@typescript-eslint/no-unsafe-*` (any-typed `res.body` access in contract assertions)
- `apps/pwa/src/routes/SetupPage.test.tsx:152``no-unused-vars` (`container` assigned but unused)
Both files were last modified in earlier Phase-12 commits (e.g. 066b69f), confirming pre-existing. Left untouched per the executor SCOPE BOUNDARY rule (only auto-fix issues directly caused by the current task). Recommend a follow-up lint-cleanup quick task.