[User Story] Establish and apply a whole-system GovOPlaN interface pattern language #11

Open
opened 2026-07-20 14:40:41 +02:00 by zemion · 1 comment
Owner

User Story

As a GovOPlaN user and module developer, I want the whole system to use a coherent, documented interface pattern language, so that moving between modules feels predictable, accessible, calm, and accountable while each domain remains appropriately specialized.

Scope and Pilot

This covers every user-facing surface: navigation, focused views, directories, workspaces, guided review, forms/imports, previews, decisions, asynchronous operations, reporting, policy/provenance, monitoring, public entry points, responsive behavior, accessibility, and contextual help.

Campaign is the first full-domain pilot because it combines list/detail, import, settings, policy, files, templates, build/review, preview, asynchronous send, interventions, and reporting. The program does not depend on Workflow; Workflow later consumes the proven focused-view and review patterns.

Acceptance Criteria

  • Inventory every active WebUI route/surface with owner, audience, primary task, layout archetype, sensitivity/consequence, shared components, deviations, related issues, and migration priority.
  • Define a task/layout taxonomy including directory/explorer, list-detail workspace, guided review, create/edit, import/mapping, dashboard, monitoring/reporting, configuration, decision/approval, and public service surfaces.
  • Canonical patterns cover shell/navigation, focused task views, hierarchy, lists/filtering, detail/forms, progressive disclosure, wizards/dialogs/overlays, validation/problem lists, review/approval, async progress/retry/reconciliation, empty/loading/error/offline states, provenance, blocked/destructive actions, notifications/help, accessibility/keyboard, responsive behavior, i18n/theme, and privacy/redaction.
  • Each pattern documents purpose, use/non-use, anatomy, states, placement, wording, accessibility, permission/privacy behavior, component/extension point, examples, anti-patterns, and tests.
  • Reconcile Core #227's interface-ethics doctrine, Core #225's admin work, existing layout principles, and the UI/UX decision ledger into one pattern language.
  • Core owns reusable primitives/contracts; modules own domain composition and do not import sibling-private components.
  • Docs #15 renders pattern/reference topics and stable route/field/blocker help.
  • Campaign audits every surface and maps deviations to existing/new Campaign or Core issues.
  • Campaign #59, #62, #63, #65, #73, and #35 are concrete pilot cases for details, async progress, review interventions, filtering, stable previews, and guided entry.
  • Extract a generic Core primitive only after a second consumer or clear cross-module contract exists.
  • Shared behavior/accessibility tests cover critical patterns; visual regression supplements rather than replaces behavioral contracts.
  • Each module gets a bounded migration plan and a rollout matrix with current/target pattern, owner, issue, status, and verification evidence.
  • Definition of done for changed surfaces includes the applicable pattern, accessibility, privacy, permissions, consequences, provenance, async/error behavior, and docs.

Initial Slices

  1. Whole-system route/surface/component inventory.
  2. Pattern taxonomy and reconciliation of doctrine, ledger, and layout docs.
  3. Campaign UX architecture review and issue map.
  4. Campaign pilot: build/review/intervention, preview/detail, and send-progress surfaces.
  5. Extract proven Core primitives with behavior/accessibility tests.
  6. Seed live pattern/reference documentation through Docs #15.
  7. Prioritized per-module migration program.

View Composition Principle

A focused view is one pattern in this language: it composes only the modules, navigation, and actions relevant to the current task while preserving an obvious escape to the broader system. Activation may later come from workflow step, role/user default, manual switching, or another policy source; those activation semantics remain separate from this design-system program.

## User Story As a GovOPlaN user and module developer, I want the whole system to use a coherent, documented interface pattern language, so that moving between modules feels predictable, accessible, calm, and accountable while each domain remains appropriately specialized. ## Scope and Pilot This covers every user-facing surface: navigation, focused views, directories, workspaces, guided review, forms/imports, previews, decisions, asynchronous operations, reporting, policy/provenance, monitoring, public entry points, responsive behavior, accessibility, and contextual help. Campaign is the first full-domain pilot because it combines list/detail, import, settings, policy, files, templates, build/review, preview, asynchronous send, interventions, and reporting. The program does not depend on Workflow; Workflow later consumes the proven focused-view and review patterns. ## Acceptance Criteria - [ ] Inventory every active WebUI route/surface with owner, audience, primary task, layout archetype, sensitivity/consequence, shared components, deviations, related issues, and migration priority. - [ ] Define a task/layout taxonomy including directory/explorer, list-detail workspace, guided review, create/edit, import/mapping, dashboard, monitoring/reporting, configuration, decision/approval, and public service surfaces. - [ ] Canonical patterns cover shell/navigation, focused task views, hierarchy, lists/filtering, detail/forms, progressive disclosure, wizards/dialogs/overlays, validation/problem lists, review/approval, async progress/retry/reconciliation, empty/loading/error/offline states, provenance, blocked/destructive actions, notifications/help, accessibility/keyboard, responsive behavior, i18n/theme, and privacy/redaction. - [ ] Each pattern documents purpose, use/non-use, anatomy, states, placement, wording, accessibility, permission/privacy behavior, component/extension point, examples, anti-patterns, and tests. - [ ] Reconcile Core #227's interface-ethics doctrine, Core #225's admin work, existing layout principles, and the UI/UX decision ledger into one pattern language. - [ ] Core owns reusable primitives/contracts; modules own domain composition and do not import sibling-private components. - [ ] Docs #15 renders pattern/reference topics and stable route/field/blocker help. - [ ] Campaign audits every surface and maps deviations to existing/new Campaign or Core issues. - [ ] Campaign #59, #62, #63, #65, #73, and #35 are concrete pilot cases for details, async progress, review interventions, filtering, stable previews, and guided entry. - [ ] Extract a generic Core primitive only after a second consumer or clear cross-module contract exists. - [ ] Shared behavior/accessibility tests cover critical patterns; visual regression supplements rather than replaces behavioral contracts. - [ ] Each module gets a bounded migration plan and a rollout matrix with current/target pattern, owner, issue, status, and verification evidence. - [ ] Definition of done for changed surfaces includes the applicable pattern, accessibility, privacy, permissions, consequences, provenance, async/error behavior, and docs. ## Initial Slices 1. Whole-system route/surface/component inventory. 2. Pattern taxonomy and reconciliation of doctrine, ledger, and layout docs. 3. Campaign UX architecture review and issue map. 4. Campaign pilot: build/review/intervention, preview/detail, and send-progress surfaces. 5. Extract proven Core primitives with behavior/accessibility tests. 6. Seed live pattern/reference documentation through Docs #15. 7. Prioritized per-module migration program. ## View Composition Principle A focused view is one pattern in this language: it composes only the modules, navigation, and actions relevant to the current task while preserving an obvious escape to the broader system. Activation may later come from workflow step, role/user default, manual switching, or another policy source; those activation semantics remain separate from this design-system program.
Author
Owner

The first interface-program slice now exists locally:

  • docs/INTERFACE_PATTERN_LANGUAGE.md
  • docs/INTERFACE_SURFACE_INVENTORY.md
  • cross-links from docs/FRONTEND_LAYOUT_PRINCIPLES.md

The language covers surface archetypes, placement/visual/wording grammar, state and consequence/provenance contracts, focused views, accessibility/responsive behavior, ownership, tests, and definition of done. The inventory distinguishes tracked baseline from local WIP and maps the Campaign-first rollout. Workflow remains postponed and is not a prerequisite for focused views.

The first Campaign pilot (#59/#73) also passes its focused regression test, structural i18n audit, and Campaign-only production build. This program remains open for integration and the remaining per-surface rollout.

<!-- codex-progress-interface-language-2026-07-20 --> The first interface-program slice now exists locally: - `docs/INTERFACE_PATTERN_LANGUAGE.md` - `docs/INTERFACE_SURFACE_INVENTORY.md` - cross-links from `docs/FRONTEND_LAYOUT_PRINCIPLES.md` The language covers surface archetypes, placement/visual/wording grammar, state and consequence/provenance contracts, focused views, accessibility/responsive behavior, ownership, tests, and definition of done. The inventory distinguishes tracked baseline from local WIP and maps the Campaign-first rollout. Workflow remains postponed and is not a prerequisite for focused views. The first Campaign pilot (#59/#73) also passes its focused regression test, structural i18n audit, and Campaign-only production build. This program remains open for integration and the remaining per-surface rollout.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan#11
No description provided.