challenge-defense-is-crash-safe

IN derived (depth 2)

The dialectical challenge/defend system reaches correct truth states through recursive outlist injection evaluated by deterministic terminating propagation.

Summary

When someone challenges a belief and the system needs to resolve the dispute, it does so by reusing the same propagation engine that handles all other truth updates — no special dispute-resolution code exists. Because that propagation engine is guaranteed to finish without hanging or looping, the challenge/defense process is also guaranteed to reach a stable, correct answer every time.

Justifications

SL — Challenge/defend creates new nodes and dependent relationships dynamically; if propagation crashes on a dangling dependent reference, dialectical operations could leave the network inconsistent

Antecedents (all must be IN):

Unless (any of these IN defeats this justification):

  • propagate-assumes-dependents-exist — 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)

Dependents

These beliefs depend on this one:

Details