Goldie Blocks

Work Bar Shows Where You Stand

Compact singular parent and current levels in the Work Bar, with named parent context above the card and paperless container screens

Current refinement — 2026-09-14

The owner superseded the named one-crumb rule below. Workspace, Project and Document use a compact trail of singular level names, at most the immediate parent and current level. Workspace shows Workspace; Project shows Workspace › Project; Document shows Project › Document. The parent is a link to the actual parent container, with its name included in the accessible link label. The current level is plain text marked as the current page.

Above the parent card, replace the hover-only Meta label with always-visible parent context: In My Workspace on a Project, or In Project: Smith Estate Plan on a Document. The parent name is a link to the same parent route as the compact breadcrumb. The card itself names the current item. The owner rejected the initial Smith Estate Plan in My Workspace line as redundant. A Workspace has no extra location line. Parent context wraps on narrow screens rather than truncating away the name. Parent context and child-section labels always remain visible, using the same small type as Document Canvas. Container contents labels identify their owner: Documents in Smith Estate Plan and Projects in My Workspace.

Workspace and Project have no outer paper frame: the screen shell adds no second margin or white surround. Their cards sit on the editor background. All three metadata covers keep their generous responsive insets without white fill, border or shadow. Only the Document body retains paper.

The shared WorkBarTrail owns the compact navigation and CanvasLocation owns the parent-context line. Routes and names come from the connected pages, not a second stored path. This reverses the earlier refusal of a current-level crumb.

Original decision (superseded where stated above)

The Work Bar's title slot holds one crumb: where you came from — the parent's kind and name, as a link one step up the tree. It never names the item itself; the item's own card, on the sheet below, says where you stand. Owner rulings 2026-09-10, in two sittings, from the Document Canvas screenshots:

{parent icon} Parent's kind · Parent's name
  1. The bar says where you came from; the card says where you stand. The first sitting settled a two-crumb trail (▣ Smith Estate Plan › ▤ Document). The second cut the current crumb: "do we need all this … the card below shows us where we stand now. This is more concise." The document's name is already on its card (ruling 1 of 2026-08-17: the card is the title block), and so is its kind, so the bar repeats neither.
  2. Kind then name. The location leads and the particular container follows: Project · Smith Estate Plan, at every level of the tree (owner correction, 2026-09-12).
  3. One level back only. The tree is Organisation › Workspace › Project › Document; the owner ruled "one level back up the tree only. We can't fit more than that."
  4. The whole crumb is the link. There is nothing else on the trail to be.
  5. A container's page is the list of its children. There is no separate "Project List" page and so no "List" crumb. The Workspace page lists its projects; clicking one lands on that project's page, which lists that project's documents.
  6. At the top of the tree the title slot is empty. Nothing to come from, nothing to print; the card below says what the page is.
  7. The document's metadata is the cover sheet of the document, not a card floating above it (third sitting, 2026-09-10). The bundle is two sheets of the same paper: the cover sheet on top carrying the name, version, guide, tags and contents; the body below carrying the modules. Both are white with the body's border and shadow, because both are sheets of the file; on the cover sheet sits the document's tinted card, no spine, inset by the page padding as a module card sits on the body (owner: "the card keeps its tint. the card is still sitting on the paper but without a spine"); neither the cover sheet nor anything on it prints or exports. The cover sheet is the body's width and carries the body's page padding on all four sides, so its header band and rows sit inside the margin exactly where a module's header sits on the body — "just a page that is not as tall"; it paints no spine. It stands the outer gap (32px) above the body so the two read as sheets on a desk; the tier gap (8px) is drawn beside it in the page story Cover Sheet Gaps for the owner to compare. Tinted Chrome, White Paper carries the matching amendment. Nothing about the sheet's behaviour changed.
  8. The level above a Document is the Project, and its page is the project's card with the documents filed beneath it. Document Home is retired as a name and a shape: the page is Project Home, drawn as the project folio on the shared Stack with the document folios as its Substacks — the same furniture as a document and its modules, one size up. Until projects are stored, every document is filed in one placeholder project, Smith Estate Plan.

In plain terms: the bar names the drawer you took this out of. The thing itself is named on its cover sheet, which now sits on top of the pages rather than being printed on page one.

The four levels

PageBar (where you came from)Card below (where you stand)Page lists
Organisation(empty)Rubens Legal · Organisationits workspaces
Workspace◉ Organisation · Rubens LegalRubens Legal Workspace · Workspaceits projects
Project▦ Workspace · Rubens Legal WorkspaceSmith Estate Plan · Projectits documents
Document▣ Project · Smith Estate Planthe smith agreement · v12 · Documentthe canvas

The Storybook story Shared/Molecules/WorkBar → Where You Stand draws all four, plus the narrow case where the parent's name truncates and the kind never does.

What this means for the names

  • Work Bar stays the name of the strip along the top: the role rail, the view tabs, the overflow menu, and now the trail. It is not renamed Document Canvas; those are two different things.
  • Document Canvas is the Document page: the Work Bar, the editor surface, the Inspector. The code already called the editing surface "the canvas".
  • Paper is the white sheet holding the modules. Everything on it prints.
  • A Project has a Work Bar but no canvas: its page is a list.

Where the law lives

  • shared/ui/molecules/work-bar/trail.tsx — WorkBarTrail, the neutral molecule: parent: { icon, label, kind, href, onNavigate? }. Router-neutral: it renders an anchor and the caller routes.
  • entities/document/ui/document-work-bar — the Document bar shows the molecule with whatever parent the page supplies, or an empty slot.
  • entities/project — ProjectIdentity, the placeholder project, and ProjectFolio, the project's card on the shared Stack: kind mark ▣, the name strip with the descriptor "Project", a trailing cell for the page's action, the Contains row, and the Substack Portal its documents render through.
  • pages/document-work — the connecting layer binds the parent crumb to the project (▣ Smith Estate Plan, the project page's route).
  • pages/folio-container — the same WorkBar frame with an empty title slot, because the Project is the top of the tree the app has today; the screen is the project folio with the documents inside it.
  • widgets/drafting-editor — the paper is now the document folio's Substack Portal child, so the module folios still render through the document's Portal (GB-50.2) and the card's outer separation is the gap from card to paper edge.

What was considered and refused

  • A full breadcrumb to the root. Considered in three forms: project only, then up to the workspace, then up to the organisation. Refused once the tree had four levels: three crumbs plus the role rail and menu do not fit one row, and the frame's rule is one row at every width.
  • The document's name as the last crumb. Refused: it would put the name back on the bar and duplicate the card ten pixels below it.
  • The current kind as a last crumb (… › ▤ Document). Built in the first sitting, cut in the second: the card below already says the kind, and the bar is more concise saying only where you came from.
  • "Project View" for the project's page. Refused as a name: view collides with the view tabs on the bar and sits too close to Projection, the numbering term. The project's page is simply the Project page; its content is the list.
  • Renaming the Work Bar to Document Canvas. Refused: the bar is the toolbar, the canvas is the page it sits over.

Open

  • Projects are not stored. One placeholder project holds every document this browser has. When the project table lands, the placeholder goes and the project page reads its name and its documents from the store.
  • Who sees the cover sheet. Today it is Builder chrome, hidden from Makers and Readers (tinted-chrome part 4). A reader of a brief does see the backsheet, so a reduced cover sheet (name and version, no guide or tags) for those roles is a role decision the owner has not yet made.
  • Export may offer the cover sheet, at every level (owner, 2026-09-10: "it could be a happy accident"). The Project's cover sheet is the front page of the matter file; the Document's is the front page of the brief; one part, one export option, "Include cover sheet", default off. What the printed sheet carries is the owner's call: name, version, date and contents are the safe default; guide and tags are a second, separate choice, because a Builder's note may be exactly what should not leave the office. Not built; recorded so it is not lost.
  • A Workspace page does not exist yet. When it lands, the project's bar gains its parent crumb the same way the document's has one.

On this page