Task: The IAM audited entities: tenant and role

Table of Contents

This page documents a task in the Implement every IAM entity in the web client story. It captures the goal, current status, acceptance, and any notes or results.

1. Goal

Implement tenant and role as full entities: field-group tabs, a searchable foreign-key select for tenant's type and status, history, and role's relationship to permissions. role's permissions tab is the first use of the Related machinery against a relationship the service serves by message.

2. Status

Field Value
State DONE
Parent story Implement every IAM entity in the web client
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-09-20

3. Acceptance

  • tenant and role each have list, detail and history screens.
  • tenant's type and status are searchable selects, never free text.
  • role's permissions are readable and the mechanism for changing them is stated.
  • Both prompt for an audit reason on every create, amend and delete.

4. Plan

(Implementation strategy. Written when work starts; key decisions are distilled into the parent story's * Decisions at close, but the plan itself stays — it is the historical record of what we did.)

5. Notes

6. Test Scenarios

Manual QA scenarios (scaffolded via compass add test_scenario) that verify this task. Link new ones here as they're created; the scenario doc itself links back via its "Verifies task" field.

Scenario State Notes
     

7. PRs

PR Title
   

8. Review

Comment summary File Decision Notes
       

9. Result

Superseded on 2026-09-23. tenant and role were to be built as declarations on the shell, and the shell is deleted. The journey screens replace them and keep the generated protocol and domain types they were to read.

Emacs 29.3 (Org mode 9.6.15)