The graph
An ABP is a graph and every document is a projection of it. The five rules that govern it are published at graphs.sgit.ai ↗ and they govern the model rather than the styling. This page says what each one forces here.
| Rule | What it forces on this model |
|---|---|
| Every edge is a verb with a distinct inverse. | is-granted and granted-to are different edges with different fan out. The inverse is not the same edge walked backwards. |
| The generic association edge is banned. | There is no relates-to anywhere in this model. It constrains nothing and costs fan out. |
| Never render the whole graph. Render the result of a query. | There is no map of everything on this site. Each page answers one query: this shape's grant, this mandate's delta, this capability across every shape. |
| Rich nodes are acceptable. | A capability node carries its verb, object, reach, undo class and gloss. The blob is a rendering failure, not a modelling one. |
| If a path does not read as a sentence in the reader's own language, the edges are wrong. | The acceptance test, below. If a path fails it, the model changes and not the renderer. |
Where the rules landed
| Address | What is there |
|---|---|
| The lexicon↗ | Every word the grammar is spelled with, as a node with its own address. read.file.project is three nodes and three edges. |
| The edge vocabulary↗ | 22 edges, each a verb with a distinct inverse, a stated domain and range. No generic association edge. |
| The node type formulas↗ | Classification as a required path pattern, run on every build, rather than a label somebody applied. |
| The three layers↗ | How a customer vault disagrees with this vocabulary without merging anything. |
| The nine universes↗ | The map of the ABP onto Fractal Semantic Graphs: one capability row crosses nine universes, each with its own owner and ontology, joined by named edges. A brief at v0.4.0; the universes land one per release after it. |
The sentence test
agent
claude-code-cli-confirmations-disabledis-granted capabilityexecute.process.hostbounded-by barriera-rule-somebody-wrote-downwhich-exceeds mandateship-a-featureand-is undono
Every example page ends with that path, built from its own data, so the test is applied on every build rather than asserted once here.
The five layers, and the tension in them
A five level compression hierarchy says a class name does not mean the same thing two levels up. The variant rule says every rendering must produce the same fact set, with an empty diff. Both are true, and the resolution is precise:
- The fact set is the leaf assertions: this shape has this capability, at this barrier, with this undo class; this mandate contains these capabilities; therefore this delta. Identical in every rendering, and the diff is over these.
- The classes are how those facts are grouped for a reader. An executive rendering groups by business consequence, an engineer's by reach and barrier. Different at different altitudes, and that is correct rather than a defect.
So the fact diff is over leaf assertions, not over structure. The label and the leaflet on every example page are two renderings of one fact set, and keeping them that way is why both are generated from the same call.
Altitude is for stakeholder, depth is for detail. The layers here are altitudes.
The interchange vocabulary
The W3C has had a rights expression vocabulary since 2018: a policy carries permissions, prohibitions and duties, constraints cover time, purpose, count and place, the conflict strategy says prohibitions win, and a policy inherits from a parent, which is how a policy for an agent in an environment extends a policy for an agent. Use it as the interchange form through a profile that adds these capability primitives as actions.
Do not claim it enforces anything, because it does not. It is a vocabulary for expressing a policy, not a thing that stands in the way. In the barrier's terms an interchange document is a rule somebody wrote down until something above the grant compiles it and enforces it.
Site index for agents↗ · HTML version↗