A Selected Document Paints a Black Spine and No Rail
Why the outer Folio marks selection with a black spine and the quietest tint ladder in the palette, and why it never paints the containment rail a module does
Container rows amendment — 2026-09-17
On the Workspace and Project pages a folio row can now be selected (GB-287). The page holds one selected row and one Goldie drawer; the container's own card at the top of the page is a row like the ones filed beneath it. Owner ruling 2026-09-17: Goldie only opens on the selected card and only one card is selected at a time, so an open panel is a selected card with its drawer out, and the two paint alike, deliberately — there is no second state to tell apart. Where the reader clicks decides what the click means: the mark menu, the editable heading and the G select the row; bare card surface opens the folio, as before. Empty page surface or Escape deselects; closing the G leaves the row selected; nothing arrives selected.
In plain terms: on the file-drawer pages you can now point at one file at a time, and Goldie only ever opens on the file you are pointing at. Clicking the file's plain face still opens it.
Review: the change was cross-cutting, so a fresh-context settlement review was required and run before landing (GB-192 measurement).
Sage amendment — 2026-09-13, superseded 2026-09-16
Documents briefly shared Projects' sage stack colour. Since 2026-09-16 every
folio card is the one chrome wash and every spine the one ramp, with the
document's colour on its kind mark, under the
shared tint rule (stack-palette.ts, and the tokens in src/app/app.css).
This replaces the black-ink palette below; document-page spine suppression and
the absence of a containment rail remain unchanged.
Document-page amendment — 2026-09-11
The owner-approved Spine hierarchy supersedes this record’s painted Document spine on the document page: that page reserves its 6px track but paints no Document spine in any state. Selection and the existing tint ladder remain intact. The palette’s black selected value remains available on other surfaces; no project-page mapping is implemented. The historical rationale below explains the original rule.
Original decision
A selected Document paints a black spine on its own card, with its header band at the shared ladder's selected rung, and paints no containment rail down its Substacks. Owner ruling 6, with ruling 3, 2026-08-17; amended 2026-08-21 (second sitting) when every tier joined the one rest/hover/selected tint ladder — the black spine is now that ladder's own top rung rather than a special case, because the outer tone's hue is the editor ink.
In plain terms: when the whole file is the thing you are pointed at, its card gets a black edge and a slightly deeper grey wash on its name strip — and the page below it is left alone. Nothing stripes the whole canvas.
In the palette this is the outer tone column (stack-palette.ts, where
the tones are documented as role words rather than kinds), whose hue was the
editor ink:
| Surface | Rest | Hovered | Selected (active) |
|---|---|---|---|
| Spine | ink at 25% | ink at 50% | ink — black |
| Header band | ink at 6% | ink at 12% | ink at 18% |
| Card (body wash) | ink at 3%, flat — the levels live on the band and the spine | same | same |
The containment rail — the mechanism a module uses to paint one colour down its whole folio while its header is selected (rulings E–H, 2026-08-13) — is deliberately not wired at the document tier, and that is now settled rather than pending.
Context
Raised by GB-50.2, which made the Document the outer Folio: the module folios render through its Substack Portal, so the rail mechanism became available one tier up and was left unwired pending an answer.
The reason it could not simply be turned on was a collision, not an oversight.
On the Document Work canvas the Document is the resting selection:
DOCUMENT_SELECTION is what the editor mounts with, and clearing a selection
is a move to the document rather than to nothing. A rail driven by "the
document is selected" would therefore be on at rest, painting the full height
of the canvas and removing the white gaps between cards that ruling H exists
to keep ("Keep the 2px breaks between cards").
Three shapes an answer could have taken were canvassed: never paint a rail; split "resting on the document" from "deliberately pointed at the document" and paint only the second; or give the document some quieter mark of its own.
Consequences
The first shape was chosen, and given a mark. The document does not paint a rail, and it is no longer the one Folio kind whose selection is invisible on the canvas — the black spine on its own card is the mark, and the card exists to carry it (ruling 5: the card sits on the spine above the first module, part of the same page).
Loudness tracks rarity, and that is a general rule. The document is picked
far more often than anything else, so it takes the quietest hue in the
table — the ink, washed light — not the structural indigo a picked module
takes. A fourth state distinguishing resting from deliberate selection is
not needed and was not added; the selection union keeps its three
members. Reversed 2026-08-28 (owner ruling, GB-154): the union gained a
fourth member, none, and it went further than the "split resting from
deliberate" shape canvassed above — nothing is selected at rest, the document
is only ever deliberately selected, and clearing a selection is a move to
nothing. The paint rulings of this record are untouched: a deliberately
selected document still takes the black spine and the quiet ladder, and still
paints no rail. What changed is that the canvas now mounts, and rests, with no
card selected at all — so the collision this record worked around (a rail "on
at rest") can no longer arise from restfulness, only from an actual pick.
The outer tone answers hover since the 2026-08-21 second sitting — the
owner's one-system ruling: every tier steps the same rest/hover/selected
ladder on spine and header band, and because each step is the same hue at a
stronger dose, a hovered document reads as "a step toward selected", never as
picked. focused (keyboard focus) still reads at the resting grey on the
spine: the outer tone has no soft token, and the outermost Stack must stay
quiet under a signal that is not the pointer.
Promoted out of backlog decision 11 on 2026-08-17, when the paint landed.
Saved Versions Are Immutable; Restore Continues Linear History
Save Version records an immutable checkpoint; Restore Version appends the selected state to the same history and reopens the working draft.
The Three Selection Cells Are Not Duplicates
Why canvas selection is not collapsed to one owner — each cell holds a different thing, and emitSelection resolves rather than translates