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:

Details