Phase 1: Ground-truth revocation oracle #67
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!67
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "1-ground-truth-revocation-oracle"
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 #27
Summary
This PR introduces a Phase 1 ground-truth post-revocation oracle that evaluates revocation correctness independently of revocation strategy implementation.
It defines a canonical core API for computing:
Residual_t),Over_t),and classifies completeness/soundness deterministically under direct-edge semantics.
It also adds canonical test graphs with known outcomes to lock expected behavior for correct, incomplete, over-removing, and mixed-failure cases.
Scope
Included
Explicitly excluded
Design intent
The intent is to establish a strategy-independent correctness reference for revocation in Phase 1.
The oracle computes correctness directly from authoritative pre/post snapshots and selector inputs, so it can validate any revocation strategy implementation against the same ground truth.
This preserves determinism and keeps correctness checks aligned with Phase 1’s direct-edge model.
Phase discipline
This is a Phase 1 change.
It does not weaken Phase 0 invariants and does not alter event-log/replay foundations.
It adds semantic validation logic on top of the existing deterministic graph substrate.
Verification
cmake --build _build --target aes_revocation_oracle_testsctest --test-dir _build --output-on-failure -R aes_revocation_oracle_testsctest --test-dir _build --output-on-failure -R "aes_apply_event_tests|aes_engine_tests|aes_reachability_tests|aes_residual_authority_tests"Notes
Review focus:
removed,residual,over_removed)