feat(settings): say that the daily briefing reasons at its own depth

The provider's reasoning select reaches neither the Coach nor the
background jobs: the daily briefing thinks at Medium at most, lower under
the operator's cap, and not at all on the Frugal usage level. A line under
the select now says so, in every locale. Behaviour is unchanged.

Refs #1267
This commit is contained in:
Marc-André Bombeck committed 2026-10-22 13:01:20 +02:00
1 parent 6d250d092d
commit 9e2a8229ec
10 files changed
+33 -9

No files matched your search

+2 -1
View File
@@ -6558,7 +6558,8 @@
"medium": "Mittel",
"high": "Hoch"
},
"coachNote": "Im Coach gilt die Denktiefe aus den Coach-Einstellungen."
"coachNote": "Im Coach gilt die Denktiefe aus den Coach-Einstellungen.",
"backgroundNote": "Hintergrundarbeit wie das Tagesbriefing nutzt diese Einstellung nicht: Sie denkt höchstens auf Mittel nach, weniger, wenn der Betreiber eine niedrigere Grenze setzt, und gar nicht auf der Stufe Sparsam."
},
"providerCardDescription": "Richte Schlüssel und Modell je Anbieter ein; die Reihenfolge darunter bestimmt, welchen HealthLog zuerst fragt.",
"runtimeTitle": "Prüfen und aktualisieren",
+2 -1
View File
@@ -6558,7 +6558,8 @@
"medium": "Medium",
"high": "High"
},
"coachNote": "In the Coach, the thinking depth from the Coach settings applies."
"coachNote": "In the Coach, the thinking depth from the Coach settings applies.",
"backgroundNote": "Background work such as the daily briefing does not use this setting: it thinks at Medium at most, lower when the operator sets a lower limit, and not at all on the Frugal usage level."
},
"providerCardDescription": "Set up each provider's key and model; the order below decides which one HealthLog asks first.",
"runtimeTitle": "Check and refresh",
+2 -1
View File
@@ -6558,7 +6558,8 @@
"medium": "Medio",
"high": "Alto"
},
"coachNote": "En el Coach se aplica la profundidad de pensamiento de los ajustes del Coach."
"coachNote": "En el Coach se aplica la profundidad de pensamiento de los ajustes del Coach.",
"backgroundNote": "El trabajo en segundo plano, como el resumen diario, no usa este ajuste: piensa como máximo en Medio, menos si el operador fija un límite más bajo, y nada en el nivel Ahorro."
},
"providerCardDescription": "Configura la clave y el modelo de cada proveedor; el orden de abajo decide a cuál pregunta HealthLog primero.",
"runtimeTitle": "Comprobar y actualizar",
+2 -1
View File
@@ -6558,7 +6558,8 @@
"medium": "Moyen",
"high": "Élevé"
},
"coachNote": "Dans le Coach, c'est la profondeur de réflexion des réglages du Coach qui s'applique."
"coachNote": "Dans le Coach, c'est la profondeur de réflexion des réglages du Coach qui s'applique.",
"backgroundNote": "Les tâches de fond comme le briefing quotidien n'utilisent pas ce réglage : elles réfléchissent au plus en Moyen, moins si l'opérateur fixe une limite plus basse, et pas du tout au niveau Économe."
},
"providerCardDescription": "Configurez la clé et le modèle de chaque fournisseur ; l’ordre ci-dessous décide lequel HealthLog sollicite en premier.",
"runtimeTitle": "Vérifier et actualiser",
+2 -1
View File
@@ -6558,7 +6558,8 @@
"medium": "Medio",
"high": "Alto"
},
"coachNote": "Nel Coach vale la profondità di ragionamento delle impostazioni del Coach."
"coachNote": "Nel Coach vale la profondità di ragionamento delle impostazioni del Coach.",
"backgroundNote": "Il lavoro in background, come il briefing giornaliero, non usa questa impostazione: ragiona al massimo su Medio, meno se l'operatore imposta un limite più basso, e per niente al livello Risparmio."
},
"providerCardDescription": "Configura chiave e modello di ogni fornitore; l’ordine qui sotto decide quale HealthLog interpella per primo.",
"runtimeTitle": "Verifica e aggiorna",
+2 -1
View File
@@ -6558,7 +6558,8 @@
"medium": "보통",
"high": "높음"
},
"coachNote": "코치에서는 코치 설정의 사고 깊이가 적용됩니다."
"coachNote": "코치에서는 코치 설정의 사고 깊이가 적용됩니다.",
"backgroundNote": "일일 브리핑 같은 백그라운드 작업은 이 설정을 쓰지 않습니다. 최대 보통 수준으로 생각하며, 운영자가 더 낮은 한도를 정하면 그보다 낮게, 절약 단계에서는 전혀 생각하지 않습니다."
},
"providerCardDescription": "제공자마다 키와 모델을 설정하고, 아래 순서로 HealthLog가 먼저 쓸 제공자를 정해요.",
"runtimeTitle": "확인 및 새로고침",
+2 -1
View File
@@ -6558,7 +6558,8 @@
"medium": "Gemiddeld",
"high": "Hoog"
},
"coachNote": "In de Coach geldt de denkdiepte uit de Coach-instellingen."
"coachNote": "In de Coach geldt de denkdiepte uit de Coach-instellingen.",
"backgroundNote": "Achtergrondwerk zoals de dagelijkse briefing gebruikt deze instelling niet: het denkt hoogstens op Gemiddeld na, minder als de beheerder een lagere grens instelt, en helemaal niet op het niveau Zuinig."
},
"providerCardDescription": "Stel per provider de sleutel en het model in; de volgorde hieronder bepaalt welke HealthLog als eerste raadpleegt.",
"runtimeTitle": "Controleren en vernieuwen",
+2 -1
View File
@@ -6558,7 +6558,8 @@
"medium": "Średnie",
"high": "Wysokie"
},
"coachNote": "W Coachu obowiązuje głębokość myślenia z ustawień Coacha."
"coachNote": "W Coachu obowiązuje głębokość myślenia z ustawień Coacha.",
"backgroundNote": "Praca w tle, taka jak codzienne podsumowanie, nie korzysta z tego ustawienia: myśli najwyżej na poziomie Średnie, niżej, gdy operator ustawi niższy limit, a na poziomie Oszczędny wcale."
},
"providerCardDescription": "Skonfiguruj klucz i model każdego dostawcy; kolejność poniżej decyduje, którego HealthLog pyta najpierw.",
"runtimeTitle": "Sprawdź i odśwież",
@@ -99,6 +99,12 @@ describe.each([
expect(select).toMatch(/<option value="" selected="">/);
});
it("says the daily briefing does not follow this setting (#1267)", () => {
const html = render(form(provider({})));
expect(html).toContain('data-slot="reasoning-effort-background-note"');
expect(html).toContain(en.settings.ai.reasoning.backgroundNote);
});
it("seeds the stored value", () => {
const select = selectMarkup(render(form(provider(stored("none")))), id);
expect(select).toMatch(/<option value="none" selected="">/);
@@ -5,7 +5,8 @@
* Same Label + NativeSelect + hint layout as the model field above it.
* The empty value is Default: nothing is sent and the model decides.
* v1.41 — the Coach reads its own thinking depth from the Coach settings;
* a line under the hint says so.
* a line under the hint says so. #1267 — so do the background jobs (the
* daily briefing among them); a second line says that too.
* ──────────────────────────────────────────────────────────────── */
import { Label } from "@/components/ui/label";
@@ -66,6 +67,15 @@ export function ReasoningEffortField({
>
{t("settings.ai.reasoning.coachNote")}
</p>
{/* #1267 — background jobs resolve their own level on the server
(`BACKGROUND_REASONING_LEVEL`, the operator's cap, the usage level);
this select never reaches them, so say so where it is set. */}
<p
data-slot="reasoning-effort-background-note"
className="text-muted-foreground mt-1 text-xs"
>
{t("settings.ai.reasoning.backgroundNote")}
</p>
</div>
);
}