assessment-model/docs/adr
Daniel Roth 35f45837be feat(ara-projects): contractors and permissions setup step (#413)
The screen at /projects/[projectId]/setup/contractors — the wireframe's
06-contractors-permissions.html, one table row per contractor organisation
with its assigned workstreams and the two permission switches.

Revisitable, like the setup steps before it: step 5 of the first-run wizard
and the screen the hub (#444) links to afterwards, with ?from=hub the only
difference (it swaps Continue for a return to the hub). Assignments are read
back from the database on every visit, and every change persists immediately.

- Add contractor: searches *existing* organisations (creating one belongs to
  the invite-company flow), multi-selects workstreams, sets both permissions.
- Edit and remove per contractor, reacting to the API's 409s — a warning the
  user may confirm, or a refusal they cannot.
- Continue leads to the work-order import (#414), the wizard's terminal step,
  with the readiness helper — not a re-derived rule — rendering what is still
  outstanding rather than a disabled button that can't say why.

No useEffect: the form dialog is keyed and mounted only while open, so its
useState initialisers are the load step. router.refresh() alongside the query
invalidation keeps the readiness panel honest as the last gap is filled.

ADR-0021 records why permissions are per-assignment but shown per-contractor
(with a mixed state), and why a removal never cascades through work orders.
2026-07-23 12:52:10 +00:00
..
0001-data-backfills-outside-drizzle.md docs: reporting glossary terms + ADR-0010 compliance-window filter 2026-07-07 22:08:35 +00:00
0002-effective-performance-is-canonical-current.md docs: reporting glossary terms + ADR-0010 compliance-window filter 2026-07-07 22:08:35 +00:00
0003-app-authored-scenarios.md feat(scenarios): portfolio Scenarios tab — gallery, detail, creation journey 2026-07-06 08:34:47 +00:00
0007-postcode-search-creates-properties.md fix(postcode-search): classify RH (HMO) family as addable residential 2026-07-09 10:33:07 +00:00
0008-modelling-runs-filters-to-distributor.md feat(modelling-runs): run config on tasks.inputs; backend contract updates 2026-07-07 10:46:29 +00:00
0009-portfolio-organisation-is-per-user.md docs(adr): 0009 — portfolio organisation is per-user, not shared 2026-07-07 21:11:21 +00:00
0010-compliance-window-is-a-report-view-parameter.md docs: reporting glossary terms + ADR-0010 compliance-window filter 2026-07-07 22:08:35 +00:00
0011-app-owned-task-marker-in-task-source.md feat(live-reporting): bulk document download from the Documents tab 2026-07-08 14:11:42 +00:00
0012-portfolio-list-resolves-descriptors-via-override-precedence.md docs(portfolio): ADR-0012 — list resolves descriptors via override precedence 2026-07-10 23:21:21 +00:00
0013-tags-are-app-owned-property-groupings.md docs: ADR-0013 tagging system + CONTEXT (Bulk tag assignment, Run filter tags) 2026-07-13 15:45:14 +00:00
0014-epc-cards-count-certificates-not-predictions.md fix(reporting): EPC cards count certificates, not predictions (ADR-0014) 2026-07-14 12:19:02 +00:00
0015-scenario-overlay-is-one-read-model.md docs(reporting): Scenario overlay term + ADRs 0015–0017 2026-07-20 14:22:31 +01:00
0016-sap-epc-threshold-ladder-single-owner.md docs(reporting): Scenario overlay term + ADRs 0015–0017 2026-07-20 14:22:31 +01:00
0017-likely-downgrade-is-band-movement-only.md docs(reporting): Scenario overlay term + ADRs 0015–0017 2026-07-20 14:22:31 +01:00
0018-ara-projects-supersedes-hubspot-live-projects.md docs(ara-projects): ADR-0018 + CONTEXT.md Ara Projects domain language 2026-07-21 08:30:32 +00:00
0019-uk-date-format-in-form-inputs.md feat(dates): restore a calendar picker behind DateInput 2026-07-22 15:39:11 +00:00
0019-work-order-import-is-setup-gated-and-carries-contractor-per-row.md feat(ara-projects): import — contractor/stage columns + setup gate 2026-07-22 16:36:16 +00:00
0020-import-session-and-mapping-are-client-held.md feat(ara-projects): import mapping screen — column + value mapping UI (#415) 2026-07-23 10:22:18 +00:00
0021-contractor-permissions-are-per-assignment-shown-per-contractor.md feat(ara-projects): contractors and permissions setup step (#413) 2026-07-23 12:52:10 +00:00