~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

knotless.dev
1 collaborator

knotless 0.13.0 Latest 2 packages, 1 image

1
10

Storage: the page as the code is; a lost pack restarts a fetch, and mirror locks are the system's

Merged
Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:docs/storage-audit

From an audit of docs/design/storage.md against the code.

  • fetch: a listed pack whose download fails (a compaction deleted it and its blobs) restarts the walk from the newest page, sharing the one restart a walk that runs out of pages already had, as the page said. It failed the fetch. Test: a fetch handed a page listing a pack whose blob is gone finds the compacted pack.
  • Mirror (and OAuth refresh) locks: the operating system's lock on the file (File::try_lock), not a file created exclusively and taken over after two minutes. Two waiters could both see a stale lock and one delete the other's fresh one. The system lets go when a process ends, so nothing is left to take over. Test: a held lock with an old mtime keeps its waiter waiting. rust-version 1.89, for File::lock.
  • storage.md: the upload halving stops at or below 64 KiB; the mirror path writes the DID's : as _; what starts compaction, how the trigger counts and its env vars, and that gateway, knotless commit and MCP writes never compact (https://knotless.dev/chadtmiller.com/knotless/issue/did:plc:bcgltzqazw5tb6k2g3ttenbj/3mynm75mciaht proposes they do); the pack record's supersedes; mirrors' gc.auto=0 and repack past 50 packs.

🤖 Generated with Claude Code

Merged as 784cd9d