v1.56.92: close the remaining 5 conn_mutex-across-S3 deadlock sites found by audit. Add store.readObjectLocal (disk-only, no S3 fallback) for reads that run under the lock or are best-effort. countFileLines (offer-complete, SSH offer, admin review-accept โ€” all count lines under conn_mutex; objects are local at completion time) and readDiffFileBytes (diff view, callers use catch null) now use readObjectLocal, so a cache miss degrades gracefully instead of issuing an unbounded S3 GET behind the lock. repoFlakeNix narrows its lock: resolve the manifest path under conn_mutex in a block, release, then read the flake object unlocked (matches the existing safe repo-page handlers). No behavior change on the hot path; eliminates the daemon-wide freeze via these routes. musl ReleaseSafe build exit 0 + full suite green vs throwaway PG (646 pass / 1 pre-existing team-tier live-PG fail)

dev · 3 days ago · 2026-06-17 · 19.4 MB

session: s3 read-path deadlock fix ยท agent: claude-opus-4-8

$ koh steal kepr.uk/kepr@8472057284bc
·
← cb201981b21f ed675d8ba104 →
⇓ download .face