feat(idm): administer typed identity relationships
Module Package Release / publish-packages (push) Successful in 12s

This commit is contained in:
2026-08-21 22:04:06 +02:00
parent 65ff14a613
commit b0eda35195
15 changed files with 1590 additions and 36 deletions
+17 -6
View File
@@ -14,6 +14,9 @@ IDM owns effective identity-to-function facts and their governed lifecycle.
| Function request/grant list | Governed work queue | Start or inspect a function change | Shared grid/loading/status/action slot, localized state and workflow vocabulary |
| Request/grant editor | Guided consequential editor | Submit a governed assignment change | Shared segmented control/dialog/forms, guarded draft, effective dates, justification and evidence help |
| Function-change detail | Decision and provenance record | Approve, reject, accept, request changes, withdraw, respond, or recover | Shared confirmation, available-action contract, retained actor/policy/workflow/history evidence |
| Typed-group directory | Repeated administration | Create, edit, activate, or deactivate a tenant business group | Shared grid/card/dialog/action bar, optimistic revision, source and provenance fields, exact contextual help |
| Effective relationship directory | Effective-dated administration | Create, change, expire, or irreversibly revoke a business relationship | Searchable identity/group selectors, four distinct lifecycle states, dirty guard, reasoned destructive confirmation |
| Membership inspector | Point-in-time evidence reader | Resolve included and excluded identities for a group, time, and relationship kind | Shared resolver endpoint, localized time, decision codes, identity lifecycle explanation |
| `idm.action.view-function-assignments` | Contextual cross-module action | Navigate with function context | Declared capability surface, permission guard, no Organizations-private import |
## Consequence And Availability Rules
@@ -32,6 +35,14 @@ IDM owns effective identity-to-function facts and their governed lifecycle.
the governed record.
- Deactivation and expiry remove a fact from effective resolution while
retaining provenance and lifecycle evidence.
- Future, active, expired, and revoked relationships remain visually distinct.
Revocation requires a reason, acts immediately, and leaves the record
immutable; later reuse requires a new relationship.
- Typed relationship managers use searchable Identity and group references.
External source, revision, properties, and provenance remain inspectable and
editable under optimistic concurrency.
- Membership inspection uses the production resolution capability and shows
excluded decisions instead of presenting only a flattened member list.
- Missing permission, identity search, and organization functions identify the
required action, responsible administrator, and destination.
@@ -43,9 +54,9 @@ dialogs retain focus containment and return behavior; stable grid actions remain
keyboard reachable. Existing responsive CSS collapses summaries and histories
to one column at narrow widths.
English and German catalogues cover route metadata, assignment fields, governed
states, workflow steps, decisions, confirmations, and accessible labels. Dates
follow the selected platform locale. Manifest topics provide stable route,
field, blocker, workflow, and consequence references without importing optional
Policy, Audit, Notifications, Access, or Workflow Engine implementations.
English and German catalogues cover route metadata, assignment and relationship
fields, governed states, workflow steps, membership decisions, confirmations,
and accessible labels. Dates follow the selected platform locale. Manifest
topics provide stable route, field, blocker, workflow, lifecycle, provenance,
and consequence references without importing optional Policy, Audit,
Notifications, Access, or Workflow Engine implementations.