First Run, and an Empty Binder

Day one is a binder with nothing in it. Nine rooms are already there, because they came off the plan set, and not one of them has a settled decision, a color, a photo or a count. This is the state every homeowner sees first and the hardest one in the set to draw honestly, because the two easy answers are a screen full of widgets explaining their own emptiness and a number that tells you how far behind you are.

1 · Day one
The binder before anything is in it. The rooms are already here and the kitchen is drawn in the grays of a kitchen nobody has decided anything about. One thing on the screen is a thing to do.
Already in the code

The nine spaces, and Plans & drawings. Spaces are created from the plan set or from onboarding before anything is settled, which is why the grid is full on a screen where everything else is empty.

Nothing stores this yet

The contents page. Money, Papers & permits, People, Care and The build so far as tabs — the last of those least of all, since project_phase_status carries started_at and completed_at, they are read by the coach and written by nothing outside tests, and there is no target column at all. And the Start here card: nothing decides which room to open a project on, so "start with the kitchen" is a judgment the app does not currently make.

Only the kitchen has a drawing. The other eight cards are flat here because their illustrations have not been made, not because a room with nothing settled has no drawing. On day one every card should carry its room in undecided grays, the way the kitchen does.

2 · A tab on day one
The same kitchen tab mockup 13 draws mid-build, at the other end. Settled, Still open and Who is doing it are not empty here. They are absent, because a section with nothing in it is furniture that exists to explain itself.
Already in the code

The questions, their order and the dependencies between them. data/library/space_questions/kitchen.json authors fifteen, and the one drawn here is the first of them by display order, word for word. The three themes group that same fifteen; they are not written for this frame.

Nothing stores this yet

The room drawing and the swatch strip above it. There is no color spec-field type at all: roughly 65 color-shaped field keys store free text that nothing parses into a hex, so settling the wall paint would not fill the first chip in. The pending hatch is honest today for a different reason than it will be later.

Three sections are missing on purpose. Mid-build this tab carries Settled, Still open and Who is doing it. On day one they have nothing in them, so they are not drawn, and the tab is the room, one question and the shape of what is coming.

3 · What the gray is
Not a screen. One drawing, twice: on the left with nothing set, on the right with the four finishes the Hollis House kitchen ends up with. The geometry is identical. Only the colors a homeowner settled are different, and the regions nobody settled stay neutral in both.

Nothing settled

No variables set. Every region falls back to the app's own undecided neutral — warm gray on paper, and the same neutral one key down in dark.

Four finishes settled

Walls, cabinets, floor and counter. Trim, backsplash, appliances and fixtures are still nobody's decision, and still neutral.

What turned the gray into color
Sea SaltSherwin-Williams SW 6204 · Walls
Pewter GreenSherwin-Williams SW 6208 · Cabinets
Warm oak, naturalHallmark Floors · Floor
Honed quartzCounter
BacksplashNothing chosen, in either drawing
Already in the code

The drawing. _ds/img/kitchen.svg is written to this contract: eleven named regions, each reading --r-<region> with a desaturated fallback, and every highlight and shadow a black or white overlay so it follows whatever color the region holds. _ds/img/kitchen-svg-test.html renders it under three states, the first of which sets no variables at all. There is one of these drawings, for the kitchen.

Nothing stores this yet

Everything that would drive it, except the picture itself. A photograph can already be attached to a space — zone_memories takes memory_type: "image" against a zone_id, and every zone inherits a default illustration from zone_library.image_url. What is missing is everything that would let a settled decision paint one: no color spec-field type, and the surface vocabulary that says which region a color belongs to exists only inside the AI extractor's JSON schema. Counter and backsplash are not even in that vocabulary, which is why the counter above is a fiction the app could not currently produce.

Pewter Green had no hex when this page was drawn. FICTION.md named it, branded it and coded it as SW 6208 at LRV 12, and left the hex blank because no page had needed one. Two pages then needed one on the same night and invented different values. #5F665B is now pinned in FICTION.md and both pages use it.

4 · One answer, five decisions
Day one has 47 decisions and some of them do not exist yet. A basement ceiling height is not a question about a house until the house has a basement. This is the one card on the binder that says so, and it is a count of what depends on an answer rather than a promise about what the answer produces. Drawn with a choice made and ready to commit; the count above the options reads the same before one is.
"Depend on," never "opens"

Full Basement opens five of these and closes none. Crawl Space opens one and closes four. Slab closes all five. So the headline cannot promise a number — a card reading "5 decisions unlock" would be a lie on two of the three options a homeowner is most likely to pick, and the one it is true for is the most expensive. Depend on is true for all seven options and commits to nothing.

The consequence copy is authored content, not generated

Every sentence under an option is that option's own locks, already written in the library and already shown elsewhere in the product. Nothing here is composed at render time. The screen is reading a field, which is the difference between a claim the product can stand behind and a sentence it invented about somebody's foundation.

Three options, then a way to the other four — the same cap frame 1 uses

Seven foundation types exist in the base library. Seven rows is a catalog and a homeowner on day one is not shopping foundations, so it shows three and offers the rest rather than hiding them. Which three is not settled and this drawing does not claim it is — an earlier version of this line said these were the three that occur in Central Texas, which nothing in the repository supports.

It commits here, and the options are the shared block — changed 2026-08-21

The card had three options and no way to act on any of them, which is a screen that asks a question and then refuses to take the answer. It selects and settles in place now, and See all seven is what a homeowner reaches for when none of the three is theirs. The rows also moved off a class that only 04 styles and onto .opt, the shared choice block from hc.css — which is where their spacing, their outline and their selected fill come from. A page-local style used on another page is an unstyled div, and no gate catches it because nothing is missing, only inert.

Drawn against the base option set, and a real project may not have it

78746 is Travis County (FIPS 48453), which resolves to the us_gulf_coast pack — projectctx/resolve_test.go:43 pins Austin's 78701, the same county, to zone 2A and that slug. That pack sets region_options_replace on foundation_type, and regionpack/options.go's OfferedOptions composes replace-first, so the Hollis House is offered three Gulf Coast foundations and none of the seven drawn from. All eight region packs replace this decision's options, and all eight replace hvac_system_type too.

The gate content does not cover any of them. Regional option records carry a title and no key — 125 of them, zero keyed — while all 108 authored gate rulings key on library options like foundation_type/slab_on_grade. So for a project with a postal code in any of the eight regions, foundation_type folds to undetermined permanently and its five dependents never seed. That is 40 of the 108 rows: 35 on foundation, 5 on HVAC. Found while checking one sentence of copy on this frame; recorded in the design's §5.2 and filed as OPEN_QUESTIONS.md Q94. The frame is left drawn against the base set because that is the mechanism the design specifies, and redrawing it against Gulf Coast titles would draw a capability that does not exist.

5 · What the answer opened
The same binder a moment after Full Basement is settled. Five decisions that did not exist now do, and they are announced as arrivals rather than added to a total. The screen never says 47 became 52.
Arrivals, not a total — the rule frame 1 already lives under

This page's own standing prohibition is no fraction, no denominator, no percentage. A wave that announced itself as "47 → 52" would smuggle a denominator back in through the door marked good news, and it would do it at the exact moment a homeowner has just done something right. The five are named instead, and each one says what it is for rather than what stage it is at.

"And what it closed: nothing" is on the screen deliberately

Slab-on-grade removes all five of these, and a homeowner who picks it should see that happen rather than discover later that a section of the binder quietly does not exist. Drawing the empty case here — a basement closes nothing — is what makes the non-empty case legible when it comes. A decision that is removed is never drawn as a decision you failed to make.

One line of urgency, and only one

Five arrivals with five deadlines is a to-do list. The screen names the single one with a real clock on it, which is ceiling height, and says why in six words. The other four are genuinely not urgent and saying so is the point — docs/superpowers/specs/2026-08-21-decision-gates-and-seeding-waves-design.md §7.1: seeding on an unsettled gate is refused precisely so that what does arrive is real.

Every arrival opens, and the urgent one is the button — changed 2026-08-21

The five were a list with nothing to do to them. Each row now carries its own way in and the single time-bound one is also the primary action, so the screen ranks without ordering anybody around. Or leave all five is drawn because it is true: they sit in the binder like everything else, and a wave that arrives with a deadline attached to all of it would be the to-do list this page exists to refuse. This is also the one route to a decision that goes through neither a room nor Now, which docs/flow.json now carries as first-run → decision.

6 · Rejected: the binder as a dashboard
The same day one, laid out as widgets. Every card is real, every card is empty, and every card has been given a sentence explaining its own emptiness and a button to fix it. Drawn so the thing we are refusing to build is on the record.
Why it is here

Nothing in this frame is wrong in isolation. Each card is a reasonable empty state and each sentence is true. Together they are five hollow boxes and five buttons on the first screen of a product bought by somebody who is already overwhelmed, and the screen's whole content is an inventory of what they have not done.

And the version that is worse

The one with the arithmetic on it. "0 of 47 decisions", a bar at nothing, a ring at nothing. That is not drawn here even as a counter-example, because a homeowner surface in this product does not carry a ratio or a percentage under any circumstances, and a thing drawn once gets built.

Why this page was rewritten rather than restyled

The old version of this page drew a space screen with nineteen unanswered questions behind it, and argued about how to present a backlog. The screen it drew is superseded and the surface a homeowner lands on now is the binder, so the page moved to the state that replaced it: a binder with nothing in it.

Three of the old page's calls survived the move, because they were calls about first run rather than about that screen. No count and no backlog on day one: the number of open questions is a true fact whose only use to a homeowner is to make them feel behind. An empty section is removed, not filled with an empty state: frame 2 has no Settled card, no Still open card and no Who is doing it card, because a card whose content is a sentence about why it has no content is furniture. "What I will ask about" is themes, never questions: three lines that answer the thing a homeowner is actually asking, which is whether this will be about tile colors or about their life.

What is drawn on an empty binder

An undecided kitchen looks undecided, and that is not a filter

_ds/img/kitchen.svg gives each of eleven regions a fill of var(--r-<region>, <gray>), and every highlight and shadow in the drawing is a black or white overlay rather than a second hardcoded color, so shading follows whatever a region holds. Set nothing and the whole room resolves to the undecided neutrals declared in _ds/hc.css, which follow the theme: warm grays on paper, the same ladder one key down in dark. That is not a desaturated version of a colored drawing and it is not a CSS filter over one: it is the drawing's real default, and it is what an undecided kitchen should look like.

Frame 3 puts the two states side by side to show that the geometry never moves. The right-hand copy sets five variables and leaves six alone, which is the honest picture: settling four finishes does not color in a room, it colors in four regions of it, and the trim, backsplash, appliances and fixtures nobody has decided stay exactly as gray as they were.

The SVG is inlined rather than linked because an <img> cannot see the page's custom properties. A linked copy can only ever render undecided, which would have made frames 1 and 2 correct by accident and frame 3 impossible.

Frame 4, and the line it is holding

Every card in frame 4 is defensible on its own and the whole is indefensible. It is the default outcome when an empty state is assigned per component rather than designed as a screen, and it is what gets built at the end of a slice under time pressure if nobody has drawn the alternative. It is on the record here so it stops being reinvented.

What is deliberately not on the record is the version with the arithmetic. No bar, no percentage, no ratio, not even inside a frame labeled rejected. The ban is absolute on a homeowner surface, an empty binder is where the temptation is strongest, and a thing drawn once tends to get built.

What the retrofit changed

Grounded in: IKEA's Rooms for the two-up grid of picture cards, which is the shape the contents page keeps whether or not anything is in it; Apple Journal's journals list for containers named with no metric anywhere that could read zero; and Rocket Money for the themed card that sets scope without enumerating a backlog, which is frame 2's "What I will ask about".