{"id":"two-tier-state-preserves-authority-under-monotonicity","text":"The codebase exhibits a pattern where state accumulates irreversibly (append-only, monotonically growing) while resource bounding is achieved through fidelity-reduction strategies — deterministic truncation (bounded deques, version pruning, history caps) and probabilistic approximation (Bloom filters, SimHash, HyperLogLog, Morris counters). This suggests a two-tier model where authoritative state grows without bound while derived or cached state is bounded and lossy, though the antecedents do not explicitly classify which specific structures (e.g., ledgers vs. feed caches) belong to which tier.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["state-is-irreversibly-accumulative","resource-bounding-uses-dual-fidelity-strategies"],"outlist":["wallet-creation-silently-overwrites"],"label":"monotonic authority + bounded derivation coexist; wallet creation overwrite would violate the authority tier's append-only guarantee"}],"dependents":["state-is-bounded-and-authority-preserving"],"metadata":{"last_reviewed":"2026-06-06T06:26:57","review_result":"invalid"},"created_at":"","updated_at":"","reviewed_at":"","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"two-tier-state-preserves-authority-under-monotonicity","truth_value":"IN","reason":"SL justification valid","antecedents":["state-is-irreversibly-accumulative","resource-bounding-uses-dual-fidelity-strategies"],"label":"monotonic authority + bounded derivation coexist; wallet creation overwrite would violate the authority tier's append-only guarantee","outlist":["wallet-creation-silently-overwrites"]},{"node":"state-is-irreversibly-accumulative","truth_value":"IN","reason":"SL justification valid","antecedents":["state-is-monotonically-accumulative","no-operation-is-truly-reversible"],"label":"Two independently derived depth-5 perspectives on the same foundational invariant — accumulation and irreversibility are the same constraint viewed from opposite directions"},{"node":"state-is-monotonically-accumulative","truth_value":"IN","reason":"SL justification valid","antecedents":["stream-processing-correctness-is-doubly-forward-only","deletion-is-append-only-across-all-contexts"],"label":"Forward-only processing + append-only deletion = no operation reduces information content — gated because wallet creation silently replaces existing wallet state, destroying balance history","outlist":["wallet-creation-silently-overwrites"]},{"node":"stream-processing-correctness-is-doubly-forward-only","truth_value":"IN","reason":"SL justification valid","antecedents":["dedup-and-finalization-are-coordinated","forward-only-design-prevents-regression-and-maximizes-progress"],"label":"Dedup-finalization coordination and forward-only state ratchets are complementary mechanisms that together prevent both duplication and revision"},{"node":"dedup-and-finalization-are-coordinated","truth_value":"IN","reason":"SL justification valid","antecedents":["dedup-outlives-aggregation-window","watermark-finalization-is-irreversible"],"label":"Irreversible finalization demands that dedup outlive the window — these two depth-1 conclusions are not independent but structurally dependent"},{"node":"dedup-outlives-aggregation-window","truth_value":"IN","reason":"SL justification valid","antecedents":["dedup-pruning-uses-2x-lateness","watermark-drives-finalization"],"label":"The 2× multiplier ensures dedup coverage extends beyond the point where corrections would be impossible"},{"node":"dedup-pruning-uses-2x-lateness","truth_value":"IN","reason":"premise"},{"node":"watermark-drives-finalization","truth_value":"IN","reason":"premise"},{"node":"watermark-finalization-is-irreversible","truth_value":"IN","reason":"SL justification valid","antecedents":["watermark-drives-finalization","window-lifecycle-one-directional","no-window-merging-or-retraction"],"label":"Three properties compose into hard irreversibility: watermark-only trigger + one-way lifecycle + no retraction"},{"node":"window-lifecycle-one-directional","truth_value":"IN","reason":"premise"},{"node":"no-window-merging-or-retraction","truth_value":"IN","reason":"premise"},{"node":"forward-only-design-prevents-regression-and-maximizes-progress","truth_value":"IN","reason":"SL justification valid","antecedents":["state-ratchets-prevent-regression-across-domains","pipeline-processing-maximizes-forward-progress"],"label":"State ratchets and forward-progress pipelines are complementary mechanisms — ratchets prevent regression in stateful systems, pipelines prevent regression in dataflow systems"},{"node":"state-ratchets-prevent-regression-across-domains","truth_value":"IN","reason":"SL justification valid","antecedents":["chat-monotonic-read-progress","watermark-finalization-is-irreversible"],"label":"chat read cursors are monotonic (never re-mark as unread), aggregation windows follow OPEN→CLOSED→FINALIZED with no reversal — both are state ratchets that make backwards movement structurally impossible"},{"node":"chat-monotonic-read-progress","truth_value":"IN","reason":"SL justification valid","antecedents":["chat-dual-ordering-sequence-and-lamport","chat-read-cursors-monotonic"],"label":"Sequence-number ordering + monotonic cursors create an irreversible read-progress guarantee"},{"node":"chat-dual-ordering-sequence-and-lamport","truth_value":"IN","reason":"premise"},{"node":"chat-read-cursors-monotonic","truth_value":"IN","reason":"premise"},{"node":"pipeline-processing-maximizes-forward-progress","truth_value":"IN","reason":"SL justification valid","antecedents":["video-pipeline-maximizes-useful-work-on-failure","watermark-finalization-is-irreversible"],"label":"Video pipeline (branch-independent failure containment) and stream processing (irreversible finalization) both embody the same forward-only processing principle"},{"node":"video-pipeline-maximizes-useful-work-on-failure","truth_value":"IN","reason":"SL justification valid","antecedents":["dag-failure-cascade","youtube-pipeline-dag-structure"],"label":"DAG topology + selective cascade means a thumbnail failure doesn't block a successful transcode"},{"node":"dag-failure-cascade","truth_value":"IN","reason":"premise"},{"node":"youtube-pipeline-dag-structure","truth_value":"IN","reason":"premise"},{"node":"deletion-is-append-only-across-all-contexts","truth_value":"IN","reason":"SL justification valid","antecedents":["deletion-strategy-scales-with-distribution","append-only-semantics-span-storage-and-streaming"],"label":"Deletion scales with distribution (depth-3, covering single/distributed) and append-only spans storage/streaming (depth-2) — combining shows append-only is the universal mutation model"},{"node":"deletion-strategy-scales-with-distribution","truth_value":"IN","reason":"SL justification valid","antecedents":["soft-delete-is-dual-purpose","kv-anti-entropy-covers-writes-and-deletes"],"label":"Soft delete for structure preservation and tombstones for distributed convergence are complementary layers that compose"},{"node":"soft-delete-is-dual-purpose","truth_value":"IN","reason":"SL justification valid","antecedents":["soft-delete-preserves-structural-invariants","soft-delete-prevents-distributed-resurrection"],"label":"Both depth-1 soft-delete conclusions identify different motivations (structural invariants vs. resurrection prevention) for the same technique, revealing dual utility"},{"node":"soft-delete-preserves-structural-invariants","truth_value":"IN","reason":"SL justification valid","antecedents":["chat-soft-delete-preserves-sequence","autocomplete-delete-is-soft"],"label":"chat keeps deleted messages with `[deleted]` content to preserve sequence numbering; autocomplete zeroes frequency without removing trie nodes to preserve tree structure — both are single-node structural concerns distinct from distributed anti-resurrection"},{"node":"chat-soft-delete-preserves-sequence","truth_value":"IN","reason":"premise"},{"node":"autocomplete-delete-is-soft","truth_value":"IN","reason":"premise"},{"node":"soft-delete-prevents-distributed-resurrection","truth_value":"IN","reason":"SL justification valid","antecedents":["kv-store-deletes-use-tombstones","s3-delete-marker-hides-not-removes"],"label":"Both systems independently arrived at write-over-delete to prevent resurrection from unsynchronized replicas"},{"node":"kv-store-deletes-use-tombstones","truth_value":"IN","reason":"premise"},{"node":"s3-delete-marker-hides-not-removes","truth_value":"IN","reason":"premise"},{"node":"kv-anti-entropy-covers-writes-and-deletes","truth_value":"IN","reason":"SL justification valid","antecedents":["kv-read-path-is-self-healing","soft-delete-prevents-distributed-resurrection"],"label":"without read repair, write divergence persists; without tombstones, deletes get resurrected — both mechanisms are independently necessary for full convergence"},{"node":"kv-read-path-is-self-healing","truth_value":"IN","reason":"SL justification valid","antecedents":["kv-read-repair-on-get","kv-node-stores-sibling-versions"],"label":"Read repair + sibling detection make the read path an active consistency mechanism, not just a query"},{"node":"kv-read-repair-on-get","truth_value":"IN","reason":"premise"},{"node":"kv-node-stores-sibling-versions","truth_value":"IN","reason":"premise"},{"node":"append-only-semantics-span-storage-and-streaming","truth_value":"IN","reason":"SL justification valid","antecedents":["append-only-versioning-makes-restore-non-destructive","watermark-finalization-is-irreversible"],"label":"Storage and streaming independently converge on append-only/no-retraction semantics for the same underlying reason: preventing historical revision"},{"node":"append-only-versioning-makes-restore-non-destructive","truth_value":"IN","reason":"SL justification valid","antecedents":["s3-version-list-append-only","gdrive-restore-creates-new-version"],"label":"Append-only version lists make restore a forward operation, not a rollback"},{"node":"s3-version-list-append-only","truth_value":"IN","reason":"premise"},{"node":"gdrive-restore-creates-new-version","truth_value":"IN","reason":"premise"},{"node":"no-operation-is-truly-reversible","truth_value":"IN","reason":"SL justification valid","antecedents":["deletion-is-append-only-across-all-contexts","forward-only-extends-to-failure-handling"],"label":"Deletion and failure recovery are the two operations that semantically suggest reversal, but both are implemented as forward-only state additions — the system's two \"undo-like\" paths are both accumulative"},{"node":"forward-only-extends-to-failure-handling","truth_value":"IN","reason":"SL justification valid","antecedents":["forward-only-design-prevents-regression-and-maximizes-progress","retry-escalates-to-permanent-failure"],"label":"The d3 forward-only node covers normal state progression; the d1 retry node covers failure progression — the emergent property is that both follow the same no-rollback principle"},{"node":"retry-escalates-to-permanent-failure","truth_value":"IN","reason":"SL justification valid","antecedents":["notif-exponential-backoff-with-jitter","retry-converts-timeout-to-failure"],"label":"Backoff prevents cascading load; finite retry count ensures eventual resolution (success or permanent failure) rather than indefinite limbo"},{"node":"notif-exponential-backoff-with-jitter","truth_value":"IN","reason":"premise"},{"node":"retry-converts-timeout-to-failure","truth_value":"IN","reason":"premise"},{"node":"resource-bounding-uses-dual-fidelity-strategies","truth_value":"IN","reason":"SL justification valid","antecedents":["memory-is-bounded-at-the-cost-of-silent-information-loss","probabilistic-dedup-trades-memory-for-coverage"],"label":"deterministic truncation (time-ordered) and probabilistic approximation (set-membership) are complementary bounding strategies"},{"node":"memory-is-bounded-at-the-cost-of-silent-information-loss","truth_value":"IN","reason":"SL justification valid","antecedents":["bounded-collections-trade-completeness-for-memory","probabilistic-structures-trade-accuracy-for-space"],"label":"Deterministic truncation and probabilistic approximation are two faces of the same bounded-memory commitment"},{"node":"bounded-collections-trade-completeness-for-memory","truth_value":"IN","reason":"SL justification valid","antecedents":["news-feed-cache-is-bounded-deque","nearby-friends-history-bounded-100","url-shortener-click-history-bounded","gdrive-version-list-bounded"],"label":"Silent eviction via capped collections is the repo's standard memory-bounding pattern"},{"node":"news-feed-cache-is-bounded-deque","truth_value":"IN","reason":"premise"},{"node":"nearby-friends-history-bounded-100","truth_value":"IN","reason":"premise"},{"node":"url-shortener-click-history-bounded","truth_value":"IN","reason":"premise"},{"node":"gdrive-version-list-bounded","truth_value":"IN","reason":"premise"},{"node":"probabilistic-structures-trade-accuracy-for-space","truth_value":"IN","reason":"SL justification valid","antecedents":["hll-default-precision","morris-counter-32-estimators","simhash-threshold-default-3"],"label":"HLL, Morris, and SimHash all trade tunable accuracy for sub-linear space"},{"node":"hll-default-precision","truth_value":"IN","reason":"premise"},{"node":"morris-counter-32-estimators","truth_value":"IN","reason":"premise"},{"node":"simhash-threshold-default-3","truth_value":"IN","reason":"premise"},{"node":"probabilistic-dedup-trades-memory-for-coverage","truth_value":"IN","reason":"SL justification valid","antecedents":["crawler-three-layer-dedup","probabilistic-structures-trade-accuracy-for-space"],"label":"Each dedup layer uses a different probabilistic tradeoff; bounded memory is the unifying constraint across all three"},{"node":"crawler-three-layer-dedup","truth_value":"IN","reason":"SL justification valid","antecedents":["crawler-layered-dedup-bloom-then-simhash","bloom-filter-prevents-frontier-duplicates","crawler-normalize-once-convention"],"label":"Each layer catches what the others miss — normalization handles canonicalization, Bloom handles exact revisits, SimHash handles content clones"},{"node":"crawler-layered-dedup-bloom-then-simhash","truth_value":"IN","reason":"premise"},{"node":"bloom-filter-prevents-frontier-duplicates","truth_value":"IN","reason":"premise"},{"node":"crawler-normalize-once-convention","truth_value":"IN","reason":"premise"}]}}