[Task] Audit and migrate Campaign interfaces to the product-wide pattern language #74

Open
opened 2026-07-20 14:41:31 +02:00 by zemion · 3 comments
Owner

Parent Program

GovOPlaN meta #11 establishes the whole-system interface pattern language. Campaign is the first full-domain pilot.

Goal

Turn the Campaign workspace into a coherent reference implementation for placement, hierarchy, visuals, wording, progressive disclosure, validation, review, asynchronous progress, and evidence without coupling it to the postponed Workflow runtime.

Acceptance Criteria

  • Inventory every Campaign route, page, panel, overlay, dialog, and important state with its user task, archetype, sensitivity/consequence, current shared components, and known deviations.
  • Map each deviation to a canonical pattern and an existing or new bounded issue.
  • Define one stable Campaign information architecture and placement vocabulary for primary/secondary/destructive actions, context, status, problems, help, and provenance.
  • Audit wording for task orientation, consistent nouns/verbs, clear consequences, blocked-action explanations, and translation-key ownership.
  • Treat #59/#73 as the preview/detail-overlay pattern, #63 as review-stage/intervention, #62 as asynchronous delivery progress, #65/Core #263 as filtering, and #35 as guided entry.
  • Cover loading, empty, error, partial, stale, offline/retry, permission-denied, and destructive-confirmation states.
  • Cover keyboard order, focus restoration, accessible names/status announcements, responsive layout, and zoom.
  • Produce a rollout matrix with current/target pattern, owner, dependency, issue, priority, and verification evidence.
  • Extract a generic Core primitive only when the contract is proven and has a second consumer or clear platform ownership.
  • Add focused behavior/accessibility tests for migrated critical surfaces; visual checks supplement rather than replace them.

Initial Implementation Order

  1. Isolate/integrate #67.
  2. Implement/verify #59 and #73 together.
  3. Resolve #63 vocabulary and intervention matrix.
  4. Implement #62 send mode/progress.
  5. Fix #66 skipped-delivery semantics.
  6. Implement #68/#70 recipient bulk/search UX.
  7. Resolve #65 after Core #263.
  8. Return to #60/#61 after attachment-policy decisions.
## Parent Program GovOPlaN meta #11 establishes the whole-system interface pattern language. Campaign is the first full-domain pilot. ## Goal Turn the Campaign workspace into a coherent reference implementation for placement, hierarchy, visuals, wording, progressive disclosure, validation, review, asynchronous progress, and evidence without coupling it to the postponed Workflow runtime. ## Acceptance Criteria - [ ] Inventory every Campaign route, page, panel, overlay, dialog, and important state with its user task, archetype, sensitivity/consequence, current shared components, and known deviations. - [ ] Map each deviation to a canonical pattern and an existing or new bounded issue. - [ ] Define one stable Campaign information architecture and placement vocabulary for primary/secondary/destructive actions, context, status, problems, help, and provenance. - [ ] Audit wording for task orientation, consistent nouns/verbs, clear consequences, blocked-action explanations, and translation-key ownership. - [ ] Treat #59/#73 as the preview/detail-overlay pattern, #63 as review-stage/intervention, #62 as asynchronous delivery progress, #65/Core #263 as filtering, and #35 as guided entry. - [ ] Cover loading, empty, error, partial, stale, offline/retry, permission-denied, and destructive-confirmation states. - [ ] Cover keyboard order, focus restoration, accessible names/status announcements, responsive layout, and zoom. - [ ] Produce a rollout matrix with current/target pattern, owner, dependency, issue, priority, and verification evidence. - [ ] Extract a generic Core primitive only when the contract is proven and has a second consumer or clear platform ownership. - [ ] Add focused behavior/accessibility tests for migrated critical surfaces; visual checks supplement rather than replace them. ## Initial Implementation Order 1. Isolate/integrate #67. 2. Implement/verify #59 and #73 together. 3. Resolve #63 vocabulary and intervention matrix. 4. Implement #62 send mode/progress. 5. Fix #66 skipped-delivery semantics. 6. Implement #68/#70 recipient bulk/search UX. 7. Resolve #65 after Core #263. 8. Return to #60/#61 after attachment-policy decisions.
Author
Owner

Parent program: add-ideas/govoplan#11. Docs implementation child: add-ideas/govoplan-docs#15. Existing UI doctrine: add-ideas/govoplan-core#227; admin/configuration child: Core #225.

Parent program: add-ideas/govoplan#11. Docs implementation child: add-ideas/govoplan-docs#15. Existing UI doctrine: add-ideas/govoplan-core#227; admin/configuration child: Core #225.
Author
Owner

The pattern language and whole-system surface inventory are drafted locally, and Campaign #59/#73 are implemented as the first concrete pilot. Focused UI tests, structural i18n audit, the Campaign-only production build, documentation link checks, and diff checks pass. The audit issue remains open for baseline integration, review/intervention wording (#63), send/progress (#62), report filtering (#65), and guided entry (#35).

<!-- codex-progress-interface-pilot-2026-07-20 --> The pattern language and whole-system surface inventory are drafted locally, and Campaign #59/#73 are implemented as the first concrete pilot. Focused UI tests, structural i18n audit, the Campaign-only production build, documentation link checks, and diff checks pass. The audit issue remains open for baseline integration, review/intervention wording (#63), send/progress (#62), report filtering (#65), and guided entry (#35).
Author
Owner

Codex State: progress

Summary

  • Completed and closed the bounded send/progress, coherent report filtering, excluded-outcome, durable operator queue, synchronous-send safety, and aggregate-report slices (#62, #65, #66, #78, #79, #80; Core #263).
  • The interface inventory now records the implemented evidence and exact commits.

Verification

  • Campaign backend, focused WebUI suites, Core production build/i18n, version, manifest, dependency, and migration gates all pass.

Next / Blocked

  • Continue the broader Campaign wording/accessibility/consequence audit; #63 still owns intervention vocabulary and #35 the guided first-Campaign journey.
  • Non-blocking technical follow-ups: normalize literal wildcard semantics between report search/header filters and introduce a dedicated paginated operator projection if deployments accumulate many Campaign versions.

Suggested status label: status/in-progress

## Codex State: progress ### Summary - Completed and closed the bounded send/progress, coherent report filtering, excluded-outcome, durable operator queue, synchronous-send safety, and aggregate-report slices (#62, #65, #66, #78, #79, #80; Core #263). - The interface inventory now records the implemented evidence and exact commits. ### Verification - `Campaign backend, focused WebUI suites, Core production build/i18n, version, manifest, dependency, and migration gates all pass.` ### Next / Blocked - Continue the broader Campaign wording/accessibility/consequence audit; #63 still owns intervention vocabulary and #35 the guided first-Campaign journey. - Non-blocking technical follow-ups: normalize literal wildcard semantics between report search/header filters and introduce a dedicated paginated operator projection if deployments accumulate many Campaign versions. Suggested status label: `status/in-progress`
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-campaign#74
No description provided.