Commit graph

34 commits

Author SHA1 Message Date
Carl Niklas Rydberg b506cc6c7c Extend FER/1 receipts and TGK store support 2026-01-17 21:34:24 +01:00
Carl Niklas Rydberg 0667cee17d Add bloom filters to ASL index segments 2026-01-17 16:55:46 +01:00
Carl Niklas Rydberg 06a96f25db Add snapshot manifests and auto snapshot policy 2026-01-17 16:43:47 +01:00
Carl Niklas Rydberg 347d2e4dda Add filesystem-backed ASL index store 2026-01-17 14:08:41 +01:00
Carl Niklas Rydberg 68371b1554 Add ASL core index codec and tests 2026-01-17 13:10:07 +01:00
Carl Niklas Rydberg b7b4b2f195 Add ASL log encoding/decoding 2026-01-17 12:51:32 +01:00
Carl Niklas Rydberg 0d810affb0 Add ASL index state API stubs 2026-01-17 12:45:13 +01:00
Carl Niklas Rydberg 0fc1fbd980 Something 2025-12-23 09:15:47 +01:00
Carl Niklas Rydberg 222fe2f84e tgk1-edge: accept unknown hash ids and add regression test 2025-12-22 11:42:41 +01:00
Carl Niklas Rydberg 5b7d07e033 Fix trace DAG EncodedRef validation and test unknown hash ids 2025-12-22 11:24:43 +01:00
Carl Niklas Rydberg b00f2c8575 Enforce PEL1 result invariants and add regression test 2025-12-22 09:15:15 +01:00
Carl Niklas Rydberg f02be17d6c Patched overflow checks in the encoder and added regression tests.
Changes:

Added early bounds checks for nodes_len/roots_len against UINT32_MAX, plus safe guards for order allocation and roots_len * 8 overflow. pel_program_dag.c
New tests for oversized counts: test_pel_program_dag_encode.c
Wired the new test into CMake: CMakeLists.txt
2025-12-22 08:46:03 +01:00
Carl Niklas Rydberg f5e1ab8801 Add PEL DAG scheme descriptor codec and validation
If you want a longer one:
Add codec + tests for PEL DAG scheme descriptor
2025-12-22 08:16:58 +01:00
Carl Niklas Rydberg 5438b93efd Expose diagnostic messages in formatters 2025-12-22 07:27:30 +01:00
Carl Niklas Rydberg 3333b577ff Implemented an OOM-aware decode path for PEL/PROGRAM-DAG and plumbed it through the core entrypoints so OOM is treated as out‑of‑model (returns false) while invalid bytes still map to INVALID_PROGRAM. 2025-12-22 00:36:10 +01:00
Carl Niklas Rydberg 87c8bcc799 Align HASH/ASL1 registry and codecs with spec constraints
- reject reserved HashId values across lookup/parse/encode paths
- add reserved-range registry table and remove 0x0000 from runtime list
- forbid SHA-256 impl overrides; add streaming hash API
- update tgk_store_mem test to use unsupported but non-reserved hash id
- document ASL store digest-length constraint in README
2025-12-22 00:21:16 +01:00
Carl Niklas Rydberg 88cde5c243 Added the explicit hash_id == 0 guard in the codec. This rejects reserved 0x0000 in both encode and decode paths 2025-12-21 23:48:45 +01:00
Carl Niklas Rydberg 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. 2025-12-21 23:46:07 +01:00
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 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. 2025-12-21 23:09:44 +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 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 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 585844a6fc Implement PEL encodings and tests 2025-12-20 13:54:18 +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 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 ca66d5757c Add SHA-256 implementation for HASH/ASL1 2025-12-19 21:13:23 +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