87c8bcc799Align HASH/ASL1 registry and codecs with spec constraints
Carl Niklas Rydberg
2025-12-22 00:21:16 +0100
abf5b5d5f2Added 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
88cde5c243Added 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
ab36856833Updated 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
9754582ae7Implement store error IO class, optional config validation, and ops init helper
Carl Niklas Rydberg
2025-12-21 23:29:24 +0100
a992e89766Made 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
5443ad041cEnforced 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
3dda32b62cAdjusted 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
24ad51ff46Added 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
fe9acea94bUpdated 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
8e26d11e3bFixed the test include so AMDUAT_ENC_ASL1_CORE_V1 is visible. Re-run:
Carl Niklas Rydberg
2025-12-21 22:39:11 +0100
0188e10ceeAdd ASL ref-derive test and use central derivation
Carl Niklas Rydberg
2025-12-21 22:36:08 +0100
5a002b2a1dAdded 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
39712f7b70Added 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
71d2303c3cMoved 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
dd429ed6f1Implemented 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
e391e55150Added 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
a945a117f6Added 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
f83dc9c2bdImplemented batch ingest API and tests
Carl Niklas Rydberg
2025-12-21 21:31:55 +0100
d3224b26acAdded 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
8bbadd602cAdded 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
456e899b50Added 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
12e2a91ca7Added 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
9be82c64beTGK: harden store adapters and cleanup gaps
Carl Niklas Rydberg
2025-12-21 20:53:44 +0100
ea57e79c41Added 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
47504644f7Added 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
070265085fImplemented 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
eedbe65957Added three tests in test_tgk_store_mem.c
Carl Niklas Rydberg
2025-12-21 20:24:34 +0100
c298481025Implemented identity-domain validation and duplicate EdgeRef detection in the in‑memory TGK store
Carl Niklas Rydberg
2025-12-21 20:21:34 +0100
8f3282bbceUpdated TGK/PROV to no longer hard‑require neighbors
Carl Niklas Rydberg
2025-12-21 20:16:46 +0100
d7b456654bFix TGK mem multi-encoding handling
Carl Niklas Rydberg
2025-12-21 19:46:56 +0100
05baf8e847Add tgk store fs adapter and tests
Carl Niklas Rydberg
2025-12-21 19:23:41 +0100
257280934fAdd TGK provenance operators and tests
Carl Niklas Rydberg
2025-12-21 18:41:32 +0100
8b2a5f830aImplement TGK store API and in-memory adapter with tests
Carl Niklas Rydberg
2025-12-21 08:44:04 +0100
d7ac826407Add PEL queue with head tracking and tests
Carl Niklas Rydberg
2025-12-21 08:05:59 +0100
1c5bae927eAdd TGK core edge types and TGK1 edge encoding/tests
Carl Niklas Rydberg
2025-12-21 00:41:44 +0100
d9e66ea60cUpdated 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
e562bfc63fFix CLI link deps after format refactor
Carl Niklas Rydberg
2025-12-20 21:26:57 +0100
bdbe9cd6fcExtract shared IO/parse/decode/run utilities
Carl Niklas Rydberg
2025-12-20 21:03:31 +0100
74eed45a5aExtract PEL CLI formatting/helpers into amduat_format library
Carl Niklas Rydberg
2025-12-20 19:12:51 +0100
790c540594Add amduat-pel CLI with PEL/PROGRAM-DAG tooling
Carl Niklas Rydberg
2025-12-20 18:26:52 +0100
441b0191e8Add PEL seed/run tools and quickstart README
Carl Niklas Rydberg
2025-12-20 17:23:37 +0100
a7ff4ec25aImplement PEL/1-SURF run with trace artifacts and stub store test
Carl Niklas Rydberg
2025-12-20 15:16:07 +0100
a6425067bfAdd PEL program DAG validation and kernel op execution
Carl Niklas Rydberg
2025-12-20 14:27:26 +0100
585844a6fcImplement PEL encodings and tests
Carl Niklas Rydberg
2025-12-20 13:54:18 +0100
96bf3f08b3Register PEL encodings and SchemeRef digest
Carl Niklas Rydberg
2025-12-20 12:54:32 +0100
4dae7a32d2Add PEL tier1 specifications
Carl Niklas Rydberg
2025-12-20 12:35:10 +0100
f69742dc0bDefine TGK edge tag and registry entry
Carl Niklas Rydberg
2025-12-20 12:30:53 +0100
47e3ccc382Adding TGK specifications.
Carl Niklas Rydberg
2025-12-20 11:32:17 +0100
1e88925eceFix CLI link order for ASL parsing
Carl Niklas Rydberg
2025-12-20 11:28:42 +0100
2a0fd994e5Share ASL store-id validation
Carl Niklas Rydberg
2025-12-20 11:21:07 +0100
edc81beb9bPromote ASL IO helpers
Carl Niklas Rydberg
2025-12-20 11:19:08 +0100
f48b73b75fPromote ASL ID parsing helpers
Carl Niklas Rydberg
2025-12-20 11:16:16 +0100
4bc40995b4Promote ASL reference hex helpers
Carl Niklas Rydberg
2025-12-20 11:14:06 +0100
93d9f87783Add quiet flag to amduat-asl
Carl Niklas Rydberg
2025-12-20 10:53:22 +0100
f406e1d10aAdd amduat-asl CLI skeleton
Carl Niklas Rydberg
2025-12-20 08:40:57 +0100
c6f9c6a696Add ASL FS metadata and layout helper
Carl Niklas Rydberg
2025-12-20 07:54:23 +0100
428f657f4fAdd hex encode/decode helpers
Carl Niklas Rydberg
2025-12-20 00:05:17 +0100
b32c164313Add ASL/1 core codec and refactor fs store to use it
Carl Niklas Rydberg
2025-12-19 23:55:27 +0100
04f993aa6fDefine POSIX feature macro for asl_store_fs
Carl Niklas Rydberg
2025-12-19 23:25:18 +0100
15b36b1f1dImplement ASL store FS adapter and ENC/ASL1-CORE registry
Carl Niklas Rydberg
2025-12-19 23:16:38 +0100
a0bb089f08Add gitignore for build artifacts
Carl Niklas Rydberg
2025-12-19 21:15:42 +0100
ca66d5757cAdd SHA-256 implementation for HASH/ASL1
Carl Niklas Rydberg
2025-12-19 21:13:23 +0100
32e3ca4adeAdd HASH/ASL1 registry descriptors and stub hook
Carl Niklas Rydberg
2025-12-19 20:55:07 +0100
b47b914224Scaffold C layout and ASL registry model
Carl Niklas Rydberg
2025-12-19 19:22:40 +0100