# Shared implementation contract Release: 1.0.0; all three ProcessWire module metadata versions: 100. Workspace.module.php: `Workspace extends WireData implements Module`, metadata and hook wiring. Logic is composed from `src/Registry/WorkspaceRegistryTrait.php`, `src/Access/WorkspaceAccessTrait.php` and `src/Presentation/WorkspaceShellTrait.php`. Methods `apps(): array`, `allApps(): array`, `currentApp(): ?array`, `homeUrl(): string`, `assetUrl(string $file): string`, `isOperator(): bool`, `isShellPage(): bool`, `title(): string`. Each accessible app row: id, title, description, icon (core Font Awesome name or Workspace alias), color, process, url, sections (array of label/url). `allApps` descriptors may include installed/available flags but launch grid uses apps only. Hookable `getAppDefinitions()` supplies descriptors; validated definitions feed all launch/navigation/guard consumers. Six compatibility defaults live in integrations/built-in.php; third-party registration follows docs/application-registration.md. Core Processes cannot be registered. Resolve actual Process page through PW, native permissions AND page access. ProcessWorkspace.module.php: landing renders `
` with search, actual available registered app links, empty state. Requires workspace-use. No counterfeit business data/counters. Page named workspace under admin root. Same CSS contract theme uses. Root implements landing. AdminThemeWorkspace/AdminThemeWorkspace.module.php: extends AdminThemeUikit, own full `_main.php` or partials, use standard base assets/head/scripts while replacing native masthead/nav/footer. It uses Workspace apps()/currentApp()/homeUrl()/title()/assetUrl(). Native forms/notices rendered. Autoload template=admin, requires Workspace/AdminThemeUikit. No global default or profile mutation from theme install. Own assets/workspace.css and assets/workspace.js. Runtime gating: non-superuser with workspace-use is operator independent of selected theme. Allow only home, registered, validated and native-authorized site app Process endpoints, login/logout. Deny core technical ProcessPageEdit/Modules/Template/Field/User/Permission/Role endpoints. Preserve app checks/actions. Admin root should redirect operators home. Superuser maintenance allowed, shell app-only navigation still used when selected. Avoid late theme swapping. No app auto-install or broad role grants.