Workbench
The workbench (DEC-0018) is the home for building-process meta: a Stripe-style bar fixed to the bottom of every page — marketing and docs. The site above it reads as a finished product’s site; everything about how it’s being built lives below.
Three states
Section titled “Three states”- Collapsed bar — always present: “Workbench” + the current open-decision count, plus icon buttons on the right.
- Popovers — small widgets above the bar: the theme switcher
(presets + custom fork, previews via
localStorage) and the version lens (the?v=slider). One popover open at a time;Escapeor clicking elsewhere closes it. - Panel — click Workbench (or the chevron) to expand a resizable
panel hosting the mini-app at
/workbench/in an iframe with its own tabs: Decisions and Roadmap (the builder view, with Gate 3 blocker detail). Window controls sit at the panel’s top right: maximize ⤢ / restore ⤡ (a toggle — full height and back, keeping the previous height) and close ✕.
Independent navigation
Section titled “Independent navigation”The panel is deliberately separate from the page: navigate the main site
while a decision stays open below. Feature links inside the workbench
roadmap target the main window (target="_top"); decision links stay in
the panel. Open state, panel height, and the panel’s current page persist
across main-site navigation (localStorage).
States & edge cases
Section titled “States & edge cases”- Production — the workbench ships (it is not dev-only): preview
deployments need it for review and, later, time travel.
private: truedecisions still strip from production; the bar’s open-decision count counts them (a number leaks no content). - Full-page mode — every workbench route also works as a normal page (direct URL); the window controls hide there since there is no panel to control.
- Maximized state persists like height does; the restore button (or a drag on the resize handle) always brings the previous height back, even after a reload.
- Old URLs —
/decisions*redirects to the workbench equivalents. - Theme changes apply immediately to the open panel iframe as well as the host page.
- Resize bounds — the panel clamps between 180px and 85% of the viewport.