Stage 07 · UI + Visual, completed by stage 12 · Rollout
Every screen here is a copy of its grey wireframe that owns the visual layer and nothing else. Structure, text and the set of states stay the property of wireframes/, which has not changed by a character since stage 05. One screen is a copy of nothing: node 7.1 Tenant detail never had a wireframe, so its four states are derived from the state matrix of 3.5 and no pixel comparison against a grey original is claimed.
A screen is not painted. It is assembled from the system, and a detail that is missing goes into the system first and onto a screen second. Not one of these 66 files contains a line of CSS of its own: no @media, no transition, no <style> tag, no hex outside an inline icon, and no class the system does not declare. That is measured on every page by screens.mjs rather than asserted. Two style attributes survive on two screens, and the instrument reports them as declared exemptions rather than as zero, which is the difference between a thing nobody checked and a thing we decided to carry.
A map that hides what has not been painted is worse than no map
The layer between the language and the screens
design/system/index.css like every screen here.
The shell The five zones of a screen, written once, and since stage 08 the component page for shell as well. Z1 and Z2 appear in zero html files: they are injected at runtime, which is why an inventory taken from the screens alone has no header in it.
The visual language Where the palette, the two families and the square corner came from, each value with its origin.
Ten pages built by three batches of subagents, from a contract in a file
The last ten pages went in at stage 12, and the stage decided nothing. It dressed what was already drawn in what was already built: three batches cut by flow, one contract passed verbatim, and every agent forbidden to write a line of appearance. What it produced instead of decisions is a list of things the documentation could not answer, and that list is the input to the handoff.
The most expensive defect of the stage was in the instrument, not in the work. The canonical fixture table listed six log entries where the screen draws seven, and gave the fourth as a verdict by R. Idrissi at Meridian Health. That is word for word the one entry the product’s central claim requires not to exist: the queue shows that case as decided and unrecorded, a verdict whose write did not land. The table existed to stop ten agents from drifting and would have handed the forbidden fixture to every one of them. It was caught by an agent doing what the contract tells it to do and the author of the table had not: hold the table against the screen.
Nothing here reaches into the frozen folder. Not a stylesheet, not a script, and no link in the body of any screen. design/_shell.js renders the top bar and the strip, and it keeps the old function’s name and signature because that call lives inside each page’s own markup.
Two inline style attributes survive on two screens, with two compatibility tokens in tokens.css that exist only to keep them resolving. Each is a one instance value, and a variant on one instance breaks the rule that one use is not a role. They are declared exemptions in the instrument that would otherwise report them, which is how this project carries a thing it has decided not to fix.
Neither webfont is loaded, so Archivo and IBM Plex Mono resolve from the reader’s own machine and fall back everywhere else. The token is correct and what is missing is a link in the document, which is a build decision and a new external dependency. It is the one item on the backlog whose answer costs money.
Six nodes have no wireframe and are not here, and they were never in this stage’s scope: the two client summary screens, the three autonomy screens and permission denied. A rollout dresses what exists, and drawing a wireframe for them would mean unfreezing a folder that has been frozen since stage 05.