mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
Query keys land in the central factory before any surface reads them, because the lint rule that bans a bare array means the first component listing visits cannot compile without a slot. There is deliberately no server-side cache invalidator beside them: nothing cached reads a visit yet, and a sweep over caches nobody reads would look like coverage without being any. The module says so at the place a reader would go looking. The OpenAPI table publishes seven paths with everything resolved — the practitioner as an object rather than an id, each link with its label and date, the appointment's next due instant computed. What it does not publish is the reminder origin enum, which still reads with two members: the third value exists in storage and reaches no response, because every preventive-care read excludes it. Keeping that contract closed is why the exclusion is worth a guard. Classifying visits under the existing health-background domain widens what that domain grants. Somebody who shared it so a relative could see an allergy list now also shares every appointment and the address book. That is stated where it is agreed to rather than left in a code comment: the consent screen's sentence names visits and practices, in all six locales, and the activity feed gains a verb line for each of the eight new delegated actions so an owner reads what was done rather than 'made a change'.
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). Seeapi/README.mdfor the preview commands. Also home to the MCP-server contract:api/mcp-capabilities.md(tools, resources, prompts, write model) andapi/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 ondocs.healthlog.dev. Includesself-hosting/mcp.md— enabling the off-by-default MCP connector and pointing Claude.ai / ChatGPT / Claude Desktop at it, andself-hosting/sso.md— OIDC SSO login: IdP setup, the identity-pinning security model,OIDC_ONLYconsequences, and the break-glass runbook. Alsoself-hosting/geolite2.md— bringing your own offline GeoLite2 databases viaGEOLITE2_DIRinstead of sending login IPs to a third-party lookup. Andself-hosting/account-sharing.md— letting one account on the instance open another's health record: the three access levels, the eight sections a grant can be narrowed to, managed profiles for somebody with no login and the guardians who look after them, what revocation does and does not undo, and which trust properties of the instance are unchanged by any of 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.