WhatsApp fidelity β senders unnamed, replies and @-mentions the parser threw away β and the disclosure rule it exposed: every disclosure item is the same rule broken in a different place, a serving read that filters on the tier axis and leaves the audience axis to whoever remembers.
Both rows this cohort ever held are closed β see History. Nothing latent is currently open on this track.
Both rows this cohort ever held are closed β see History. Nothing tooling-related is currently open on this track.
Irreversibility β leverage β exposure β degradation β latent β tooling. Each rung only breaks ties left by the one above it.
π What it deliberately ignores: issue age, filing order, how well understood, how cheap. Within rung 3, a sized item outranks an unsized one. #3025 earns no rung (an improvement, not a defect) and sorts below every measured defect. Several rows within rungs 3 and 4 are mutually tied under every rule above β their internal order is inherited, not derived.
#3128. A closed issue named as current work is the drift this section exists to surface β re-derive the prose, or move the reference into History.
Evidence below is generated from the read-only audit of 2026-08-29 and reconciled against the open issues at build time. Every claim cites the issue it came from. Nothing here is a decision β rulings stay in the prose above, which is written by hand.
Repair has not run; the population is smaller than the title. Prod, 2026-08-29: whatsapp_jid_mappings total = 1,143. Rows with no usable name at all (push_name, verified_name and profile_name all null/blank) = **289**, not 671; of those, 287 sit at profile_attempts = 3 (the cap) β 231 with display_name_source='raw_jid', 56 with 'phone_number' β and only 2 at profile_attempts = 0. Every one of the 289 has person_node_id resolving to a NULL nodes_v2 display_name in the left join, i.e. no linked person node. So step 2 (attempt-cap reset) has demonstrably not been performed. Separately 689 of 1,143 mappings overall are at profile_attempts >= 3, and 35 sit at profile_fetch_status='pending'. Naming residue elsewhere is near-zero: nodes_v2 person rows with display_name/canonical_name matching 'Unknown%' = 0; person_identities matching = 2.
origin/main:backend/app/slices/graph_building/constants.py:364-374 β V2_NODE_DEDUP_THRESHOLD still holds exactly 8 keys (company, person, topic, skill, location, product, interest, trait); none of the 11 content types. origin/main:backend/app/slices/graph_building/phases/graph_dedup_phase.py:562 still reads `dedup_types = [t for t in present_types if t in V2_NODE_DEDUP_THRESHOLD]`, so those types are silently filtered out of every dedup pass. Prod re-measurement (supabase execute_sql, schema-qualified public.nodes_v2, 2026-08-29): the 11 types now total 46,276 nodes; grouping by canonical_name with the trailing `::<uuid>` conversation discriminator stripped gives 5,137 nodes sitting in a group with a sibling (11%). The leak half: bare (non-suffixed) nodes = 3,185, of which only 17 carry >1 provenance_conversations; only 2 nodes fleet-wide carry the `properties.leak_fix_batch` stamp (both with source_message_id NULL), so the null-the-anchor remediation described in the comments was never run at scale β the population it targeted has instead shrunk on its own (2,373 bare multi-conversation nodes at filing vs 17 now).
3 assessed issues closed since the audit and are not shown β a closed issue's evidence is history, and printing it as current is how a page starts lying.
The track-order.json decided column records this track's standing owner rulings, cited below alongside the page's other notes:
Closed on the label (18) β 9 prior plus the 2026-08-16 PR batch:
The WIRE-TRUTH PR batch (2026-08-16). PR #3336 (the Hidden Connections card, issue #3283), PR #3339 (the three matchers, issue #3284), PR #3340 (the scope backlog, issue #3124), PR #3349 (the feed aggregate, issue #3194), PR #3345 (the SQL lane chips, issue #3170), PR #3346 (the scope-precision audit, issue #3264), PR #3342 (the pushName fix-forward, issue #3054), PR #3343 (file-export replies, issue #3051), PR #3344 (LID mentions, issue #3012), PR #3347 (reply-edge attribution, issue #3025). Off-label: PR #3338 (issue #3135), PR #3341 (issue #3285), PR #3337 (issue #3141), PR #3355 (issue #3128, since reopened β see the Enterprise cohort). PR #3362 closed issue #3118 (answer-node carrier) the following day, 2026-08-17. Issue #3190 (the done-condition tracker) closed the same day as the batch once its three named surfaces β #3170, #3187, #3188 β were all gated. The status-track redesign (PR #3357) restructured this page the same day.
#3138 close-out figures. 7,041 of 7,460 reachable ask rows carry a restrictive audience; the 419 remainder split into 282 with no source_message_id (the population #3118 must rule on) and 137 with an unrestricted carrier (needing no ruling). Only 7,460, 7,041 and 282 were measured; 137 is derived by subtraction.
Fixed, issue stayed open. #3117 (FindBridges profile) β the gate shipped in PR #3134 (0f13aedd) but the issue is still OPEN on track:ama-disclose; exposure was 27Γ larger than first recorded (41,490 of 74,660 reachable Regina pairs, measured 2026-08-07).
What shipped. #2906 (Q&A splice), #3019 (contextInfo declaration), #3022 (forensic record β raw_payload now stores the verbatim body), #3023 + #3024 (reply resolution).
What this page does not claim. Regina's open-asks surface is unobserved (all three audit rows are a personal tenant); the 0/4 FULL telemetry is #3276 on VIEWER-TRUTH; the bridge figure is a reachable pool, not per-request exposure; the choke-point census is a floor (Python only β SQL strings, prompt templates and the client would not appear); post-fix telemetry is still thin.
#3245 (the floor-invariant no-op) closed 2026-08-16 via PR #3261 (prospective only) β its legacy-row step is #3334.
Nightly-nudge gating β closed 2026-09-01. Issue #3116 (event extraction had no tier or disclosure gating) stayed open past the 2026-08-16 batch pending live-exposure evidence: a 2026-08-07 prod measurement found the gap real but exposure structurally zero (no scope-classified tenant had nudges enabled). It closed at the 2026-08-29 track reconciliation once proactive/disclosure.py shipped and was wired into the nudge substrate (substrate.py:345,477) β the NUDGE track itself remains on hold by owner decision, but the gating hole this issue tracked is fixed.