← ASSAY blog
Shipped surface
SPEC-19 · ASSAY-DEC-36
live component
embed frozen at publication
Where the plan meets the water
2026-07-15 · a COA as a route through a banded surface over time — and why the map is the most dangerous place in the whole demonstrator. Reviewed by an SME, endorsed, and promoted the same day into the live demonstrator as the Spatial · COA tab.
The previous article proved something in prose: a banded answer reaches a verdict only where the metric reads the channel and the route enters the region. K6's wide sortie-rate band propagates into C4 because TG ANVIL dwells in fac_waters; K7's air-defence envelope never reaches C4 because the route never enters air_defence; K3's census never reaches C3 at all, because that commitment is a geometric red line. Words, with numbers to check them. What nothing did was show it. Every ASSAY surface to date is a table — honest, but flat. A verdict is a route walking through a banded surface over time, and until now that geometry lived only in the reader's head.
So this slice draws it. And drawing it is exactly where the honesty rules earn their keep, because a map is the single most tempting place to launder banded intelligence into false precision. A heat-map cell wants one colour; a timeline wants a smooth curve; a route wants one cost. Every one of those is a scalar an assessed source never gave us.
The rules, decided before the pixels
Research note 10-spatial-temporal.md (the DEC-11 gate for this slice) decides two rendering rules against the uncertainty-visualisation literature — most of which, it turns out, assumes a probability distribution ASSAY refuses to invent. Hypothetical outcome plots, quantile dotplots, gradient fades: all encode a density inside the interval, and an ASSAY band has no inside — just [lo, hi] from an assessed source (DEC-15 forbids the midpoint). What survives is the interval-honest subset:
- A banded surface renders as a split fill — the band's lo stop and hi stop as hard halves, never one interpolated colour — with hatch density carrying the band's width and the exact
[lo, hi] unit on hover, with its named source. Only an observed fact (lo = hi) earns a single stop.
- Time renders validity, never interpolation. Knowledge validity windows and route task windows are discrete extents on one clock; a lapsed channel is marked lapsed, never silently carried forward; and a stated peak — K9's "surge peaking D+5–D+7" — renders as a quoted, attributed annotation, never a synthesised curve, because the compiled band is flat and nothing honest can bend it.
Play with it
The SPEC-19 surface (SME-endorsed, ASSAY-DEC-36) — real fixture geometry, the real compiled world, and a drag that re-scores through the real in-browser pipeline. Meridian is engineered fiction (ASSAY-DEC-8).
Try this
- Find the gap without being told. On the timeline, P1's exposure staircase rises exactly once —
+[12, 36] band-hours where ANVIL dwells in fac_waters at steps 8–9 — and that riser is the whole substance of C4's tight verdict (threshold 12: the band straddles it). Now look at air_defence on the map: K7's band is compiled, banded, drawn — and the staircase never rises there, because no route enters it. That is the K6/K7 asymmetry as geometry.
- Drag the route and watch the verdict move. Grab ANVIL's waypoint at (32,22) and pull it west, out of
fac_waters. That authors a new plan version (plans are immutable) and re-scores it through the same ScoreService the batch pipeline uses — C4 flips tight → robust, the margin band re-renders, and exactly the things whose value moved glow for ten seconds (G6). Nothing is tweened; the stamp on the panel is the recompute's receipt.
- Scrub the clock. The slider is selection, not simulation: it shows the compiled world at step n — which windows are live, which legs are active. Scrub past step 36 and the storm surface doesn't fade; it lapses, marked, back to the channel default. Notice nothing glows on a scrub: nothing changed, and the glow refuses to say otherwise.
- Try to lie to it. Set K6's band inverted (
lo > hi), or assert K8's single-source repair assessment as a hard fact without its waiver. Both come back as refusals, in place, with nothing saved — the same encoding firewall that guards the batch pipeline guards the drag-and-edit surface.
- Then see it in its promoted home. The same surface now runs as the Spatial · COA tab of the live demonstrator, over the app's single store — which buys the beat this standalone page can't show: while the K12 mine-stock contest is open, the map refuses with the compile (no blank, no guessed surface). Resolve the contest on the J-2 tab and the Spatial tab glows; switch to it and the mine-threat surface is there, over
mine_stock, compiled from the resolved answer. Widen K6 on the J-2 tab and the exposure staircase moves. Cross-role propagation, on a map.
Review-first, honoured — then closed. This surface was deliberately built as a reviewable mockup before it was allowed a standing home: the research note ended with an invitation, not a verdict — is the spatial treatment honest and legible? is the temporal treatment honest and legible? — and the promotion decision was held open (concept §6 item 21(d)) so SME reaction could shape the surface before it hardened. That checkpoint happened before publication: the SME endorsed the UI model (comms §12; findings ledger ASSAY-FIND-7), and the conventions plus the promotion ratified as ASSAY-DEC-36 (register batch 6). The result is the fifth tab described above — the four role tabs stand, and the spatial surface is a cross-role projection of the same store, with the "never silently optimise" caution (DEC-31(d)) still binding: nothing on the map searches plan-space on your behalf, and every recompute stays attributed.
One more honesty note, because it is the quiet heart of the slice: nothing on the map is drawn. Regions are the fixture bounding boxes; routes are the stated plans.json legs; every channel value is the compiled world materialised at a cell and step by the same function the scorer uses. The map is a projection of the store — the gallery's honesty class, with geometry.
This article's embed is the SPEC-19 surface as shipped and endorsed on 2026-07-15 (ASSAY-DEC-36); like every ASSAY article it is a dated claim, and its evidence stays as dated as the claim. Identifiers (K*, C*, R*, FE-*, P*) are frozen per the Meridian vignette. Evidence captures: docs/blog/evidence/spec-19/.