Expand description
Permission atoms and sets, as data.
This module owns the shape and the syntax of a permission. The algebra
— containment (⊑), meet and join, normalisation, disjointness — lives in
boundgraph-grant (feature 02). Keeping the type here lets
WorkOrder and the ledger reference permissions without
depending on the solver.
Two consequences of Law I are already visible in these types:
- A
GrantSetis aBTreeSet, so it has no insertion order and no duplicates. Two sets with the same atoms are the same value and share a digest. GrantSet::EMPTYis the default. A step that declares nothing gets nothing; there is no representation of “unrestricted”.
Structs§
Enums§
- Grant
Atom Parse Error - An atom did not match
domain:action[:resource].
Constants§
- KNOWN_
DOMAINS - The resource families the specification documents.