Files
HealthLog/docs
Marc-André Bombeck ef1b5f5de9 chore(release): v1.28.18 — Google Health sleep reads its true total
Google re-scores a night after the fact, and the sync re-reads recent nights to
pick that up. The per-segment sleep externalId keyed on a volatile anchor (the
session end instant plus a positional index), so a re-read minted fresh ids and
landed as a SECOND parallel copy of the night instead of overwriting the first —
the night-total then summed both (a real 7h35 night could read as 10h+).

Each segment now keys on a stable identity: the session's own resource id (as the
workout mapper already does) plus the segment's own start, dropping the shifting
end anchor and the positional index. A mere re-classification of a block now
updates in place. And before writing a re-read night, the sync soft-deletes any
superseded rows left in that night's window (bounded to the session's own span,
never a fresh row), so the night collapses to one canonical set.

Nights already stored with duplicates heal as they are re-read within the sync
overlap; scripts/repair-google-health-sleep.ts re-syncs the full history at once
for older nights (dry-run by default, --run to execute).
2026-07-10 13:08:55 +02:00
..
2026-06-19 22:20:31 +02:00

docs/ — internal reference + operator playbooks

The user-facing documentation lives at https://docs.healthlog.dev — that's the canonical surface for self-hosting guides, integration walkthroughs, AI-provider setup, and the doctor-report workflow.

The files in this directory are the internal operator playbooks, audit notes, and machine-readable specs that ship alongside the source:

  • api/ — the OpenAPI 3.1 spec for the native-client subset (iOS DTO codegen target). See api/README.md for the preview commands. Also home to the MCP-server contract: api/mcp-capabilities.md (tools, resources, prompts, write model) and api/mcp-skills.md (building a connector / skill).
  • ops/ — backup / restore + encryption-key-rotation playbooks. These are the runbooks an operator reaches for during an incident.
  • self-hosting/ — horizontal-scaling notes (HEALTHLOG_PROCESS_TYPE=web|worker|all) and the deploy-pipeline recipe. Routine install steps stay on docs.healthlog.dev. Includes self-hosting/mcp.md — enabling the off-by-default MCP connector and pointing Claude.ai / ChatGPT / Claude Desktop at it.
  • migration/ — release-by-release migration notes. Read the entry for the version you're upgrading from.
  • audit/ — per-release audit summaries archived for forensic traceability.
  • apple-store-connect-checklist.md — the iOS submission gate.
  • doctor-report.md — PDF generator design notes.
  • codex-protocol-spec.md — Codex / ChatGPT OAuth protocol reverse-engineering notes.
  • ui-guidelines.md — UI / a11y house style.

If you're a self-hoster looking to spin up an instance, start at https://docs.healthlog.dev or jump to the Quick Start in the project README.