Code-quality audit finding 2. domains/issues/data/hooks.ts still uses local useResource while live.ts skips refreshing issue detail pages under the assumption they use QueryCache. withCacheEffects exists only under tests. Acceptance: useIssue/useBoard/useIssueSearch observe shared cache; writes invalidate issue/timeline/list prefixes; a rendered issue screen updates on live invalidation and local successful writes without reload; seeded first paint and failed-write behavior remain correct. Coordinate with PAR-470, which has a separate sub-issue refresh fix. Rules 8, 34.
Implemented in https://github.com/ParadauxIO/taskl.ie/pull/109 as part of the ordered quality stack #107 → #108 → #109 → #110 → #111 → #112 → #113 → #114. Each layer targets its predecessor; #107 targets main. Local final-stack verification: 1,312 backend tests against disposable PostgreSQL 17/pgvector, 1,218 web unit tests, 486 Chromium stories, lint, TypeScript, production build/CSS gate and standalone HTTP smoke all pass. A focused listener cleanup regression also passes after the final lifecycle change. CI results are tracked on the PRs; no merges or deployments performed.
Implementing as one layer of the user-requested code-quality fix stack. Base is current main (rebuild has merged and its remote branch is gone). Plan: add focused behavioral regression coverage, implement this issue without weakening architecture rules, run affected checks and full applicable suites, then publish a stacked PR with validation and dependency links. Stack order: PAR-489 → PAR-492 → PAR-490 → PAR-494 → PAR-491 → PAR-454 → PAR-478 → PAR-493.