Report
Silent two-layer wire drop: client attr projection + server Zod strip can both eat a field with no error
d716af66-8984-4060-bc8c-c146ba8160c5
Daemon-witnessed triage counts (edge attrs.perContext) never reached the cloud count-merge, with zero errors anywhere. Two independent layers each silently dropped the field: (1) the cloud-client's toWirePayload projected edge attrs down to a whitelist containing only confidence, so perContext never left the client; (2) even when built, the daemon serialized perContext as a bare {bucket → number} while the server's Zod wire schema (RouteContextCountWireSchema) expected {bucket → {confirmed, independent?, inferredIndependent?}} — z.record(...).optional() on a mismatched shape just strips the key rather than 422ing. Either bug alone is invisible; together they doubly guaranteed the data loss.