Phase 1: Revocation cost accounting framework #68
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!68
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "1-revocation-cost-accounting-framework"
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 #28
Summary
This PR implements a deterministic, strategy-independent revocation cost accounting framework for Phase 1.
It adds revocation cost counters to core revocation outcomes, introduces time/step context via event-log result builder state, and logs per-revocation counters in a new event-log
v=2result schema.Added counter dimensions:
edges_scannededges_removednodes_touchedrequest_indexstepScope
Included
corerevocation cost counters onRevocationResultapply_revoke_capbuild_event_log_result_v2)v=2encode/decode and strict schema validationv=2recordsExplicitly excluded
Design intent
The design keeps accounting strategy-independent by deriving counters from normalized selectors and authoritative graph state, not implementation internals.
v=2is introduced instead of changingv=1to preserve strict v1 behavior and compatibility while enabling richer revocation accounting fields.Phase discipline
This is a Phase 1 change.
It extends revocation semantics and logging while preserving Phase 0 invariants:
Verification
cmake --build _build --target aes aes_apply_event_tests aes_engine_tests aes_event_log_format_tests aes_event_log_reader_tests aes_event_log_replay_tests aes_cli_simulate_tests aes_revocation_oracle_tests aes_reachability_tests aes_residual_authority_testsctest --test-dir _build --output-on-failure -R "aes_apply_event_tests|aes_engine_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"ctest --test-dir _build --output-on-failure -R "aes_revocation_oracle_tests|aes_reachability_tests|aes_residual_authority_tests"Notes
Review focus:
edges_scanned/edges_removed/nodes_touchedsemanticsrequest_indexprogression andstepbindingRevokeCaprequiresrevocation_cost_v2, non-RevokeCapforbids it)