Files
HealthLog/stryker.floors.json
T
Marc-André Bombeck 12749f6839 refactor(backup): give each domain its own slice of the payload schema
The element schemas move out of validations/backup.ts into one
<domain>-backup-schema.ts per domain, beside its export and restore, with
the shared primitives in backup-schema-kit.ts. validations/backup.ts now
composes the slices into backupPayloadSchema in the same key order, with
the same defaults and the checks that span sections, so the parsed
payload, every validation message and the OpenAPI contract are unchanged.

The lazy-schema guard now covers the slices too: a slice is reached only
through the payload schema or another slice, never from a domain's export
or restore. The external-id guard carries the payload's exemption to its
slices, and mutation testing scores the slices with the payload schema.
2026-10-22 08:02:14 +02:00

68 lines
2.6 KiB
JSON

{
"$comment": "Per-module mutation-score floors, checked by scripts/mutation-floors.mjs against reports/mutation/mutation.json. Each floor sits just below the score measured when it was set; raise it when a change raises the score, never lower it to let a run pass. See docs/contributing/testing.md#mutation-testing.",
"modules": {
"crypto": {
"paths": ["src/lib/crypto.ts"],
"floor": 45
},
"compliance": {
"paths": ["src/lib/analytics/compliance/"],
"floor": 65
},
"rollups": {
"paths": ["src/lib/rollups/"],
"floor": 40
},
"source-ranking": {
"paths": [
"src/lib/analytics/source-priority.ts",
"src/lib/analytics/source-rank-sql.ts"
],
"floor": 55
},
"units": {
"paths": [
"src/lib/measurements/display-transform.ts",
"src/lib/glucose.ts"
],
"floor": 85
},
"backup-validation": {
"paths": [
"src/lib/validations/backup.ts",
"src/lib/export/account-settings-backup-schema.ts",
"src/lib/export/allergies-backup-schema.ts",
"src/lib/export/app-settings-backup-schema.ts",
"src/lib/export/awards-backup-schema.ts",
"src/lib/export/coach-backup-schema.ts",
"src/lib/export/document-filing-backup-schema.ts",
"src/lib/export/documents-backup-schema.ts",
"src/lib/export/ecg-backup-schema.ts",
"src/lib/export/environment-backup-schema.ts",
"src/lib/export/family-history-backup-schema.ts",
"src/lib/export/health-score-backup-schema.ts",
"src/lib/export/illness-backup-schema.ts",
"src/lib/export/intraday-profile-backup-schema.ts",
"src/lib/export/labs-backup-schema.ts",
"src/lib/export/life-events-backup-schema.ts",
"src/lib/export/measurements-backup-schema.ts",
"src/lib/export/medications-backup-schema.ts",
"src/lib/export/mood-backup-schema.ts",
"src/lib/export/nutrients-backup-schema.ts",
"src/lib/export/onboarding-backup-schema.ts",
"src/lib/export/profile-backup-schema.ts",
"src/lib/export/relation-links-backup-schema.ts",
"src/lib/export/reminders-backup-schema.ts",
"src/lib/export/sensitive-backup-schema.ts",
"src/lib/export/symptoms-backup-schema.ts",
"src/lib/export/vaccinations-backup-schema.ts",
"src/lib/export/visits-backup-schema.ts",
"src/lib/export/workouts-backup-schema.ts",
"src/lib/export/backup-schema-kit.ts",
"src/lib/cycle/backup-schema.ts"
],
"floor": 24
}
}
}