Auth Split Technical

Documentation for Sessions

Auth Split: Technical Documentation

Purpose: Comprehensive technical reference for the @auth-core / @auth-ui refactor (S220–S222).


1. Architecture Overview

Library Split

Library Path Purpose
@auth-core libs/libs-foundational/auth-core/ Always-loaded auth infrastructure
@auth-ui libs/libs-ui/auth-ui/ Lazy-loaded auth UI components

Import Rules

@auth-core  →  AuthService, GuestAuthService, VittoAuthSyncService, authGuard, guards,
               authInterceptor, AUTH_LOGIN_ROUTE, UserMenuComponent, User, RegisterFormConfig, etc.

@auth-ui    →  LoginComponent, RegisterComponent, UnauthorizedPageComponent, UserPreferencesComponent,
               ConnectChannelComponent, AuthPanelComponent, ProtectedShellComponent, DesktopOAuthService,
               UserPreferencesService, AuthPanelService

2. What Lives Where

@auth-core (Always Loaded)

@auth-ui (Lazy Loaded)


3. Files Modified

New Library

Auth-UI Refactor

Import Updates (30+ files)

Area Files
core-angular space.service.ts, space-api.service.ts, sync-engine.service.ts, realtime-sync.service.ts, pages.service.ts, user-journey-tracker.service.ts, space.guard.ts
theme-runtime simple-theme-storage.service.ts
space-map-lib universal-asset-registry.service.ts, space-ai.service.ts, universe-context-banner.component.ts
vitto-hub webhook-builder, vitto-settings, vitto-command-hub, visual-scheduler, observatory-audit, observatory-approvals, identity-viewer, channel-manager
vitto-core brain-context.service.ts
gograb-ai-lib vitto-hub.component.ts, realtime-sync.service.spec.ts
Apps gograb-space, gograb-ai, gograb-admin, gograb-dev, docs-angular, space-admin

Route Changes

Space Guard


4. Key Fixes

User Model

Auth Service

DesktopOAuthService

Auth-UI Dependencies


5. ESLint


6. Verification


7. Conventions for Future Work

  1. Always import AuthService from @auth-core — never from @auth-ui
  2. Use loadComponent for auth-ui in routes — keeps auth-ui lazy
  3. User, RegisterFormConfig — from @auth-core

Date: 2026-03-14 | Session: S222