No description
  • C++ 96.1%
  • Shell 3.3%
  • Makefile 0.6%
Find a file
Taco 08df4879b6 format: add ObjectSegmentWriter and read_object_from_segment
Implements the object segment layout from FORMAT.md \u00a710: a payload
region of concatenated, OID-sorted object bytes, followed by \u00a710.2
locator leaves (greedy-packed up to 85 records each), a \u00a76 root
Index block, and the \u00a77 footer with OBJECT_SEGMENT (\u00a78 bit 5) set
and object_index_offset pointing at the root.

- include/vcs/object_segment.hpp (new): ObjectSegmentWriter with
  add(oid, bytes) / finish(nanos); free function
  read_object_from_segment(seg, oid) returning a span into seg.file.
- src/format/object_segment.cpp (new): writer sorts at finish(),
  rejects conflicting duplicate adds (RECOVERY.md \u00a7D3), returns
  ObjectTooLarge for payloads above 2\u2074\u2070 (FORMAT.md \u00a710.1),
  InvalidArgument when no objects were added, SegmentIndexOverflow
  when the root would spill (FORMAT.md \u00a76 rule applied per \u00a710.2).
  Reader verifies OBJECT_SEGMENT is set, binary-searches the root
  to pick one leaf, then delegates to find_in_object_locator_leaf.
  CRC verified on every index block touched.
- test/test_segment.cpp: 8 object_segment.* tests: empty rejection,
  single round trip, multi-leaf spill (300 objects), absent lookups,
  conflicting-vs-idempotent duplicate add, unsupported-on-ref-segment,
  determinism.

262/262 tests pass (+8).
2026-04-22 16:34:25 +00:00
bench store: prune_reflog retention pass, end-to-end reflog tests 2026-04-21 16:47:27 -05:00
CORPUS Import spec, recovery, compaction, format, testing, and corpus 2026-04-21 14:27:21 +00:00
include/vcs format: add ObjectSegmentWriter and read_object_from_segment 2026-04-22 16:34:25 +00:00
src format: add ObjectSegmentWriter and read_object_from_segment 2026-04-22 16:34:25 +00:00
test format: add ObjectSegmentWriter and read_object_from_segment 2026-04-22 16:34:25 +00:00
third_party/blake3 Vendor BLAKE3 C reference (portable subset) 2026-04-21 14:36:04 +00:00
.gitignore Scaffold: Makefile, IFileSystem + in-memory impl, endian, varint, test harness 2026-04-21 14:27:21 +00:00
AGENTS.md Import spec, recovery, compaction, format, testing, and corpus 2026-04-21 14:27:21 +00:00
COMPACTION.md docs: specify object-store layer (format, spec, recovery, compaction) 2026-04-22 15:46:42 +00:00
FORMAT.md docs: specify object-store layer (format, spec, recovery, compaction) 2026-04-22 15:46:42 +00:00
Makefile Bench harness: vcs_bench + runner with loose/packed-refs git baseline 2026-04-21 16:19:57 +00:00
RECOVERY.md docs: specify object-store layer (format, spec, recovery, compaction) 2026-04-22 15:46:42 +00:00
SPEC.md docs: specify object-store layer (format, spec, recovery, compaction) 2026-04-22 15:46:42 +00:00
TESTING.md Import spec, recovery, compaction, format, testing, and corpus 2026-04-21 14:27:21 +00:00