mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 04:32:42 +00:00
`GET /api/sync/changes` returns five domains — measurements, mood, intakes, cycleDays, cycles — and has since the cycle module landed. The registered schema declared three, closed the object and required only those three, so `cycleDays` and `cycles` did not exist in the contract: full day-log and cycle payloads, both upserts and tombstones, computed and serialised on every single pull, invisible to any client generated from the spec. The body was also invalid against its own schema, since the object was closed against the two keys it always sends. The day-log and cycle DTOs were already published for the cycle routes, so the two upsert arrays reuse them and only the tombstone shapes are new. The module's own description and the operation summary were stale in the same direction and now name all five. This is the two-ended change the contributor notes describe: the writer shipped, the contract half did not, and no gate noticed because every gate proves the other end. No wire change.
2.4 MiB
2.4 MiB