chore(release): fold in the coach discriminant, the dependency bumps, and the notes the audit found wrong

This commit is contained in:
Marc-André Bombeck committed 2026-07-26 18:57:21 +02:00
1 parent 5a71f376d4
commit 4be01a67f0
22 files changed
+252 -489

No files matched your search

+6 -6
View File
@@ -1774,7 +1774,7 @@ model Measurement {
// user_id` an index-only scan that converges to empty. Same partial-predicate
// reason it is omitted here.
// `measurements_tombstone_purge_idx` is a partial index over `(deleted_at)
// WHERE deleted_at IS NOT NULL` — see migration 0277 (v1.32.40). Every
// WHERE deleted_at IS NOT NULL` — see migration 0276 (v1.33.0). Every
// other deleted_at index here is partial on IS NULL, which is the live-rows
// predicate and the opposite of what the nightly tombstone purge asks for;
// without this one the purge planned a sequential scan and could not finish
@@ -2871,7 +2871,7 @@ model MedicationIntakeEvent {
@@index([userId, scheduledFor])
@@index([userId, medicationId, takenAt])
// `medication_intake_events_tombstone_purge_idx` is a partial index over `(deleted_at)
// WHERE deleted_at IS NOT NULL` — see migration 0277 (v1.32.40). Every
// WHERE deleted_at IS NOT NULL` — see migration 0276 (v1.33.0). Every
// other deleted_at index here is partial on IS NULL, which is the live-rows
// predicate and the opposite of what the nightly tombstone purge asks for;
// without this one the purge planned a sequential scan and could not finish
@@ -3888,7 +3888,7 @@ model MoodEntry {
// (v1.28.46 H4), serving the note-encryption boot-discovery scan. Raw SQL
// only (partial predicate not expressible in Prisma).
// `mood_entries_tombstone_purge_idx` is a partial index over `(deleted_at)
// WHERE deleted_at IS NOT NULL` — see migration 0277 (v1.32.40). Every
// WHERE deleted_at IS NOT NULL` — see migration 0276 (v1.33.0). Every
// other deleted_at index here is partial on IS NULL, which is the live-rows
// predicate and the opposite of what the nightly tombstone purge asks for;
// without this one the purge planned a sequential scan and could not finish
@@ -4329,10 +4329,10 @@ model AuditLog {
// this three-column index serves both the findFirst and the take:5 as
// an index range scan over the highest-churn table. See migration 0123.
@@index([userId, action, createdAt(sort: Desc)])
// v1.32.40 — the retention purge filters on `createdAt` alone. Every index
// v1.33.0 — the retention purge filters on `createdAt` alone. Every index
// above leads with `userId` or `action`, so the purge planned a sequential
// scan and could not finish inside statement_timeout on an instance with
// enough history. See migration 0277.
// enough history. See migration 0276.
@@index([createdAt])
@@map("audit_logs")
}
@@ -4487,7 +4487,7 @@ model ImportJob {
model MedicationIntakeImportJob {
id String @id @default(cuid())
userId String @map("user_id")
/// v1.32.40 (migration 0276) — nullable. The per-medication import route
/// v1.33.0 (migration 0278) — nullable. The per-medication import route
/// scopes its job to one medication and names it here. A dose history
/// exported from another tracker covers a whole regimen in one file — the
/// reported export named sixteen medications across 3,395 rows — so that job