Phase 1: Revocation strategy interface #69
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!69
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "1-revocation-strategy-interface"
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?
Closes #29
Summary
This PR introduces a swappable revocation strategy interface for Phase 1 while preserving existing direct-edge revocation semantics.
It adds:
IRevokerstrategy seam incore,direct,snapshot_direct),No event-log schema/version changes are introduced in this PR.
Included
corerevoker API:RevokerKind(Direct,SnapshotDirect)IRevokerdirect_revoker(),snapshot_direct_revoker(),revoker_for_kind(...)apply_event(...)overload acceptingconst IRevoker&RevokeCappath routed through selected revokerInvariantViolationEngine::revoker_kind(defaultDirect)RunParams.revoker_kind(defaultDirect)aes simulate --revoker <direct|snapshot_direct>docs/phase1.mdaes_revocation_strategy_tests(selector parity, error parity, engine equivalence, repeat determinism)--revokerand default configExplicitly Excluded
API / Interface Changes
core/include/aes/core/revoker.hppcore/src/revoker.cppApplyEventResult apply_event(..., const IRevoker &revoker);apply_event(..., const Event&)remains and defaults todirect_revoker()workload::RunParams::revoker_kind--revokerCompatibility
direct).InvalidArgument,NotFound,InvariantViolation).Verification
cmake --build _build --target aes_apply_event_tests aes_engine_tests aes_workload_params_tests aes_cli_simulate_tests aes_revocation_strategy_tests aes_invalid_event_determinism_testsctest --test-dir _build --output-on-failure -R "aes_apply_event_tests|aes_engine_tests|aes_workload_params_tests|aes_cli_simulate_tests|aes_revocation_strategy_tests"ctest --test-dir _build --output-on-failure -R "aes_event_log_reader_tests|aes_event_log_replay_tests|aes_revocation_oracle_tests|aes_invalid_event_determinism_tests"Review Focus
RevokeCappathRunParams,Engine, CLI)directandsnapshot_direct