Ctrl K
ComunidadGuías…

CHANGELOG.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Changelog

All notable changes to GlucoPilot are documented here. The format is based on
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project aims to
follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- **Install as an app** — GlucoPilot has a web app manifest, icons and a
  service worker, so "Install app" on Android (and Add to Home Screen on iOS)
  opens it in its own window, starting on the dashboard, with the blood-drop
  icon. With no network the
  installed app shows a "No connection" page. The service worker caches
  nothing; pages and health data always come from the server.
- **Pump settings from Glooko** — carb ratios, correction factor (ISF), targets,
  correction threshold, active insulin time, max bolus/basal and basal programs,
  synced once a day from Glooko's settings snapshots. Shown read-only on the
  Insulin and Connections pages and in the Visit Report, each with the
  snapshot's as-of date and age; the Companion can answer from the latest one.

### Changed
- **One report** — the Clinician Brief is merged into the Visit Report. A
  "For" selector (or `/report?for=<specialty>`) gives the Brief's specialty
  views: each shows its own data domains, with labs and documents filtered by
  its keywords and insurance left out. Lab results, imaging studies and other
  clinical documents link to the uploaded document they came from, and the
  report lists the clinical documents on file. `/brief` now opens the Visit
  Report; Share Export still builds briefs.
- **Editable discussion points** — the owner edits the Visit Report's "Points
  to discuss" before printing; the edit is saved per view and prints in place
  of the suggested points until cleared. Suggested points no longer raise
  correlations between wearable signals and glucose.
- **Visit Report printing** — no forced page break after the summary, so a
  long summary no longer leaves a mostly blank page; section headings stay
  with the content after them.

### Fixed
- **Visit Report weight** — the headline is change from the 12-month high to
  the latest weight. Change since the first entry is shown as secondary context.
- **Visit Report narrative** — the prompt is capped at 8,000 tokens (less when
  the model's window is smaller), shedding evidence, contradictions and lab
  detail in steps until it fits.
- **Lab flags** — when a result has a numeric value and reference range, the
  range decides high/low/normal; a stored flag the range contradicts is noted
  and not used.
- **Lab results read the same everywhere** — the Visit Report, Clinician Brief
  and Companion share one table of test-name synonyms, and the Companion now
  takes a lab's flag from its value and reference range when the source's flag
  contradicts it, as the Report and Brief already did.
- **Clinician Brief** — concerns are ranked (weight loss, hypoglycemia,
  reported symptoms, then one grouped abnormal-labs entry); each lab test is
  listed once; reassuring, opposing and limitation entries show their label,
  value and reason.

## [0.1.2] — 2026-07-21

### Added
- **Companion web grounding** — optional, off by default. The Companion searches
  trusted medical sources (NIH's MedlinePlus + PubMed, plus an optional
  allowlisted web-search provider) and cites them inline instead of recalling
  specifics from memory — cutting hallucination. Only the general medical topic
  of your question is sent out, never your records. (#85)

### Changed
- **One Overview page** — the former Insights and Patterns tabs are folded into
  Overview (Insights was redundant with its cross-domain connections, and already
  fed them). Overview now shows metrics, connections, on-track / worth-watching,
  and a "Patterns in your glucose" section; Refresh regenerates the summary and
  re-scans patterns together.
- **Glooko** — polling reduced from every 30 minutes to every 6 hours (the pump
  uploads to Glooko roughly once a night).

### Fixed
- **Visit Report and Overview no longer hang** — both moved off the GPU-starved
  quality (27B) model to the fast model, generating in seconds instead of timing
  out.

## [0.1.1] — 2026-07-21

### Added
- **Health History** — a standing background narrative plus a typed medical
  timeline (diagnoses, exposures, injuries, prescriptions, ER/hospital visits,
  appointments, doctor advice). Feeds the Companion and the Visit Report. (#67)
- **Records: topic search** — search a topic (e.g. "mold", "thyroid") to surface
  every related lab, matching analyte name, family, and category. (#71)
- **Records: unit conversion** — a curated conversion table normalizes the same
  analyte across units into one trend, with a Conventional / SI display toggle. (#76)

### Fixed
- **Dashboard** — collapsed duplicate heart-rate charts and the Oura/Fitbit
  metric overlap into one clear view (Fitbit for live physiology, Oura for its
  scores). (#72)
- **Bug reporter** — now files reports in-app instead of bouncing the reporter to
  GitHub's sign-in; nothing is lost regardless of GitHub configuration. (#77)
- **Records: cleaner lab trends** — the same test written different ways (e.g.
  serum "Cortisol" vs "Cortisol, A.M.") now merges into one continuous trend,
  while genuinely different tests — specimens, metabolites, and timed-panel
  points — stay separate.

### Changed
- **CI** — bumped the `docker/*` actions to their Node 24 majors, clearing the
  Node 20 deprecation warning. (#75)

## [0.1.0] — 2026-07-19

First public release. A self-hosted, single-user personal health platform
centered on Type 1 diabetes, with a health **Companion** that reasons across all
of your data.

### AI & assistants
- **Companion** — streaming chat grounded in your real records, with a persistent
  memory of your lived experience, multiple conversation threads, markdown
  answers, and a Fast/Deep local-model switch. Surfaces patterns and questions
  for your care team; never diagnoses or advises dosing.
- **Overview** — a cross-domain AI health summary spotting connections across your
  whole picture, not just glucose.
- **Visit Report** — a printable 90-day clinical summary (AGP, TIR, per-phase
  metrics, labs, conditions, medications, symptoms) with an AI "quarter in review".
- **Records** — upload lab reports and imaging (PDF/photo); a local vision model
  extracts values into per-analyte trend charts.
- **Pluggable LLM layer** — Anthropic API or any local OpenAI-compatible server
  (vLLM / Ollama), including a graceful on-demand quality model. With a local
  model, no health data leaves the machine.

### Data sources
- Glucose — Dexcom Share (real-time), Dexcom API v3, Nightscout.
- Insulin pump — Tandem Source (via `tconnectsync`), Glooko fallback.
- Wearables — Oura Ring (sleep / readiness / HRV / temperature) and
  Fitbit / Google Health (steps / heart rate / sleep / SpO₂ / breathing rate),
  including near-real-time heart rate.
- Cycle — menstrual phases inferred automatically from Oura nightly temperature.
- CSV / Base44 export bulk import.

### Tracking & analysis
- **Dashboard** — real-time glucose, TIR/GMI/CV, AGP, treatment timeline, live
  heart rate, and wearable overlays.
- **Explorer** — a zoomable/pannable glucose canvas with insulin, basal bands, IOB.
- **Patterns** — statistical + AI detection of recurring highs/lows, spikes, etc.
- **Insights** — cross-domain correlations (glucose × sleep × activity × cycle).
- **Insulin** — total daily dose, estimated insulin resistance, and
  correction-response / absorption statistics.
- **Wearables** — sleep, activity, HR/HRV, and SpO₂ deep-dives with glucose overlays.
- **Compare** — period-over-period comparison.
- **Symptom journal** — a nightly check-in (severity, duration, notes) woven into
  the Companion, analytics, and the report.
- **Clinical picture** — conditions, medications & allergies, profile, and
  insurance, entered once and fed to the AI and the Visit Report.
- **Fingerstick** logging with CGM matching.

### Platform
- One container (FastAPI + SQLite + a React/Vite/Tailwind SPA); state in a single
  Docker volume.
- **One-command local installer** (`install.sh`) plus `docker-compose.local.yml`.
- Server deploy behind Traefik / nginx / Caddy (`docs/DEPLOY.md`).
- Demo mode with synthetic seed data.
- Read-only provider login (role-gated) for sharing with a clinician.
- Argon2 password hashing and session auth.
- No telemetry and no phone-home.
- CI/CD via GitHub Actions; prebuilt images published to GHCR.

[Unreleased]: https://github.com/Paco5687/GlucoPilot/compare/v0.1.2...HEAD
[0.1.2]: https://github.com/Paco5687/GlucoPilot/compare/v0.1.1...v0.1.2
[0.1.1]: https://github.com/Paco5687/GlucoPilot/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/Paco5687/GlucoPilot/releases/tag/v0.1.0