fix(coach): mark withheld figures with an elision mark plus a per-message notice

Replace the internal "[unverified]" token the grounding guard left in a Coach
reply with the editorial elision mark […], and add a quiet muted caption
under the bubble explaining that some figures could not be checked against the
user's data. The mark holds the slot grammar-safely mid-sentence, before a
surviving unit, and inside a range; the notice carries the meaning. The withheld
count rides the existing provenance envelope (unverifiedFigures) through the
stream, persistence, and reload, and the fenced document-chat path carries a
minimal envelope so its notice survives too. New i18n key across all six locales.

Also fix an adjacent reload gap: provenanceFromJson restored only a subset of the
serialised envelope, so a persisted suggestion card, confirm action card, and the
tool trace were dropped on conversation reload despite the render layer expecting
them to survive. Restore them defensively alongside the new field.
This commit is contained in:
Marc-André Bombeck committed 2026-07-24 09:29:20 +02:00
1 parent 0b828e2c5a
commit 5ad66af565
24 files changed
+611 -22

No files matched your search

+8 -1
View File
@@ -1,7 +1,7 @@
openapi: 3.1.0
info:
title: HealthLog API
version: 1.32.13
version: 1.32.14
description: >-
Self-hosted personal-health-tracking PWA — public API surface for the iOS native client and external ingest.
@@ -24138,6 +24138,13 @@ components:
- name
- present
additionalProperties: false
unverifiedFigures:
description: v1.32.14 — count of numeric tokens the grounding guard withheld from this reply (each rewritten to the
editorial elision mark). Drives the quiet per-message notice. Count only, never the withheld values. Absent
when the turn withheld nothing.
type: integer
exclusiveMinimum: 0
maximum: 9007199254740991
required:
- windows
- metrics