Commit graph

18 commits

Author SHA1 Message Date
Carl Niklas Rydberg 39712f7b70 Added a central ASL reference-derivation API and wired the filesystem store (plus the PEL stub store) to use it, so all reference creation now goes through the canonical encode+hash path. 2025-12-21 22:22:17 +01:00
Carl Niklas Rydberg dd429ed6f1 Implemented immutable ownership helpers for core ASL values and routed internal clone/free paths through them so stored artifacts/references are deep-copied and no longer depend on caller-owned buffers. 2025-12-21 22:09:58 +01:00
Carl Niklas Rydberg a945a117f6 Added a read‑only snapshot view API so callers can pin queries to a single immutable snapshot; mem/fs adapters now return a snapshot store backed by a cloned mem state, and tests verify snapshot stability across mutations. 2025-12-21 21:52:06 +01:00
Carl Niklas Rydberg f83dc9c2bd Implemented batch ingest API and tests 2025-12-21 21:31:55 +01:00
Carl Niklas Rydberg 8bbadd602c Added ingest/remove APIs and wired epoch bumps on mutation, plus made the mem store truly mutable/owning 2025-12-21 21:20:12 +01:00
Carl Niklas Rydberg 456e899b50 Added the snapshot/epoch type and getter in the public API, plus the store wrapper implementation: 2025-12-21 21:11:36 +01:00
Carl Niklas Rydberg 9be82c64be TGK: harden store adapters and cleanup gaps
Enforce strict type filter matching for NULL lists
FS store skips missing manifest refs to align with error model
Drop empty tgk1_edge stack stub
2025-12-21 20:53:44 +01:00
Carl Niklas Rydberg 47504644f7 Added identity-domain validation and duplicate EdgeRef handling to the FS adapter, plus new FS tests 2025-12-21 20:42:20 +01:00
Carl Niklas Rydberg 070265085f Implemented order‑key pagination for scan_edges in the in‑memory TGK store. The cursor is now the canonical ReferenceBytes of the last edge in the page, and results honor the same (hash_id, digest) ordering. Default page size is 256 edges. Invalid or unsupported tokens now fail the call. Changes are in tgk_store_mem.c
Added a pagination test that walks multiple scan_edges pages and validates full coverage + ordering
2025-12-21 20:36:19 +01:00
Carl Niklas Rydberg c298481025 Implemented identity-domain validation and duplicate EdgeRef detection in the in‑memory TGK store 2025-12-21 20:21:34 +01:00
Carl Niklas Rydberg d7b456654b Fix TGK mem multi-encoding handling 2025-12-21 19:46:56 +01:00
Carl Niklas Rydberg 05baf8e847 Add tgk store fs adapter and tests 2025-12-21 19:23:41 +01:00
Carl Niklas Rydberg 8b2a5f830a Implement TGK store API and in-memory adapter with tests 2025-12-21 08:44:04 +01:00
Carl Niklas Rydberg 2a0fd994e5 Share ASL store-id validation 2025-12-20 11:21:07 +01:00
Carl Niklas Rydberg c6f9c6a696 Add ASL FS metadata and layout helper 2025-12-20 07:54:23 +01:00
Carl Niklas Rydberg b32c164313 Add ASL/1 core codec and refactor fs store to use it 2025-12-19 23:55:27 +01:00
Carl Niklas Rydberg 15b36b1f1d Implement ASL store FS adapter and ENC/ASL1-CORE registry 2025-12-19 23:16:38 +01:00
Carl Niklas Rydberg b47b914224 Scaffold C layout and ASL registry model 2025-12-19 19:22:40 +01:00