Task: Close the entity-shell gaps a second entity would inherit
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
Close the Tier 1, Tier 2 and Tier 3 findings in gaps.org so the second entity does not inherit them: a get-one route so a deep link resolves past the first page, a read-only historical mode so opening a version opens that version, sorting on the underlying value, remembered column visibility and order, keyboard navigation, validation on blur, the unsaved-changes prompt, the searchable foreign-key select, and a negative-path verification harness. gaps.org is updated to say what closed and what did not.
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
- Each Tier 1, 2 and 3 finding is met or explicitly re-scoped with a reason recorded in gaps.org.
- A deep link to a record beyond the first page resolves.
- Opening a historical version shows that version, read-only.
- The verification script exercises a rejected or empty case as well as a good one.
- Sorting uses the underlying value, not the displayed string.
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. This task closes gaps that a second entity
would inherit from the shell, and no entity goes through the shell any
more. The shell and gaps.org are both gone, so there is nothing left
to close.