Skip to content

TPD CXO fill-gap NOT fixed in production: ~40-transport ceiling on high-degree visors #4088

Description

@0pcom

The #4009–4012 CXO fill-gap work does not hold in production. Measured 2026-08-22 (read-only, via svc tpd / tp ls):

visor local transports TPD knows coverage
0323272a… (local) ~640 42–48 ~7%
02f9aa58… (Frankfurt) 314 39 ~12%

TPD saturates near ~40 per visor regardless of true degree (local has 638, Frankfurt 314, both land at ~40). Confirmed across all fetch paths — CXO cache (47), authoritative --http --no-cxo (42), and the dedicated /transports/stats/<pk> count endpoint (48) — so it's TPD-side stored-data truncation, not subscriber-cache lag or list pagination.

TPD's ID set is essentially a strict subset of the visor's live set (42 of 43 present locally; 598 local IDs absent from TPD; 1 stale TPD-only ID).

Why it matters: this blocks moving dmsg-disc (and TPD) registration onto CXO — the intended fix for the sequence-conflict registration storm (#4086) is 'pending it working for TPD', and TPD's CXO fill is the thing that isn't working.

Caveat to investigate: every local transport shows mode in (responder edge); if registration is initiator-driven, part of the gap may be unregistered responder-edges rather than pure CXO ingest truncation. But the ~40 ceiling on both the count endpoint and the list points at TPD-side truncation of high-degree visors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions