complete-system-is-self-correcting

OUT derived (depth 4)

The system actively maintains its own consistency along two independent dimensions: the TMS core handles exceptional conditions (contradictions trigger deterministic resolution, propagation respects lifecycle state), while belief currency management detects and surfaces drift in source material — no inconsistency persists undetected or unresolved.

Summary

This claim says the system keeps itself honest in two ways — the truth maintenance engine resolves logical contradictions automatically, and a separate staleness-checking mechanism flags beliefs whose source material has changed. Together, nothing slips through the cracks. However, this claim is currently unsupported because at least one of its foundations no longer holds, meaning the system cannot fully guarantee this self-correcting property right now.

Justifications

SL — automated contradiction resolution + active currency tracking = self-correction (depth-4 GATE from two depth-3 GATE)

Antecedents (all must be IN):

  • tms-handles-all-conditions-safely — The TMS core handles both normal operation (crash-free truth propagation via BFS with stop-on-unchanged) and exceptional conditions (deterministic contradiction resolution via backtracking with least-entrenched selection) through shared propagation infrastructure — no reachable execution state leads to undefined behavior.
  • belief-currency-is-actively-managed — The system actively manages belief currency bidirectionally: the production-ready derive pipeline safely introduces new beliefs through defensive validation, while the staleness CI gate detects drift in existing beliefs against source material — together preventing both unsafe additions and undetected obsolescence.

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)
  • derive-agent-count-bug — `_build_beliefs_section` has a bug: `count += len(belief_ids)` is inside the per-belief loop instead of outside it, inflating the count and shrinking the non-agent budget below intended size
  • missing-source-file-is-silent — If a node's source file no longer exists on disk, `check_stale` silently skips it; callers cannot distinguish "file deleted" from "file never tracked."
  • hash-truncation-is-16-hex — Source hashes are SHA-256 truncated to the first 16 hex characters (64 bits), reducing collision resistance to ~32 bits for birthday attacks compared to the full 256-bit hash.

Dependents

These beliefs depend on this one:

Details