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

Closed
opened 2026-07-20 14:40:41 +02:00 by zemion · 4 comments
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.
Author
Owner

Platform-control and visual-language groundwork pushed in meta c9fcdc9, Core f0898fc, Access e8ea347, and Workflow c505e81.

The new source-derived inventory extracts UI fields, help candidates, labels/translations, routes, frontend API references, module surfaces, and backend endpoints. docs/PLATFORM_CONTROL_PLANE.md defines the boundary for a self-describing platform without granting a meta-layer arbitrary authorization bypass. The admin tree and Workflow stage rail are concrete pattern-language slices. Canonical declarations/CI are tracked in #25 and endpoint reachability classification in #26.

Platform-control and visual-language groundwork pushed in meta `c9fcdc9`, Core `f0898fc`, Access `e8ea347`, and Workflow `c505e81`. The new source-derived inventory extracts UI fields, help candidates, labels/translations, routes, frontend API references, module surfaces, and backend endpoints. `docs/PLATFORM_CONTROL_PLANE.md` defines the boundary for a self-describing platform without granting a meta-layer arbitrary authorization bypass. The admin tree and Workflow stage rail are concrete pattern-language slices. Canonical declarations/CI are tracked in #25 and endpoint reachability classification in #26.
Author
Owner

Codex State: progress

Summary

  • Refreshed the durable rollout ledger at meta commit 935c1fe from the generated 65-module/40-route/1,156-field/836-endpoint inventory.
  • Created 33 bounded module migration issues; Campaign #74 and completed Docs #15 cover the other WebUI contributors.
  • Implemented the first post-pilot slices in Scheduling 3d8272b and Admin 6dbccd5 using the shared lifecycle, actionable blocker, and contextual-help contracts.

Verification

  • tools/checks/check-focused.sh passed with 46 module permutations and full-product bundle budgets before the new bounded module slices.
  • Scheduling and Admin targeted model/structure/backend/type/i18n/manifest checks passed.

Next / Blocked

  • Keep open until Campaign #74 receives its manual accessibility/responsive evidence and the per-module issues record their own completion evidence.

Suggested status label: status/in-progress

## Codex State: progress ### Summary - Refreshed the durable rollout ledger at meta commit 935c1fe from the generated 65-module/40-route/1,156-field/836-endpoint inventory. - Created 33 bounded module migration issues; Campaign #74 and completed Docs #15 cover the other WebUI contributors. - Implemented the first post-pilot slices in Scheduling 3d8272b and Admin 6dbccd5 using the shared lifecycle, actionable blocker, and contextual-help contracts. ### Verification - `tools/checks/check-focused.sh passed with 46 module permutations and full-product bundle budgets before the new bounded module slices.` - `Scheduling and Admin targeted model/structure/backend/type/i18n/manifest checks passed.` ### Next / Blocked - Keep open until Campaign #74 receives its manual accessibility/responsive evidence and the per-module issues record their own completion evidence. Suggested status label: `status/in-progress`
Author
Owner

Codex State: done

Summary

  • Completed the whole-system interface pattern-language program and canonical rollout ledger.
  • All 33 bounded module-owned migration issues are now closed; Campaign #74 and Campaign #38 are complete, and Docs/Core shared contracts remain the platform implementation baseline.
  • The final Workflow, Search, Reporting, Projects, and Portal surfaces now record their archetype, states, authority/consequence behavior, optional-module boundaries, contextual documentation, and focused regression evidence.

Changed Files

  • docs/INTERFACE_SURFACE_INVENTORY.md
  • govoplan-workflow/docs/INTERFACE_PATTERN_MIGRATION.md
  • govoplan-search/docs/INTERFACE_PATTERN_MIGRATION.md
  • govoplan-reporting/docs/INTERFACE_PATTERN_MIGRATION.md
  • govoplan-projects/docs/INTERFACE_PATTERN_MIGRATION.md
  • govoplan-portal/docs/INTERFACE_PATTERN_MIGRATION.md
  • govoplan-core/docs/UI_UX_DECISION_LEDGER.md

Verification

  • 48 Core module permutations and full-product bundle budgets passed.
  • Final default full-product production build, structural localization/theme/interface checks, and 65/65 manifest shapes passed.
  • Final five module backend and interface-pattern suites passed; Campaign browser/accessibility closure evidence passed.

Next / Blocked

  • Complete locally and pending the next multi-repository push. New modules must satisfy the standing pattern-language definition of done; GovOPlaN #25 remains independent control-plane hardening.
## Codex State: done ### Summary - Completed the whole-system interface pattern-language program and canonical rollout ledger. - All 33 bounded module-owned migration issues are now closed; Campaign #74 and Campaign #38 are complete, and Docs/Core shared contracts remain the platform implementation baseline. - The final Workflow, Search, Reporting, Projects, and Portal surfaces now record their archetype, states, authority/consequence behavior, optional-module boundaries, contextual documentation, and focused regression evidence. ### Changed Files - `docs/INTERFACE_SURFACE_INVENTORY.md` - `govoplan-workflow/docs/INTERFACE_PATTERN_MIGRATION.md` - `govoplan-search/docs/INTERFACE_PATTERN_MIGRATION.md` - `govoplan-reporting/docs/INTERFACE_PATTERN_MIGRATION.md` - `govoplan-projects/docs/INTERFACE_PATTERN_MIGRATION.md` - `govoplan-portal/docs/INTERFACE_PATTERN_MIGRATION.md` - `govoplan-core/docs/UI_UX_DECISION_LEDGER.md` ### Verification - `48 Core module permutations and full-product bundle budgets passed.` - `Final default full-product production build, structural localization/theme/interface checks, and 65/65 manifest shapes passed.` - `Final five module backend and interface-pattern suites passed; Campaign browser/accessibility closure evidence passed.` ### Next / Blocked - Complete locally and pending the next multi-repository push. New modules must satisfy the standing pattern-language definition of done; GovOPlaN #25 remains independent control-plane hardening.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan#11