Store each hash as its raw 32 bytes in a BLOB column (closes #134) #138

Merged
clawbot merged 1 commits from issue-134-raw-hash-blobs into next 2026-10-26 03:15:39 +01:00
1 Commits
Author SHA1 Message Date
clawbot a77f07249e Store each hash as its raw 32 bytes in a BLOB column (closes #134)
check / check (push) Waiting to run
The head, tail and content columns of the files table are BLOB NOT
NULL and hold the raw 32-byte SHA-256, half the size of the hex text,
in the table and in the files_signature index. The hash phase, the
records, report and trees carry each hash as a [sha256.Size]byte and
compare it with ==; nothing is hex-encoded. Reading a record whose
hash column is not 32 bytes is an error naming its path.

In the tests, testHash is a stand-in hash: a string's bytes padded
with zeros, so fixtures keep the sort order their strings give.

Judgement call: a hash of the wrong length is refused on reading,
not copied silently.

Model: opus-5-5
2026-10-26 01:53:25 +00:00