dangling-dependents-are-safely-contained
IN derived (depth 1)
Dangling dependent references are safely contained across all propagation dimensions: BFS skips missing nodes with structured warnings, the changed set never includes ghost IDs, and the visited set excludes dangling IDs so later-created nodes propagate normally.
Summary
When a belief references dependencies that don't actually exist in the system, nothing breaks. The propagation algorithm quietly skips over these missing references, never reports them as changed, and never marks them as visited — so if those references later become real nodes, they'll work normally without any leftover state getting in the way.
Justifications
SL — Three independent containment mechanisms (skip, exclude from changed, exclude from visited) ensure no dangling reference corrupts propagation state
Antecedents (all must be IN):
- dangling-dependent-guard-skips-missing-nodes — `_propagate` skips dependent IDs not present in `net.nodes` rather than raising `KeyError`, and emits a structured warning log entry for each (fix for issue #22).
- dangling-ids-excluded-from-changed — The `changed` set returned by `retract()` and `assert_node()` never contains IDs that don't correspond to real nodes in the network.
- dangling-ids-excluded-from-visited — The propagation visited set does not include dangling IDs, so a formerly-dangling ID that becomes a real node will propagate correctly on subsequent operations.
Dependents
These beliefs depend on this one:
- propagation-is-safe-under-graph-inconsistency — Truth propagation achieves correctness even when the dependency graph contains dangling references: missing nodes are skipped with structured warnings rather than crashing, dangling IDs are excluded from both the changed and visited sets, and this graceful degradation composes with the underlying termination and lifecycle-awareness guarantees for all reachable nodes.