chore(release): empty the release-pending lists for v1.42

The lab unit conversion moves to the next release, so its note string
leaves all seven bundles and the i18n pending list. The three columns
that hold the conversion provenance stay (migration 0385, nothing writes
them yet); the backup now carries them both ways, so the round-trip
pending list is empty too and the conversion needs no backup change when
it lands.
This commit is contained in:
Marc-André Bombeck committed 2026-10-08 22:37:57 +02:00
1 parent 055c48a3fe
commit 8ac64c3e4f
11 files changed
+24 -24

No files matched your search

+1 -2
View File
@@ -9556,8 +9556,7 @@
"sourceRange": {
"fromReport": "Befundbereich {range}",
"catalogDiffers": "dein Bereich {range}"
},
"convertedFrom": "Umgerechnet aus {value} {unit}"
}
},
"modules": {
"cycle": {
+1 -2
View File
@@ -9556,8 +9556,7 @@
"sourceRange": {
"fromReport": "Report range {range}",
"catalogDiffers": "your range {range}"
},
"convertedFrom": "Converted from {value} {unit}"
}
},
"modules": {
"cycle": {
+1 -2
View File
@@ -9556,8 +9556,7 @@
"sourceRange": {
"fromReport": "Rango del informe {range}",
"catalogDiffers": "tu rango {range}"
},
"convertedFrom": "Convertido de {value} {unit}"
}
},
"modules": {
"cycle": {
+1 -2
View File
@@ -9556,8 +9556,7 @@
"sourceRange": {
"fromReport": "Plage du compte rendu {range}",
"catalogDiffers": "votre plage {range}"
},
"convertedFrom": "Converti depuis {value} {unit}"
}
},
"modules": {
"cycle": {
+1 -2
View File
@@ -9556,8 +9556,7 @@
"sourceRange": {
"fromReport": "Intervallo del referto {range}",
"catalogDiffers": "il tuo intervallo {range}"
},
"convertedFrom": "Convertito da {value} {unit}"
}
},
"modules": {
"cycle": {
+1 -2
View File
@@ -9556,8 +9556,7 @@
"sourceRange": {
"fromReport": "결과지 범위 {range}",
"catalogDiffers": "내 범위 {range}"
},
"convertedFrom": "{value} {unit}에서 변환됨"
}
},
"modules": {
"cycle": {
+1 -2
View File
@@ -9556,8 +9556,7 @@
"sourceRange": {
"fromReport": "Zakres z wyniku {range}",
"catalogDiffers": "twój zakres {range}"
},
"convertedFrom": "Przeliczono z {value} {unit}"
}
},
"modules": {
"cycle": {
+1 -3
View File
@@ -77,9 +77,7 @@ const DYNAMIC_ALLOWLIST_PREFIXES = [
* all landed must be dropped in the same change, and the list is empty again
* before the release is tagged. It is NOT a place for keys nobody will wire.
*/
const RELEASE_PENDING_PREFIXES: Record<string, string> = {
"labs.convertedFrom": "v1.42 lab unit conversion note (#1095)",
};
const RELEASE_PENDING_PREFIXES: Record<string, string> = {};
/**
* Interpolating strings that LOOK like key templates and are not. Each entry
+12
View File
@@ -94,6 +94,13 @@ export interface LabResultBackupEntry {
sourceReferenceLow: number | null;
sourceReferenceHigh: number | null;
sourceReferenceText: string | null;
/**
* @pending-consumer(#1095) The value and unit the source report printed,
* kept when a write converted it. Nothing writes them yet; the backup
* carries them so the conversion, when it lands, needs no backup change.
*/
sourceValue?: number | null;
sourceUnit?: string | null;
takenAt: string;
source: string;
/** Human-readable cross-reference into `biomarkers` below, not an id. */
@@ -118,6 +125,8 @@ export interface BiomarkerBackupEntry {
panel: string | null;
hidden: boolean;
context: string | null;
/** @pending-consumer(#1095) The catalogue key the name resolves to. */
analyteKey?: string | null;
createdAt?: string;
updatedAt?: string;
}
@@ -414,6 +423,8 @@ export async function buildRecordsBackupSection(
sourceReferenceLow: r.sourceReferenceLow,
sourceReferenceHigh: r.sourceReferenceHigh,
sourceReferenceText: r.sourceReferenceText,
sourceValue: r.sourceValue,
sourceUnit: r.sourceUnit,
takenAt: r.takenAt.toISOString(),
source: r.source,
biomarkerName: r.biomarker?.name ?? null,
@@ -438,6 +449,7 @@ export async function buildRecordsBackupSection(
"biomarker context",
decryptContextFromBytes,
),
analyteKey: b.analyteKey,
}));
const illnessEpisodes: CanonicalIllnessEpisode[] = disasterRecovery
+3
View File
@@ -2048,6 +2048,7 @@ export async function restoreBackup(
biomarker.context == null
? null
: encryptContextToBytes(biomarker.context),
analyteKey: biomarker.analyteKey ?? null,
...(biomarker.createdAt
? { createdAt: new Date(biomarker.createdAt) }
: {}),
@@ -2154,6 +2155,8 @@ export async function restoreBackup(
sourceReferenceLow: lab.sourceReferenceLow ?? null,
sourceReferenceHigh: lab.sourceReferenceHigh ?? null,
sourceReferenceText: lab.sourceReferenceText ?? null,
sourceValue: lab.sourceValue ?? null,
sourceUnit: lab.sourceUnit ?? null,
takenAt: new Date(lab.takenAt),
source: lab.source,
noteEncrypted:
+1 -7
View File
@@ -3628,13 +3628,7 @@ const COLUMN_EXCLUSIONS: Readonly<Record<string, string>> = {
* starts coming back, so the entry has to go in the change that carries it.
* The list is empty again before the release is tagged.
*/
const LABS_V142 =
"v1.42 (#1095): the lab section carries the conversion provenance";
const RELEASE_PENDING_COLUMNS: Readonly<Record<string, string>> = {
"Biomarker.analyteKey": LABS_V142,
"LabResult.sourceValue": LABS_V142,
"LabResult.sourceUnit": LABS_V142,
};
const RELEASE_PENDING_COLUMNS: Readonly<Record<string, string>> = {};
/**
* Columns every reader parses through one function before using, compared