sx-git extension: git-wire export adapter — byte-exact loose objects + SHA-1 (TDD)

lib/git/sha1.sx: SHA-1 in pure SX over host bitwise prims (FIPS vectors +
multi-block verified). lib/git/export.sx: native objects -> git payloads
"<type> <len>\0<body>" with real git identity, golden-verified against git
CLI (hash-object/mktree/commit-tree/mktag with pinned idents): tree entry
sorting with dirs keyed "name/", raw 20-byte child shas, "40000" subtree
mode, :mode overrides, deterministic ident defaults, trailing-newline
message rule. export-closure/export-set emit a host-writable object table.
Adapter-at-the-edge: native model untouched; zlib/packfiles remain host-side
concerns. 25/25, total 252/252.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-03 12:46:54 +00:00
parent 7d3f267503
commit e228d462eb
6 changed files with 735 additions and 5 deletions

View File

@@ -6,9 +6,10 @@
"worktree": {"pass": 26, "fail": 0},
"diff": {"pass": 27, "fail": 0},
"merge": {"pass": 28, "fail": 0},
"porcelain": {"pass": 40, "fail": 0}
"porcelain": {"pass": 40, "fail": 0},
"export": {"pass": 25, "fail": 0}
},
"total_pass": 227,
"total_pass": 252,
"total_fail": 0,
"total": 227
"total": 252
}