[Task] Add bulk role-template materialization for tenant assignments #17

Closed
opened 2026-07-30 12:10:19 +02:00 by zemion · 1 comment
Owner

Access-owned projection slice moved from https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/3.

Outcome

Access can validate and materialize the groups, roles, memberships, and function mappings requested by a role-template assignment in bounded bulk operations instead of per-tenant query loops.

Acceptance criteria

  • Expose a versioned bulk projection capability that accepts stable template/assignment inputs without importing Admin internals.
  • Bulk-load existing groups, roles, mappings, and memberships for all requested tenant assignments.
  • Apply idempotent create/update/delete reconciliation in bounded batches and return per-assignment outcomes.
  • Preserve tenant boundaries, protected built-ins, and authorization/audit provenance.
  • Query-count regression tests prove the path does not grow linearly per materialized row.
  • Coordinate orchestration with the linked Admin issue; Core remains only the capability/runtime host.

Orchestration

<!-- moved-from-core-3-access --> Access-owned projection slice moved from [https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/3](https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/3). ## Outcome Access can validate and materialize the groups, roles, memberships, and function mappings requested by a role-template assignment in bounded bulk operations instead of per-tenant query loops. ## Acceptance criteria - Expose a versioned bulk projection capability that accepts stable template/assignment inputs without importing Admin internals. - Bulk-load existing groups, roles, mappings, and memberships for all requested tenant assignments. - Apply idempotent create/update/delete reconciliation in bounded batches and return per-assignment outcomes. - Preserve tenant boundaries, protected built-ins, and authorization/audit provenance. - Query-count regression tests prove the path does not grow linearly per materialized row. - Coordinate orchestration with the linked Admin issue; Core remains only the capability/runtime host. ## Orchestration - [https://git.add-ideas.de/GovOPlaN/govoplan-admin/issues/7](https://git.add-ideas.de/GovOPlaN/govoplan-admin/issues/7)
Author
Owner

Implemented and published in govoplan-core@8e687c4, govoplan-access@94b604a, and govoplan-admin@550c14b. Access now exposes the versioned access.governanceProjection.v1 bulk reconciliation capability with bounded batches, dry-run support, idempotent create/update/remove behavior, explicit provenance, isolated blockers, and stable bulk query counts. Admin consumes only the Core contract and provides preview/apply synchronization through POST /api/v1/admin/system/governance-templates/synchronize. Verification passed: Access 76 tests, Admin 12 tests, Core contract/module/API tests, Ruff, manifest and strict inventory checks, all 59 WebUI permutations, full-product bundle budgets, and seven Playwright conformance tests.

Implemented and published in govoplan-core@8e687c4, govoplan-access@94b604a, and govoplan-admin@550c14b. Access now exposes the versioned access.governanceProjection.v1 bulk reconciliation capability with bounded batches, dry-run support, idempotent create/update/remove behavior, explicit provenance, isolated blockers, and stable bulk query counts. Admin consumes only the Core contract and provides preview/apply synchronization through POST /api/v1/admin/system/governance-templates/synchronize. Verification passed: Access 76 tests, Admin 12 tests, Core contract/module/API tests, Ruff, manifest and strict inventory checks, all 59 WebUI permutations, full-product bundle budgets, and seven Playwright conformance tests.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-access#17