Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneesstack72

Relationships

#3939 v3 read model: guard against aliased key spellings on case-insensitive filesystems, without slowing replay

Opened by stack72 · 10/25/2026· Shipped 10/26/2026

Background

swamp-club#3915 added, then reverted, a read-model guard against aliased spellings. On a case- or normalisation-insensitive filesystem (APFS, NTFS), a put or tombstone of a key nothing owns can reach another key's file, for example VPC/1/raw reaching vpc/1/raw. The guard skipped such writes, but it changed solo behaviour, and it made a full replay list every ancestor directory for every key. That cost recovery time on large repos, including on Linux, where the problem can never happen.

After #3915, data and output keys bind to their own behavior's id, and definition writes need admin. So an aliased spelling can only reach the caller's own aggregate or an admin-only path.

What to build

  • Probe once per read model whether the cache filesystem folds case or normalisation, and skip the guard entirely when it doesn't.
  • Where it does, cache directory listings for each apply page, so the cost grows with the number of directories, not keys times directories.
  • Decide how solo checkouts should treat data names that differ only in case, and whether to warn when a spelling is skipped.
  • Benchmark a full replay of a large v3 cache, before and after.

Done when

  • A full replay is no slower on Linux.
  • On macOS it's within a measured bound.
  • Tests cover the put and tombstone alias cases.
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 8 MOREREVIEW+ 26 MOREPR_LINKED+ 2 MORESESSION_SUMMARIZED

Shipped

10/26/2026, 7:01:51 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/26/2026, 3:50:35 PM

Sign in to post a ripple.