This document describes the active workspace runtime. Alpha3 is the live workspace lane; retired alpha0, alpha1, and alpha2 inputs normalize into alpha3 in workspace-versions.ts.
Each workspace route now boots the alpha3 runtime directly from a slim entrypoint such as stats.ts, cashier.ts, admin.ts, or debtors.ts.
The old shared-header/legacy-shell split is archived reference material only. The live route now mounts the alpha3 host.
The route boot path is:
bootstrapAlpha3WorkspaceRoute(...)createAlpha3Host(...).bootstrap(...)bindAlpha3BaseTemplate(...)That flow lives in browser-route.ts, host.ts, and base-template.ts.
The alpha3 host reads the lane manifest from manifest.ts and uses it to:
The manifest currently carries workspaceRevision: "r1" for every active alpha3 workspace app.
The shared template in base-template.ts provides:
That template is shared across all alpha3 apps so the shell looks and behaves consistently even when the workbench content underneath changes.
Alpha3 is adapter-driven. The current app surfaces include:
The adapters and shared workbench live under apps/portal-web/src/lanes/alpha3.
Each app gets the same shell and then plugs its own workbench content into that shell.
The inspector is part of the shell, not a separate overlay experiment. It is controlled from layout-debug-tools.ts and toggled from the base template.
Theme ownership is shared between the portal and alpha3 shell helpers, so alpha3 stays aligned with the portal light/dark mode rather than inventing a separate theme model.
This runtime doc replaces the older alpha0-era workspace narrative. In the active system, the workspace is no longer a copy of the portal page; it is its own shell mounted by alpha3.