mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 13:01:00 +00:00
chore(release): v1.41.0
This commit is contained in:
1 parent
305765194e
commit
5bbc915073
3 files changed
+70
-2
No files matched your search
@@ -1,5 +1,73 @@
|
||||
# Changelog
|
||||
|
||||
## [1.41.0] — 2026-10-07
|
||||
|
||||
The Coach reasons before it answers, shows what it is doing while it works,
|
||||
asks when a question is ambiguous, and remembers what it is told.
|
||||
|
||||
### Added
|
||||
|
||||
- **Reasoning.** Codex, OpenAI, Anthropic, OpenRouter, gateways and local
|
||||
servers receive the requested reasoning in their documented dialect;
|
||||
reasoning summaries stream to the Coach, signed or encrypted reasoning state
|
||||
is carried between tool rounds and never stored, and a model that rejects a
|
||||
reasoning parameter is retried without it (the downgrade is learned per
|
||||
provider, endpoint and model for an hour, only from a 400 that names the
|
||||
parameter). Thinking depth per person under Coach settings (Off, Light,
|
||||
Balanced, Deep; Balanced by default); an operator switch and maximum under
|
||||
Admin, Assistant; turns on the operator's budget are capped at Balanced.
|
||||
`/api/auth/me` publishes the resolved `coachReasoning`.
|
||||
- **Budgeted tool loop.** A turn runs against a token, time and round budget
|
||||
(own provider 120k tokens, 150 s, 12 rounds; operator 40k, 90 s, 6 rounds)
|
||||
with a no-progress brake and a reserved final round that keeps the tool
|
||||
definitions with `tool_choice: none`. Every round is reserved against the
|
||||
daily budget beforehand and settled afterwards. At most two concurrent turns
|
||||
per person.
|
||||
- **Live trail.** One quiet status line per answer (`activity` frames), never
|
||||
expanded by itself; the screened reasoning text is stored encrypted
|
||||
(`coach_messages.trail_encrypted`) and served lazily by
|
||||
`GET /api/insights/chat/{id}/messages/{messageId}/trail`.
|
||||
- **Comparisons.** `compare_series` (two periods or two metrics) and a
|
||||
`compare` chart; tables arrive as interim results before the answer.
|
||||
- **Clarifications** as suggested replies in the thread, at most one in six
|
||||
turns and three a day; a declined or limited question becomes a stated
|
||||
assumption with a reply that changes it.
|
||||
- **Memory and plans.** Every turn carries an egress-checked memory block;
|
||||
`remember_fact` saves preferences, goals and context with a visible note and
|
||||
undo, health facts only after the person agrees; `propose_plan` suggests a
|
||||
plan from a stated goal. Both are written only when the answer that shows
|
||||
them is stored. Background extraction runs once a conversation is quiet for
|
||||
30 minutes; plan progress reaches the daily briefing. The memory list in
|
||||
settings shows each fact's source and accepts edits.
|
||||
- **Background reasoning** for the daily briefing (scheduled and on request)
|
||||
and the weekly and monthly narratives; status cards never reason.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Dose-change screen.** The outbound screen blocks the dose-change class
|
||||
across all seven languages, including the person's own medication names,
|
||||
drug classes, spelled-out amounts and "extra / one more"; plan texts go
|
||||
through the same screen.
|
||||
- **Glucose by time of day.** The usual-range line, the MCP baseline and the
|
||||
signals of the day compare glucose with the same hours of earlier days
|
||||
instead of setting a morning reading against whole-day means.
|
||||
- **Usual-range line** names the date of a latest reading that is not from
|
||||
today, and a steady value as one figure.
|
||||
- **Memory refresh** asks the Coach capability before deferring, so a
|
||||
switched-off Coach does not re-queue it.
|
||||
|
||||
### Changed
|
||||
|
||||
- **Answer voice.** The first sentence answers; 40 to 120 words; at most one
|
||||
next step.
|
||||
- **Keyboard focus** is drawn in a neutral tone everywhere.
|
||||
|
||||
### Migrations
|
||||
|
||||
- `0376_ai_reasoning_controls`, `0377_coach_message_trail`,
|
||||
`0378_coach_fact_source`: additive columns with constant defaults or
|
||||
nullable; no table rewrite.
|
||||
|
||||
## [1.40.6] — 2026-10-05
|
||||
|
||||
The Coach reads long series again; "today" only from today's readings; the
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
openapi: 3.1.0
|
||||
info:
|
||||
title: HealthLog API
|
||||
version: 1.40.6
|
||||
version: 1.41.0
|
||||
description: >-
|
||||
Self-hosted personal-health-tracking PWA — public API surface for the iOS native client and external ingest.
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "healthlog",
|
||||
"version": "1.40.6",
|
||||
"version": "1.41.0",
|
||||
"description": "Self-hosted personal-health-tracking PWA with Withings integration, AI insights, and doctor-report PDF export.",
|
||||
"license": "PolyForm-Noncommercial-1.0.0",
|
||||
"homepage": "https://healthlog.dev",
|
||||
|
||||
Reference in new issue
Block a user