dependents-is-manual-reverse-index
OUT premise
`Node.dependents` is a denormalized reverse pointer set that must be kept in sync by external code (primarily `network.py`); nothing in the data model enforces consistency.
Summary
The dependents field on each node is essentially a manually maintained index — it tells you which other nodes rely on this one, but it's not automatically derived from the justification links. Instead, code in network.py has to explicitly add and remove entries whenever justifications change. If that bookkeeping code has a bug or a new code path skips it, the reverse pointers silently go stale, which means retraction cascades could miss nodes that should be affected.
Dependents
These beliefs depend on this one:
- dependents-index-is-fragile-denormalization — The dependents set is a manually-maintained denormalized reverse index that is never persisted and must be rebuilt on every load, creating a consistency obligation on all mutation paths
Details
| Source | entries/2026/04/23/reasons_lib-__init__.md |