Phase 0: Ground-truth reachability analysis #58
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!58
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "0-ground-truth-reachability-analysis"
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?
Summary
Implements Ground-Truth Reachability Analysis v0 in
aes::corefor direct-edge reachability queries, independent of revocation/provenance semantics.Closes #17.
What’s included
New APIs
Added in
core/include/aes/core/reachability.hpp:Result<std::vector<ObjectId>> reachable_objects_from_subject(const SubjectStore&, const ObjectStore&, const EdgeStore&, SubjectId);Result<std::vector<SubjectId>> reverse_reachable_subjects_to_object(const SubjectStore&, const ObjectStore&, const EdgeStore&, ObjectId);Implementation
Added
core/src/reachability.cppwith:validate_graph) before query executionErrc::InvalidArgumentErrc::NotFoundedges.find_from(subject)edges.find_to(object)edge->rights.empty()Build wiring
src/reachability.cpptoaes_coreincore/CMakeLists.txt.Tests
Added
tests/reachability_tests.cppandaes_reachability_teststarget intests/CMakeLists.txt.Coverage includes:
InvalidArgument,NotFound)Errc::InvariantViolationon corrupted graph)Commit breakdown
Phase 0: Implement reachability from subject (#17)Phase 0: Implement reverse reachability to object (#17)Phase 0: Add reachability tests on small graphs (#17)Validation
Executed after each commit:
cmake --build _buildctest --test-dir _build --output-on-failureFinal status: all tests passing (including new
aes_reachability_tests).