- OQ-BL-03 RESOLVED: BLAKE3's presence traced to pure iroh-blobs
inheritance; with that rejected the multi-hash framing dissolves.
Three tiers: canonical git-blob-sha-256 (git oids + every other
consumer share one address domain — cross-consumer dedup free),
tolerated git-blob-sha-1 (protocol necessity, git's hardened-SHA-1
threat model), conditional BLAKE3 (only if a bao-like chunk-tree
encoding is ever adopted; confined to that encoding layer)
- Principle 2 rewritten (one canonical hash, git-family derivation);
alkgit consumer entry updated (the 'hash conflict' was an artifact
of the BLAKE3 inheritance); p2p section notes strengthened dedup
- OQ-BL-04: verification options no longer BLAKE3-mandatory; chunk-
tree encoding note — verified wholes register under the canonical
hash so chunked and whole-file paths dedup together
- POC register: #2 absorbed into #1 (postamble abstraction + SHA-1
tolerance are #1's trait work); #3 gains the sqlite-vs-fs
micro-benchmark pull-out
- AGENTS.md convention 5 aligned (canonical git-family derivation)
- Consumers: add agent workspaces (third consumer); add the p2p shape
section (contract/gossip/replicator sketch) and pin what it implies
here: pooled CAS per node, repos/workspaces as hash-reference sets
- Principles: add 6 (pooling is the point) and 7 (whole-file CAS
default; CDC scoped to large-binary edits; fixed-size trees not
inherited)
- OQ-BL-01: ops surface upgraded from speculative to likely (have/need
+ verified fetch), crate-boundary question remains
- OQ-BL-04: chunking scoped; new sub-question — chunking in store
encoding vs manifest layer
- New OQ-BL-05: pooling/GC — namespace shape, lifetime strategies,
the pack tension (constrains store surface)
- POC register: add #4 (pooled CAS + GC); note pack tension rides #3
- gix-odb: note alternates/object-pools as cross-repo dedup prior art