Resolve the configured flag on the score composite

One boolean on the composite: true when the account's resolved
composition differs from the composition its defaults would resolve to
today, both narrowed by the same modules. Decided once in the score
reader, from the same config and module map the composition came from,
so no client interprets a config blob to answer it.

This is not hasSelection. An account that opened the surface and kept
every pillar has written a selection and is not configured; an account
whose modules alone narrow the set has authored nothing and is not
configured either.
This commit is contained in:
Marc-André Bombeck committed 2026-07-31 18:02:22 +02:00
1 parent 0a524c542b
commit 5d7d00949c
12 files changed
+106 -2

No files matched your search

@@ -147,6 +147,7 @@ function reportWith(pillars: ScorePillarResult[]): HealthScoreReport {
band: "green",
bandSetter: null,
composition: pillars.map((p) => p.id),
configured: false,
noiseFloor: 3,
scoreVersion: 2,
},
@@ -239,6 +239,7 @@ function scoredReport(
band: "green",
bandSetter: null,
composition: ["BLOOD_PRESSURE", "ACTIVITY", "SLEEP"],
configured: false,
noiseFloor: 3,
scoreVersion: 2,
},
@@ -368,6 +369,7 @@ describe("<HealthScoreCard> pillars", () => {
band: "red",
bandSetter: null,
composition: ["BLOOD_PRESSURE", "GLYCAEMIA"],
configured: false,
noiseFloor: 3,
scoreVersion: 2,
},
@@ -114,6 +114,7 @@ function scoreReport(pillars: ScorePillarResult[]): HealthScoreReport {
band: "green",
bandSetter: null,
composition: ["BLOOD_PRESSURE"],
configured: false,
noiseFloor: 3,
scoreVersion: 2,
},