sx-git Phase 2: refs — branches/tags/HEAD over persist kv, CAS + reflog (TDD)

Ref value = {:cid} | {:symref}; atomic moves via persist/kv-cas old-value
expect, create-only branches via kv-put-new; bounded symref resolution;
per-ref append-only reflog on the persist log facet. 38/38, total 76/76.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-03 12:03:36 +00:00
parent 9a85b52d1a
commit 74c2521926
5 changed files with 413 additions and 5 deletions

View File

@@ -13,7 +13,7 @@ if [ ! -x "$SX_SERVER" ]; then
exit 1
fi
SUITES=(object)
SUITES=(object ref)
OUT_JSON="lib/git/scoreboard.json"
OUT_MD="lib/git/scoreboard.md"
@@ -33,6 +33,7 @@ run_suite() {
(load "lib/persist/kv.sx")
(load "lib/artdag/dag.sx")
(load "lib/git/object.sx")
(load "lib/git/ref.sx")
(epoch 2)
(eval "(define git-test-pass 0)")
(eval "(define git-test-fail 0)")