Skip to content

P0: cache completeness + cold-only splash + honest instant switching#705

Merged
iamtoruk merged 1 commit into
mainfrom
fix/perf-deep
Jul 16, 2026
Merged

P0: cache completeness + cold-only splash + honest instant switching#705
iamtoruk merged 1 commit into
mainfrom
fix/perf-deep

Conversation

@iamtoruk

Copy link
Copy Markdown
Member

Field-confirmed on two machines: partial caches from interrupted scans served as warm (drifting totals, missing chart days); indexing splash on every launch; stale numbers on filter switches. Root causes confirmed and fixed with a bit-for-bit convergence regression test that fails without the fix. Plus prefetch for instant switches, build stamps, payload parity tests, and TCC/FDA docs. Root 1848, app 320.

…ng, prefetch

P0: an interrupted cold hydration left partial caches that the
emptiness check read as warm — the daily backfill froze (missing older
days) while session parsing healed gradually (drifting totals),
poisoning every surface sharing the cache. Both caches now carry an
explicit complete marker: partial resumes cold under the hydration
lock; unmarked caches self-heal with one re-hydration. Regression test
seeds the exact frozen artifact and asserts bit-for-bit convergence
with a never-interrupted run.

- splash indexing reveals only on genuinely cold scans (explicit cold
  flag in the progress protocol), never on warm incremental re-parses
- uncached filter switches clear to skeleton instead of showing the
  previous filter's numbers; cached switches paint same-commit;
  background prefetch warms every detected provider after idle
- build stamp (git sha + date) in splash and About ends build ambiguity
- payload parity test: identical payloads on identical cache, and
  payload totals equal the CLI report path
- Sessions empty state keeps the provider filter row; zero savings
  line hidden; TCC usage-description strings + Full Disk Access docs
- warm profile documented: optimize scan ~1.47s dominant (safe
  refactor deferred), parse ~1s, aggregation ~30ms

Root 1848, app 320, typechecks clean.
@iamtoruk
iamtoruk merged commit 426d808 into main Jul 16, 2026
3 checks passed
@iamtoruk
iamtoruk deleted the fix/perf-deep branch July 17, 2026 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant