Phase 1: Strategy B: lazy invalidate-on-use revocation #71
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!71
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "1-strategy-b-lazy-invalidate-on-use-revocation"
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 #31
Summary
This PR implements Strategy B (
lazy_invalidate) for deferred revocation enforcement.RevokeCapunder lazy strategy now marks resolved target edges as invalidated instead of deleting them, andUseCapdenies use of invalidated existing edges with explicit reasoninvalidated.The existing eager-delete path remains unchanged in semantics, including oracle completeness hard-gate. Event-log version stays at
v=3; reason taxonomy is extended without introducingv=4.Scope
Included
RevokerKind::LazyInvalidateRevocationEnforcementPolicyonIRevokerlazy_invalidate_revoker()EdgeStoreinvalidation marker index and APIsUseCapOutcomeReason::Invalidatedinvalidatedacross v1/v2/v3 result handlinglazy_invalidateExplicitly excluded
Behavioral Notes
UseCapon an invalidated existing edge returns denied with reasoninvalidated.revokermetadata.Verification
cmake --build _build --target aes_edge_store_tests aes_graph_validation_tests aes_apply_event_tests aes_engine_tests aes_snapshot_tests aes_revocation_strategy_tests aes_event_log_format_tests aes_event_log_reader_tests aes_event_log_replay_tests aes_cli_simulate_tests aesctest --test-dir _build --output-on-failure -R "aes_edge_store_tests|aes_graph_validation_tests|aes_apply_event_tests|aes_engine_tests|aes_snapshot_tests|aes_revocation_strategy_tests"ctest --test-dir _build --output-on-failure -R "aes_event_log_format_tests|aes_event_log_reader_tests|aes_event_log_replay_tests|aes_cli_simulate_tests|aes_revocation_oracle_tests|aes_invalid_event_determinism_tests"Review Focus
apply_revoke_cap(eager delete vs lazy invalidate)UseCapevaluation order andinvalidatedoutcome handlingEdgeStoreinvalidatedlazy_invalidate