sessionHistoryValueSchema declared only events/hasMore, so the fetch carrier's Zod parse stripped the tail page's todos projection — the in-process and fixture paths carried it while a real WebApiClient lost it. The fetch-carrier spec pins the field through the wire round trip.