Phase 0: Replay and snapshot reconstruction #56
No reviewers
Labels
No labels
bug
cli
core
docs
event
experiment
figure
invariant
metrics
oracle
phase-0
phase-1
phase-2
phase-3
phase-4
phase-5
phase-6
provenance
revocation
tests
workload
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
erikinkinen/AES!56
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "0-replay-and-snapshot-reconstruction"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements replay and snapshot reconstruction for event-log history (
#15), so state can be reconstructed strictly from history and compared deterministically against live state.Closes #15.
What Changed
Replay APIs (
aes::io)Added to
io/include/aes/io/event_log.hpp:core::Result<sim::Engine> replay_event_log_jsonl(const std::string &path);core::Result<sim::Engine> replay_event_log_jsonl_until(const std::string &path, std::uint64_t t);core::Error verify_replay_matches_live_state(const sim::Engine &live, const std::string &path);Full Replay
sim::Engine.time,history, stores, and adjacency indices through event replay.Replay-Until-Time
t.t == 0->Errc::OutOfRanget > log_size->Errc::OutOfRangetime == tandhistory.size() == t.Live-State Verification
timeseedfrom equality scope by design.validate_graph.Errc::InvariantViolationon first semantic mismatch with explicit message.Supporting Changes
core/include/aes/core/ids.hpp:next_object_value(),next_edge_value(),next_event_value()reset_next_values(...)io/CMakeLists.txt:aes_iopublicly againstaes_sim.Tests
Added/extended replay coverage in
tests/event_log_replay_tests.cpp:t=0,t>size)Validation
Ran:
cmake --build _buildctest --test-dir _build --output-on-failureResult:
24/24tests passed.