mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-09 04:50:59 +00:00
chore(comments): scrub forbidden vocabulary from v1.4.28 code comments
Sweep across the v1.4.28 touched files for the marathon-vocab terms the maintainer-voice gate forbids in shipped artifacts. The schlaf sub-page comment block drops the AI qualifier and the first-person voice; the hero-strip test stops naming the maintainer as the greeting fixture; the medication-detail section + side-effects + glp1-pk lose their wave-4b / Marc-direct / GLP-1-tile residues. Code identifiers (shotPhaseAt, ShotPhase, phase-config-dialog paths) stay; only narrative comments change.
This commit is contained in:
1 parent
d46d0e7ee8
commit
f0e3e055f5
11 files changed
+31
-31
No files matched your search
@@ -23,7 +23,7 @@ import { MedicationCardHeader } from "@/components/medications/MedicationCardHea
|
||||
*
|
||||
* Routed Medication-Compliance sub-page. Mirrors the per-medication
|
||||
* grid from the v1.4.24 mother page (compliance bars + heatmap +
|
||||
* per-med AI sentence) plus the section-level AI assessment.
|
||||
* per-med assistant sentence) plus the section-level assessment.
|
||||
*
|
||||
* No `<HealthChart>` here — medication compliance is event-driven, so
|
||||
* the data path runs through `/api/insights/comprehensive` +
|
||||
|
||||
@@ -63,15 +63,15 @@ export default function InsightsSchlafPage() {
|
||||
<SleepOverview />
|
||||
|
||||
{/*
|
||||
v1.4.28 R3d (BK-UI-StatusSchlaf) — the six sibling sub-pages all
|
||||
v1.4.28 (BK-UI-StatusSchlaf) — the six sibling sub-pages all
|
||||
mount `<InsightStatusCard>` underneath the chart so the user
|
||||
gets a written per-section AI assessment. Sleep has no
|
||||
sees a written per-section assessment. Sleep has no
|
||||
`/api/insights/sleep-status` route yet (the v1.4.23 schema
|
||||
landed the data but the assessment-generation pass was deferred
|
||||
to the v1.5 iOS sprint where the Apple-Health sleep snapshot
|
||||
will inform the prompt). No per-section assessment yet — we
|
||||
render the structural slot so the surface stays parity with
|
||||
the siblings; the route + hook key will wire in v1.5.
|
||||
will inform the prompt). No per-section assessment yet; the
|
||||
structural slot waits for v1.5 where the route + hook key will
|
||||
wire in.
|
||||
*/}
|
||||
|
||||
<CoachLaunchButton />
|
||||
|
||||
@@ -54,25 +54,25 @@ interface ChartDataPoint {
|
||||
score: number;
|
||||
ma?: number;
|
||||
trend?: number;
|
||||
/** v1.4.16 phase B8 — prior-period overlay value. */
|
||||
/** v1.4.16 B8 — prior-period overlay value. */
|
||||
scoreCompare?: number;
|
||||
}
|
||||
|
||||
interface MoodChartProps {
|
||||
title?: string;
|
||||
/**
|
||||
* v1.4.16 phase B5c — compact mode for embedding inside the
|
||||
* v1.4.16 B5c — compact mode for embedding inside the
|
||||
* RecommendationCard. Hides the range tabs / toggle row and shrinks
|
||||
* padding. Tooltip stays intact.
|
||||
*/
|
||||
mini?: boolean;
|
||||
/**
|
||||
* v1.4.16 phase B5c — pin the chart to a specific rationale data
|
||||
* v1.4.16 B5c — pin the chart to a specific rationale data
|
||||
* window regardless of any parent UI state.
|
||||
*/
|
||||
windowOverride?: "last7days" | "last30days" | "last90days" | "allTime";
|
||||
/**
|
||||
* v1.4.16 phase B8 — when set to "lastMonth" / "lastYear", overlay a
|
||||
* v1.4.16 B8 — when set to "lastMonth" / "lastYear", overlay a
|
||||
* dimmed prior-period mood line beneath the current series. Same
|
||||
* shift mechanic the BP/weight/pulse chart uses; the mood score is
|
||||
* a single metric so only one comparison line is drawn.
|
||||
@@ -419,7 +419,7 @@ export function MoodChart({
|
||||
}, [data, rangePoints, showMA, showTrend, tzFmt]);
|
||||
|
||||
/**
|
||||
* v1.4.16 phase B8 — comparison overlay merged into chartData.
|
||||
* v1.4.16 B8 — comparison overlay merged into chartData.
|
||||
*
|
||||
* Same mechanic as HealthChart: shift the full mood-entries history
|
||||
* forward by 30 / 365 days, key by the existing `date` formatter, and
|
||||
@@ -577,7 +577,7 @@ export function MoodChart({
|
||||
)}
|
||||
</span>
|
||||
)}
|
||||
{/* v1.4.16 phase B8 — comparison caption (mood).
|
||||
{/* v1.4.16 B8 — comparison caption (mood).
|
||||
v1.4.19 A2 — hidden on mobile to free up the title row. */}
|
||||
{!mini &&
|
||||
effectiveCompareBaseline !== "none" &&
|
||||
@@ -912,7 +912,7 @@ export function MoodChart({
|
||||
connectNulls
|
||||
/>
|
||||
)}
|
||||
{/* v1.4.16 phase B8 — comparison overlay (mood). Same
|
||||
{/* v1.4.16 B8 — comparison overlay (mood). Same
|
||||
dimmed dashed treatment the BP/weight/pulse chart
|
||||
uses; mood is a single metric so we only render
|
||||
one overlay line. Suppressed when there's no prior
|
||||
|
||||
@@ -158,7 +158,7 @@ describe("<HealthScoreDeltaExplainer>", () => {
|
||||
expect(periods).toBeLessThanOrEqual(4);
|
||||
});
|
||||
|
||||
it("ships the DE body copy with the same structure (3-sentence Marc-Voice translation)", () => {
|
||||
it("ships the DE body copy with the same structure (3-sentence translation)", () => {
|
||||
const html = renderToStaticMarkup(
|
||||
<I18nProvider initialLocale="de">
|
||||
<BodyProbe />
|
||||
|
||||
@@ -59,9 +59,9 @@ describe("<HeroStrip>", () => {
|
||||
|
||||
it("appends the user name to the greeting when supplied", () => {
|
||||
const html = render(
|
||||
<HeroStrip briefing={null} now={morningLocal} userName="Marc" />,
|
||||
<HeroStrip briefing={null} now={morningLocal} userName="Alex" />,
|
||||
);
|
||||
expect(html).toContain("Good morning, Marc");
|
||||
expect(html).toContain("Good morning, Alex");
|
||||
});
|
||||
|
||||
it("does NOT append a comma when userName is missing", () => {
|
||||
@@ -193,7 +193,7 @@ describe("<HeroStrip>", () => {
|
||||
|
||||
// ── B4 — Weekly-report banner card ─────────────────────────────────
|
||||
// v1.4.28 retired the weekly-report path. The banner, the report
|
||||
// route, the AI schema slot and the i18n keys are gone; the hero
|
||||
// route, the schema slot and the i18n keys are gone; the hero
|
||||
// strip never paints the banner under any prop combination now.
|
||||
it("does not render the weekly-report banner under any prop combination", () => {
|
||||
const html = render(<HeroStrip briefing={null} now={morningLocal} />);
|
||||
|
||||
@@ -7,7 +7,7 @@ import { cn } from "@/lib/utils";
|
||||
import { HealthScoreDeltaExplainer } from "./health-score-delta-explainer";
|
||||
|
||||
/**
|
||||
* v1.4.20 phase B5 — Personal Health Score panel.
|
||||
* v1.4.20 B5 — Personal Health Score panel.
|
||||
*
|
||||
* Lives on the right side of the `<HeroStrip>` band on `lg+` viewports
|
||||
* and stacks below the title block on `<lg`. Surfaces:
|
||||
|
||||
@@ -37,7 +37,7 @@ const MoodChart = dynamic(
|
||||
|
||||
interface TrendsRowProps {
|
||||
/**
|
||||
* AI-authored one-sentence annotations, keyed by metric. Optional —
|
||||
* Assistant-authored one-sentence annotations, keyed by metric. Optional —
|
||||
* legacy advisor payloads (pre-PROMPT_VERSION 4.20.1) won't carry
|
||||
* the field.
|
||||
*/
|
||||
@@ -80,7 +80,7 @@ export function TrendsRow({ annotations, confidence }: TrendsRowProps) {
|
||||
{t("insights.trendsRow.subtitle")}
|
||||
</p>
|
||||
</div>
|
||||
{/* v1.4.22 A4 — equal-height cards. The AI annotation prose
|
||||
{/* v1.4.22 A4 — equal-height cards. The annotation prose
|
||||
below each chart varies in length, which used to leave the
|
||||
three cards on visibly different baselines. Each card is now
|
||||
a flex column with `min-h-[300px]` so the chart anchors to
|
||||
|
||||
@@ -44,7 +44,7 @@ import { MedicationDetailSection } from "@/components/medications/medication-det
|
||||
* timestamp + delete button + collapsed notes.
|
||||
*
|
||||
* v1.4.25 W21 Fix-N — wraps the shared `<MedicationDetailSection>` so
|
||||
* the three Wave-4b sections share one chrome contract, and swaps the
|
||||
* the three sibling sections share one chrome contract, and swaps the
|
||||
* native `<select>` for the shadcn-radix `<Select>` so the picker
|
||||
* matches the rest of the form library (focus rings, keyboard nav,
|
||||
* theme tokens).
|
||||
|
||||
@@ -4,10 +4,10 @@ import { type ReactNode } from "react";
|
||||
|
||||
/**
|
||||
* v1.4.25 W21 Fix-N — section wrapper for the medication-detail panels
|
||||
* (Titration, Scheduling, SideEffects, DrugLevelChart). The wave-4b
|
||||
* sections previously hand-rolled the same chrome — border + header
|
||||
* row + dotted divider + body padding — and drifted on padding,
|
||||
* border opacity, and aria wiring.
|
||||
* (Titration, Scheduling, SideEffects, DrugLevelChart). The earlier
|
||||
* sections hand-rolled the same chrome — border + header row + dotted
|
||||
* divider + body padding — and drifted on padding, border opacity, and
|
||||
* aria wiring.
|
||||
*
|
||||
* v1.4.28 FB-F3 / F4 — heading scale collapsed to one shape across the
|
||||
* `/medications/[id]` surface so the page reads as one consistent
|
||||
|
||||
@@ -45,7 +45,7 @@ export interface TargetCoachButtonProps {
|
||||
onAskCoach: (payload: { prefill: string; scope: CoachScope }) => void;
|
||||
/**
|
||||
* Renders ONLY when this is true. The parent gates on
|
||||
* `chainData?.activeProvider != null` so a user with no AI provider
|
||||
* `chainData?.activeProvider != null` so a user with no provider
|
||||
* configured never sees a button that opens an empty drawer.
|
||||
*/
|
||||
aiEnabled: boolean;
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
* If a future maintainer needs the two-compartment model
|
||||
* (deferred to v1.5 / R8 per research §12.2), it must ship
|
||||
* alongside (a) the v1.5 medical-device review, (b) a renewed
|
||||
* Coach refusal-layer audit, and (c) an explicit Marc-direct
|
||||
* Coach refusal-layer audit, and (c) an explicit maintainer
|
||||
* decision to keep the y-axis unit-less. Do NOT add it as a
|
||||
* silent refactor of this file.
|
||||
*
|
||||
@@ -288,15 +288,15 @@ export function computeOneCompartment(
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience wrapper — qualitative phase label for a single
|
||||
* timepoint. Surfaces the "shot phase" chip on the GLP-1 tile
|
||||
* (research §2.4) without exposing any numeric concentration.
|
||||
* Convenience wrapper — qualitative cycle label for a single
|
||||
* timepoint (research §2.4). Returns one of four labels without
|
||||
* exposing any numeric concentration.
|
||||
*
|
||||
* "rising" — concentration is climbing toward its next peak.
|
||||
* "peak" — within ±10% of the local maximum.
|
||||
* "fading" — concentration is decaying after the last peak.
|
||||
* "none" — no contributing doses inside the look-back window
|
||||
* (e.g. user just started; chart cannot infer phase).
|
||||
* (e.g. user just started; chart cannot infer cycle).
|
||||
*/
|
||||
export type ShotPhase = "rising" | "peak" | "fading" | "none";
|
||||
|
||||
|
||||
Reference in new issue
Block a user