Skip to content

ADR-0064: The Standing Statement is stated on first run by a blocking First Run Notice

Status: Accepted Date: 2026-09-20

Decisions

D-138 The Standing Statement is stated on first run by a blocking surface shown once per device

That surface is the First Run Notice. It renders in front of the router rather than as a route, and one tap passes it. It is shown on a device's First Run and not again.

D-139 The First Run Notice's Escalation control is app-authored chrome that acknowledges first run and routes to the Escalation surface

It carries the same wording as the bar the default layout already renders, it marks the device as having been told on the way past, and it renders no Curated Escalation text of its own. Chrome is the fixed part of Conversational Content — this wording may never be model-generated, where the rest of that category may, which is why the broader term alone would not have held. That it is not the curated artifact is what keeps it clear of D-95.

D-140 First Run is judged by this browser's storage, and every failure to read or write it errs toward showing the statement again

A throwing store, a private window, blocked site data, cleared site data — each of them is a First Run, and the Standing Statement is stated.

Context

The escalation-first ruling (ADR-0006) states the Standing Statement decision (D-07) as "Stated on first run and present on every safety screen, alongside the source reference". The spec splits that sentence in two: the first-run half is US-42 and was unbuilt until now, and the per-safety-surface half is US-43, which is already built. No ADR had ever said where the first-run half attaches, so the half that had a component won and the half that did not was quietly deferred.

It is not a route. The anonymous-first ruling (D-61, in ADR-0029) states that Home remains the landing route, and a routed first-run screen would make that false for exactly the device on which the claim matters most — a fresh one.

The escalation control is forced by the always-reachable ruling (D-100), which puts Escalation one action from every surface. The notice stands in front of the router, so the default layout's escalation bar is not on screen; without a control of its own the notice would be the one surface in the product that D-100 does not hold on. Acknowledging first run on the way past is correct rather than a shortcut: the person chose the emergency, and the per-safety-surface half of D-07 still puts the Standing Statement on every safety surface they then reach.

The storage ruling exists because D-07 exists so that the person reading is told what the app is.

Decision

The Standing Statement is stated on first run by a blocking First Run Notice, shown once per device, rendered in front of the router and passed by one tap. The notice carries an escalation control that is app-authored chrome rather than the Curated Escalation, and that acknowledges first run and routes to the Escalation surface. First Run is judged by this browser's storage, and any failure to read or write that record is a First Run.

Rejected options

On where the statement attaches (D-138):

  • A panel on Home shown on first run only — rejected because US-42 asks for the app's standing to be "unambiguous to anyone who picks it up", and a panel on a page that already carries a Corpus card and nine tiles degrades that to "available to whoever reads down the page".
  • Blocking on every cold start — rejected because a tap before every single use trains people to dismiss it unread, and the per-safety-surface half of D-07 (US-43) already covers the person handed an app that is already open.

On the notice's escalation control (D-139):

  • A tel: link rendering the Curated Escalation's own hotline step text — rejected because the curated-escalation ruling (D-95) requires the origin visible wherever Curated Escalation text is displayed, and a bare bar shows the text with no origin and no reviewer. This was the shape actually built, and this ruling replaces it.
  • No control at all, which is what the design extract draws — rejected because on a virgin device escalation would cost two taps, and the one screen guaranteed to be somebody's first experience of the product would be the one without the number.

On how First Run is judged (D-140):

  • Treating an unreadable store as already acknowledged — rejected because a browser API failure would then suppress a disclaimer, which is precisely the failure D-07 exists to prevent, arriving through the storage layer. Being shown a disclaimer twice costs a tap.
  • Keying the acknowledgement to the statement's own version, so that an amended D-07 re-shows — rejected as inventing a version before anything varies; the built statement hardcodes one sentence today. It is noted here as the shape to reach for on the day D-07's wording is amended.

This ruling may not be re-decided

If a change contradicts this ADR: stop and raise it. Do not implement over it.

Specifically: do not make the First Run Notice a route, do not re-show it on every cold start, do not put Curated Escalation text on its escalation control, and do not treat a storage failure as an acknowledgement.

Consequences

What becomes true. Both halves of D-07 are now attached to something. A device that has never run the app cannot reach any surface without having been told what the app is, and the one screen a new user is guaranteed to see carries the hotline.

What this costs. A surface that renders outside the router, which is a shape the app did not have before, and a storage read on every start. A person who clears site data is told again — the deliberate side of the trade.

What is closed off. The version-keyed acknowledgement, until D-07's wording is amended and there is something to version.

Coverage

No upstream finding lands here. The ruling came from adversarial review of the built first-run path against the two halves of D-07, and from internal consistency with ADR-0029 and ADR-0042 (D-104).