Marc-André Bombeck
f1a1887a01
Merge pull request #569 from MBombeck/release/v1.31.2-data-integrity
...
release: HealthLog v1.31.2 data integrity hardening
v1.31.2
2026-07-20 15:26:16 +02:00
Marc-André Bombeck
ad5806c53a
chore: format Polar client fix
2026-07-20 14:43:54 +02:00
Marc-André Bombeck
00a8c81c8d
docs: include Polar and dependency fixes
2026-07-20 14:40:09 +02:00
Marc-André Bombeck
1840779dd7
fix(polar): align collection response fields
2026-07-20 14:36:21 +02:00
Marc-André Bombeck
3c5afea912
test(documents): format PDF cleanup coverage
2026-07-20 14:30:44 +02:00
Marc-André Bombeck
b9425de40e
fix(polar): use AccessLink collection endpoints
2026-07-20 14:25:24 +02:00
Marc-André Bombeck
74a386fcfd
chore(deps): update July dependency bundle
2026-07-20 14:18:48 +02:00
Marc-André Bombeck
f36bbc51cd
docs: finalize v1.31.2 recovery notes
2026-07-20 14:05:58 +02:00
Marc-André Bombeck
d966355f83
chore: format data integrity fixes
2026-07-20 14:02:08 +02:00
Marc-André Bombeck
a846bbc90d
fix(import): make mood collision probing order independent
2026-07-20 13:55:22 +02:00
Marc-André Bombeck
4124c483eb
test(import): type legacy mood retry mocks
2026-07-20 13:53:31 +02:00
Marc-André Bombeck
ca1ba8b128
test(whoop): type morning refresh mock
2026-07-20 13:53:06 +02:00
Marc-André Bombeck
6ebc278c2c
fix(import): preserve repeated legacy mood rows
2026-07-20 13:47:28 +02:00
Marc-André Bombeck
e9507a0c93
fix(backups): address restore review findings
2026-07-20 13:42:38 +02:00
Marc-André Bombeck
7eb3b91925
fix(import): resolve legacy mood timestamp collisions
2026-07-20 13:35:37 +02:00
Marc-André Bombeck
cd6b5f0cc6
fix(backups): preserve canonical restore identity
2026-07-20 13:25:37 +02:00
Marc-André Bombeck
8b7cbddd72
fix(import): derive stable legacy mood timestamps
2026-07-20 13:25:13 +02:00
Marc-André Bombeck
9484240688
fix(whoop): settle backfill side effects
2026-07-20 13:24:49 +02:00
Marc-André Bombeck
1b717b4ca0
fix(whoop): fold committed backfill chunks
2026-07-20 13:16:34 +02:00
Marc-André Bombeck
007ea76327
fix(import): stabilize legacy mood retries
2026-07-20 13:12:55 +02:00
Marc-André Bombeck
197f7bf5a1
fix(whoop): persist backfill chunks durably
2026-07-20 13:08:48 +02:00
Marc-André Bombeck
e47d02702d
fix(import): stabilize legacy mood retries
2026-07-20 13:03:36 +02:00
Marc-André Bombeck
5fc0b1eead
docs(api): sync spec for v1.31.2
2026-07-20 12:32:03 +02:00
Marc-André Bombeck
a87a144b1e
chore(release): prepare v1.31.2
2026-07-20 12:29:21 +02:00
Marc-André Bombeck
2716f302c7
chore: align hardening tests and formatting
2026-07-20 12:24:15 +02:00
Marc-André Bombeck
5d784a639c
fix(integrations): serialize refresh and cursor writes
2026-07-20 12:09:32 +02:00
Marc-André Bombeck
a8ac376cf7
fix(measurements): reconcile dual identities atomically
2026-07-20 11:55:09 +02:00
Marc-André Bombeck
f8b0a64d69
fix(backups): preserve canonical recovery integrity
2026-07-20 11:44:29 +02:00
Marc-André Bombeck
5f4017d039
fix(withings): queue ECG webhooks durably
2026-07-20 11:37:23 +02:00
Marc-André Bombeck
7b515f4f82
fix(devices): reconcile APNs registrations
2026-07-20 11:25:48 +02:00
Marc-André Bombeck
452d1a2ae3
fix(backups): restore canonical payloads completely
2026-07-20 11:23:57 +02:00
Marc-André Bombeck
a6d4bb414c
fix(moodlog): acknowledge durable source writes
2026-07-20 11:20:35 +02:00
Marc-André Bombeck
f648c1748a
fix(import): classify operational failures
2026-07-20 11:12:30 +02:00
Marc-André Bombeck
1f94249bd5
fix(mood): preserve rated factors during edits
2026-07-20 11:11:03 +02:00
Marc-André Bombeck
d31a33e14c
fix(strava): preserve cursors on workout write failure
2026-07-20 11:08:50 +02:00
Marc-André Bombeck
932bbc7955
chore: ignore isolated worktrees
2026-07-20 10:30:27 +02:00
Marc-André Bombeck
140b6954f0
Merge pull request #567 from MBombeck/fix/v1.31.1-arrival-contracts
...
fix: harden v1.31 arrival contracts
v1.31.1
2026-07-20 00:53:14 +02:00
Marc-André Bombeck
4591899657
fix(release): harden v1.31 arrival contracts
2026-07-20 00:40:20 +02:00
Marc-André Bombeck
44add3bc1e
docs(release): correct v1.31.0 migration count
v1.31.0
2026-07-19 20:25:37 +02:00
Marc-André Bombeck
c8529fc0bb
Merge pull request #560 from MBombeck/release/v1.31.0
...
release/v1.31.0 — the record that reacts
2026-07-19 20:24:07 +02:00
Marc-André Bombeck
4cab5b3c63
test(arrivals): snapshot data-arrival jobs
2026-07-19 20:12:48 +02:00
Marc-André Bombeck
c97ad3ed55
fix(release): harden Today arrival rendering
2026-07-19 19:55:40 +02:00
Marc-André Bombeck
d40da09558
chore(release): v1.31.0 — the record that reacts
2026-07-19 17:04:40 +02:00
Marc-André Bombeck
29673c1155
fix(insights): register the arrival reaction line with the tone harness
...
The harness landed in v1.30.35, after the slices that built this
release were already cut — so the reaction line's prompt module was
never registered, and its own docblock's warning against the
two-locale collapse was untested. Registering it surfaced a real gap:
the meaning-first instruction lived only in the system prompt's own
words, never in the user prompt in the family's shared phrasing, which
is where the rest of the surfaces carry it and where the tone contract
checks for it. The German body carried no such instruction at all.
Threads locale through the user-prompt builder so the fixed
instruction line matches the reader's own reply language, and wires
the per-user per-day opener-archetype rotation the milestone spec
called for and the first implementation had not connected.
2026-07-19 15:48:57 +02:00
Marc-André Bombeck
430cbb2ceb
Merge remote-tracking branch 'origin/work/v131-slice3-activity' into release/v1.31.0
...
# Conflicts:
# src/lib/jobs/reminder/register-status.ts
2026-07-19 15:42:11 +02:00
Marc-André Bombeck
7b51f9edaf
Merge remote-tracking branch 'origin/work/v131-slice4-askwhy' into release/v1.31.0
2026-07-19 15:40:58 +02:00
Marc-André Bombeck
c1f583b114
Merge remote-tracking branch 'origin/work/v131-slice2-today' into release/v1.31.0
2026-07-19 15:40:50 +02:00
Marc-André Bombeck
db3e56ed08
Merge remote-tracking branch 'origin/work/v131-slice1-arrival-spine' into release/v1.31.0
2026-07-19 15:40:43 +02:00
Marc-André Bombeck
6e1945e8a0
docs(workouts): correct the seam comments now that the card can mount
2026-07-19 14:59:24 +02:00
Marc-André Bombeck
e44cf8b804
test(workouts): guard the insight queue against silent provisioning loss
...
Nothing warms this queue and no read path triggers it, so an unregistered name
fails open in the worst way: every send resolves, every job vanishes, and the
symptom is indistinguishable from the surface's honest empty state.
2026-07-19 14:55:46 +02:00