A Module Is One Row
The module card carries its title row alone; the Contains row lives on the document, and no count is a filter
Decision
A closed module card is one row: its title. The Contains row belongs to the document, which counts its modules in plain words. No count is a filter. Owner ruling 2026-09-16, on sight of the live document canvas, narrowing Container Screens Share One Anatomy and the 2026-09-10 GB-220 arrangement in which every closed container was two rows tall with the Contains row last.
In plain terms: a section heading is one line. The document above it says how many sections it has. Nothing on a card is a button for hiding things.
Why
- The smaller thing gets the smaller card. A module is a part of a document. Two rows under every module name made the module card the heaviest thing on the canvas, above the document that holds it.
- The counts read as a toolbar. Drawn as filters, "2 data blocks" and "1 content block" were two bordered buttons at full width under every module title, outweighing the title itself. Metadata should never look like the card's main action.
- Nobody reached for the filter. Hiding a kind beneath a module was looking-at state for a need that did not arise. A future outline view, a single control at the top right of the canvas that shows headings only, is the right home for any filtering, and is not built yet.
What changed
ModuleCarddrops itscontains,hiddenKindsandonToggleContainedKindprops and theStackHeaderSubrowthat carried them. Its header is the title row and the fold.FolioContentsRowis plain words with a dot between, always. Its filter face (hidden,onToggle) is gone.- The drafting editor keeps no hidden-kinds map.
canvasDragRunsanduseFolioNavigationtake the modules alone;HiddenKindsByModule,NO_HIDDEN_KINDSandisKindHiddenare deleted from the arrangement model. - The document folio and the container cards keep the Contains row as their last row, in words, counting direct children.
Supersedes
- The 2026-09-10 ruling that "on the document canvas a module's counts are filters" (GB-220), and the 2026-09-15 pill treatment for those filters.
- The "two rows tall" statement for every closed container: it now holds for the document and the container tiers, not for the module.
Maker Fills, Builder Builds
Owner ruling 2026-09-11 — a Maker only fills fields and never edits a block; the per-block lock is removed rather than inverted; Reader stays on the ladder unbuilt; export is the read-only copy for everyone else
Names Are Projections, Not Stored Copies
Why a block's or field's displayed name is computed live from label, handle, or content, why the display is the editor, and why the Control Panel label row was removed