Skip to content

engrim 1.1.2 — the status bar stays fast for the whole session

Choose a tag to compare

@timgordontg timgordontg released this 11 Aug 10:56
· 16 commits to main since this release

Performance fix for a regression introduced in 1.1.1.

1.1.1's uncaptured-count memo was fingerprinted against the newest log row — and a new row lands every turn. So on a project showing ✎ N to capture, the first status-bar refresh after every single turn paid a full embedding-model load: 1.19s, against 0.07s before 1.1.1. Precisely the wrong trade for the long sessions the nudge exists to serve.

A verdict about "is this snippet already curated?" depends only on the curated side; new log turns are irrelevant to it. Verdicts are now cached against curated state alone, and consulted before an embedder is resolved (resolving is the ~1s, so a lookup after it would save nothing).

Measured after the fix:

before after
first refresh, new decision 1.19s 1.11s
every refresh thereafter 1.19s 0.07s

Correctness is unchanged: the nudge persists while a decision is uncaptured and still flips to ✓ clear-safe the moment it's curated, since a curation change drops the cache.

81 tests. Verified under concurrency — 8 simultaneous status refreshes racing 8 log writes on one store, no errors.