Retire the guardian toggle over a pref nothing reads

The evidence disclosure stopped honouring showEvidenceByDefault in
v1.4.27 and the owner surface retired the control with it — but the
managed-record coach form still offered the switch, silently governing
nothing. Remove the control, the managed-schema pick, the response
field, and the label in all six locales; the strict schema now refuses
the key outright.
This commit is contained in:
Marc-André Bombeck committed 2026-08-14 01:56:25 +02:00
1 parent 15fb5dbbdb
commit a45dde2039
10 files changed
+18 -17

No files matched your search

@@ -82,7 +82,6 @@ describe("managed record settings configuration contract", () => {
tone: "warm",
verbosity: "default",
excludeMetrics: [],
showEvidenceByDefault: false,
defaultWindow: "allTime",
},
},
@@ -100,6 +99,24 @@ describe("managed record settings configuration contract", () => {
expect(() => parseManagedRecordSettingsPatch(family, patch)).not.toThrow();
});
// Watched red: re-adding `showEvidenceByDefault: true` to the managed
// coach pick makes the strict schema accept the key again and this
// fails. The evidence disclosure stopped honouring the flag in v1.4.27
// (F14); a guardian toggle over a pref nothing reads is a dead control.
it("refuses the retired showEvidenceByDefault pref", () => {
expect(() =>
parseManagedRecordSettingsPatch("coach", {
preferences: {
tone: "warm",
verbosity: "default",
excludeMetrics: [],
defaultWindow: "allTime",
showEvidenceByDefault: true,
},
}),
).toThrow();
});
it("uses the complete canonical module inventory for a fresh record", () => {
expect(Object.keys(MANAGED_RECORD_SETTINGS_MODULE_DEFAULTS)).toEqual(
WRITABLE_MODULE_KEYS,
@@ -139,7 +139,6 @@ export const GET = apiHandler(
tone: preferences.tone,
verbosity: preferences.verbosity,
excludeMetrics: preferences.excludeMetrics,
showEvidenceByDefault: preferences.showEvidenceByDefault,
defaultWindow: preferences.defaultWindow,
...(preferences.dataClusters !== undefined
? { dataClusters: preferences.dataClusters }
@@ -344,7 +343,6 @@ export const PATCH = apiHandler(
tone: preferences.tone,
verbosity: preferences.verbosity,
excludeMetrics: preferences.excludeMetrics,
showEvidenceByDefault: preferences.showEvidenceByDefault,
defaultWindow: preferences.defaultWindow,
...(preferences.dataClusters !== undefined
? { dataClusters: preferences.dataClusters }
@@ -734,7 +734,6 @@ function CoachSettingsForm({
excludeMetrics: COACH_EXCLUDE_METRICS.filter(
(metric) => form.get(`exclude-${metric}`) === "on",
),
showEvidenceByDefault: form.get("showEvidenceByDefault") === "on",
defaultWindow: asString(form.get("defaultWindow"), "allTime"),
...(form.get("useCustomClusters") === "on"
? {
@@ -817,12 +816,6 @@ function CoachSettingsForm({
</NativeSelect>
</label>
</div>
<ManagedSwitchRow
name="showEvidenceByDefault"
label={t("settings.sharedRecord.managedSettings.coach.showEvidence")}
defaultChecked={preferences.showEvidenceByDefault === true}
disabled={disabled}
/>
<fieldset className="space-y-2">
<legend className="text-sm font-medium">
{t("settings.sharedRecord.managedSettings.coach.excludedMetrics")}
-1
View File
@@ -124,7 +124,6 @@ const managedCoachPreferencesSchema = coachPrefsSchema
tone: true,
verbosity: true,
excludeMetrics: true,
showEvidenceByDefault: true,
defaultWindow: true,
dataClusters: true,
})