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