Information architecture
The org's libraries and shelves — the structure every member and agent mounts. Governance only: nothing on this screen reads, counts, or reaches into anyone's content. Every figure below is structural; member views are computed per viewer, elsewhere, under their own grants.
Libraries
One lens per library, never mixed. Overrides are deny-only — they restrict or pin, never widen.
| Library | Lens | Shelves | Overrides | Authoring |
|---|---|---|---|---|
| Relay — IA os_4f2a91c8b7d3 |
catalog | 4 | defaultrequired mountfork disabled | Admins + Librarians group |
| Relay — Code os_9b17e04d22aa |
workspace | 2 | hideableforkable | Admins |
Shelves — Relay IA (catalog)
A shelf is populated by its rule and augmented by curators. Rule edits are audited with the predicate before and after — a rule edit changes what every member sees, with no visible diff of its own.
| Shelf | Rule | State | Overrides on rule | Boot pin |
|---|---|---|---|---|
| Runbooks | content_type:runbook | valid | 1 addition · 1 exclusion | pinned · #1 |
| Decisions | content_type:decision | valid | — | pinned · #2 |
| Clients › Acme | tag:client AND entity:Acme | valid | 1 addition | — |
| Ops (legacy) | tag:ops-2025 | needs attention — tag no longer exists | — | — |
Delegation
Capabilities, not ranks. A group can never be granted more than its grantor holds. The constants read container/slot while the screen says library/shelf — deliberate: every one of these writes a permanent rbac_audit row, and an audit trail must not change vocabulary partway through its own history.
| Holder | Capabilities |
|---|---|
| Org admins | container.manageslot.authorslot.curate |
| Librarians group · 3 | slot.authorslot.curate |
| Support group · 5 | slot.curate |
| All members | container.view |
Audit — IA changes
Every rule edit carries the predicate before → after. Additions and exclusions name their curator.
What this screen can never do: read into a personal library, write into one, or widen content reach.
Governance and content are separate axes (SPEC.rbac-model.md §0); shelf contents are computed per viewer
through the one projection engine, and every count a member sees is post-filter — this console shows structure only.
Rule edits and overrides land in rbac_audit; membership changes land on relay_timeline.
Capabilities here fail closed while RBAC enforcement is dark (legacy_allow=False — RCTX-1102).