Marc-André Bombeck
d3f6d2d7c7
Merge branch 'v143/fixui' into release/v1.43.0
2026-10-16 06:04:00 +02:00
Marc-André Bombeck
beb7ef4ccc
Merge branch 'release/v1.43.0' into v143/fixui
2026-10-16 05:55:14 +02:00
Marc-André Bombeck
d6ea1c7973
Merge branch 'v143/loose' into release/v1.43.0
2026-10-16 05:50:52 +02:00
Marc-André Bombeck
abbb424d21
fix(targets): read the seven-day basis as one aggregate instead of the whole summary slice
2026-10-16 05:49:51 +02:00
Marc-André Bombeck
527d177371
test(mood): keep the random request id out of the no-leak byte check
2026-10-16 05:48:00 +02:00
Marc-André Bombeck
d2a806364b
test(mcp): accept type-array unions in the strict output-schema check
2026-10-16 05:48:00 +02:00
Marc-André Bombeck
13c74c4e92
test(targets): pin the resting pulse verdict below a default band as hold
2026-10-16 05:44:17 +02:00
Marc-André Bombeck
a8b46b9ac0
docs(api): regenerate the OpenAPI contract
2026-10-16 05:37:18 +02:00
Marc-André Bombeck
2fc74e76df
fix(targets): place the target verdict on the dashboard's seven-day basis
2026-10-16 05:35:52 +02:00
Marc-André Bombeck
6776decaa0
test(guard): discover the resolved fields and demand a reader or a stated reason for each
2026-10-16 05:35:48 +02:00
Marc-André Bombeck
da1d31e370
feat(labs): show and file a reading's related report and visit in its sheet
2026-10-16 05:34:08 +02:00
Marc-André Bombeck
7167ba8cdc
fix(labs): pair the panel changes by marker, not by printed name
2026-10-16 05:32:13 +02:00
Marc-André Bombeck
8ba4d1b0d0
fix(nutrients): name the form an upper limit covers and phrase it per locale
2026-10-16 05:31:33 +02:00
Marc-André Bombeck
d66d3969cd
fix(records): show the screening hints when one applies without a smoking answer
2026-10-16 05:28:53 +02:00
Marc-André Bombeck
b3dcd428f6
fix(settings): stack the AI usage estimate on narrow screens and read readiness from the server
2026-10-16 05:23:59 +02:00
Marc-André Bombeck
86113848b5
fix(medications): refresh the episode and document details after filing a link
2026-10-16 05:23:06 +02:00
Marc-André Bombeck
0cb877e0a2
fix(targets): hold below a default band for load measures and above the band for one-sided measures
2026-10-16 05:22:26 +02:00
Marc-André Bombeck
a17f85c050
docs(ops): add the recovery steps for an upgrade stopped at migration 0409
2026-10-16 03:57:46 +02:00
Marc-André Bombeck
1734f149d3
docs(openapi): deprecate the legacy integration status fields
2026-10-16 03:57:46 +02:00
Marc-André Bombeck
adf0c7f4c2
refactor(validation): route every ISO instant through isoDateTime
2026-10-16 03:57:46 +02:00
Marc-André Bombeck
92b361c3c6
feat(validation): add isoDateTime with a refusal counter for instants without seconds
2026-10-16 03:57:45 +02:00
Marc-André Bombeck
b1c19dcfa4
build(deps): move zod to 4.6.7 and lift the 4.5 hold
2026-10-16 03:44:55 +02:00
Marc-André Bombeck
c508ce61e3
chore(bundle): raise the aggregate budget to 4860 on the measured v1.43 build
2026-10-16 03:41:58 +02:00
Marc-André Bombeck
4daad8f2fb
Merge branch 'v143/life' into release/v1.43.0
...
# Conflicts:
# docs/api/openapi.yaml
# src/__tests__/contract-stub-inventory.test.ts
# tests/integration/sharing-manage-handler-matrix.test.ts
2026-10-16 03:39:40 +02:00
Marc-André Bombeck
df3136a2a1
feat(anamnesis): announce the life circumstances to clients
2026-10-16 03:27:31 +02:00
Marc-André Bombeck
c39dca8fe4
Merge branch 'v143/intfix' into release/v1.43.0
2026-10-16 03:17:11 +02:00
Marc-André Bombeck
ed3597adb2
Merge branch 'release/v1.43.0' into v143/intfix
2026-10-16 02:59:48 +02:00
Marc-André Bombeck
fc4423c934
test(environment): stop asserting the readable location columns 0409 dropped
...
The free-text backfill no longer seals home, period or day locations, so its
summary has no counts for them, and a stored day has no readable lat left to
be null.
2026-10-16 02:59:48 +02:00
Marc-André Bombeck
87335d3080
test(managed-profiles): compare the guardian refusals without the request id
...
Every error envelope now carries a fresh meta.requestId. The unknown-id and
the not-yours refusal still have to match byte for byte on everything else;
compare them through the shared helper, as the other enumeration checks do.
2026-10-16 02:59:48 +02:00
Marc-André Bombeck
f5ed62276e
test(wipe): seed a column fenced by a CHECK list with a value it admits
...
The schema-driven seeder wrote a synthetic tag into every required text
column. The v1.43 tables fence some of them with CHECK (col IN (...)), so the
seed was refused before either wipe ran. Read each single-column IN-list check
from pg_constraint and seed its first admitted value.
2026-10-16 02:59:47 +02:00
Marc-André Bombeck
765f6c0e15
test(sharing): count both v1.43 admissions in the manage matrix
...
The biomarker merge and the supplement composition PUT each brought a strict
driver and an owned effect, and each branch raised the count from 88 to 89 on
its own. Together the inventory holds 90.
2026-10-16 02:59:47 +02:00
Marc-André Bombeck
da860aeb3e
Merge branch 'v143/dawarich' into release/v1.43.0
...
# Conflicts:
# src/__tests__/contract-stub-inventory.test.ts
2026-10-16 02:51:02 +02:00
Marc-André Bombeck
8f59d1c5ab
docs(api): describe the date-only valid-since day
2026-10-16 01:40:16 +02:00
Marc-André Bombeck
c03f79afd5
test(dawarich): pin the movement block, the channels and the mocks; document the connection
...
Covers the day section, the model projection without the travel country and
the two correlation channels; the backup and correlation mocks learn the new
delegate. Adds the operator page for DAWARICH_PRIVATE_ORIGINS and regenerates
the API contract.
2026-10-16 01:38:05 +02:00
Marc-André Bombeck
4d2c8c2bbb
test(anamnesis): drive the life circumstances, AUDIT-C and its backup through real Postgres and the manage matrix
2026-10-16 01:34:17 +02:00
Marc-André Bombeck
88aa5ccacd
test(anamnesis): pin derived values, AUDIT-C wording and cut-offs, and the per-section prompt gate
2026-10-16 01:27:00 +02:00
Marc-André Bombeck
0ba2e36b79
test: compare the target cards without the route's direction verdict, and stop pinning the full feature set
2026-10-16 01:26:15 +02:00
Marc-André Bombeck
e5860c9f41
docs(api): regenerate the OpenAPI document for the life circumstances
2026-10-16 01:25:35 +02:00
Marc-André Bombeck
73bb13a982
feat(anamnesis): soft-delete AUDIT-C in its route, admit both AUDIT-C verbs at manage level, and settle the guards
2026-10-16 01:24:56 +02:00
Marc-André Bombeck
3aa2a6fd26
Merge branch 'v143/pulse' into release/v1.43.0
2026-10-16 01:23:33 +02:00
Marc-André Bombeck
b99bcaeec6
test(dawarich): cover the daily values, the refusals and the backup ends
...
A stub Dawarich instance on the loopback interface drives the shipped routes
and the sync against real SQL. Unit tests pin the parsers, the time-away
arithmetic, the origin grant, the travel runs, the places route's no-write
rule, the backup pair and the schema's no-location rule.
2026-10-16 01:23:26 +02:00
Marc-André Bombeck
0a0667fd1c
test(admin): pin when the pulse day-mean card offers apply
2026-10-16 01:23:03 +02:00
Marc-André Bombeck
b838ed4403
feat(dawarich): fetch daily movement values from a Dawarich instance
...
Connect, status, places, settings, test, sync and disconnect replace their
stubs. A nightly job (03:20) and the connect backfill read the timeline,
visits and residency endpoints through safeFetch and store one row of daily
values per local day: distances, places visited, minutes away from the home
place and the sealed country with its travel-day verdict. A private instance
needs its exact origin in DAWARICH_PRIVATE_ORIGINS.
The connection joins the shared ledger and the connection health model,
watched for errors only. The day carries a movement block, the model
projection drops the travel country, the two movement channels join the
correlation matrix under the environment module, travel days become trip
suggestions, and the days travel in the environment backup section.
2026-10-16 01:20:53 +02:00
Marc-André Bombeck
28a8737124
feat(anamnesis): life-circumstances card with AUDIT-C, screening hints and free-text take-over
2026-10-16 01:09:50 +02:00
Marc-André Bombeck
17d1c00aab
docs(api): list the pulse day-mean maintenance error codes
2026-10-16 01:07:39 +02:00
Marc-André Bombeck
46e82efe22
test(pulse): prove the day-mean method across readers, the dry run's single write and the bounded heap
2026-10-16 01:07:24 +02:00
Marc-André Bombeck
9f17cef8e4
feat(admin): pulse day-mean dry run, apply step and admin card
2026-10-16 00:58:48 +02:00
Marc-André Bombeck
db750ef246
feat(anamnesis): carry life circumstances into the coach context, the doctor report and FHIR
2026-10-16 00:58:34 +02:00
Marc-André Bombeck
f2be772eaf
feat(anamnesis): serve the life circumstances, record AUDIT-C, and keep both off the closed legacy lists
2026-10-16 00:54:38 +02:00
Marc-André Bombeck
877920f5f7
feat(pulse): weigh sparse hours in the pulse day mean by the stored method
2026-10-16 00:49:41 +02:00