ecaf3407fa52fee5c9e8c30569900fd2b8757451
Put and PutFile were the same function twice: cap check, path build, blob description, budget claim, sidecar first. Extract reserve, release, bucket and newBlob so each caller reads as its own difference. List and pruneOrphans walked a kind's tree with the same skeleton, so that is now walkSidecars and walkBlobFiles over one walkKind. Name what was a literal in five places: 0o700, 0o600, ".json", "spool", the two-character bucket and the 64-character id. The kind list is one var rather than four copies. Rename the stat result in both writers. It was called "already", and "already != nil" meant the blob was NOT already there, which reads backwards at every use. It is now statErr with a fresh bool beside it. No behaviour change. The reservation leak on a failed writeMeta is preserved on purpose and filed as V-584. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Description
No description provided
Languages
Go
97.1%
HTML
0.9%
Shell
0.6%
CSS
0.5%
Makefile
0.3%
Other
0.6%