{"id":"protocol-safety-unfalsifiable-under-current-testing","text":"Distributed protocol safety claims are unfalsifiable under the current testing methodology: specific protocol gaps (2PC's blocking window with unused timeout, Raft's stale-leader writes) AND general protocol behavior are validated exclusively under synchronous simulation with deterministic delivery — safety violations that manifest only under asynchronous or partitioned delivery are structurally invisible to the test suite.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["2pc-safety-gaps-compound-under-synchronous-simulation","protocol-safety-validated-only-under-synchronous-model"],"outlist":[],"label":"Synchronous-only testing masks safety gaps that require asynchronous delivery to manifest"}],"dependents":["correctness-unachievable-and-unfalsifiable","distributed-protocols-rest-on-unverifiable-assumptions","verification-impossible-at-every-layer"],"metadata":{"last_reviewed":"2026-05-30T09:01:17","review_result":"pass"},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"protocol-safety-unfalsifiable-under-current-testing","truth_value":"IN","reason":"SL justification valid","antecedents":["2pc-safety-gaps-compound-under-synchronous-simulation","protocol-safety-validated-only-under-synchronous-model"],"label":"Synchronous-only testing masks safety gaps that require asynchronous delivery to manifest"},{"node":"2pc-safety-gaps-compound-under-synchronous-simulation","truth_value":"IN","reason":"SL justification valid","antecedents":["2pc-has-design-implementation-gap","distributed-protocols-simulate-synchronous-delivery"],"label":"2PC's blocking window is characterized but only tested under instant delivery — actual timeout/crash behavior is unvalidated"},{"node":"2pc-has-design-implementation-gap","truth_value":"IN","reason":"SL justification valid","antecedents":["2pc-blocking-window","2pc-timeout-unused","recovery-requires-participant-availability"],"label":"Three independent implementation gaps each weaken a distinct 2PC safety property (atomicity, liveness, recovery)"},{"node":"2pc-blocking-window","truth_value":"IN","reason":"premise"},{"node":"2pc-timeout-unused","truth_value":"IN","reason":"premise"},{"node":"recovery-requires-participant-availability","truth_value":"IN","reason":"premise"},{"node":"distributed-protocols-simulate-synchronous-delivery","truth_value":"IN","reason":"SL justification valid","antecedents":["pbft-submit-request-is-synchronous-simulation","bully-synchronous-delivery","lamport-send-delivers-synchronously"],"label":"three independent protocol modules share the same synchronous-delivery simplification"},{"node":"pbft-submit-request-is-synchronous-simulation","truth_value":"IN","reason":"premise"},{"node":"bully-synchronous-delivery","truth_value":"IN","reason":"premise"},{"node":"lamport-send-delivers-synchronously","truth_value":"IN","reason":"premise"},{"node":"protocol-safety-validated-only-under-synchronous-model","truth_value":"IN","reason":"SL justification valid","antecedents":["distributed-protocols-simulate-synchronous-delivery","raft-partition-creates-dual-hazard"],"label":"Partition hazards are modeled but only tested under instant delivery — async timing effects remain unvalidated"},{"node":"raft-partition-creates-dual-hazard","truth_value":"IN","reason":"SL justification valid","antecedents":["raft-stale-leader-accepts-writes","raft-rejoin-forces-election"],"label":"Two partition-related behaviors combine into a scenario where partitions cause both silent data loss AND unnecessary leader disruption on heal"},{"node":"raft-stale-leader-accepts-writes","truth_value":"IN","reason":"premise"},{"node":"raft-rejoin-forces-election","truth_value":"IN","reason":"premise"}]}}