This document describes the active portal runtime only. Historical planning, analysis, and archived snapshots live in the external documentation-archive tree.
The portal is the landing surface for the product and the control point for launching workspaces. The current implementation is centered on the manifest-driven card model in landing-model.ts, rendered by landing-card-builders.ts and bound by landing-card-runtime.ts.
The portal page:
APPSThe page shell itself lives in index.html and landing.ts.
The active business-system login cards are:
statisticsdebtorscashier_clientcreditorsicapvadmin remains a control-plane card without portal login.
Each portal card is now configured from a manifest on the app record in landing-model.ts. The manifest carries:
That keeps the builder logic generic and makes future cards easier to clone without branching the renderer.
Saved connections are stored and revalidated by session-persistence.ts and landing-card-runtime.ts.
The current runtime still has two important behaviors to keep in mind:
landing.ts derives saved-session validation from the active card manifest so the portal can rehydrate the current session state quicklyThat is the behavior the rebuilt docs should assume until the last boot-time coupling is removed.
The portal shows deployment state through deployment-edition.ts and the recent changes window through recent-changes.ts.
The deployment strip is global release state. The portal cards are per-app state. Those are related but not the same thing.
Shared layout inspection is mounted through layout-debug-tools.ts and styled alongside the shell in layout-debug-tools-style.ts.
The inspector is part of the live portal shell now, so this document treats it as runtime behavior rather than a temporary test harness.