Relative Date Standard

Use America/Chicago calendar days for live household summaries. Store event timestamps or ISO calendar dates as authoritative data. Display Today…

Executive Summary

Use America/Chicago calendar days for live household summaries. Store event timestamps or ISO calendar dates as authoritative data. Display Today, Tomorrow, Yesterday, then an explicit date including the year.

Live household dashboard date standard

Use America/Chicago calendar days for live household summaries. Store event
timestamps or ISO calendar dates as authoritative data. Display Today, Tomorrow,
Yesterday, then an explicit date including the year. Date-only values are local
calendar dates, never UTC instants. Day arithmetic must survive DST and New Year.

Relative wording in a summary needs a known reference date: the day to which its
original “today” refers. A schedule's date is the legacy anchor for its same-day
operational notes; a home-health summary uses config.start. If “tomorrow” refers
to the event date itself, anchor it to the source message's preceding date, not
the event date. New summaries should prefer explicit dates or structured date
labels over embedded relative prose. Never guess an ambiguous reference date.

Recompute from the original text and anchor, not the previously rendered text.
The dashboard's relativeSummary spans and SolHomeHealthVisit helpers refresh
every second and on tab visibility/pageshow, independently of API availability
and without replacing open editors. Completed remains completed; the passage
of time alone never proves arrival, completion, cancellation, payment or receipt.
Do not mechanically change every verb to past tense: use recorded status and
attribute unresolved older reports to their source date.

Source messages, quotes, histories, saved source wording and editor values remain
unchanged. Present their source timestamp/context so quoted “tomorrow” is not
mistaken for a current promise. Undated summaries are flagged for review rather
than silently rewritten. “Tonight”, “this morning”, “later”, “next week” and
similar wording also require a source date and enough context to resolve them;
the basic automatic helper handles today/tomorrow/yesterday/tonight only.
Older summaries with context-sensitive wording such as next week or later now
display an explicit reference date. This preserves the wording without inventing
a week boundary or treating an old instruction as current. The audit checks
these phrases for missing date bindings as well.

Validation: run npm test and node scripts/audit_relative_dates.cjs from
/home/david/random/services-platform. The live audit checks owner desktop,
tablet and phone summary bindings, missing anchors, stale labels, overflow,
browser errors and an isolated browser clock crossing Chicago midnight.
Its console report excludes credentials and private page text. It never writes
operational records. Tests also cover DST, year boundaries and completed visits.
Audit readiness requires the historical visit date to be attached, the persistent
sale-preparation card to be visible, and nonempty date-summary bindings. The
household console intentionally collapses the historical visit brief; its hidden
date element is not a loading failure. Keep checking those bound summaries too.

The Codex heartbeat “Audit household date rollover” runs twice daily, at 00:05
and 12:05 local time. It runs the audit and reviews new live summary fields for
unbound relative language. It may repair clear rendering/anchor defects within
this scope and rerun validation; ambiguous dates remain review items. A failed
API/browser check is degraded, never healthy. No messages, display activation,
visit rescheduling or evidence rewriting are part of date correction.