Method
The rule is not a promise. It is a type.
โAlways pass the session to the price componentโ is a convention, and a convention is a comment that compiles. Six weeks in, one route renders a raw number because it was quicker, and the terminal is doing the exact thing it was built to stop.
ยง1 ย The shape
declare const ANCHOR_BRAND: unique symbol; // never exported
export type Quoted = {
readonly [ANCHOR_BRAND]: true;
readonly perp: number; // trades 168 hours a week
readonly share: number | null; // trades 32.5
readonly session: Session; // required, always
readonly standing: Standing; // derived, never passed in
};
export function quote(input: QuoteInput, session: Session): QuotedThe brand is keyed to a symbol declared in that module and never exported, so no object literal anywhere else can satisfy the type. quote() is the only door, and session is a required positional argument rather than a field on the input object โ because an optional field is a field somebody leaves out.
ยง2 ย Four markings, and the two that must never merge
the underlying was trading โ this figure has a live reference
pre or post market โ real trades, but no auction behind them
the underlying market was shut โ nothing confirms this figure
no share price was returned โ there is nothing to lay it beside
A missing share price reads no part even while the exchange is open. A broken feed and a closed market are different failures, and collapsing them would hide the first behind the second every night โ which is the same substitution this terminal exists to object to, committed by the terminal itself.
ยง3 ย What the type does not buy
A deliberate as unknown as Quoted defeats this, as it defeats every type in TypeScript. The escape hatch is left visible rather than argued about, and scripts/check-anchor.mjs greps for it โ so using it is a failing check instead of a silent one.
An enforcement claim that overstates itself is worse than none, because it stops people looking. What this closes is the accidental path and the convenient one, and the second is the one that actually happens.
ยง4 ย The picture is held to the same rule
The score on the landing page is drawn from segmentsAcross(), which returns each barโs fractional coverage measured by the same function the headline percentage comes from.
Sampling each hour at its midpoint instead would light seven bars for a six-and-a-half hour session, and the drawing would report a 20.8% week beside a printed 19.35%. Two pictures of one week, disagreeing, on a site about figures that disagree. A renderer is not exempt from the rule it is illustrating.





