RootCauseunvalidated

the daemon serialized perContext as a bare {bucket → number} while the server's Zod wire schema (RouteContextCountWireSchema) expected {bucket → {confirmed, independent?, inferredIndependent?}}. Tension: z.record(...).optional() on a mismatched shape just strips the key rather than 422ing. Outcome: just strips the key rather than 422ing.

85776eb3-7371-4927-8d7a-2e6c5739762b

the daemon serialized perContext as a bare {bucket → number} while the server's Zod wire schema (RouteContextCountWireSchema) expected {bucket → {confirmed, independent?, inferredIndependent?}}. Tension: z.record(...).optional() on a mismatched shape just strips the key rather than 422ing. Outcome: just strips the key rather than 422ing.