{"id":"write-path-is-complete-and-consistent-in-symmetric-domains","text":"In graph-based systems, write-path correctness is reinforced by two independent properties: structural discipline (immutable values, synchronized data structures) prevents state corruption during writes, while domain symmetry (bidirectional relationships with no one-way edges) guarantees that lightweight write-time routing reaches all affected parties without edge cases — together ensuring that writes are both valid in state and complete in dispatch.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["symmetric-graphs-enable-complete-lightweight-routing","write-path-is-self-consistent-by-design"],"outlist":[],"label":"Graph symmetry guarantees routing completeness while structural discipline guarantees state validity — both needed for full write-path correctness"}],"dependents":["write-read-lifecycle-is-correct-in-symmetric-domains"],"metadata":{"last_reviewed":"2026-06-06T06:26:57","review_result":"pass"},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"write-path-is-complete-and-consistent-in-symmetric-domains","truth_value":"IN","reason":"SL justification valid","antecedents":["symmetric-graphs-enable-complete-lightweight-routing","write-path-is-self-consistent-by-design"],"label":"Graph symmetry guarantees routing completeness while structural discipline guarantees state validity — both needed for full write-path correctness"},{"node":"symmetric-graphs-enable-complete-lightweight-routing","truth_value":"IN","reason":"SL justification valid","antecedents":["social-systems-combine-symmetric-graphs-and-lightweight-fanout","write-time-decisions-are-lightweight-but-binding"],"label":"Social symmetry (d2) guarantees routing completeness; lightweight-but-binding writes (d2) guarantee routing finality — together they mean no read-time correction is needed"},{"node":"social-systems-combine-symmetric-graphs-and-lightweight-fanout","truth_value":"IN","reason":"SL justification valid","antecedents":["symmetric-social-graphs-simplify-visibility","fan-out-write-pushes-references-not-data"],"label":"Symmetric graphs eliminate one-way edge complexity; reference-based fan-out avoids data duplication — together they simplify both the model and the delivery"},{"node":"symmetric-social-graphs-simplify-visibility","truth_value":"IN","reason":"SL justification valid","antecedents":["chat-contacts-always-bidirectional","nearby-friends-friendship-always-symmetric"],"label":"Symmetric graphs eliminate directional visibility checks but prevent asymmetric social models"},{"node":"chat-contacts-always-bidirectional","truth_value":"IN","reason":"premise"},{"node":"nearby-friends-friendship-always-symmetric","truth_value":"IN","reason":"premise"},{"node":"fan-out-write-pushes-references-not-data","truth_value":"IN","reason":"SL justification valid","antecedents":["chat-fanout-on-write","news-feed-fan-out-write-pushes-ids"],"label":"Reference-based fanout limits write amplification to pointer-sized payloads"},{"node":"chat-fanout-on-write","truth_value":"IN","reason":"premise"},{"node":"news-feed-fan-out-write-pushes-ids","truth_value":"IN","reason":"premise"},{"node":"write-time-decisions-are-lightweight-but-binding","truth_value":"IN","reason":"SL justification valid","antecedents":["fan-out-write-pushes-references-not-data","write-time-routing-is-irrevocable"],"label":"Fan-out pushes references (lightweight) and routing decisions are permanent (binding) — the write path optimizes for speed at the cost of flexibility"},{"node":"write-time-routing-is-irrevocable","truth_value":"IN","reason":"SL justification valid","antecedents":["news-feed-celebrity-threshold-at-write-time","chat-fanout-on-write"],"label":"news feed selects fan-out-on-write vs fan-out-on-read based on follower count at publish time; chat routes to inbox or offline queue based on presence at send time — both decisions are baked in at write time and not revisited"},{"node":"news-feed-celebrity-threshold-at-write-time","truth_value":"IN","reason":"premise"},{"node":"write-path-is-self-consistent-by-design","truth_value":"IN","reason":"SL justification valid","antecedents":["structural-discipline-prevents-consistency-bugs","write-time-decisions-are-lightweight-but-binding"],"label":"Data-level structural invariants and control-level routing simplicity jointly eliminate write-path consistency bugs"},{"node":"structural-discipline-prevents-consistency-bugs","truth_value":"IN","reason":"SL justification valid","antecedents":["immutable-values-prevent-aliasing-bugs","multi-structure-sync-invariant"],"label":"immutability (KV vector clocks, leaderboard reinsert) prevents mutation aliasing; multi-structure sync (consistent hashing, leaderboard) prevents index divergence — leaderboard uses BOTH, showing these disciplines are complementary"},{"node":"immutable-values-prevent-aliasing-bugs","truth_value":"IN","reason":"SL justification valid","antecedents":["kv-vector-clock-immutable","leaderboard-update-by-remove-reinsert"],"label":"Immutable-value semantics eliminate shared-reference aliasing at the cost of allocation overhead"},{"node":"kv-vector-clock-immutable","truth_value":"IN","reason":"premise"},{"node":"leaderboard-update-by-remove-reinsert","truth_value":"IN","reason":"premise"},{"node":"multi-structure-sync-invariant","truth_value":"IN","reason":"SL justification valid","antecedents":["ch-triple-bookkeeping","leaderboard-dual-index-consistency"],"label":"Multi-structure sync is a recurring correctness burden where the failure mode is silent divergence"},{"node":"ch-triple-bookkeeping","truth_value":"IN","reason":"premise"},{"node":"leaderboard-dual-index-consistency","truth_value":"IN","reason":"premise"}]}}