Goldie Blocks

Document Work Screen

The active document screen — the document on the left, the capability-gated Inspector beside it.

The Document Work Screen is where a user works on one document: reading it, editing it, building its structure, and talking to Goldie about it.

Route

  • /app/canvas/$routeKey — src/app/routes/app/canvas.$routeKey.tsx.
  • routeKey resolves to a folio. When that folio is a document, the route renders ConnectedDocumentWork (src/pages/document-work/); a workspace or project renders the folio container (src/pages/folio-container/) instead.
  • Search params: ?surface= picks the opening posture (Form is agent-led, Document user-led), ?fresh= marks a first visit, ?guide=true draws the Spec outline for visual comparison.

What's on screen

Canvas shell
├── Work Bar          ← trail back up the folio, role rail
├── Document Surface  ← the document card, its modules, their blocks
│   └── Control Panel ← opens on the selected block: About card, notices, block Goldie
├── Inspector         ← right-hand panel, what the current selection is
└── Goldie            ← document-scoped conversation

Work Bar

Top row: the trail back to the containing folio and /app/canvas, and the role rail for previewing a role or requesting one.

Document Surface

The document rendered as an ordered list of modules, each holding its blocks. DocumentWorkScreen (src/pages/document-work/ui/document-work-screen.tsx) owns the selection and hands everything else to the drafting editor (src/widgets/drafting-editor/). Module chrome is Builder-only; with chromeless it disappears and the blocks read as plain document text.

The Control Panel

Block-level work happens in place, in the panel attached to the selected block: its notice row and its own Goldie thread, scoped to that block. The block's About rows — its name, guide and tags — sit in a collapsible card at the top of that conversation, not on a separate face. Module and Document cards open the same panel with their own words.

Inspector and Goldie

The Inspector names the current selection. Goldie, in the same panel, is the document-scoped conversation; @ mentions in the composer refer to modules and blocks by handle. Readers are agent-excluded — no use-agent capability, no conversation panel. On narrow screens the Inspector becomes a drawer.

What governs it

  • Role decides what you may do. The effective role's capabilities gate every operation the editor offers — Permissions and Visibility.
  • One venue (glossary): every visible block renders on the document surface. There is nothing to choose.
  • The screen composes, it does not decide. Block authoring travels the route → ConnectedDocumentWork → DocumentWorkScreen → editor chain as one BlockAuthoringActions object; the route supplies the implementations and the screen layers forward it untouched.

On this page