Commit graph

  • 87c8bcc799 Align HASH/ASL1 registry and codecs with spec constraints Carl Niklas Rydberg 2025-12-22 00:21:16 +0100
  • abf5b5d5f2 Added the hash_id == 0 guard in the codec and documented the FS store digest length constraint in the README. Carl Niklas Rydberg 2025-12-21 23:54:42 +0100
  • 88cde5c243 Added the explicit hash_id == 0 guard in the codec. This rejects reserved 0x0000 in both encode and decode paths Carl Niklas Rydberg 2025-12-21 23:48:45 +0100
  • ab36856833 Updated the ReferenceBytes codec to be spec‑true: it now treats the digest as “remaining bytes” and only enforces digest length when the registry provides a non‑zero expected length. This keeps strictness where hashing/verification happens while allowing unknown hash IDs for pure transport/framing. Changes are in asl1_core_codec.c. Carl Niklas Rydberg 2025-12-21 23:46:07 +0100
  • 9754582ae7 Implement store error IO class, optional config validation, and ops init helper Carl Niklas Rydberg 2025-12-21 23:29:24 +0100
  • 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. Carl Niklas Rydberg 2025-12-21 23:18:12 +0100
  • 5443ad041c Enforced StoreConfig at the wrapper boundary by validating the configured encoding/hash and rejecting mismatched hash IDs before delegating to backend ops. This makes the amduat_asl_store_t wrapper actively use/validate its config instead of just storing it. Carl Niklas Rydberg 2025-12-21 23:09:44 +0100
  • 3dda32b62c Adjusted malformed reference handling so a digest length mismatch (or missing digest data) returns AMDUAT_ASL_STORE_ERR_INTEGRITY instead of AMDUAT_ASL_STORE_ERR_UNSUPPORTED in asl_store_fs.c Carl Niklas Rydberg 2025-12-21 23:00:45 +0100
  • 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. Carl Niklas Rydberg 2025-12-21 22:59:31 +0100
  • fe9acea94b Updated amduat_asl_store_fs_put_impl so fsync failure cleanup only unlinks when this call actually created the object, preventing deletion of pre-existing mappings. Change is in asl_store_fs.c. Carl Niklas Rydberg 2025-12-21 22:49:24 +0100
  • 8e26d11e3b Fixed the test include so AMDUAT_ENC_ASL1_CORE_V1 is visible. Re-run: Carl Niklas Rydberg 2025-12-21 22:39:11 +0100
  • 0188e10cee Add ASL ref-derive test and use central derivation Carl Niklas Rydberg 2025-12-21 22:36:08 +0100
  • 5a002b2a1d Added a safety check in amduat_octets_eq so it rejects invalid octet views (len>0 with NULL data) before comparing. Carl Niklas Rydberg 2025-12-21 22:23:12 +0100
  • 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. Carl Niklas Rydberg 2025-12-21 22:22:17 +0100
  • 71d2303c3c Moved EncodingProfileId into ASL core and decoupled the encoder header from STORE, so ASL/1-CORE stands alone as required. Carl Niklas Rydberg 2025-12-21 22:12:09 +0100
  • 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. Carl Niklas Rydberg 2025-12-21 22:09:58 +0100
  • e391e55150 Added snapshot consistency guidance in the spec and clarified the intended use of snapshot views vs. direct store calls in the public header. Carl Niklas Rydberg 2025-12-21 21:54:29 +0100
  • 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. Carl Niklas Rydberg 2025-12-21 21:52:06 +0100
  • f83dc9c2bd Implemented batch ingest API and tests Carl Niklas Rydberg 2025-12-21 21:31:55 +0100
  • d3224b26ac Added targeted ingest/remove + epoch tests in test_tgk_store_mem.c Added the FS ingest/remove + epoch test in test_tgk_store_fs.c and fixed the missing ref_edge initialization Carl Niklas Rydberg 2025-12-21 21:23:55 +0100
  • 8bbadd602c Added ingest/remove APIs and wired epoch bumps on mutation, plus made the mem store truly mutable/owning Carl Niklas Rydberg 2025-12-21 21:20:12 +0100
  • 456e899b50 Added the snapshot/epoch type and getter in the public API, plus the store wrapper implementation: Carl Niklas Rydberg 2025-12-21 21:11:36 +0100
  • 12e2a91ca7 Added the snapshot/epoch type and getter in the public API, plus the store wrapper implementation: Carl Niklas Rydberg 2025-12-21 21:09:01 +0100
  • 9be82c64be TGK: harden store adapters and cleanup gaps Carl Niklas Rydberg 2025-12-21 20:53:44 +0100
  • 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. Carl Niklas Rydberg 2025-12-21 20:44:48 +0100
  • 47504644f7 Added identity-domain validation and duplicate EdgeRef handling to the FS adapter, plus new FS tests Carl Niklas Rydberg 2025-12-21 20:42:20 +0100
  • 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 Carl Niklas Rydberg 2025-12-21 20:36:19 +0100
  • eedbe65957 Added three tests in test_tgk_store_mem.c Carl Niklas Rydberg 2025-12-21 20:24:34 +0100
  • c298481025 Implemented identity-domain validation and duplicate EdgeRef detection in the in‑memory TGK store Carl Niklas Rydberg 2025-12-21 20:21:34 +0100
  • 8f3282bbce Updated TGK/PROV to no longer hard‑require neighbors Carl Niklas Rydberg 2025-12-21 20:16:46 +0100
  • d7b456654b Fix TGK mem multi-encoding handling Carl Niklas Rydberg 2025-12-21 19:46:56 +0100
  • 05baf8e847 Add tgk store fs adapter and tests Carl Niklas Rydberg 2025-12-21 19:23:41 +0100
  • 257280934f Add TGK provenance operators and tests Carl Niklas Rydberg 2025-12-21 18:41:32 +0100
  • 8b2a5f830a Implement TGK store API and in-memory adapter with tests Carl Niklas Rydberg 2025-12-21 08:44:04 +0100
  • d7ac826407 Add PEL queue with head tracking and tests Carl Niklas Rydberg 2025-12-21 08:05:59 +0100
  • 1c5bae927e Add TGK core edge types and TGK1 edge encoding/tests Carl Niklas Rydberg 2025-12-21 00:41:44 +0100
  • d9e66ea60c Updated the --ref-format bytes usage note to accurately describe REF arguments in amduat_pel_cli.c. Carl Niklas Rydberg 2025-12-20 21:37:19 +0100
  • e562bfc63f Fix CLI link deps after format refactor Carl Niklas Rydberg 2025-12-20 21:26:57 +0100
  • bdbe9cd6fc Extract shared IO/parse/decode/run utilities Carl Niklas Rydberg 2025-12-20 21:03:31 +0100
  • 74eed45a5a Extract PEL CLI formatting/helpers into amduat_format library Carl Niklas Rydberg 2025-12-20 19:12:51 +0100
  • 790c540594 Add amduat-pel CLI with PEL/PROGRAM-DAG tooling Carl Niklas Rydberg 2025-12-20 18:26:52 +0100
  • 441b0191e8 Add PEL seed/run tools and quickstart README Carl Niklas Rydberg 2025-12-20 17:23:37 +0100
  • a7ff4ec25a Implement PEL/1-SURF run with trace artifacts and stub store test Carl Niklas Rydberg 2025-12-20 15:16:07 +0100
  • a6425067bf Add PEL program DAG validation and kernel op execution Carl Niklas Rydberg 2025-12-20 14:27:26 +0100
  • 585844a6fc Implement PEL encodings and tests Carl Niklas Rydberg 2025-12-20 13:54:18 +0100
  • 96bf3f08b3 Register PEL encodings and SchemeRef digest Carl Niklas Rydberg 2025-12-20 12:54:32 +0100
  • 4dae7a32d2 Add PEL tier1 specifications Carl Niklas Rydberg 2025-12-20 12:35:10 +0100
  • f69742dc0b Define TGK edge tag and registry entry Carl Niklas Rydberg 2025-12-20 12:30:53 +0100
  • 47e3ccc382 Adding TGK specifications. Carl Niklas Rydberg 2025-12-20 11:32:17 +0100
  • 1e88925ece Fix CLI link order for ASL parsing Carl Niklas Rydberg 2025-12-20 11:28:42 +0100
  • 2a0fd994e5 Share ASL store-id validation Carl Niklas Rydberg 2025-12-20 11:21:07 +0100
  • edc81beb9b Promote ASL IO helpers Carl Niklas Rydberg 2025-12-20 11:19:08 +0100
  • f48b73b75f Promote ASL ID parsing helpers Carl Niklas Rydberg 2025-12-20 11:16:16 +0100
  • 4bc40995b4 Promote ASL reference hex helpers Carl Niklas Rydberg 2025-12-20 11:14:06 +0100
  • 93d9f87783 Add quiet flag to amduat-asl Carl Niklas Rydberg 2025-12-20 10:53:22 +0100
  • f406e1d10a Add amduat-asl CLI skeleton Carl Niklas Rydberg 2025-12-20 08:40:57 +0100
  • c6f9c6a696 Add ASL FS metadata and layout helper Carl Niklas Rydberg 2025-12-20 07:54:23 +0100
  • 428f657f4f Add hex encode/decode helpers Carl Niklas Rydberg 2025-12-20 00:05:17 +0100
  • b32c164313 Add ASL/1 core codec and refactor fs store to use it Carl Niklas Rydberg 2025-12-19 23:55:27 +0100
  • 04f993aa6f Define POSIX feature macro for asl_store_fs Carl Niklas Rydberg 2025-12-19 23:25:18 +0100
  • 15b36b1f1d Implement ASL store FS adapter and ENC/ASL1-CORE registry Carl Niklas Rydberg 2025-12-19 23:16:38 +0100
  • a0bb089f08 Add gitignore for build artifacts Carl Niklas Rydberg 2025-12-19 21:15:42 +0100
  • ca66d5757c Add SHA-256 implementation for HASH/ASL1 Carl Niklas Rydberg 2025-12-19 21:13:23 +0100
  • 32e3ca4ade Add HASH/ASL1 registry descriptors and stub hook Carl Niklas Rydberg 2025-12-19 20:55:07 +0100
  • b47b914224 Scaffold C layout and ASL registry model Carl Niklas Rydberg 2025-12-19 19:22:40 +0100