Merge branch 'release/v1.46.0' into feat/v146-server

The size baselines take the lower value of the two sides per entry, and every ratchet baseline is written back to what the tree measures now (file and function sizes, version stamps, source reads, import cycles, route body parsing).
This commit is contained in:
Marc-André Bombeck committed 2026-10-23 12:39:42 +02:00
commit 069e07b510
102 files changed
+310 -8813

No files matched your search

+1 -9
View File
@@ -1,20 +1,12 @@
{
"$comment": "Runtime import cycles under src/: the back-edge count and the strongly connected components. Maintained by src/__tests__/import-cycle-guard.test.ts.",
"cycles": 4,
"cycles": 2,
"components": [
[
"components/command-palette/command-palette.tsx",
"components/command-palette/palette-store.ts",
"components/layout/global-shortcuts.tsx"
],
[
"lib/insights/features.ts",
"lib/insights/signals-of-day.ts"
],
[
"lib/insights/mood-aggregates.ts",
"lib/insights/mood-patterns.ts"
],
[
"lib/jobs/boss-instance.ts",
"lib/jobs/boss-ready.ts"
+6 -11
View File
@@ -1,16 +1,13 @@
{
"$comment": "Production files over 800 lines and their length. Maintained by src/__tests__/source-size-ratchet.test.ts.",
"count": 120,
"total": 141553,
"count": 115,
"total": 133899,
"entries": {
"app/api/dashboard/summary/route.ts": 1032,
"app/api/documents/inbound/route.ts": 811,
"app/api/insights/generate/route.ts": 1214,
"app/api/measurements/batch/route.ts": 1562,
"app/api/measurements/route.ts": 938,
"app/api/medications/[id]/route.ts": 1281,
"app/api/medications/[id]/route.ts": 1270,
"app/api/medications/intake/bulk/route.ts": 1044,
"app/api/workouts/batch/route.ts": 958,
"app/medications/page-client.tsx": 839,
"app/page-client.tsx": 2324,
"components/admin/backups-section.tsx": 1462,
@@ -25,6 +22,7 @@
"components/insights/derived/vitals-dashboard.tsx": 1033,
"components/insights/health-score-card.tsx": 1023,
"components/insights/insights-tab-strip.tsx": 1086,
"components/layout/sidebar-nav.tsx": 855,
"components/measurement-reminders/vorsorge-section.tsx": 1536,
"components/measurements/measurement-form.tsx": 815,
"components/measurements/measurement-list.tsx": 2019,
@@ -45,7 +43,6 @@
"lib/ai/coach/results/metric-table-tool.ts": 1102,
"lib/ai/coach/snapshot.ts": 1347,
"lib/ai/coach/stream-events.ts": 817,
"lib/ai/coach/tools/executor.ts": 1522,
"lib/ai/coach/turn/model.ts": 820,
"lib/ai/coach/types.ts": 1011,
"lib/ai/codex-client.ts": 1094,
@@ -83,9 +80,8 @@
"lib/insights/correlation-channel-series.ts": 1339,
"lib/insights/correlation-discovery.ts": 1240,
"lib/insights/correlations.ts": 1026,
"lib/insights/features.ts": 1923,
"lib/insights/mood-aggregates.ts": 1055,
"lib/insights/mood-status.ts": 814,
"lib/insights/features.ts": 1875,
"lib/insights/mood-aggregates.ts": 1053,
"lib/insights/status-cache.ts": 812,
"lib/integrations/status.ts": 1445,
"lib/jobs/apple-health-import-worker.ts": 801,
@@ -103,7 +99,6 @@
"lib/managed-profiles/handover.ts": 986,
"lib/mcp/record-search.ts": 1467,
"lib/mcp/rich-reads.ts": 1467,
"lib/mcp/tools.ts": 2654,
"lib/measurements/dense-intraday-retention.ts": 1057,
"lib/measurements/import-apple-health-export.ts": 1722,
"lib/medications/scheduling/cadence.ts": 978,
@@ -1,71 +1,66 @@
{
"$comment": "Production functions over 200 lines, keyed \"file :: name\", and their length. Maintained by src/__tests__/source-size-ratchet.test.ts.",
"count": 410,
"total": 147795,
"count": 394,
"total": 139931,
"entries": {
"app/achievements/page.tsx :: AchievementsPage": 206,
"app/api/admin/backups/upload/route.ts :: apiHandler(arg)": 314,
"app/api/admin/notifications/reminder-check/route.ts :: apiHandler(arg)": 208,
"app/api/admin/settings/route.ts :: apiHandler(arg) #2": 217,
"app/api/admin/settings/route.ts :: apiHandler(arg) #2": 211,
"app/api/analytics/route.ts :: buildAnalyticsResponse": 446,
"app/api/auth/login/route.ts :: apiHandler(arg)": 262,
"app/api/auth/me/route.ts :: apiHandler(arg)": 384,
"app/api/auth/me/route.ts :: apiHandler(arg)": 386,
"app/api/auth/oidc/callback/route.ts :: apiHandler(arg)": 499,
"app/api/auth/register/route.ts :: apiHandler(arg)": 275,
"app/api/auth/register/route.ts :: apiHandler(arg)": 268,
"app/api/coach/about-me/route.ts :: apiHandler(arg) #2": 309,
"app/api/cycle/calendar/route.ts :: apiHandler(arg)": 230,
"app/api/cycle/day-logs/bulk/route.ts :: postBulk": 213,
"app/api/cycle/insights/route.ts :: apiHandler(arg)": 226,
"app/api/dashboard/summary/route.ts :: buildDashboardSummary": 606,
"app/api/devices/route.ts :: apiHandler(arg)": 237,
"app/api/documents/inbound/bulk/route.ts :: apiHandler(arg)": 212,
"app/api/devices/route.ts :: apiHandler(arg)": 231,
"app/api/documents/inbound/bulk/route.ts :: apiHandler(arg)": 207,
"app/api/documents/inbound/route.ts :: processUpload": 309,
"app/api/encounters/[id]/route.ts :: apiHandler(arg) #2": 275,
"app/api/encounters/[id]/route.ts :: apiHandler(arg) #2": 269,
"app/api/environment/route.ts :: apiHandler(arg)": 201,
"app/api/export/health-record/route.ts :: apiHandler(arg)": 246,
"app/api/export/health-record/route.ts :: apiHandler(arg)": 241,
"app/api/import/csv/route.ts :: apiHandler(arg)": 407,
"app/api/import/route.ts :: apiHandler(arg)": 364,
"app/api/ingest/medication/route.ts :: apiHandler(arg)": 269,
"app/api/ingest/medication/route.ts :: apiHandler(arg)": 267,
"app/api/insights/cards/route.ts :: apiHandler(arg)": 211,
"app/api/insights/comprehensive/route.ts :: buildComprehensiveResponse": 505,
"app/api/insights/generate/route.ts :: apiHandler(arg) #2": 866,
"app/api/insights/generate/route.ts :: apiHandler(arg) > withFeatureCacheScope(arg)": 862,
"app/api/integrations/status/route.ts :: apiHandler(arg)": 451,
"app/api/labs/[id]/route.ts :: apiHandler(arg) #2": 244,
"app/api/labs/ocr/commit/route.ts :: commitOcrRows": 290,
"app/api/labs/route.ts :: postLabResult": 248,
"app/api/labs/[id]/route.ts :: apiHandler(arg) #2": 239,
"app/api/labs/ocr/commit/route.ts :: commitOcrRows": 285,
"app/api/labs/route.ts :: postLabResult": 242,
"app/api/mcp/oauth/token/route.ts :: POST": 250,
"app/api/mcp/oauth/token/route.ts :: POST > withBackgroundEvent(arg)": 248,
"app/api/measurement-reminders/[id]/route.ts :: apiHandler(arg) #2": 240,
"app/api/measurements/[id]/route.ts :: apiHandler(arg) #2": 203,
"app/api/measurements/batch/route.ts :: postBatch": 1255,
"app/api/measurements/route.ts :: apiHandler(arg)": 286,
"app/api/measurements/route.ts :: postMeasurement": 377,
"app/api/measurement-reminders/[id]/route.ts :: apiHandler(arg) #2": 239,
"app/api/measurements/series/route.ts :: apiHandler(arg)": 549,
"app/api/medications/[id]/dose-history/route.ts :: apiHandler(arg)": 256,
"app/api/medications/[id]/intake/[eventId]/route.ts :: apiHandler(arg)": 390,
"app/api/medications/[id]/intake/route.ts :: postIntake": 607,
"app/api/medications/[id]/inventory/[itemId]/route.ts :: apiHandler(arg)": 210,
"app/api/medications/[id]/inventory/[itemId]/route.ts :: apiHandler(arg)": 204,
"app/api/medications/[id]/route.ts :: apiHandler(arg)": 214,
"app/api/medications/[id]/route.ts :: apiHandler(arg) #2": 892,
"app/api/medications/[id]/route.ts :: apiHandler(arg) #2": 886,
"app/api/medications/[id]/route.ts :: apiHandler(arg) > prisma.$transaction(arg)": 293,
"app/api/medications/[id]/schedule-revisions/[revisionId]/route.ts :: apiHandler(arg)": 254,
"app/api/medications/extract/route.ts :: handleExtract": 203,
"app/api/medications/[id]/schedule-revisions/[revisionId]/route.ts :: apiHandler(arg)": 250,
"app/api/medications/extract/route.ts :: handleExtract": 201,
"app/api/medications/intake/bulk/route.ts :: postBulk": 846,
"app/api/medications/intake/route.ts :: apiHandler(arg) #2": 432,
"app/api/medications/route.ts :: postMedication": 403,
"app/api/mental-health/assessments/route.ts :: postAssessment": 254,
"app/api/mood-entries/[id]/route.ts :: apiHandler(arg) #2": 302,
"app/api/mental-health/assessments/route.ts :: postAssessment": 249,
"app/api/mood-entries/[id]/route.ts :: apiHandler(arg) #2": 296,
"app/api/mood-entries/bulk/route.ts :: postBulk": 479,
"app/api/mood-entries/route.ts :: postMoodEntry": 329,
"app/api/mood-entries/route.ts :: postMoodEntry": 324,
"app/api/nutrients/batch/route.ts :: postBatch": 304,
"app/api/onboarding/complete/route.ts :: completeNeedsFlow": 218,
"app/api/record-settings/[family]/route.ts :: apiHandler(arg) #2": 262,
"app/api/sync/changes/route.ts :: apiHandler(arg)": 427,
"app/api/user/ai-provider/route.ts :: apiHandler(arg) #2": 252,
"app/api/user/ai-provider/route.ts :: apiHandler(arg) #2": 248,
"app/api/withings/callback/route.ts :: apiHandler(arg)": 247,
"app/api/workouts/[id]/route.ts :: apiHandler(arg)": 297,
"app/api/workouts/batch/route.ts :: postBatch": 709,
"app/auth/login/page.tsx :: LoginPage": 576,
"app/auth/register/page.tsx :: RegisterPage": 285,
"app/coach/conversations/page.tsx :: CoachConversationsBody": 249,
@@ -173,9 +168,9 @@
"components/labs/ocr-review-dialog.tsx :: OcrReviewDialog": 359,
"components/labs/ocr-row-editor.tsx :: OcrRowEditor": 393,
"components/layout/auth-shell.tsx :: AuthShell": 520,
"components/layout/bottom-nav.tsx :: BottomNav": 229,
"components/layout/bottom-nav.tsx :: BottomNav": 262,
"components/layout/capture-picker.tsx :: CapturePicker": 235,
"components/layout/sidebar-nav.tsx :: SidebarNav": 342,
"components/layout/sidebar-nav.tsx :: SidebarNav": 372,
"components/layout/top-bar.tsx :: TopBar": 212,
"components/links/entity-link-picker.tsx :: EntityLinkPicker": 392,
"components/measurement-reminders/vorsorge-dashboard-card.tsx :: VorsorgeDashboardCard": 215,
@@ -333,20 +328,11 @@
"lib/illness/correlation.ts :: computeIllnessCorrelation": 233,
"lib/import/labs-csv.ts :: importLabsCsv": 309,
"lib/import/labs-csv.ts :: importLabsCsv > flush": 231,
"lib/insights/biomarker-status.ts :: generateBiomarkerStatus": 290,
"lib/insights/blood-pressure-status.ts :: prepareBloodPressureStatusForUser": 635,
"lib/insights/bmi-status.ts :: prepareBmiStatusForUser": 387,
"lib/insights/comprehensive-aggregator.ts :: buildFromRollups": 220,
"lib/insights/comprehensive-generate.ts :: generateComprehensiveInsight": 876,
"lib/insights/features.ts :: extractFeatures": 796,
"lib/insights/general-status.ts :: prepareGeneralStatusForUser": 449,
"lib/insights/medication-compliance-status.ts :: prepareMedicationComplianceStatusForUser": 485,
"lib/insights/metric-status.ts :: generateMetricStatus": 477,
"lib/insights/mood-aggregates.ts :: fetchMoodAggregates": 246,
"lib/insights/mood-status.ts :: prepareMoodStatusForUser": 646,
"lib/insights/pulse-status.ts :: preparePulseStatusForUser": 414,
"lib/insights/status-provider.ts :: runStatusCompletion": 241,
"lib/insights/weight-status.ts :: prepareWeightStatusForUser": 598,
"lib/integrations/connection-health-load.ts :: loadConnectionFacts": 227,
"lib/integrations/status.ts :: recordSyncFailure": 292,
"lib/jobs/apple-health-import-worker.ts :: handleAppleHealthImport": 300,
@@ -379,8 +365,6 @@
"lib/labs/biomarker-merge.ts :: runMerge": 254,
"lib/labs/ocr-extract.ts :: runOcrExtraction": 207,
"lib/labs/ocr-run.ts :: executeOcrExtraction": 206,
"lib/mcp/tools.ts :: searchAndFetchTools": 421,
"lib/mcp/tools.ts :: searchAndFetchTools > run": 205,
"lib/measurements/consolidate-daily-mean.ts :: consolidateDailyMean": 278,
"lib/measurements/consolidate-legacy-steps.ts :: consolidateLegacySteps": 263,
"lib/measurements/dense-intraday-retention.ts :: runDenseIntradayRetention": 537,
+3 -2
View File
@@ -1,7 +1,7 @@
{
"$comment": "as never casts in tests, per test file under src/. Maintained by src/__tests__/test-realism-ratchet.test.ts.",
"count": 523,
"total": 5494,
"count": 524,
"total": 5495,
"entries": {
"__tests__/api/auth/login/mfa-branch.test.ts": 10,
"__tests__/api/auth/mfa/verify.test.ts": 9,
@@ -273,6 +273,7 @@
"components/medications/__tests__/use-medication-intake.test.ts": 1,
"components/medications/detail/efficacy/__tests__/change-at-start-summary.test.tsx": 1,
"components/mood/__tests__/mood-list-url-sync.test.tsx": 1,
"components/settings/__tests__/settings-shell.test.tsx": 1,
"components/settings/integrations/__tests__/dawarich-card.test.tsx": 1,
"components/timeline/__tests__/medication-rows.test.ts": 1,
"lib/__tests__/acting-account-resolver.test.ts": 5,
@@ -1,7 +1,7 @@
{
"$comment": "tests that read a source file by path, per test file under src/. Maintained by src/__tests__/test-realism-ratchet.test.ts.",
"count": 367,
"total": 367,
"count": 366,
"total": 366,
"entries": {
"__tests__/account-payload-consumer-guard.test.ts": 1,
"__tests__/admin-data-wipe-completeness.test.ts": 1,
@@ -284,7 +284,6 @@
"lib/ai/coach/__tests__/snapshot.test.ts": 1,
"lib/ai/coach/memory/__tests__/contract.test.ts": 1,
"lib/ai/coach/tools/__tests__/turn-budget.test.ts": 1,
"lib/ai/coach/turn/__tests__/steps.test.ts": 1,
"lib/analytics/__tests__/glucose-panel-window.test.ts": 1,
"lib/analytics/compliance/__tests__/as-needed-compliance-exclusion.test.ts": 1,
"lib/analytics/mood-prognosis/__tests__/gates.test.ts": 1,
@@ -1,7 +1,7 @@
{
"$comment": "Comment lines that open with a release version, per file under src/. Maintained by src/__tests__/version-stamp-ratchet.test.ts.",
"count": 2954,
"total": 10480,
"count": 2950,
"total": 10300,
"entries": {
"__tests__/account-payload-consumer-guard.test.ts": 2,
"__tests__/acting-account-boundary-guard.test.ts": 7,
@@ -36,7 +36,7 @@
"__tests__/manage-activity-inventory.test.ts": 1,
"__tests__/managed-record-navigation.test.tsx": 1,
"__tests__/measurement-backup-completeness.test.ts": 1,
"__tests__/measurement-write-plausibility-guard.test.ts": 2,
"__tests__/measurement-write-plausibility-guard.test.ts": 1,
"__tests__/medication-ingredient-backup-completeness.test.ts": 1,
"__tests__/medication-intake-tracking-guard.test.ts": 2,
"__tests__/medications-efficacy-verb-guard.test.ts": 1,
@@ -113,13 +113,13 @@
"app/api/admin/provider-health/__tests__/route.test.ts": 6,
"app/api/admin/provider-health/route.ts": 6,
"app/api/admin/settings/__tests__/route.test.ts": 1,
"app/api/admin/settings/assistant-flags/route.ts": 3,
"app/api/admin/settings/assistant-flags/route.ts": 2,
"app/api/admin/settings/module-availability/route.ts": 1,
"app/api/admin/settings/route.ts": 3,
"app/api/admin/settings/route.ts": 2,
"app/api/admin/status/__tests__/route.test.ts": 1,
"app/api/admin/status/route.ts": 1,
"app/api/admin/users/[id]/reset-password/route.ts": 2,
"app/api/admin/users/[id]/route.ts": 2,
"app/api/admin/users/[id]/route.ts": 1,
"app/api/admin/users/route.ts": 1,
"app/api/ai-runs/[id]/route.ts": 1,
"app/api/ai/test/__tests__/route.test.ts": 2,
@@ -170,11 +170,11 @@
"app/api/auth/passkey/login-verify/route.ts": 5,
"app/api/auth/passkeys/__tests__/route.test.ts": 1,
"app/api/auth/password/__tests__/route.test.ts": 3,
"app/api/auth/password/route.ts": 5,
"app/api/auth/password/route.ts": 4,
"app/api/auth/refresh/__tests__/error-code.test.ts": 1,
"app/api/auth/refresh/route.ts": 2,
"app/api/auth/register/__tests__/route.test.ts": 5,
"app/api/auth/register/route.ts": 11,
"app/api/auth/register/route.ts": 10,
"app/api/biomarkers/__tests__/error-contract.test.ts": 1,
"app/api/biomarkers/[id]/__tests__/route.test.ts": 2,
"app/api/biomarkers/[id]/route.ts": 6,
@@ -403,13 +403,13 @@
"app/api/measurements/batch/__tests__/hr-bucket-observability.test.ts": 1,
"app/api/measurements/batch/__tests__/pr-detection-hook.test.ts": 1,
"app/api/measurements/batch/__tests__/sync-trigger.test.ts": 1,
"app/api/measurements/batch/route.ts": 49,
"app/api/measurements/batch/route.ts": 12,
"app/api/measurements/bulk-delete/__tests__/route.test.ts": 2,
"app/api/measurements/bulk-delete/route.ts": 4,
"app/api/measurements/by-external-ids/route.ts": 4,
"app/api/measurements/restore/__tests__/route.test.ts": 2,
"app/api/measurements/restore/route.ts": 3,
"app/api/measurements/route.ts": 38,
"app/api/measurements/route.ts": 13,
"app/api/measurements/series-batch/__tests__/route.test.ts": 1,
"app/api/measurements/series-batch/route.ts": 1,
"app/api/measurements/series/__tests__/route.test.ts": 5,
@@ -425,7 +425,7 @@
"app/api/medications/[id]/dose-history/__tests__/route.test.ts": 1,
"app/api/medications/[id]/dose-history/route.ts": 14,
"app/api/medications/[id]/glp1/__tests__/route.test.ts": 3,
"app/api/medications/[id]/glp1/route.ts": 9,
"app/api/medications/[id]/glp1/route.ts": 8,
"app/api/medications/[id]/intake/__tests__/route.test.ts": 11,
"app/api/medications/[id]/intake/__tests__/source-provenance.test.ts": 1,
"app/api/medications/[id]/intake/[eventId]/__tests__/route.test.ts": 9,
@@ -435,15 +435,15 @@
"app/api/medications/[id]/intake/import/route.ts": 6,
"app/api/medications/[id]/intake/purge/route.ts": 4,
"app/api/medications/[id]/intake/route.ts": 30,
"app/api/medications/[id]/inventory/[itemId]/route.ts": 9,
"app/api/medications/[id]/inventory/route.ts": 5,
"app/api/medications/[id]/phase-config/route.ts": 5,
"app/api/medications/[id]/route.ts": 59,
"app/api/medications/[id]/inventory/[itemId]/route.ts": 8,
"app/api/medications/[id]/inventory/route.ts": 4,
"app/api/medications/[id]/phase-config/route.ts": 4,
"app/api/medications/[id]/route.ts": 58,
"app/api/medications/[id]/schedule-revisions/__tests__/route.test.ts": 1,
"app/api/medications/[id]/schedule-revisions/[revisionId]/route.ts": 9,
"app/api/medications/[id]/schedule-revisions/route.ts": 3,
"app/api/medications/[id]/side-effects/[logId]/route.ts": 2,
"app/api/medications/[id]/side-effects/route.ts": 6,
"app/api/medications/[id]/side-effects/route.ts": 5,
"app/api/medications/categories/[key]/route.ts": 1,
"app/api/medications/categories/route.ts": 1,
"app/api/medications/compliance/__tests__/route.test.ts": 2,
@@ -544,7 +544,6 @@
"app/api/user/profile/__tests__/route.test.ts": 3,
"app/api/user/profile/route.ts": 3,
"app/api/user/thresholds/__tests__/route.test.ts": 1,
"app/api/user/thresholds/route.ts": 1,
"app/api/vaccinations/route.ts": 1,
"app/api/version/route.ts": 3,
"app/api/whoop/callback/route.ts": 2,
@@ -561,7 +560,7 @@
"app/api/workouts/__tests__/batch-create.test.ts": 3,
"app/api/workouts/__tests__/canonical-dedup.test.ts": 3,
"app/api/workouts/[id]/route.ts": 5,
"app/api/workouts/batch/route.ts": 9,
"app/api/workouts/batch/route.ts": 3,
"app/api/workouts/route.ts": 2,
"app/auth/claim/page.tsx": 1,
"app/auth/login/page.tsx": 5,
@@ -1721,7 +1720,7 @@
"lib/ai/coach/tools/definitions.ts": 11,
"lib/ai/coach/tools/dialog-tools.ts": 1,
"lib/ai/coach/tools/environment-read.ts": 2,
"lib/ai/coach/tools/executor.ts": 17,
"lib/ai/coach/tools/executor.ts": 4,
"lib/ai/coach/tools/index.ts": 1,
"lib/ai/coach/tools/inventory.ts": 10,
"lib/ai/coach/tools/loop.ts": 22,
@@ -1948,7 +1947,6 @@
"lib/cycle/custom-symptoms-shared.ts": 1,
"lib/cycle/custom-symptoms.ts": 1,
"lib/cycle/day-log-write.ts": 1,
"lib/cycle/gate.ts": 1,
"lib/cycle/import-accumulator.ts": 1,
"lib/cycle/phase-copy.ts": 1,
"lib/cycle/phase-crosstab.ts": 1,
@@ -2164,9 +2162,8 @@
"lib/insights/__tests__/values-back-link.test.ts": 1,
"lib/insights/__tests__/weight-status.test.ts": 5,
"lib/insights/assessment-context.ts": 1,
"lib/insights/biomarker-status.ts": 1,
"lib/insights/blood-pressure-status.ts": 18,
"lib/insights/bmi-status.ts": 14,
"lib/insights/blood-pressure-status.ts": 11,
"lib/insights/bmi-status.ts": 4,
"lib/insights/breathing-screening.ts": 1,
"lib/insights/briefing-failure-marker.ts": 2,
"lib/insights/briefing-payload.ts": 1,
@@ -2229,26 +2226,26 @@
"lib/insights/feature-blocks.ts": 5,
"lib/insights/feature-cache.ts": 2,
"lib/insights/features.ts": 34,
"lib/insights/general-status.ts": 14,
"lib/insights/general-status.ts": 5,
"lib/insights/glp1-plateau.ts": 2,
"lib/insights/graded-series.ts": 3,
"lib/insights/health-status.ts": 3,
"lib/insights/illness-cycle-briefing.ts": 1,
"lib/insights/labs-changes.ts": 1,
"lib/insights/measurement-diversity.ts": 1,
"lib/insights/medication-compliance-status.ts": 20,
"lib/insights/medication-compliance-status.ts": 11,
"lib/insights/memory.ts": 2,
"lib/insights/metric-availability.ts": 11,
"lib/insights/metric-catalog.ts": 2,
"lib/insights/metric-correlation-context.ts": 1,
"lib/insights/metric-signal.ts": 1,
"lib/insights/metric-status-registry.ts": 5,
"lib/insights/metric-status.ts": 11,
"lib/insights/metric-status.ts": 8,
"lib/insights/mood-aggregates.ts": 37,
"lib/insights/mood-crosstab.ts": 2,
"lib/insights/mood-dimension-series.ts": 1,
"lib/insights/mood-narratives.ts": 3,
"lib/insights/mood-status.ts": 25,
"lib/insights/mood-status.ts": 16,
"lib/insights/narrative/__tests__/period-narrative-db.test.ts": 2,
"lib/insights/narrative/__tests__/period-narrative-deterministic.test.ts": 1,
"lib/insights/narrative/__tests__/period-narrative-generate.test.ts": 1,
@@ -2257,7 +2254,7 @@
"lib/insights/narrative/period-narrative-generate.ts": 5,
"lib/insights/narrative/period-narrative.ts": 2,
"lib/insights/no-key-fallbacks.ts": 3,
"lib/insights/pulse-status.ts": 13,
"lib/insights/pulse-status.ts": 3,
"lib/insights/recovery-score.ts": 2,
"lib/insights/sanitize.ts": 1,
"lib/insights/score-row.ts": 2,
@@ -2279,7 +2276,7 @@
"lib/insights/trend-descriptor.ts": 1,
"lib/insights/trend-sentiment.ts": 1,
"lib/insights/values-back-link.ts": 1,
"lib/insights/weight-status.ts": 15,
"lib/insights/weight-status.ts": 5,
"lib/insights/with-timeout.ts": 1,
"lib/integrations/__tests__/admin-alert.test.ts": 4,
"lib/integrations/__tests__/status.test.ts": 11,
@@ -2473,7 +2470,6 @@
"lib/mcp/record-search.ts": 1,
"lib/mcp/resources.ts": 6,
"lib/mcp/rich-reads.ts": 8,
"lib/mcp/tools.ts": 18,
"lib/mcp/writes.ts": 2,
"lib/measurement-reminders/__tests__/holds-open.test.ts": 1,
"lib/measurement-reminders/__tests__/resolve.test.ts": 2,
@@ -2807,7 +2803,7 @@
"lib/rollups/mood-rollups.ts": 4,
"lib/rollups/tiered-context.ts": 6,
"lib/score-config/rows.ts": 1,
"lib/settings/section-slugs.ts": 19,
"lib/settings/section-slugs.ts": 20,
"lib/sharing/__tests__/account-access-parse.test.ts": 3,
"lib/sharing/__tests__/account-access.test.ts": 2,
"lib/sharing/__tests__/account-label.test.ts": 1,
+2 -3
View File
@@ -3,9 +3,8 @@
*
* The workout-route switch is off for new accounts, which is what its detail
* says rather than "off by default": an account that already held tracks at
* the upgrade started with it on (migration 0434). The Topics preview switch
* this file also held describes pages that now exist, so its copy is in the
* present tense like every other switch.
* the upgrade started with it on (migration 0434). (The Topics preview switch
* this file also held is unlisted until its pages ship, and its copy with it.)
*/
import { describe, expect, it } from "vitest";
@@ -54,8 +54,6 @@ const HISTORICAL_SETTINGS_PATHS: readonly string[] = [
"/settings/export",
"/settings/advanced",
"/settings/privacy",
// Preview features (Settings > System).
"/settings/preview",
"/settings/about",
// The per-module personalisation slugs before the layout hub.
"/settings/dashboard",
+1 -15
View File
@@ -1094,17 +1094,6 @@ const DELEGABLE_ROUTES: Record<string, DelegableEntry> = {
domain: "record",
why: "One search over the record: hits from every section with an in-app path each. Read-only, scoped to the resolved user, every source narrowed to the record's module switches and to the sections the grant covers, the query never logged.",
},
// The topic pages (preview) lay several sections side by side, like the
// timeline, so they stay whole-record reads. The preview switch they check
// is the ACTOR's own row and decides nothing about the record.
"app/api/topics/route.ts": {
domain: "record",
why: "The topic overview: a headline value, a rule-based sentence and a sparkline per topic, computed from the record's daily values, lab markers, screener totals and cycle starts. Read-only, no model, scoped to the resolved user, every signal and block narrowed to the record's module switches and to the sections the grant covers.",
},
"app/api/topics/[topic]/route.ts": {
domain: "record",
why: "One topic page: signals with usual ranges, side-by-side series, relationships, trends and the topic's blocks. Read-only, no model, scoped to the resolved user, narrowed per signal and block like the overview.",
},
"app/api/workouts/route.ts": {
domain: "measurements",
why: "The record's workout list. Verified to carry no AI-written paragraph: the single-workout route beside it does, and stays refused for exactly that reason.",
@@ -2228,11 +2217,8 @@ const ACTOR_ROUTES: Record<string, string> = {
* side). The activity goals route does not: setting or changing goals stays
* owner-only, and a delegate sees the goals only as the calendar reports them.
* 270 -> 273.
*
* The topic overview and the topic page (preview) join the record list as
* whole-record reads, like the timeline. 273 -> 275.
*/
const FROZEN_ENTRY_COUNT = 275;
const FROZEN_ENTRY_COUNT = 273;
/**
* The two surfaces that authenticate a Bearer token outside `requireAuth` —