# GovOPlaN Reporting **Repository type:** module (domain). `govoplan-reporting` owns report definitions, BI-style views, dashboards, scheduled outputs, and report publication/export behavior. It is intentionally separate from reusable template rendering and from generic dataflow pipelines. The module now provides an executable governed semantic-reporting vertical: - immutable, optimistic-concurrency guarded dataset, semantic-model, report, and quality-plan revisions; - exact source and definition pins, tenant isolation, normalized access grants, row-policy handoff, freshness checks, and reconstructable run provenance; - safe dimensions, hierarchies, measures, typed calculations, filters, detail/summary/pivot queries, parameterized PostgreSQL semantic plans, and accessible chart models without executing arbitrary report SQL; - quality gates, saved views, interval/scheduled runs, CSV/JSON export, provider-neutral publication targets, and import activation assessments; - a versioned, provider-neutral cross-module report contract with source-owned authorization, declared result schemas, privacy transforms, effective scope, source revisions, purpose, retention, export history, and audit provenance; - a full-height Reporting workspace for running, inspecting, saving, scheduling, visualizing, drilling into reauthorized contributors, publishing through Files/Mail, and exporting authorized reports; - a configurable Dashboard widget and explicit policy explanations for hidden fields, rows, and actions. Reporting consumes Dataflow outputs or provider-owned read models. It does not read another module's ORM tables or take ownership of ingestion and transformation. The canonical global route is `/reports`. `/reporting` remains a Reporting-owned compatibility route for saved links. Domain modules may keep their own operational report routes, but do not register `/reports`. ## Data-subject requests Reporting publishes `privacy.dsar.reporting` for private saved views, short-lived drill contexts, subject access grants, minimized staff attribution, and explicitly identified retained executions, exports, and publications. DSAR output never copies report rows, parameters, filters, delivery targets, source payloads, diagnostics, provenance bodies, or hashes. The source module remains responsible for locating and correcting subject facts; arbitrary aggregate report output is not searched as if Reporting were the authoritative owner. Private views and drill contexts can be removed, grants revoked, and exact retained result or publication detail minimized idempotently. Shared views, definitions, schedules, quality/import evidence, and institutional attribution require authorized review or retention. Source facts must be corrected before rerunning or republishing a report. See [docs/REPORTING_BOUNDARY.md](docs/REPORTING_BOUNDARY.md) for the boundary decision. The behavior-level comparison with the supplied SuperX module set is recorded in [docs/SUPERX_CAPABILITY_ASSESSMENT.md](docs/SUPERX_CAPABILITY_ASSESSMENT.md). Operational and recovery behavior is documented in [docs/OPERATIONS.md](docs/OPERATIONS.md), while user and administrator tasks are covered by [docs/USER_GUIDE.md](docs/USER_GUIDE.md) and [docs/ADMIN_GUIDE.md](docs/ADMIN_GUIDE.md). The Reporting route, workspace, state, consequence, and accessibility mapping is recorded in [docs/INTERFACE_PATTERN_MIGRATION.md](docs/INTERFACE_PATTERN_MIGRATION.md). ## Git-source WebUI package The repository root exposes `@govoplan/reporting-webui` for Git-tagged release dependencies. It mirrors the owning `webui/package.json` version, public TypeScript/CSS exports and peer requirements, with entry paths under `webui/src`. Consumers provide the shared Core/React peers; the facade runs no development or install scripts. The source archive contains `webui/src`, this README and any repository license file. Run module development checks from `webui/`; Python installation remains governed by `pyproject.toml`. Das Repository stellt `@govoplan/reporting-webui` am Wurzelpfad für versionierte Git-Abhängigkeiten bereit. Version, öffentliche TypeScript-/CSS-Exporte und Peer-Anforderungen entsprechen `webui/package.json`; die Einstiegspfade liegen unter `webui/src`. Gemeinsame Core-/React-Peers stellt die einbindende Anwendung bereit. Die Fassade führt keine Entwicklungs- oder Installationsskripte aus. Entwicklungsprüfungen bleiben in `webui/`, die Python-Installation weiterhin in `pyproject.toml` definiert.