docs(score): state why daily mood stays out of the wellbeing pillar

The pillar reads PHQ-9, GAD-7 and WHO-5 and cites the papers behind
every threshold. A daily self-rated slider is now available on nearly
every mood row, so leaving it out reads as an omission unless the
reason is written down: the two are different kinds of evidence, and
averaging them would weaken the line that makes the figure worth
showing to a doctor. Recorded at the pillar and at the columns.
This commit is contained in:
Marc-André Bombeck committed 2026-08-08 01:44:50 +02:00
1 parent a6bb4f6577
commit 8084c97472
2 files changed
+29

No files matched your search

+7
View File
@@ -4046,6 +4046,13 @@ model MoodEntry {
/// whole-record by design and carries no per-domain scope. That is
/// deliberate, not an oversight: withholding part of a record from a
/// delegate would be a new capability, not a field select.
///
/// None of these reaches the health score, and that too is a decision. The
/// WELLBEING pillar reads PHQ-9, GAD-7 and WHO-5 and cites the papers its
/// thresholds come from; a daily self-rated slider is a different kind of
/// evidence, and averaging the two would weaken the line that makes the
/// score worth showing to a doctor. The reasoning is written out at
/// `src/lib/analytics/score/wellbeing.ts`.
moodA1 Int? @map("mood_a1") // 0-10, pleasantness
stressA2 Int? @map("stress_a2") // 0-10, inverse-oriented
energyA3 Int? @map("energy_a3") // 0-10
+22
View File
@@ -1,3 +1,25 @@
/**
* The WELLBEING pillar reads validated instruments, and only those.
*
* PHQ-9, GAD-7 and WHO-5 over a 90-day window. Every threshold below cites
* the paper it comes from, which is the whole reason this pillar can be shown
* to a doctor.
*
* Daily mood does not feed it, and that is a decision rather than an
* oversight. Since v1.37 a mood entry carries a 0-10 self-rated pleasantness
* on most rows, including a mapped value on historical ones, so the number is
* available and folding it in would be a small change. It stays out: a
* self-rated slider moved once a day and a scored clinical questionnaire are
* different kinds of evidence, and averaging them into one figure that cites
* Kroenke, Spitzer and the WHO would weaken exactly the line that makes the
* figure worth anything. There is also no good answer to "why did my score
* drop because I logged a bad afternoon".
*
* Daily mood keeps its own surfaces — the trend page, the assistant, the
* briefing — where its resolution is the point. Bringing it in here would be
* a score decision, taken on the score line, with its own coverage rule and
* its own line in the explainer; it is not something to add on the way past.
*/
import type { Derived } from "@/lib/insights/derived/types";
import type { PillarValue, WellbeingPillarInput } from "./types";