ctrlrun.DelegationRecord — class, defined at src/ctrlrun/state.py:320
delegations table (SPEC-v0.3 §5.2).
The store persists rows, not grants. grant_json stays a string here and
authority.py is what parses a Grant out of it, so state.py does not import
authority.py and therefore does not transitively acquire policy.py —
ARCHITECTURE.md §6’s dependency direction. Delegation, the parsed form, lives there.
depth is recorded for reading and never trusted: evaluation derives it by walking to the
root (§5.5), so a row edited directly in the database cannot assert its way to a shorter
chain.