# GovOPlaN Admin `govoplan-admin` owns generic system administration API and WebUI contributions during the GovOPlaN module split. This repository owns the live `admin_governance_templates` and `admin_governance_template_assignments` tables. Core migrations rename the historical unprefixed governance tables for existing development databases. It contributes the stable `/api/v1/admin/system/governance-templates` routes and owns governance-template CRUD plus materialization into access-owned tenant groups and roles. ## WebUI Package The repository root and `webui/` directory both expose the package `@govoplan/admin-webui`. The package does not contribute the `/admin` route itself; `govoplan-access` owns the route shell. Instead, admin contributes section entries through core's `admin.sections` UI capability: - overview - system settings - governance template tenant roles - governance template groups The route shell in access collects those sections at runtime, applies their scope requirements, and renders them without importing admin package internals. ## Module Lifecycle Administration The admin module owns the operator surfaces for module lifecycle management: - installed/enabled/desired module state - runtime activation and deactivation of installed modules - signed catalog install planning - non-destructive uninstall planning, with explicit `destroy_data` retirement options where a module provides a retirement provider - installer preflight status, maintenance-mode blockers, migration/restart checklist entries, and rendered operator commands - installer daemon request queue, cancellation/retry, recent run summaries, rollback status, run IDs, request IDs, and trace IDs Package mutation is intentionally not executed inside the FastAPI request. The admin UI records operator intent and queues or renders commands for the trusted installer process described in `/mnt/DATA/git/govoplan-core/docs/MODULE_ARCHITECTURE.md`.