Phase 0: Subject and object node storage #46
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!46
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "0-subject-and-object-node-storage"
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?
Task
Closes #4
Summary
This PR implements Subject and Object node storage as the foundational building blocks of the Phase 0 authority graph.
Subjects represent active authority-bearing entities, and Objects represent passive entities that can receive capabilities. Both are opaque structures with no internal state or behavior—all authority is derived from capabilities that will be introduced in later work.
This implementation establishes the structural nodes of the authority graph and provides the storage infrastructure needed for future capability creation and manipulation.
Scope
Included
SubjectandObjecttypes with deterministic ID assignmentSubjectStoreandObjectStorefor managing node lifecycle (create/delete/query)Explicitly excluded
Design intent
This PR establishes the structural foundation for the authority graph:
Idsgenerator, ensuring reproducibility across runs.SubjectStoreandObjectStoreare independent, reflecting their distinct roles in the authority model.The separation of Subjects and Objects aligns with the conceptual model in model.md, where authority flows from Subjects to Objects via capabilities.
Phase discipline
Verification
aes_subject_tests,aes_object_tests,aes_debug_label_tests)Notes
This PR is infrastructure-only and does not yet enable authority operations.
Reviewers should focus on:
Follow-up work will introduce:
0-subject-and-object-node-storageto Phase 0: Subject and object node storage