Add Arborix bundle parsing and reconstruction

Implement portable Arborix container, section directory, nodes section, and
Merkle DAG reconstruction utilities in tricu libraries. Add byte/list helper
fixes needed for data-first recursion, validate node payloads, duplicate hashes,
and closed child references, and expose executable loading from a root hash.

Expand binary reader coverage with portable header/section tests, nodes-section
parsing, fixture bundle parsing, and execution checks for reconstructed
id/not?/map roots. Refresh fixture bundles and remove obsolete fixtures.
This commit is contained in:
2026-05-07 14:21:24 -05:00
parent a002365651
commit d9f25a2b5a
11 changed files with 1176 additions and 88 deletions

View File

@@ -14,27 +14,29 @@ byteEq? = equal?
bytesLength = length
bytesAppend = append
bytesTake_ = y (self n i remaining :
matchBool
bytesTake_ = y (self remaining n i :
matchList
t
(matchList
t
(h r : pair h (self n (succ i) r))
remaining)
(equal? i n))
(h r :
matchBool
t
(pair h (self r n (succ i)))
(equal? i n))
remaining)
bytesTake = n bytes : bytesTake_ n 0 bytes
bytesTake = n bytes : bytesTake_ bytes n 0
bytesDrop_ = y (self n i remaining :
matchBool
remaining
(matchList
t
(_ r : self n (succ i) r)
remaining)
(equal? i n))
bytesDrop_ = y (self remaining n i :
matchList
t
(_ r :
matchBool
remaining
(self r n (succ i))
(equal? i n))
remaining)
bytesDrop = n bytes : bytesDrop_ n 0 bytes
bytesDrop = n bytes : bytesDrop_ bytes n 0
bytesSplitAt = n bytes : pair (bytesTake n bytes) (bytesDrop n bytes)