Commit graph

34 commits

Author SHA1 Message Date
Carl Niklas Rydberg a992e89766 Made StoreConfig enforcement pluggable at the amduat_asl_store_t boundary by adding a validate_config hook to store ops. validate_config is now optional, get rejects refs whose hash_id doesn’t match the store config, and put verifies the returned Reference matches the configured hash_id. This uses the StoreConfig at the boundary without forcing every store to implement the hook. 2025-12-21 23:18:12 +01:00
Carl Niklas Rydberg 24ad51ff46 Added AMDUAT_ASL_STORE_ERR_IO and used it in the FS store path so I/O/internal failures no longer surface as integrity errors; updated CLI/error mappings so the new error is visible and gets the IO exit code. This keeps integrity reserved for actual content/hash/collision issues while still preserving existing semantics for not-found/unsupported. 2025-12-21 22:59:31 +01:00
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 71d2303c3c Moved EncodingProfileId into ASL core and decoupled the encoder header from STORE, so ASL/1-CORE stands alone as required. 2025-12-21 22:12:09 +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 e391e55150 Added snapshot consistency guidance in the spec and clarified the intended use of snapshot views vs. direct store calls in the public header. 2025-12-21 21:54:29 +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 12e2a91ca7 Added the snapshot/epoch type and getter in the public API, plus the store wrapper implementation: 2025-12-21 21:09:01 +01:00
Carl Niklas Rydberg ea57e79c41 Added a short cursor‑format note in store.h documenting that the in‑memory adapter uses ReferenceBytes (hash_id + digest) of the last edge_ref as the scan_edges page token. 2025-12-21 20:44:48 +01:00
Carl Niklas Rydberg 05baf8e847 Add tgk store fs adapter and tests 2025-12-21 19:23:41 +01:00
Carl Niklas Rydberg 257280934f Add TGK provenance operators and tests 2025-12-21 18:41:32 +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 d7ac826407 Add PEL queue with head tracking and tests 2025-12-21 08:05:59 +01:00
Carl Niklas Rydberg 1c5bae927e Add TGK core edge types and TGK1 edge encoding/tests 2025-12-21 00:41:44 +01:00
Carl Niklas Rydberg bdbe9cd6fc Extract shared IO/parse/decode/run utilities
add artifact/ref IO, format parse, opreg formatting, PEL decode/run modules
refactor PEL/ASL CLIs and pel_run/seed to use shared helpers
update build to include new sources and headers
2025-12-20 21:03:31 +01:00
Carl Niklas Rydberg 74eed45a5a Extract PEL CLI formatting/helpers into amduat_format library 2025-12-20 19:12:51 +01:00
Carl Niklas Rydberg a7ff4ec25a Implement PEL/1-SURF run with trace artifacts and stub store test 2025-12-20 15:16:07 +01:00
Carl Niklas Rydberg a6425067bf Add PEL program DAG validation and kernel op execution 2025-12-20 14:27:26 +01:00
Carl Niklas Rydberg 585844a6fc Implement PEL encodings and tests 2025-12-20 13:54:18 +01:00
Carl Niklas Rydberg 96bf3f08b3 Register PEL encodings and SchemeRef digest 2025-12-20 12:54:32 +01:00
Carl Niklas Rydberg f69742dc0b Define TGK edge tag and registry entry 2025-12-20 12:30:53 +01:00
Carl Niklas Rydberg 2a0fd994e5 Share ASL store-id validation 2025-12-20 11:21:07 +01:00
Carl Niklas Rydberg edc81beb9b Promote ASL IO helpers 2025-12-20 11:19:08 +01:00
Carl Niklas Rydberg f48b73b75f Promote ASL ID parsing helpers 2025-12-20 11:16:16 +01:00
Carl Niklas Rydberg 4bc40995b4 Promote ASL reference hex helpers 2025-12-20 11:14:06 +01:00
Carl Niklas Rydberg c6f9c6a696 Add ASL FS metadata and layout helper 2025-12-20 07:54:23 +01:00
Carl Niklas Rydberg 428f657f4f Add hex encode/decode helpers 2025-12-20 00:05:17 +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 32e3ca4ade Add HASH/ASL1 registry descriptors and stub hook 2025-12-19 20:55:07 +01:00
Carl Niklas Rydberg b47b914224 Scaffold C layout and ASL registry model 2025-12-19 19:22:40 +01:00