# Reporting Interface Pattern Migration Reporting is a list-detail analytical workspace. It owns report semantics, policy-aware result shaping, drill-through presentation, rendering, and publication. Dataflow owns generic validation, typed expressions, schema propagation, SQL compilation, and execution; Datasources and provider modules own source access. | Surface | Task and archetype | Consequence and state contract | | --- | --- | --- | | `/reports` | Report catalogue and list-detail workspace | The catalogue keeps selected report context while parameters, results, history, and provenance change. `/reporting` is a compatibility route only. | | Semantic report controls | Parameterized analytical query | Dimensions, measures, parameters, and pivot shape become a validated Dataflow-backed plan. Reporting does not execute unchecked presentation SQL. | | Provider report controls | Governed cross-module report | Purpose, audience, permission, availability, privacy transforms, source revisions, and retention remain visible. A blocked Run action stays present with a keyboard-focusable reason. | | Results, history, and export | Monitoring/reporting evidence | Loading, empty, failed, truncated, successful, historical, and provider-partial states remain distinguishable. Tables are the accessible fallback for visual results. | | Save and schedule dialogs | Create/edit and asynchronous setup | Core dialogs retain focus and stable actions. Scheduling records a durable report definition/revision and does not imply immediate publication. | Run, schedule, export, and publication are consequential actions. Backend permissions remain authoritative; the WebUI mirrors them and explains disabled actions without exposing protected rows. Optional Dataflow, Policy, Files, Mail, Templates, Search, and Notifications integrations are capability-based. The full-height three-region workspace collapses at narrow widths while keeping the catalogue, result, and inspector in task order. Verification: - `npm run test:interface-pattern` - Reporting service, provider-report, migration, manifest, and module-permutation tests - the Core TypeScript graph, structural localization audit, theme check, module permutations, and full-product bundle budget