{"results":[{"id":"adaptation-is-bidimensional-across-frequency-and-risk","text":"The architecture adapts along two largely independent dimensions: cost allocation adapts to access frequency (the celebrity threshold converts follower count into a write-vs-read cost placement decision, partitioning authors between eager push and read-time pull), while safety mechanisms adapt to domain risk (explicit locking for financial domains, coordination-free structural discipline for social domains). Both adaptations appear structurally encoded in module design rather than being purely runtime decisions, though the celebrity threshold itself operates as a runtime decision boundary.","truth_value":"IN","justification_count":1,"dependent_count":0,"challenges":[],"last_reviewed":"2026-06-06T06:26:57","review_result":"invalid","source_type":""},{"id":"adaptation-over-invention","text":"The codebase consistently repurposes existing abstractions for special cases — Python's min-heap via sign negation for descending order, regular topics as dead-letter queues, first message ID as thread ID — rather than introducing new data structures or infrastructure.","truth_value":"IN","justification_count":1,"dependent_count":2,"challenges":[],"last_reviewed":"2026-06-06T06:26:57","review_result":"pass","source_type":""},{"id":"all-stateful-generators-thread-safe","text":"Every generator with mutable state (Snowflake, Ticket, Flake, ULID, Coordinator) protects it with a `threading.Lock`.","truth_value":"IN","justification_count":0,"dependent_count":1,"challenges":[],"last_reviewed":null,"review_result":null,"source_type":""},{"id":"architectural-coherence-is-bounded-at-the-write-read-split","text":"The write-available, read-correct architecture is coherent exactly at the structural boundary: everything within the structural safety net (immutability, construction-based guarantees, deterministic testing) reinforces itself in a self-consistent system, but coherence cannot extend past what structural enforcement reaches — the write-read split is simultaneously the source of the architecture's strength and the edge where its guarantees end.","truth_value":"OUT","justification_count":1,"dependent_count":1,"challenges":[],"last_reviewed":"2026-06-05T18:21:49","review_result":"pass","source_type":""},{"id":"architectural-trinity-of-correctness-scaling-and-cost","text":"Self-reinforcing correctness, coordination-free scaling, and robust cost allocation form a composable architectural trinity: modules independently generate and verify correctness (closed loop), scale by adding logical indirection without coordination (accumulative state), and safely reallocate work between write and read paths (forward-only semantics prevent cost-shifting from undermining either property).","truth_value":"IN","justification_count":1,"dependent_count":1,"challenges":[],"last_reviewed":"2026-06-06T06:26:57","review_result":"pass","source_type":""},{"id":"architecture-adapts-mechanisms-to-domain-risk","text":"The architecture systematically adapts its safety mechanisms to domain risk across two independent dimensions: coordination strategy scales with correctness cost (explicit locking for financial domains vs coordination-free construction elsewhere), and cost allocation between write and read paths is robust through forward-only guarantees that prevent shifted computation from requiring re-verification — both the presence and weight of safety mechanisms track the consequence of failure.","truth_value":"IN","justification_count":1,"dependent_count":2,"challenges":[],"last_reviewed":"2026-06-06T06:26:57","review_result":"pass","source_type":""},{"id":"architecture-is-correctly-self-limiting","text":"The architecture's correctness properties are self-limiting: coherence holds at the structural enforcement boundary (not beyond), and read correctness is structural rather than temporal — the system provides guarantees precisely where they can be mechanically enforced, while temporal consistency on the read path remains an accepted rather than guaranteed property.","truth_value":"OUT","justification_count":1,"dependent_count":1,"challenges":[],"last_reviewed":"2026-06-05T18:21:49","review_result":"invalid","source_type":""},{"id":"assumed-invariants-are-unenforced","text":"Critical correctness invariants exist only as developer assumptions, not as code-enforced constraints: the KV store relies on W+R>N quorum overlap without validating it, and the payment system assumes atomic balance checks despite non-atomic reads — both creating correctness guarantees that hold only when callers cooperate, with silent violations under edge conditions the code structurally permits.","truth_value":"OUT","justification_count":1,"dependent_count":8,"challenges":[],"last_reviewed":"2026-06-05T18:21:49","review_result":"pass","source_type":""},{"id":"autocomplete-decay-is-read-time","text":"Time decay is computed lazily at query time in `search_prefix` using `raw_freq * decay_factor^hours_elapsed`; raw frequencies stored in the trie are never modified by decay.","truth_value":"IN","justification_count":0,"dependent_count":1,"challenges":[],"last_reviewed":null,"review_result":null,"source_type":""},{"id":"bloom-filter-prevents-frontier-duplicates","text":"Every URL is added to the Bloom filter before being pushed into the frontier, so the frontier never enqueues a URL that has already been seen (modulo false positives, which cause URLs to be permanently skipped).","truth_value":"IN","justification_count":0,"dependent_count":1,"challenges":[],"last_reviewed":null,"review_result":null,"source_type":""},{"id":"ch-get-nodes-deduplicates-physical","text":"`get_nodes` walks clockwise and skips virtual nodes belonging to already-collected physical nodes, guaranteeing distinct physical nodes for replication.","truth_value":"IN","justification_count":0,"dependent_count":1,"challenges":[],"last_reviewed":null,"review_result":null,"source_type":""},{"id":"chat-dual-ordering-scheme","text":"Messages carry both per-conversation sequence numbers (for pagination and read cursors) and global Lamport timestamps (for causal ordering), serving different purposes by design.","truth_value":"IN","justification_count":0,"dependent_count":0,"challenges":[],"last_reviewed":null,"review_result":null,"source_type":""},{"id":"chat-fanout-on-write","text":"`_deliver` routes messages at send time based on recipient presence: online/away users get messages in `inbox`, offline users in `offline_queue` — this is fan-out-on-write, not fan-out-on-read.","truth_value":"IN","justification_count":0,"dependent_count":2,"challenges":[],"last_reviewed":null,"review_result":null,"source_type":""},{"id":"chat-group-size-cap-500","text":"`add_member` raises `ValueError` if the group already has 500 or more members, enforcing a hard cap on group size.","truth_value":"IN","justification_count":0,"dependent_count":0,"challenges":[],"last_reviewed":null,"review_result":null,"source_type":""},{"id":"chat-lamport-clock-is-thread-safe","text":"The Lamport clock and per-conversation sequence numbers are protected by threading.Lock, making all clock/sequence increments atomic across send_message, send_group_message, add_member, and remove_member.","truth_value":"IN","justification_count":0,"dependent_count":0,"challenges":[],"last_reviewed":null,"review_result":null,"source_type":""},{"id":"chat-monotonic-read-progress","text":"Chat combines per-conversation sequence numbers with monotonic read cursors, guaranteeing that once a message is marked read, no earlier message in that conversation can regress to unread.","truth_value":"IN","justification_count":1,"dependent_count":1,"challenges":[],"last_reviewed":"2026-06-05T18:21:49","review_result":"pass","source_type":""},{"id":"chat-read-cursors-monotonic","text":"`mark_read` only advances the read cursor; it silently ignores attempts to set a lower sequence number, preventing regression.","truth_value":"IN","justification_count":0,"dependent_count":1,"challenges":[],"last_reviewed":null,"review_result":null,"source_type":""},{"id":"codebase-architecture-is-write-available-read-correct","text":"The codebase converges on a write-available, read-correct architecture: writes are structurally simple, irrevocable, and forward-only (maximizing availability), while reads absorb all deferred correctness work (reconciliation, lazy computation, conflict resolution), with structural enforcement and selective pre-computation preventing the read-path cost from becoming unsustainable.","truth_value":"OUT","justification_count":1,"dependent_count":5,"challenges":[],"last_reviewed":"2026-06-05T18:21:49","review_result":"insufficient","source_type":""},{"id":"complexity-increases-both-read-cost-and-read-risk","text":"As system distribution complexity increases, the read path becomes simultaneously more expensive (absorbing deferred consistency, lazy computation, and soft-delete interpretation costs) and more vulnerable (temporal correctness gaps and permissive safety enforcement compound at the same boundaries) — creating a correlation where the most burdened reads are also the least protected.","truth_value":"OUT","justification_count":1,"dependent_count":1,"challenges":[],"last_reviewed":"2026-06-05T18:21:49","review_result":"pass","source_type":""},{"id":"conflict-resolution-is-forward-only-at-all-distribution-levels","text":"Conflict resolution at all distribution levels resolves concurrency conflicts by moving forward rather than rolling back: single-node optimistic locking retries with updated state, multi-replica sibling retention adds all concurrent versions, and multi-device version vectors create new version entries — no conflict resolution mechanism discards or reverses already-committed state, containing temporal gaps without reversal.","truth_value":"IN","justification_count":1,"dependent_count":2,"challenges":[],"last_reviewed":null,"review_result":null,"source_type":""}],"count":115,"limit":20,"offset":0}