Phase 1: Revocation-focused workloads #75
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!75
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "1-revocation-focused-workloads"
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 #35
Summary
This PR adds three deterministic, revocation-focused workload kinds to stress
strategy behavior in controlled patterns:
deep_chain_root_revokefanout_tree_mid_revokemixed_delegation_random_revokeThe goal is to exercise revocation semantics under repeatable workload
structures while preserving replay correctness and event-log compatibility.
Scope
Included
aes_workload:--workload deep_chain_root_revoke--workload fanout_tree_mid_revoke--workload mixed_delegation_random_revoke--rounds(required)--subject-pool(optional, default8)--revoke-width(optional, default1)aes_revocation_focused_workloads_tests) with:Explicitly excluded
v=3unchanged).Design intent
The workloads are intentionally deterministic for fixed
(seed, revoker, parameters)and are structured to make revocation effects observable throughexplicit post-revoke
UseCapprobes.deep_chain_root_revokestresses root revocation in long ancestry.fanout_tree_mid_revokestresses breadth and selective subtree impact.mixed_delegation_random_revokestresses repeated revoke pressure withdeterministic randomization over current live edges.
For mixed workload, traces are deterministic per revoker but may diverge across
revokers because selectors are sampled from live edge state.
Workload contracts
deep_chain_root_revoke--chain-lengthchain_length >= 2--depth,--fanout,--rounds,--subject-pool,--revoke-widthfanout_tree_mid_revoke--depth,--fanoutdepth >= 2,fanout >= 2--chain-length,--rounds,--subject-pool,--revoke-widthfloor(depth/2), sorted ascending.mixed_delegation_random_revoke--rounds--subject-pool=8,--revoke-width=1rounds >= 1,subject_pool >= 2,revoke_width >= 1--chain-length,--depth,--fanoutDelegateCap,RevokeCap,UseCap(min(selector))k = min(revoke_width, live_edge_count).Verification
cmake --build _build --target aes_revocation_focused_workloads_tests aes_cli_simulate_tests aes_invariant_property_tests aes_replay_hash_testsctest --test-dir _build --output-on-failure -R "aes_revocation_focused_workloads_tests|aes_cli_simulate_tests|aes_invariant_property_tests|aes_replay_hash_tests"ctest --test-dir _build --output-on-failure -R "aes_revocation_strategy_tests|aes_strategy_equivalence_tests|aes_event_log_replay_tests|aes_invalid_event_determinism_tests"All listed tests passed.
Review focus