[UX] Replace raw Workflow scope IDs with governed target selectors #8

Closed
opened 2026-07-29 02:29:32 +02:00 by zemion · 1 comment
Owner

Problem

Workflow definition settings and the scoped-copy dialog require a raw Scope ID for group/user ownership.

Work

  • Replace both raw fields with readable user/group selectors.
  • User targets must persist the account ID expected by Workflow resolution, not a tenant membership ID.
  • Group targets must be limited to the active tenant and the actor's permitted ownership scope.
  • Use an optional Access directory provider without importing Access implementation code.
  • Show unavailable historical targets readably and prevent new assignments to inactive targets.
  • Keep system/tenant targets implicit.

Acceptance criteria

Both Workflow scope entry points can be completed without knowing an internal ID, while API payloads retain stable IDs.

Parent: GovOPlaN/govoplan-core#272

## Problem Workflow definition settings and the scoped-copy dialog require a raw Scope ID for group/user ownership. ## Work - Replace both raw fields with readable user/group selectors. - User targets must persist the account ID expected by Workflow resolution, not a tenant membership ID. - Group targets must be limited to the active tenant and the actor's permitted ownership scope. - Use an optional Access directory provider without importing Access implementation code. - Show unavailable historical targets readably and prevent new assignments to inactive targets. - Keep system/tenant targets implicit. ## Acceptance criteria Both Workflow scope entry points can be completed without knowing an internal ID, while API payloads retain stable IDs. Parent: https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/272
Author
Owner

Codex State: done

Summary

  • Replaced both raw Workflow scope-ID fields with async user/group selectors backed by the optional Access directory capability.
  • User ownership now persists canonical account IDs; tenant boundaries, permitted groups, inactive targets, and historical unavailable references are enforced.

Changed Files

  • src/govoplan_workflow/backend/governance.py
  • src/govoplan_workflow/backend/router.py
  • webui/src/api/workflow.ts
  • webui/src/features/workflow/WorkflowPage.tsx

Verification

  • pytest: tests/test_governance.py tests/test_manifest.py (5 passed)
  • tools/checks/check-focused.sh (passed)
## Codex State: done ### Summary - Replaced both raw Workflow scope-ID fields with async user/group selectors backed by the optional Access directory capability. - User ownership now persists canonical account IDs; tenant boundaries, permitted groups, inactive targets, and historical unavailable references are enforced. ### Changed Files - `src/govoplan_workflow/backend/governance.py` - `src/govoplan_workflow/backend/router.py` - `webui/src/api/workflow.ts` - `webui/src/features/workflow/WorkflowPage.tsx` ### Verification - `pytest: tests/test_governance.py tests/test_manifest.py (5 passed)` - `tools/checks/check-focused.sh (passed)`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-workflow#8
No description provided.