[Task] Initialize govoplan-views and implement governed View definitions #16

Closed
opened 2026-07-28 18:59:03 +02:00 by zemion · 3 comments
Owner

Outcome

Create the optional govoplan-views module as the owner of persisted, versioned task-focused Views. The module resolves the active presentation projection from module-declared surfaces, assignments, Policy decisions, workflow context, and user choice.

First implementation slices

  1. Create and initialize the GovOPlaN/govoplan-views repository with the standard module workflow, manifest, migration ownership, release metadata, README, and concept document.
  2. Persist View definitions and immutable revisions containing stable surface selections; support draft, validate, publish, archive, and derive.
  3. Add system/tenant/group/user assignments, default/mandatory selection, and per-user active View state.
  4. Provide views.resolver and typed DTOs to compute an effective projection with provenance.
  5. Build a compact tree editor over installed modules and their declared surfaces, including search, inherited/locked states, preview, validation, and stale-surface diagnostics.
  6. Add a shell View selector only when more than one effective View is available; preserve normal UI when the module is absent.

Boundaries

  • Views filter presentation only; they do not replace Access, Policy, or backend resource checks.
  • The module depends on Core contracts. Policy and Workflow integrations are optional capabilities, not direct imports.
  • Initial behavior is visible/hidden. Read-only, emphasis, layout replacement, and arbitrary component styling are explicitly deferred.
  • Published revisions are immutable so active workflow instances remain reproducible.

Linked foundations

## Outcome Create the optional `govoplan-views` module as the owner of persisted, versioned task-focused Views. The module resolves the active presentation projection from module-declared surfaces, assignments, Policy decisions, workflow context, and user choice. ## First implementation slices 1. Create and initialize the `GovOPlaN/govoplan-views` repository with the standard module workflow, manifest, migration ownership, release metadata, README, and concept document. 2. Persist View definitions and immutable revisions containing stable surface selections; support draft, validate, publish, archive, and derive. 3. Add system/tenant/group/user assignments, default/mandatory selection, and per-user active View state. 4. Provide `views.resolver` and typed DTOs to compute an effective projection with provenance. 5. Build a compact tree editor over installed modules and their declared surfaces, including search, inherited/locked states, preview, validation, and stale-surface diagnostics. 6. Add a shell View selector only when more than one effective View is available; preserve normal UI when the module is absent. ## Boundaries - Views filter presentation only; they do not replace Access, Policy, or backend resource checks. - The module depends on Core contracts. Policy and Workflow integrations are optional capabilities, not direct imports. - Initial behavior is visible/hidden. Read-only, emphasis, layout replacement, and arbitrary component styling are explicitly deferred. - Published revisions are immutable so active workflow instances remain reproducible. ## Linked foundations - [Core surface/runtime contract](https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/271) - [Policy inheritance/provenance](https://git.add-ideas.de/GovOPlaN/govoplan-policy/issues/9) - [Workflow activation](https://git.add-ideas.de/GovOPlaN/govoplan-workflow/issues/7)
Author
Owner

Codex State: done

Summary

  • Initialized and published GovOPlaN/govoplan-views on main with versioned definitions and revisions, system/tenant/group/user assignments, selection, provenance, stale-surface recovery, and server-enforced lockout prevention.
  • Added the system and tenant Views administration editor, titlebar selector, migration, tests, repository workflow, release registration, and wiki mirror.
  • Policy ceilings and workflow-instance activation remain tracked separately in govoplan-policy#9 and govoplan-workflow#7.

Changed Files

  • govoplan-views@e14432d
  • govoplan@11d45bc

Verification

  • tools/checks/check-focused.sh (passed)
  • govoplan-views: 10 backend/migration tests passed
## Codex State: done ### Summary - Initialized and published GovOPlaN/govoplan-views on main with versioned definitions and revisions, system/tenant/group/user assignments, selection, provenance, stale-surface recovery, and server-enforced lockout prevention. - Added the system and tenant Views administration editor, titlebar selector, migration, tests, repository workflow, release registration, and wiki mirror. - Policy ceilings and workflow-instance activation remain tracked separately in govoplan-policy#9 and govoplan-workflow#7. ### Changed Files - `govoplan-views@e14432d` - `govoplan@11d45bc` ### Verification - `tools/checks/check-focused.sh (passed)` - `govoplan-views: 10 backend/migration tests passed`
zemion removed the
status
ready
label 2026-07-28 21:10:08 +02:00
Author
Owner

Codex State: note

Summary

  • Post-close hardening: required Views now fail open if a later module-graph change removes an administration escape surface, even when ordinary routes remain reachable.

Changed Files

  • govoplan-views@ca615df

Verification

  • govoplan-views: 11 backend/migration tests passed
## Codex State: note ### Summary - Post-close hardening: required Views now fail open if a later module-graph change removes an administration escape surface, even when ordinary routes remain reachable. ### Changed Files - `govoplan-views@ca615df` ### Verification - `govoplan-views: 11 backend/migration tests passed`
Author
Owner

Codex State: note

Summary

  • Fixed the Views administration freeze after creating/opening a definition. Server-normalized module roots were accidentally assigned themselves as parents, causing the editor descendant traversal to loop indefinitely.
  • Core now preserves root surfaces as parentless, and the Views editor independently guards ancestor/descendant traversals against malformed cycles.

Changed Files

  • govoplan-core@389f98e
  • govoplan-views@34221b6

Verification

  • npm run test:module-capabilities (passed)
  • full Core WebUI production build (passed)
## Codex State: note ### Summary - Fixed the Views administration freeze after creating/opening a definition. Server-normalized module roots were accidentally assigned themselves as parents, causing the editor descendant traversal to loop indefinitely. - Core now preserves root surfaces as parentless, and the Views editor independently guards ancestor/descendant traversals against malformed cycles. ### Changed Files - `govoplan-core@389f98e` - `govoplan-views@34221b6` ### Verification - `npm run test:module-capabilities (passed)` - `full Core WebUI production build (passed)`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan#16
No description provided.