propagate-assumes-dependents-exist

OUT premise

Every ID in `node.dependents` is accessed via `self.nodes[dep_id]` without a membership check; a dangling dependent reference will raise `KeyError` — this is intentional (broken invariant = bug)

Summary

The propagation code deliberately crashes with a KeyError if it encounters a dependent reference that points to a node not in the system. This is a design choice treating dangling references as bugs that should surface immediately rather than be silently ignored, so any inconsistency in the dependency graph gets caught right away during status propagation.

Dependents

These beliefs depend on this one:

Details

Sourceentries/2026/04/23/reasons_lib-network-_propagate.md