diff --git a/docs/FACTS.md b/docs/FACTS.md index e6cab0203..453ba8874 100644 --- a/docs/FACTS.md +++ b/docs/FACTS.md @@ -13,8 +13,8 @@ green. Quote a fact instead of restating it, and it updates itself when the sour | `migration-count` | 18 | Numbered database migrations | `backend/ward-flow/migrations/` | | `ward-route-count` | 61 | `page.tsx` routes under `/ward-flow` | `src/app/ward-flow/` | | `app-route-count` | 65 | Pages and route handlers: the Ward Flow routes plus sign-in and the `/mockups` digest | `src/app/ward-flow/, src/app/ward-flow-sign-in/, src/app/mockups/` | -| `latest-decision` | D-156 | Newest entry in the decision log | `docs/ward-flow/decisions.md` | -| `next-decision` | D-157 | Number to use for the next decision | `docs/ward-flow/decisions.md` | +| `latest-decision` | D-158 | Newest entry in the decision log | `docs/ward-flow/decisions.md` | +| `next-decision` | D-159 | Number to use for the next decision | `docs/ward-flow/decisions.md` | | `node-engine` | >=24.22.1 <25 | Supported Node.js range | `package.json` | | `backend-env-vars` | 33 names, [listed below](#backend-env-vars) | Environment variables the shared backend reads | `backend/ward-flow/*.mjs` | diff --git a/docs/ward-flow/OWNER-RULINGS.md b/docs/ward-flow/OWNER-RULINGS.md index 3de1aa1e9..368a3c6c7 100644 --- a/docs/ward-flow/OWNER-RULINGS.md +++ b/docs/ward-flow/OWNER-RULINGS.md @@ -9,7 +9,7 @@ Scanned `docs/ward-flow/decisions.md`, `docs/ward-flow/owner-*.md` and `docs/his One file matches `*owner*` but not `owner-*` and is deliberately excluded: `how-to-write-to-the-owner.md` — it is instructions for writing TO the owner, not a record of what he ruled. -**718 rulings/items extracted, across 43 of 44 files.** +**720 rulings/items extracted, across 43 of 44 files.** **0 file(s) UNPARSED** — no recognised ruling structure found; listed, not dropped. See below. **1 file(s) recorded as holding no ruling of their own**, each with its reason. See below. @@ -32,7 +32,7 @@ line, in the order discovered — confirm which instance you mean before citing --- -## ID index — 468 distinct IDs +## ID index — 470 distinct IDs So an ID like `D-9` or `O-17.1` can be looked up directly, without knowing which file it lives in. Bare numbered rulings (files that number "1., 2., 3. …" with no owner-issued letter code) are @@ -72,261 +72,263 @@ safe global key across 30 files. | `D-1` ⚠️ **3 occurrences in 3 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-12-four-answers.md`:16 | D-1 · Legal forms: split the list in two | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:85 | D-1 — 🔴 The screen is called **Patient**, not "Patient Now" | -| ↳ | `decisions.md`:185 | D-1. Ward Flow is local only, with no linked repository (Replaced by D-27) | +| ↳ | `decisions.md`:187 | D-1. Ward Flow is local only, with no linked repository (Replaced by D-27) | | `D-2` ⚠️ **3 occurrences in 3 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-12-four-answers.md`:57 | D-2 · Raise the three unbindable table thresholds | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:108 | D-2 — 🔴 Communication: BUILD IT. The system must be able to tell someone something. | -| ↳ | `decisions.md`:195 | D-2. Railway is disconnected | +| ↳ | `decisions.md`:197 | D-2. Railway is disconnected | | `D-3` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:215 | D-3 — 🔴 The 12px floor is ADOPTED. Screen by screen, not as a sweep. | -| ↳ | `decisions.md`:206 | D-3. The PsychSift and Database code is being retired from Ward Flow | +| ↳ | `decisions.md`:208 | D-3. The PsychSift and Database code is being retired from Ward Flow | | `D-3b` | `../history/archive/dated-notes/owner-decisions-2026-09-12-four-answers.md`:77 | D-3b · The data-conditional absence sweep is DEFERRED | | `D-4` ⚠️ **4 occurrences in 3 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-12-four-answers.md`:97 | D-4 · The deliberate sub-12px exception stands if its reasoning is sound | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:263 | D-4 · WARD LEAD RULING, not the owner's — the Access record's false assurance | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:390 | D-4 ADDENDUM, 2026-09-11 — 🔴 the OTHER half of that sentence, found by Lane C after the fix | -| ↳ | `decisions.md`:214 | D-4. Synthetic patients only | +| ↳ | `decisions.md`:216 | D-4. Synthetic patients only | | `D-5` ⚠️ **4 occurrences in 3 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-12-routing-and-nine-flags.md`:15 | D-5 · 🔴 A NEW STANDING RULE: PROTECTED-WORK DELETIONS COME TO WARD VERIFIER FIRST | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:340 | D-5 · WARD LEAD RULING, not the owner's — gender reaches BOTH bed gates or neither | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:431 | D-5 MEASUREMENT, 2026-09-11 — the wiring task handed back, and the arithmetic is starker than I expected | -| ↳ | `decisions.md`:222 | D-5. Parallel threads in separate worktrees, folded one at a time | +| ↳ | `decisions.md`:224 | D-5. Parallel threads in separate worktrees, folded one at a time | | `D-6` ⚠️ **3 occurrences in 3 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-12-routing-and-nine-flags.md`:52 | D-6 · 🟢 THE `--t-0` COLLISION — amend the brief in the same change | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:472 | D-6 · WARD LEAD RULING — "Not recorded" and "Not yet recorded" are BOTH used, deliberately | -| ↳ | `decisions.md`:233 | D-6. Aboriginal cultural safety review deferred | +| ↳ | `decisions.md`:235 | D-6. Aboriginal cultural safety review deferred | | `D-7` ⚠️ **3 occurrences in 3 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-12-routing-and-nine-flags.md`:72 | D-7 · 🟢 THE REMAINING SEVEN ARE FLAGGED TO WARD LEAD | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:499 | D-7 · WARD LEAD RULING — the Patient screen SHOWS gender, and the addition is logged as an addition | -| ↳ | `decisions.md`:241 | D-7. The first four milestones, in this order | +| ↳ | `decisions.md`:243 | D-7. The first four milestones, in this order | | `D-8` ⚠️ **3 occurrences in 3 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-12-fold-and-authorisation.md`:9 | D-8 · 🔴 "FOLD INTO MAIN" ALWAYS MEANS THE LOCAL WARD FLOW LINE | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:545 | D-8 · WARD LEAD RULING — the announced marker says "invented NAMES", never "invented people" | -| ↳ | `decisions.md`:253 | D-8. Josh's standing rulings, numbered R1 to R16, for every session and tool | +| ↳ | `decisions.md`:255 | D-8. Josh's standing rulings, numbered R1 to R16, for every session and tool | | `D-9` ⚠️ **3 occurrences in 3 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-12-fold-and-authorisation.md`:51 | D-9 · 🟢 THE MENTAL HEALTH ACT AUTHORISATION GATE IS OVERRIDABLE — with the owner's clinical reason | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:589 | D-9 · WARD LEAD RULING — the referral board's table MAY scroll sideways; the missing thing is the affordance | -| ↳ | `decisions.md`:285 | D-9. Josh's rulings of 25 September, 11:43 to 12:00 (R17 to R21) | +| ↳ | `decisions.md`:287 | D-9. Josh's rulings of 25 September, 11:43 to 12:00 (R17 to R21) | | `D-10` ⚠️ **3 occurrences in 3 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-12-fold-and-authorisation.md`:91 | D-10 · ⏸️ THE SMALL-TEXT RAISE IS DEFERRED — with the triggers written down, because a deferral without one is a drop | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:618 | D-10 · WARD LEAD RULING — the overflow affordance is a SENTENCE first and a measured border second, not the standard's shade | -| ↳ | `decisions.md`:299 | D-10. Gate build type check (R22) | +| ↳ | `decisions.md`:301 | D-10. Gate build type check (R22) | | `D-11` ⚠️ **3 occurrences in 3 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-12-fold-and-authorisation.md`:129 | D-11 · 🔴 TWO LEDGERS IS CORRECT AND INTENDED — WARD FLOW TASKS GO ON THE WARD FLOW LEDGER, AND THE MAIN PROJECT'S IS DISREGARDED FOR THIS PROJECT | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:685 | D-11 · A-1 — the half-written referral history WARNS, and is never stored | -| ↳ | `decisions.md`:308 | D-11. Rulings of 25 September, 12:41 (R23 to R25) | +| ↳ | `decisions.md`:310 | D-11. Rulings of 25 September, 12:41 (R23 to R25) | | `D-12` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:704 | D-12 · A-2 — the referrer is the RECORDED SOURCE, and a person only if the record carries one | -| ↳ | `decisions.md`:324 | D-12. Rulings of 25 September, 12:43 (R26 to R31) | +| ↳ | `decisions.md`:326 | D-12. Rulings of 25 September, 12:43 (R26 to R31) | | `D-13` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:720 | D-13 · A-3 and A-4 — both resolve FOR THE CODE; the drawings change | -| ↳ | `decisions.md`:343 | D-13. Tooling tests in batch gates (R32) | +| ↳ | `decisions.md`:345 | D-13. Tooling tests in batch gates (R32) | | `D-14` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:739 | D-14 · A-6 and A-8 — ADD THE LINK, AND MAKE THE GUARD ENFORCE IN THE SAME CHANGE. Never one without the other. | -| ↳ | `decisions.md`:353 | D-14. Standing defaults: decide small things without asking | +| ↳ | `decisions.md`:355 | D-14. Standing defaults: decide small things without asking | | `D-15` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:778 | D-15 · A-7 — the figure NAMES ITS OWN CLOCK, or it does not ship | -| ↳ | `decisions.md`:365 | D-15. Rulings of 25 September, 13:26 (R33 to R35) | +| ↳ | `decisions.md`:367 | D-15. Rulings of 25 September, 13:26 (R33 to R35) | | `D-16` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:799 | D-16 · WARD LEAD RULING — the unwired primary actions use §8.6's EXISTING sentence; nothing new is invented | -| ↳ | `decisions.md`:378 | D-16. Legal overrides and form receipts, 25 September 13:51 UTC | +| ↳ | `decisions.md`:380 | D-16. Legal overrides and form receipts, 25 September 13:51 UTC | | `D-17` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:843 | D-17 · WARD LEAD RULING — A-8: FD-23 wins. The Patient screen never shows where else a patient has been. | -| ↳ | `decisions.md`:391 | D-17. Morning roll-up time is Josh's own default (25 September) | +| ↳ | `decisions.md`:393 | D-17. Morning roll-up time is Josh's own default (25 September) | | `D-18` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:878 | D-18 · WARD LEAD RULING — the referral query contract carries MODEL values; and `gp` is a question for the owner, not a mapping for me | -| ↳ | `decisions.md`:402 | D-18. The privacy lock stops saving only for typed text (25 September) | +| ↳ | `decisions.md`:404 | D-18. The privacy lock stops saving only for typed text (25 September) | | `D-19` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:922 | D-19 · WARD LEAD RULING — "something is already open for this person" is PERMITTED; "where" never is | -| ↳ | `decisions.md`:413 | D-19. Rulings of 25 September, evening (walkthrough, leave beds, PsychSift, gender display) | +| ↳ | `decisions.md`:415 | D-19. Rulings of 25 September, evening (walkthrough, leave beds, PsychSift, gender display) | | `D-20` ⚠️ **3 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:967 | D-20 · WARD LEAD RULING — the drawing wins; the vocabulary anchor was never the heading | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1010 | D-20-REVISED · the drawing renames BOTH, so neither side is taken whole | -| ↳ | `decisions.md`:443 | D-20. One high-contrast colour check retired (26 September) | +| ↳ | `decisions.md`:445 | D-20. One high-contrast colour check retired (26 September) | | `D-21` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1058 | D-21 · WARD LEAD RULING — tasks 10 and 12 are CLOSED, not deferred, and not built as callerless modules | -| ↳ | `decisions.md`:456 | D-21. Coordinator bed board: all nine recommended answers (26 September) | +| ↳ | `decisions.md`:458 | D-21. Coordinator bed board: all nine recommended answers (26 September) | | `D-22` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1084 | D-22 · SHAPE 2 — the landmark label and the heading stop being two strings | -| ↳ | `decisions.md`:468 | D-22. No legal limits in hour rules; the rest are labelled defaults (26 September) | +| ↳ | `decisions.md`:470 | D-22. No legal limits in hour rules; the rest are labelled defaults (26 September) | | `D-23` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1121 | D-23 · The bed board passes an empty leave-bed list into three capacity figures, and says nothing | -| ↳ | `decisions.md`:484 | D-23. Leave-bed fields kept; patient search stops matching by ward (26 September) | +| ↳ | `decisions.md`:486 | D-23. Leave-bed fields kept; patient search stops matching by ward (26 September) | | `D-24` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1142 | D-24 · The raw `1.2` line-height — token it, and accept that community no longer matches | -| ↳ | `decisions.md`:498 | D-24. Hour-rules morning list: all A (26 September) | +| ↳ | `decisions.md`:500 | D-24. Hour-rules morning list: all A (26 September) | | `D-25` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1161 | D-25 · Command's `deadlineLine` sentence is not built — and this DEFERS the R-5 question rather than answering it | -| ↳ | `decisions.md`:522 | D-25. The lone-patient check counts free beds on both matching paths (26 September) | +| ↳ | `decisions.md`:524 | D-25. The lone-patient check counts free beds on both matching paths (26 September) | | `D-26` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1184 | D-26 · `edPressure` becomes a projection of `edHomeSummaries` — the two screens stop being able to disagree | -| ↳ | `decisions.md`:530 | D-26. Select fold checks by changed risk (27 September) | +| ↳ | `decisions.md`:532 | D-26. Select fold checks by changed risk (27 September) | | `D-27` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1213 | D-27 · The word for a free bed is READY — and the ruling is about the WORD, not the identifier | -| ↳ | `decisions.md`:548 | D-27. Ward Flow uses its dedicated repository (28 September) | -| `D-28` | `decisions.md`:561 | D-28. Design Modernization & Anti-Box Architecture (30 September 2026) | -| `D-29` | `decisions.md`:575 | D-29. Act time limits shown as a labelled synthetic demo (4 October 2026) | +| ↳ | `decisions.md`:550 | D-27. Ward Flow uses its dedicated repository (28 September) | +| `D-28` | `decisions.md`:563 | D-28. Design Modernization & Anti-Box Architecture (30 September 2026) | +| `D-29` | `decisions.md`:577 | D-29. Act time limits shown as a labelled synthetic demo (4 October 2026) | | `D-30` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1238 | D-30 · `Unit.forensic` is a WARD flag, and every rendered string says so | -| ↳ | `decisions.md`:590 | D-30. Central Coordinator Approval for Inter-Ward Bed Transfers (6 October 2026) | +| ↳ | `decisions.md`:592 | D-30. Central Coordinator Approval for Inter-Ward Bed Transfers (6 October 2026) | | `D-31` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1367 | D-31 · The plan's disposition — delete one half, re-derive the other | -| ↳ | `decisions.md`:597 | D-31. Gender-Diverse Bed Placement Policy & Clinical Override Safety (6 October 2026) | +| ↳ | `decisions.md`:599 | D-31. Gender-Diverse Bed Placement Policy & Clinical Override Safety (6 October 2026) | | `D-32` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1289 | D-32 · D-6 is restated: ONE WORDING PER STATE, and the states are named | -| ↳ | `decisions.md`:604 | D-32. FIFO Waiting Time with Clinical Triage Badging vs Algorithmic Urgency Sorting (6 October 2026) | +| ↳ | `decisions.md`:606 | D-32. FIFO Waiting Time with Clinical Triage Badging vs Algorithmic Urgency Sorting (6 October 2026) | | `D-33` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1322 | D-33 · "Nothing outstanding" does three jobs, and only one of them may keep the words | -| ↳ | `decisions.md`:611 | D-33. Separation of Local Ward Shift Notes from Statewide Coordinator Telemetry (6 October 2026) | +| ↳ | `decisions.md`:613 | D-33. Separation of Local Ward Shift Notes from Statewide Coordinator Telemetry (6 October 2026) | | `D-34` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1347 | D-34 · A hypothetical destination row may not use obligation vocabulary at all | -| ↳ | `decisions.md`:618 | D-34. Acute Medical Deterioration Bed Release and Escalation Protocol (6 October 2026) | +| ↳ | `decisions.md`:620 | D-34. Acute Medical Deterioration Bed Release and Escalation Protocol (6 October 2026) | | `D-35` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1388 | D-35 · The ED pressure strip does not narrow to the selected service, and #6 is CLOSED | -| ↳ | `decisions.md`:625 | D-35. Deferral of Regional Multi-Leg Transport & RFDS Repatriation (6 October 2026) | +| ↳ | `decisions.md`:627 | D-35. Deferral of Regional Multi-Leg Transport & RFDS Repatriation (6 October 2026) | | `D-36` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1405 | D-36 · _Referrals into this ward_ / _into the team_ — PRESENTATION, with a condition | -| ↳ | `decisions.md`:632 | D-36. Affirmation of External Governance & Clinical Safety Hard Gates (6 October 2026) (Replaced by D-87) | +| ↳ | `decisions.md`:634 | D-36. Affirmation of External Governance & Clinical Safety Hard Gates (6 October 2026) (Replaced by D-87) | | `D-37` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1411 | D-37 · _Clinically ready, not yet gone_ — PRESENTATION, and the heading must name its subject | -| ↳ | `decisions.md`:647 | D-37. External Governance Hard Gate Operational Postures & Resolution Roadmap (6 October 2026) (Replaced by D-87) | +| ↳ | `decisions.md`:649 | D-37. External Governance Hard Gate Operational Postures & Resolution Roadmap (6 October 2026) (Replaced by D-87) | | `D-38` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1417 | D-38 · _People currently in a hospital bed_ on community team statistics — an aggregate that identifies at small N | -| ↳ | `decisions.md`:674 | D-38. Leave, absent without leave and CTO on the Patient page (9 October 2026) | +| ↳ | `decisions.md`:676 | D-38. Leave, absent without leave and CTO on the Patient page (9 October 2026) | | `D-39` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1437 | D-39 · _Contacts_ and _Time to first contact_ — HELD, build neither | -| ↳ | `decisions.md`:692 | D-39. Patients are identified by UMRN, never by a WF number (9 October 2026) | +| ↳ | `decisions.md`:694 | D-39. Patients are identified by UMRN, never by a WF number (9 October 2026) | | `D-40` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1445 | D-40 · An empty check array never claims reconciliation — on either shell surface | -| ↳ | `decisions.md`:736 | D-40. A second community treatment order keeps the first (9 October 2026) | +| ↳ | `decisions.md`:738 | D-40. A second community treatment order keeps the first (9 October 2026) | | `D-41` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1478 | D-41 · `corridorCounts` is extended, and its POPULATION changes | -| ↳ | `decisions.md`:747 | D-41. Delays board filters narrow the table and state the hidden count (9 October 2026) | +| ↳ | `decisions.md`:749 | D-41. Delays board filters narrow the table and state the hidden count (9 October 2026) | | `D-42` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1490 | D-42 · _Referrals into this ward_ renders bare counts. No share. | -| ↳ | `decisions.md`:760 | D-42. 12px typography floor with no uppercase exception reaffirmed in Design System v9 (9–10 October 2026) | +| ↳ | `decisions.md`:762 | D-42. 12px typography floor with no uppercase exception reaffirmed in Design System v9 (9–10 October 2026) | | `D-43` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1724 | D-43 · Ward Lead ruling — the bed board's ordinal contradiction is a LANE TASK | -| ↳ | `decisions.md`:766 | D-43. Colour lives in glyphs and the hero; red means act now with a thin 1px edge, never a fill (9 October 2026) | +| ↳ | `decisions.md`:768 | D-43. Colour lives in glyphs and the hero; red means act now with a thin 1px edge, never a fill (9 October 2026) | | `D-44` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1791 | D-44 · The community scope note is reworded and the comparison panel stays | -| ↳ | `decisions.md`:773 | D-44. Compact sizing, white cards and smaller text retained over expression-test card tints (9 October 2026) | +| ↳ | `decisions.md`:775 | D-44. Compact sizing, white cards and smaller text retained over expression-test card tints (9 October 2026) | | `D-45` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1803 | D-45 · 🔴 THE SEED DECISION — the fixture gains BOTH, as ONE change, after the statistics screens | -| ↳ | `decisions.md`:779 | D-45. Phone is its own 390×844 design, never a desktop reflow (9 October 2026) | +| ↳ | `decisions.md`:781 | D-45. Phone is its own 390×844 design, never a desktop reflow (9 October 2026) | | `D-46` ⚠️ **2 occurrences in 2 files — not unique** | | | | ↳ | `../history/archive/dated-notes/owner-decisions-2026-09-1x.md`:1984 | D-46 · A guard that fails whenever the machine is busy | -| ↳ | `decisions.md`:786 | D-46. Every page has a focal part, a part of its own, a page-specific hero and command-bar action rules (9 October 2026) | -| `D-47` | `decisions.md`:792 | D-47. Glass stays about 80% opaque with the top sheen kept (10 October 2026) | -| `D-48` | `decisions.md`:798 | D-48. Figures stay in Geist Mono with tabular digits while chart axes use Geist Sans (10 October 2026) | -| `D-49` | `decisions.md`:804 | D-49. Ward Flow 44px default row target (dense 36px, touch 52px) vs retired 48px PsychSift tap knob (10 October 2026) | -| `D-50` | `decisions.md`:810 | D-50. Neutral T1 urgency pill vs Form 1A amber statutory warning badge (10 October 2026) | -| `D-51` | `decisions.md`:816 | D-51. Delays filters hide rows with a stated hidden count while other queues highlight by default (10 October 2026) | -| `D-52` | `decisions.md`:823 | D-52. 10 October page review rulings: time-axis overdue zone, 15px/20px strip figures, 8px people pips and incremental shared parts (10 October 2026) | -| `D-53` | `decisions.md`:829 | D-53. Elevate design language and Glare mode adopted for Design System v9 (10 October 2026) | -| `D-54` | `decisions.md`:836 | D-54. Tier time thresholds remain synthetic demo values requiring clinical sign-off (10 October 2026) | -| `D-55` | `decisions.md`:844 | D-55. Supabase is Ward Flow's database and sign-in provider, and Azure is retired (15 October 2026) | -| `D-56` | `decisions.md`:850 | D-56. Josh signs the clinical values that have a recorded source, for the prototype (15 October 2026) | -| `D-57` | `decisions.md`:856 | D-57. Twenty Top 25 items move from the showcase into the real screens, each behind its own flag (15 October 2026) | -| `D-58` | `decisions.md`:883 | D-58. Josh signs three more clinical values that have a national source, for the prototype (15 October 2026) | -| `D-59` | `decisions.md`:889 | D-59. Each role sees only what it needs, from one access table (15 October 2026) | -| `D-60` | `decisions.md`:895 | D-60. Criteria led discharge, for voluntary patients only (15 October 2026) | -| `D-61` | `decisions.md`:904 | D-61. Tasks and Alerts are one queue called Alerts (16 October 2026) | -| `D-62` | `decisions.md`:910 | D-62. The one Alerts queue is signed off and its flag removed (16 October 2026) | -| `D-63` | `decisions.md`:916 | D-63. Josh signs the remaining clinical values and the criteria list, for the prototype (16 October 2026) | -| `D-64` | `decisions.md`:924 | D-64. Criteria led discharge shows on the boards and warns at departure (16 October 2026) | -| `D-65` | `decisions.md`:931 | D-65. Criteria led discharge on in production, typed patient specific criteria, and the AWOL bed hold review paused (17 October 2026) | -| `D-66` | `decisions.md`:947 | D-66. Granted roles work without a second approval (17 October 2026) | -| `D-67` | `decisions.md`:955 | D-67. Recover synthetic form drafts within the browser session (17 October 2026) | -| `D-68` | `decisions.md`:962 | D-68. Bed meeting TV content and access (19 October 2026) | -| `D-69` | `decisions.md`:970 | D-69. A referral with no legal status: "Needs an involuntary-capable bed until status is set." (20 October 2026) | -| `D-70` | `decisions.md`:977 | D-70. No computed Mental Health Act periods: show only the recorded due time (20 October 2026) | -| `D-71` | `decisions.md`:983 | D-71. Audit 1 clinical safety fixes: no suggested wards, wait-order queues, recorded facts only (20 October 2026) | -| `D-72` | `decisions.md`:996 | D-72. Seven product decisions for the 21 October fix plan (21 October 2026) | -| `D-73` | `decisions.md`:1012 | D-73. Batch merge safeguards (21 October 2026) | -| `D-74` | `decisions.md`:1028 | D-74. Owner answers to the 21 October open questions (21 October 2026) | -| `D-75` | `decisions.md`:1049 | D-75. UX audit follow-up, page caching, community gaps and the extra-travel bed hold (21 October 2026) | -| `D-76` | `decisions.md`:1062 | D-76. Community referral gaps: the full move journey and asking more wards (21 October 2026) | -| `D-77` | `decisions.md`:1071 | D-77. The ten bigger UX changes approved for build (22 October 2026) | -| `D-78` | `decisions.md`:1091 | D-78. One decline list for wards and coordinators (22 October 2026) | -| `D-79` | `decisions.md`:1102 | D-79. Wards see the full referral, with name and UMRN, before they answer (23 October 2026) | -| `D-80` | `decisions.md`:1113 | D-80. Role access plan version 2: all 17 recommendations (23 October 2026) | -| `D-81` | `decisions.md`:1128 | D-81. Pulled, with a pull time limit, for a bed kept for an incoming patient (24 October 2026) | -| `D-82` | `decisions.md`:1135 | D-82. A PR may raise a phone size limit by up to 5 KB per screen without asking (26 October 2026) | -| `D-83` | `decisions.md`:1143 | D-83. Patient names stay in full on every screen, copy and TV; privacy work must not make the app less useful (26 October 2026) | -| `D-84` | `decisions.md`:1154 | D-84. The live app stays on Railway Singapore for now, and there is no server-side TV account yet (26 October 2026) | -| `D-85` | `decisions.md`:1162 | D-85. "Held" only for a bed kept for its own patient; "pulled" for an incoming bed; "held up" for a delay (26 October 2026) | -| `D-86` | `decisions.md`:1169 | D-86. No second approver for role grants, at pilot or otherwise (27 October 2026) | -| `D-87` | `decisions.md`:1176 | D-87. D-36 and D-37 are replaced by the real-data gate (27 October 2026) | -| `D-88` | `decisions.md`:1188 | D-88. The public demo opens with a demo code once the front door is on (27 October 2026) | -| `D-89` | `decisions.md`:1195 | D-89. Redesign mock-up copies of large screens may pass the 1,500-line cap (30 October 2026) | -| `D-90` | `decisions.md`:1203 | D-90. Help gets How do I…, Show me runs everywhere, and Help is built without a separate mock-up step (30 October 2026) | -| `D-91` | `decisions.md`:1214 | D-91. One design home for the redesign, and Josh's answers on Help, Settings, search and notifications (31 October 2026) | -| `D-92` | `decisions.md`:1249 | D-92. Help goes live before its mock-up review, one search box on Capacity, and referral rows on Home open the panel (31 October 2026) | -| `D-93` | `decisions.md`:1259 | D-93. Legal form times show only as typed, never as a countdown (31 October 2026) | -| `D-94` | `decisions.md`:1267 | D-94. Design rulings of 31 October 2026 | -| `D-95` | `decisions.md`:1280 | D-95. One page scroll, and a click outside closes a drawer (3 November 2026) | -| `D-96` | `decisions.md`:1290 | D-96. A named bed is pulled, and its patient is not also waiting (8 November 2026) | -| `D-97` | `decisions.md`:1300 | D-97. Owner answers on seven open items: N21, N25, N26, N29, N40, N41 and WF-B008 (8 November 2026) | -| `D-98` | `decisions.md`:1313 | D-98. Friction pass: Quick bar, Patient peek and Ward peek (8 November 2026) | -| `D-99` | `decisions.md`:1322 | D-99. "Real details" in the referral drawer's sample patients (25 September 2026) | -| `D-100` | `decisions.md`:1328 | D-100. "Under a form" means one rule everywhere (9 November 2026) | -| `D-101` | `decisions.md`:1335 | D-101. Clinically ready for discharge, with one delay reason (9 November 2026) | -| `D-102` | `decisions.md`:1344 | D-102. Report-a-problem screenshots are blurred, and patient-table exports carry no names (9 November 2026) | -| `D-103` | `decisions.md`:1353 | D-103. Any coordinator on shift may mark a bed override reviewed (9 November 2026) | -| `D-104` | `decisions.md`:1360 | D-104. Care plans and safety flags: five defaults (9 November 2026) | -| `D-105` | `decisions.md`:1372 | D-105. Optional clerk details on the patient record (8 November 2026) | -| `D-106` | `decisions.md`:1379 | D-106. Clinical values from the 9 November 2026 documentation audit (9 November 2026) | -| `D-107` | `decisions.md`:1391 | D-107. Working rules and documentation from the 9 November 2026 audit (9 November 2026) | -| `D-108` | `decisions.md`:1405 | D-108. Six bed-flow features: keep D-93 and D-72, ED long-wait next steps (9 November 2026) | -| `D-109` | `decisions.md`:1414 | D-109. Home's bed alert line tests the whole number shown (9 November 2026) | -| `D-110` | `decisions.md`:1421 | D-110. ED and referral flow: neutral fit line, clearance timing and alternatives to admission (9 November 2026) | -| `D-111` | `decisions.md`:1431 | D-111. Review and audit plan: first guards and four open answers (9 November 2026) | -| `D-112` | `decisions.md`:1445 | D-112. Phone bottom bar: the floating bar (9 November 2026) | -| `D-113` | `decisions.md`:1454 | D-113. Second patient identifier on accept and Mark done; no initials search (9 November 2026) | -| `D-114` | `decisions.md`:1464 | D-114. Allow pull_request_target for three workflows only (9 November 2026) | -| `D-115` | `decisions.md`:1472 | D-115. One count on every screen, and a missing patient shown everywhere (9 November 2026) | -| `D-116` | `decisions.md`:1486 | D-116. Page tops: the PR #1581 recommendations stand (9 November 2026) | -| `D-117` | `decisions.md`:1503 | D-117. Care plans follow-up: frequent presenter count, tribunal date and ward flags (10 November 2026) | -| `D-118` | `decisions.md`:1512 | D-118. Page tops: Referrals and Ward phone limits up to 8 KB above main (10 November 2026) | -| `D-119` | `decisions.md`:1518 | D-119. Page tops: phone limits raised to measured sizes, trim after merge (10 November 2026) | -| `D-120` | `decisions.md`:1525 | D-120. Discharge and capacity values: pull limit, transport delay and discharge date slip (9 November 2026) | -| `D-121` | `decisions.md`:1534 | D-121. Working rules, guards and your PC from the 10 November 2026 audit (10 November 2026) | -| `D-122` | `decisions.md`:1548 | D-122. Clinical and privacy answers from the 10 November 2026 audit (10 November 2026) | -| `D-123` | `decisions.md`:1561 | D-123. Master audit list answers: two clinical fixes and five working rules (10 November 2026) | -| `D-124` | `decisions.md`:1575 | D-124. Offline saves whose record changed are refused and shown (10 November 2026) | -| `D-125` | `decisions.md`:1582 | D-125. Top 10 audit follow-ups approved (10 November 2026) | -| `D-126` | `decisions.md`:1594 | D-126. Ranked lists: neutral orders approved (10 November 2026) | -| `D-127` | `decisions.md`:1613 | D-127. Neutral wording for a community treatment order at arrival (10 November 2026) | -| `D-128` | `decisions.md`:1620 | D-128. Final master audit: nine answers (10 November 2026) | -| `D-129` | `decisions.md`:1635 | D-129. Master audit findings: every recommendation approved (10 November 2026) | -| `D-130` | `decisions.md`:1685 | D-130. Audit follow-ups: every remaining recommendation approved (10 November 2026) | -| `D-131` | `decisions.md`:1701 | D-131. Hard-case demo data allowed, and the movement diagram follows the engine (10 November 2026) | -| `D-132` | `decisions.md`:1710 | D-132. Audit fixes group 1: docs and CI guards (10 November 2026) | -| `D-133` | `decisions.md`:1720 | D-133. Batch 1 (ED and referral flow): three answers (10 November 2026) | -| `D-134` | `decisions.md`:1730 | D-134. Ward arrival and beds batch: how to hold, advocate line, night list and the feature freeze (10 November 2026) | -| `D-135` | `decisions.md`:1753 | D-135. Batch 4, outages and pilot control: pack age and plan answers (10 November 2026) | -| `D-136` | `decisions.md`:1762 | D-136. Feature batch 3 (shift change and follow-up): two signed values (10 November 2026) | -| `D-137` | `decisions.md`:1774 | D-137. Feature build batch 5: count leak first, TV change mark and QR library (10 November 2026) | -| `D-138` | `decisions.md`:1790 | D-138. Phone alert urgency by kind (10 November 2026) | -| `D-139` | `decisions.md`:1796 | D-139. Phone Statistics ward list A to Z, and leave return times as typed (10 November 2026) | -| `D-140` | `decisions.md`:1806 | D-140. Feature list adopted, and Wave 1 begins (10 November 2026) | -| `D-141` | `decisions.md`:1819 | D-141. Batch 1 (ED and referral flow) design approved, with eleven answers (11 November 2026) | -| `D-142` | `decisions.md`:1837 | D-142. Batch 4: design review and all twelve answers approved, D-80 amended for site features (11 November 2026) | -| `D-143` | `decisions.md`:1849 | D-143. MHERT is MHERL in the glossary; SMHMR deferred (11 November 2026) | -| `D-144` | `decisions.md`:1857 | D-144. Chip rows move only sideways on a phone (11 November 2026) | -| `D-145` | `decisions.md`:1863 | D-145. Repository review: fixes, features and code health approved (11 November 2026) | -| `D-146` | `decisions.md`:1877 | D-146. Performance audit fixes and the phone speed target (11 November 2026) | -| `D-147` | `decisions.md`:1883 | D-147. Demo-code tries keep per-address keying until a trusted proxy is set (11 November 2026) | -| `D-148` | `decisions.md`:1889 | D-148. Closing a bed stays one tap, and its toast offers a reason (11 November 2026) | -| `D-149` | `decisions.md`:1896 | D-149. A record whose only links are withdrawn referrals can be archived (11 November 2026) | -| `D-150` | `decisions.md`:1907 | D-150. The signed-in site runs on real Perth time (11 November 2026) | -| `D-151` | `decisions.md`:1915 | D-151. A bed tile says when a change is waiting to save (11 November 2026) | -| `D-152` | `decisions.md`:1922 | D-152. Returned to ED prompt sees every return in shared mode (11 November 2026) | -| `D-153` | `decisions.md`:1930 | D-153. Keep the drawn-time settle check, and defer a separate agent GitHub identity (11 November 2026) | -| `D-154` | `decisions.md`:1938 | D-154. The community desk's ED heads-up reads a narrow scoped list (11 November 2026) | -| `D-155` | `decisions.md`:1947 | D-155. Check the live clock offset before clearing it (11 November 2026) | -| `D-156` | `decisions.md`:1954 | D-156. Reset the synthetic live world after the clock fix (11 November 2026) | +| ↳ | `decisions.md`:788 | D-46. Every page has a focal part, a part of its own, a page-specific hero and command-bar action rules (9 October 2026) | +| `D-47` | `decisions.md`:794 | D-47. Glass stays about 80% opaque with the top sheen kept (10 October 2026) | +| `D-48` | `decisions.md`:800 | D-48. Figures stay in Geist Mono with tabular digits while chart axes use Geist Sans (10 October 2026) | +| `D-49` | `decisions.md`:806 | D-49. Ward Flow 44px default row target (dense 36px, touch 52px) vs retired 48px PsychSift tap knob (10 October 2026) | +| `D-50` | `decisions.md`:812 | D-50. Neutral T1 urgency pill vs Form 1A amber statutory warning badge (10 October 2026) | +| `D-51` | `decisions.md`:818 | D-51. Delays filters hide rows with a stated hidden count while other queues highlight by default (10 October 2026) | +| `D-52` | `decisions.md`:825 | D-52. 10 October page review rulings: time-axis overdue zone, 15px/20px strip figures, 8px people pips and incremental shared parts (10 October 2026) | +| `D-53` | `decisions.md`:831 | D-53. Elevate design language and Glare mode adopted for Design System v9 (10 October 2026) | +| `D-54` | `decisions.md`:838 | D-54. Tier time thresholds remain synthetic demo values requiring clinical sign-off (10 October 2026) | +| `D-55` | `decisions.md`:846 | D-55. Supabase is Ward Flow's database and sign-in provider, and Azure is retired (15 October 2026) | +| `D-56` | `decisions.md`:852 | D-56. Josh signs the clinical values that have a recorded source, for the prototype (15 October 2026) | +| `D-57` | `decisions.md`:858 | D-57. Twenty Top 25 items move from the showcase into the real screens, each behind its own flag (15 October 2026) | +| `D-58` | `decisions.md`:885 | D-58. Josh signs three more clinical values that have a national source, for the prototype (15 October 2026) | +| `D-59` | `decisions.md`:891 | D-59. Each role sees only what it needs, from one access table (15 October 2026) | +| `D-60` | `decisions.md`:897 | D-60. Criteria led discharge, for voluntary patients only (15 October 2026) | +| `D-61` | `decisions.md`:906 | D-61. Tasks and Alerts are one queue called Alerts (16 October 2026) | +| `D-62` | `decisions.md`:912 | D-62. The one Alerts queue is signed off and its flag removed (16 October 2026) | +| `D-63` | `decisions.md`:918 | D-63. Josh signs the remaining clinical values and the criteria list, for the prototype (16 October 2026) | +| `D-64` | `decisions.md`:926 | D-64. Criteria led discharge shows on the boards and warns at departure (16 October 2026) | +| `D-65` | `decisions.md`:933 | D-65. Criteria led discharge on in production, typed patient specific criteria, and the AWOL bed hold review paused (17 October 2026) | +| `D-66` | `decisions.md`:949 | D-66. Granted roles work without a second approval (17 October 2026) | +| `D-67` | `decisions.md`:957 | D-67. Recover synthetic form drafts within the browser session (17 October 2026) | +| `D-68` | `decisions.md`:964 | D-68. Bed meeting TV content and access (19 October 2026) | +| `D-69` | `decisions.md`:972 | D-69. A referral with no legal status: "Needs an involuntary-capable bed until status is set." (20 October 2026) | +| `D-70` | `decisions.md`:979 | D-70. No computed Mental Health Act periods: show only the recorded due time (20 October 2026) | +| `D-71` | `decisions.md`:985 | D-71. Audit 1 clinical safety fixes: no suggested wards, wait-order queues, recorded facts only (20 October 2026) | +| `D-72` | `decisions.md`:998 | D-72. Seven product decisions for the 21 October fix plan (21 October 2026) | +| `D-73` | `decisions.md`:1014 | D-73. Batch merge safeguards (21 October 2026) | +| `D-74` | `decisions.md`:1030 | D-74. Owner answers to the 21 October open questions (21 October 2026) | +| `D-75` | `decisions.md`:1051 | D-75. UX audit follow-up, page caching, community gaps and the extra-travel bed hold (21 October 2026) | +| `D-76` | `decisions.md`:1064 | D-76. Community referral gaps: the full move journey and asking more wards (21 October 2026) | +| `D-77` | `decisions.md`:1073 | D-77. The ten bigger UX changes approved for build (22 October 2026) | +| `D-78` | `decisions.md`:1093 | D-78. One decline list for wards and coordinators (22 October 2026) | +| `D-79` | `decisions.md`:1104 | D-79. Wards see the full referral, with name and UMRN, before they answer (23 October 2026) | +| `D-80` | `decisions.md`:1115 | D-80. Role access plan version 2: all 17 recommendations (23 October 2026) | +| `D-81` | `decisions.md`:1130 | D-81. Pulled, with a pull time limit, for a bed kept for an incoming patient (24 October 2026) | +| `D-82` | `decisions.md`:1137 | D-82. A PR may raise a phone size limit by up to 5 KB per screen without asking (26 October 2026) | +| `D-83` | `decisions.md`:1145 | D-83. Patient names stay in full on every screen, copy and TV; privacy work must not make the app less useful (26 October 2026) | +| `D-84` | `decisions.md`:1156 | D-84. The live app stays on Railway Singapore for now, and there is no server-side TV account yet (26 October 2026) | +| `D-85` | `decisions.md`:1164 | D-85. "Held" only for a bed kept for its own patient; "pulled" for an incoming bed; "held up" for a delay (26 October 2026) | +| `D-86` | `decisions.md`:1171 | D-86. No second approver for role grants, at pilot or otherwise (27 October 2026) | +| `D-87` | `decisions.md`:1178 | D-87. D-36 and D-37 are replaced by the real-data gate (27 October 2026) | +| `D-88` | `decisions.md`:1190 | D-88. The public demo opens with a demo code once the front door is on (27 October 2026) | +| `D-89` | `decisions.md`:1197 | D-89. Redesign mock-up copies of large screens may pass the 1,500-line cap (30 October 2026) | +| `D-90` | `decisions.md`:1205 | D-90. Help gets How do I…, Show me runs everywhere, and Help is built without a separate mock-up step (30 October 2026) | +| `D-91` | `decisions.md`:1216 | D-91. One design home for the redesign, and Josh's answers on Help, Settings, search and notifications (31 October 2026) | +| `D-92` | `decisions.md`:1251 | D-92. Help goes live before its mock-up review, one search box on Capacity, and referral rows on Home open the panel (31 October 2026) | +| `D-93` | `decisions.md`:1261 | D-93. Legal form times show only as typed, never as a countdown (31 October 2026) | +| `D-94` | `decisions.md`:1269 | D-94. Design rulings of 31 October 2026 | +| `D-95` | `decisions.md`:1282 | D-95. One page scroll, and a click outside closes a drawer (3 November 2026) | +| `D-96` | `decisions.md`:1292 | D-96. A named bed is pulled, and its patient is not also waiting (8 November 2026) | +| `D-97` | `decisions.md`:1302 | D-97. Owner answers on seven open items: N21, N25, N26, N29, N40, N41 and WF-B008 (8 November 2026) | +| `D-98` | `decisions.md`:1315 | D-98. Friction pass: Quick bar, Patient peek and Ward peek (8 November 2026) | +| `D-99` | `decisions.md`:1324 | D-99. "Real details" in the referral drawer's sample patients (25 September 2026) | +| `D-100` | `decisions.md`:1330 | D-100. "Under a form" means one rule everywhere (9 November 2026) | +| `D-101` | `decisions.md`:1337 | D-101. Clinically ready for discharge, with one delay reason (9 November 2026) | +| `D-102` | `decisions.md`:1346 | D-102. Report-a-problem screenshots are blurred, and patient-table exports carry no names (9 November 2026) | +| `D-103` | `decisions.md`:1355 | D-103. Any coordinator on shift may mark a bed override reviewed (9 November 2026) | +| `D-104` | `decisions.md`:1362 | D-104. Care plans and safety flags: five defaults (9 November 2026) | +| `D-105` | `decisions.md`:1374 | D-105. Optional clerk details on the patient record (8 November 2026) | +| `D-106` | `decisions.md`:1381 | D-106. Clinical values from the 9 November 2026 documentation audit (9 November 2026) | +| `D-107` | `decisions.md`:1393 | D-107. Working rules and documentation from the 9 November 2026 audit (9 November 2026) | +| `D-108` | `decisions.md`:1407 | D-108. Six bed-flow features: keep D-93 and D-72, ED long-wait next steps (9 November 2026) | +| `D-109` | `decisions.md`:1416 | D-109. Home's bed alert line tests the whole number shown (9 November 2026) | +| `D-110` | `decisions.md`:1423 | D-110. ED and referral flow: neutral fit line, clearance timing and alternatives to admission (9 November 2026) | +| `D-111` | `decisions.md`:1433 | D-111. Review and audit plan: first guards and four open answers (9 November 2026) | +| `D-112` | `decisions.md`:1447 | D-112. Phone bottom bar: the floating bar (9 November 2026) | +| `D-113` | `decisions.md`:1456 | D-113. Second patient identifier on accept and Mark done; no initials search (9 November 2026) | +| `D-114` | `decisions.md`:1466 | D-114. Allow pull_request_target for three workflows only (9 November 2026) | +| `D-115` | `decisions.md`:1474 | D-115. One count on every screen, and a missing patient shown everywhere (9 November 2026) | +| `D-116` | `decisions.md`:1488 | D-116. Page tops: the PR #1581 recommendations stand (9 November 2026) | +| `D-117` | `decisions.md`:1505 | D-117. Care plans follow-up: frequent presenter count, tribunal date and ward flags (10 November 2026) | +| `D-118` | `decisions.md`:1514 | D-118. Page tops: Referrals and Ward phone limits up to 8 KB above main (10 November 2026) | +| `D-119` | `decisions.md`:1520 | D-119. Page tops: phone limits raised to measured sizes, trim after merge (10 November 2026) | +| `D-120` | `decisions.md`:1527 | D-120. Discharge and capacity values: pull limit, transport delay and discharge date slip (9 November 2026) | +| `D-121` | `decisions.md`:1536 | D-121. Working rules, guards and your PC from the 10 November 2026 audit (10 November 2026) | +| `D-122` | `decisions.md`:1550 | D-122. Clinical and privacy answers from the 10 November 2026 audit (10 November 2026) | +| `D-123` | `decisions.md`:1563 | D-123. Master audit list answers: two clinical fixes and five working rules (10 November 2026) | +| `D-124` | `decisions.md`:1577 | D-124. Offline saves whose record changed are refused and shown (10 November 2026) | +| `D-125` | `decisions.md`:1584 | D-125. Top 10 audit follow-ups approved (10 November 2026) | +| `D-126` | `decisions.md`:1596 | D-126. Ranked lists: neutral orders approved (10 November 2026) | +| `D-127` | `decisions.md`:1615 | D-127. Neutral wording for a community treatment order at arrival (10 November 2026) | +| `D-128` | `decisions.md`:1622 | D-128. Final master audit: nine answers (10 November 2026) | +| `D-129` | `decisions.md`:1637 | D-129. Master audit findings: every recommendation approved (10 November 2026) | +| `D-130` | `decisions.md`:1687 | D-130. Audit follow-ups: every remaining recommendation approved (10 November 2026) | +| `D-131` | `decisions.md`:1703 | D-131. Hard-case demo data allowed, and the movement diagram follows the engine (10 November 2026) | +| `D-132` | `decisions.md`:1712 | D-132. Audit fixes group 1: docs and CI guards (10 November 2026) | +| `D-133` | `decisions.md`:1722 | D-133. Batch 1 (ED and referral flow): three answers (10 November 2026) | +| `D-134` | `decisions.md`:1732 | D-134. Ward arrival and beds batch: how to hold, advocate line, night list and the feature freeze (10 November 2026) | +| `D-135` | `decisions.md`:1755 | D-135. Batch 4, outages and pilot control: pack age and plan answers (10 November 2026) | +| `D-136` | `decisions.md`:1764 | D-136. Feature batch 3 (shift change and follow-up): two signed values (10 November 2026) | +| `D-137` | `decisions.md`:1776 | D-137. Feature build batch 5: count leak first, TV change mark and QR library (10 November 2026) | +| `D-138` | `decisions.md`:1792 | D-138. Phone alert urgency by kind (10 November 2026) | +| `D-139` | `decisions.md`:1798 | D-139. Phone Statistics ward list A to Z, and leave return times as typed (10 November 2026) | +| `D-140` | `decisions.md`:1808 | D-140. Feature list adopted, and Wave 1 begins (10 November 2026) | +| `D-141` | `decisions.md`:1821 | D-141. Batch 1 (ED and referral flow) design approved, with eleven answers (11 November 2026) | +| `D-142` | `decisions.md`:1839 | D-142. Batch 4: design review and all twelve answers approved, D-80 amended for site features (11 November 2026) | +| `D-143` | `decisions.md`:1851 | D-143. MHERT is MHERL in the glossary; SMHMR deferred (11 November 2026) | +| `D-144` | `decisions.md`:1859 | D-144. Chip rows move only sideways on a phone (11 November 2026) | +| `D-145` | `decisions.md`:1865 | D-145. Repository review: fixes, features and code health approved (11 November 2026) | +| `D-146` | `decisions.md`:1879 | D-146. Performance audit fixes and the phone speed target (11 November 2026) | +| `D-147` | `decisions.md`:1885 | D-147. Demo-code tries keep per-address keying until a trusted proxy is set (11 November 2026) | +| `D-148` | `decisions.md`:1891 | D-148. Closing a bed stays one tap, and its toast offers a reason (11 November 2026) | +| `D-149` | `decisions.md`:1898 | D-149. A record whose only links are withdrawn referrals can be archived (11 November 2026) | +| `D-150` | `decisions.md`:1909 | D-150. The signed-in site runs on real Perth time (11 November 2026) | +| `D-151` | `decisions.md`:1917 | D-151. A bed tile says when a change is waiting to save (11 November 2026) | +| `D-152` | `decisions.md`:1924 | D-152. Returned to ED prompt sees every return in shared mode (11 November 2026) | +| `D-153` | `decisions.md`:1932 | D-153. Keep the drawn-time settle check, and defer a separate agent GitHub identity (11 November 2026) | +| `D-154` | `decisions.md`:1940 | D-154. The community desk's ED heads-up reads a narrow scoped list (11 November 2026) | +| `D-155` | `decisions.md`:1949 | D-155. Check the live clock offset before clearing it (11 November 2026) | +| `D-156` | `decisions.md`:1956 | D-156. Reset the synthetic live world after the clock fix (11 November 2026) | +| `D-157` | `decisions.md`:1964 | D-157. Legal forms Print and Export include people admitted on a form (12 November 2026) | +| `D-158` | `decisions.md`:1970 | D-158. A This-shift staff request is refused once that shift has ended (12 November 2026) | | `D9-1` | `../history/archive/dated-notes/ward-flow-phase-9-decisions.md`:62 | D9-1 — The wait becomes prominent, and its ceiling is removed; it never outranks urgency (SESSION) | | `D9-2` | `../history/archive/dated-notes/ward-flow-phase-9-decisions.md`:102 | D9-2 — Declaring escalation records it and marks the screens, and changes nothing else (SESSION, and partly blocked) | | `D9-3` | `../history/archive/dated-notes/ward-flow-phase-9-decisions.md`:126 | D9-3 — The retrospective is one person's journey replayed, plus the ward prediction track record last (SESSION) | @@ -635,164 +637,166 @@ safe global key across 30 files. **Title:** Ward Flow — decision log -156 item(s): - -- `D-1` — line 185, heading: "D-1. Ward Flow is local only, with no linked repository (Replaced by D-27)" -- `D-2` — line 195, heading: "D-2. Railway is disconnected" -- `D-3` — line 206, heading: "D-3. The PsychSift and Database code is being retired from Ward Flow" -- `D-4` — line 214, heading: "D-4. Synthetic patients only" -- `D-5` — line 222, heading: "D-5. Parallel threads in separate worktrees, folded one at a time" -- `D-6` — line 233, heading: "D-6. Aboriginal cultural safety review deferred" -- `D-7` — line 241, heading: "D-7. The first four milestones, in this order" -- `D-8` — line 253, heading: "D-8. Josh's standing rulings, numbered R1 to R16, for every session and tool" -- `D-9` — line 285, heading: "D-9. Josh's rulings of 25 September, 11:43 to 12:00 (R17 to R21)" -- `D-10` — line 299, heading: "D-10. Gate build type check (R22)" -- `D-11` — line 308, heading: "D-11. Rulings of 25 September, 12:41 (R23 to R25)" -- `D-12` — line 324, heading: "D-12. Rulings of 25 September, 12:43 (R26 to R31)" -- `D-13` — line 343, heading: "D-13. Tooling tests in batch gates (R32)" -- `D-14` — line 353, heading: "D-14. Standing defaults: decide small things without asking" -- `D-15` — line 365, heading: "D-15. Rulings of 25 September, 13:26 (R33 to R35)" -- `D-16` — line 378, heading: "D-16. Legal overrides and form receipts, 25 September 13:51 UTC" -- `D-17` — line 391, heading: "D-17. Morning roll-up time is Josh's own default (25 September)" -- `D-18` — line 402, heading: "D-18. The privacy lock stops saving only for typed text (25 September)" -- `D-19` — line 413, heading: "D-19. Rulings of 25 September, evening (walkthrough, leave beds, PsychSift, gender display)" -- `D-20` — line 443, heading: "D-20. One high-contrast colour check retired (26 September)" -- `D-21` — line 456, heading: "D-21. Coordinator bed board: all nine recommended answers (26 September)" -- `D-22` — line 468, heading: "D-22. No legal limits in hour rules; the rest are labelled defaults (26 September)" -- `D-23` — line 484, heading: "D-23. Leave-bed fields kept; patient search stops matching by ward (26 September)" -- `D-24` — line 498, heading: "D-24. Hour-rules morning list: all A (26 September)" -- `D-25` — line 522, heading: "D-25. The lone-patient check counts free beds on both matching paths (26 September)" -- `D-26` — line 530, heading: "D-26. Select fold checks by changed risk (27 September)" -- `D-27` — line 548, heading: "D-27. Ward Flow uses its dedicated repository (28 September)" -- `D-28` — line 561, heading: "D-28. Design Modernization & Anti-Box Architecture (30 September 2026)" -- `D-29` — line 575, heading: "D-29. Act time limits shown as a labelled synthetic demo (4 October 2026)" -- `D-30` — line 590, heading: "D-30. Central Coordinator Approval for Inter-Ward Bed Transfers (6 October 2026)" -- `D-31` — line 597, heading: "D-31. Gender-Diverse Bed Placement Policy & Clinical Override Safety (6 October 2026)" -- `D-32` — line 604, heading: "D-32. FIFO Waiting Time with Clinical Triage Badging vs Algorithmic Urgency Sorting (6 October 2026)" -- `D-33` — line 611, heading: "D-33. Separation of Local Ward Shift Notes from Statewide Coordinator Telemetry (6 October 2026)" -- `D-34` — line 618, heading: "D-34. Acute Medical Deterioration Bed Release and Escalation Protocol (6 October 2026)" -- `D-35` — line 625, heading: "D-35. Deferral of Regional Multi-Leg Transport & RFDS Repatriation (6 October 2026)" -- `D-36` — line 632, heading: "D-36. Affirmation of External Governance & Clinical Safety Hard Gates (6 October 2026) (Replaced by D-87)" -- `D-37` — line 647, heading: "D-37. External Governance Hard Gate Operational Postures & Resolution Roadmap (6 October 2026) (Replaced by D-87)" -- `D-38` — line 674, heading: "D-38. Leave, absent without leave and CTO on the Patient page (9 October 2026)" -- `D-39` — line 692, heading: "D-39. Patients are identified by UMRN, never by a WF number (9 October 2026)" -- `D-40` — line 736, heading: "D-40. A second community treatment order keeps the first (9 October 2026)" -- `D-41` — line 747, heading: "D-41. Delays board filters narrow the table and state the hidden count (9 October 2026)" -- `D-42` — line 760, heading: "D-42. 12px typography floor with no uppercase exception reaffirmed in Design System v9 (9–10 October 2026)" -- `D-43` — line 766, heading: "D-43. Colour lives in glyphs and the hero; red means act now with a thin 1px edge, never a fill (9 October 2026)" -- `D-44` — line 773, heading: "D-44. Compact sizing, white cards and smaller text retained over expression-test card tints (9 October 2026)" -- `D-45` — line 779, heading: "D-45. Phone is its own 390×844 design, never a desktop reflow (9 October 2026)" -- `D-46` — line 786, heading: "D-46. Every page has a focal part, a part of its own, a page-specific hero and command-bar action rules (9 October 2026)" -- `D-47` — line 792, heading: "D-47. Glass stays about 80% opaque with the top sheen kept (10 October 2026)" -- `D-48` — line 798, heading: "D-48. Figures stay in Geist Mono with tabular digits while chart axes use Geist Sans (10 October 2026)" -- `D-49` — line 804, heading: "D-49. Ward Flow 44px default row target (dense 36px, touch 52px) vs retired 48px PsychSift tap knob (10 October 2026)" -- `D-50` — line 810, heading: "D-50. Neutral T1 urgency pill vs Form 1A amber statutory warning badge (10 October 2026)" -- `D-51` — line 816, heading: "D-51. Delays filters hide rows with a stated hidden count while other queues highlight by default (10 October 2026)" -- `D-52` — line 823, heading: "D-52. 10 October page review rulings: time-axis overdue zone, 15px/20px strip figures, 8px people pips and incremental shared parts (10 October 2026)" -- `D-53` — line 829, heading: "D-53. Elevate design language and Glare mode adopted for Design System v9 (10 October 2026)" -- `D-54` — line 836, heading: "D-54. Tier time thresholds remain synthetic demo values requiring clinical sign-off (10 October 2026)" -- `D-55` — line 844, heading: "D-55. Supabase is Ward Flow's database and sign-in provider, and Azure is retired (15 October 2026)" -- `D-56` — line 850, heading: "D-56. Josh signs the clinical values that have a recorded source, for the prototype (15 October 2026)" -- `D-57` — line 856, heading: "D-57. Twenty Top 25 items move from the showcase into the real screens, each behind its own flag (15 October 2026)" -- `D-58` — line 883, heading: "D-58. Josh signs three more clinical values that have a national source, for the prototype (15 October 2026)" -- `D-59` — line 889, heading: "D-59. Each role sees only what it needs, from one access table (15 October 2026)" -- `D-60` — line 895, heading: "D-60. Criteria led discharge, for voluntary patients only (15 October 2026)" -- `D-61` — line 904, heading: "D-61. Tasks and Alerts are one queue called Alerts (16 October 2026)" -- `D-62` — line 910, heading: "D-62. The one Alerts queue is signed off and its flag removed (16 October 2026)" -- `D-63` — line 916, heading: "D-63. Josh signs the remaining clinical values and the criteria list, for the prototype (16 October 2026)" -- `D-64` — line 924, heading: "D-64. Criteria led discharge shows on the boards and warns at departure (16 October 2026)" -- `D-65` — line 931, heading: "D-65. Criteria led discharge on in production, typed patient specific criteria, and the AWOL bed hold review paused (17 October 2026)" -- `D-66` — line 947, heading: "D-66. Granted roles work without a second approval (17 October 2026)" -- `D-67` — line 955, heading: "D-67. Recover synthetic form drafts within the browser session (17 October 2026)" -- `D-68` — line 962, heading: "D-68. Bed meeting TV content and access (19 October 2026)" -- `D-69` — line 970, heading: "D-69. A referral with no legal status: "Needs an involuntary-capable bed until status is set." (20 October 2026)" -- `D-70` — line 977, heading: "D-70. No computed Mental Health Act periods: show only the recorded due time (20 October 2026)" -- `D-71` — line 983, heading: "D-71. Audit 1 clinical safety fixes: no suggested wards, wait-order queues, recorded facts only (20 October 2026)" -- `D-72` — line 996, heading: "D-72. Seven product decisions for the 21 October fix plan (21 October 2026)" -- `D-73` — line 1012, heading: "D-73. Batch merge safeguards (21 October 2026)" -- `D-74` — line 1028, heading: "D-74. Owner answers to the 21 October open questions (21 October 2026)" -- `D-75` — line 1049, heading: "D-75. UX audit follow-up, page caching, community gaps and the extra-travel bed hold (21 October 2026)" -- `D-76` — line 1062, heading: "D-76. Community referral gaps: the full move journey and asking more wards (21 October 2026)" -- `D-77` — line 1071, heading: "D-77. The ten bigger UX changes approved for build (22 October 2026)" -- `D-78` — line 1091, heading: "D-78. One decline list for wards and coordinators (22 October 2026)" -- `D-79` — line 1102, heading: "D-79. Wards see the full referral, with name and UMRN, before they answer (23 October 2026)" -- `D-80` — line 1113, heading: "D-80. Role access plan version 2: all 17 recommendations (23 October 2026)" -- `D-81` — line 1128, heading: "D-81. Pulled, with a pull time limit, for a bed kept for an incoming patient (24 October 2026)" -- `D-82` — line 1135, heading: "D-82. A PR may raise a phone size limit by up to 5 KB per screen without asking (26 October 2026)" -- `D-83` — line 1143, heading: "D-83. Patient names stay in full on every screen, copy and TV; privacy work must not make the app less useful (26 October 2026)" -- `D-84` — line 1154, heading: "D-84. The live app stays on Railway Singapore for now, and there is no server-side TV account yet (26 October 2026)" -- `D-85` — line 1162, heading: "D-85. "Held" only for a bed kept for its own patient; "pulled" for an incoming bed; "held up" for a delay (26 October 2026)" -- `D-86` — line 1169, heading: "D-86. No second approver for role grants, at pilot or otherwise (27 October 2026)" -- `D-87` — line 1176, heading: "D-87. D-36 and D-37 are replaced by the real-data gate (27 October 2026)" -- `D-88` — line 1188, heading: "D-88. The public demo opens with a demo code once the front door is on (27 October 2026)" -- `D-89` — line 1195, heading: "D-89. Redesign mock-up copies of large screens may pass the 1,500-line cap (30 October 2026)" -- `D-90` — line 1203, heading: "D-90. Help gets How do I…, Show me runs everywhere, and Help is built without a separate mock-up step (30 October 2026)" -- `D-91` — line 1214, heading: "D-91. One design home for the redesign, and Josh's answers on Help, Settings, search and notifications (31 October 2026)" -- `D-92` — line 1249, heading: "D-92. Help goes live before its mock-up review, one search box on Capacity, and referral rows on Home open the panel (31 October 2026)" -- `D-93` — line 1259, heading: "D-93. Legal form times show only as typed, never as a countdown (31 October 2026)" -- `D-94` — line 1267, heading: "D-94. Design rulings of 31 October 2026" -- `D-95` — line 1280, heading: "D-95. One page scroll, and a click outside closes a drawer (3 November 2026)" -- `D-96` — line 1290, heading: "D-96. A named bed is pulled, and its patient is not also waiting (8 November 2026)" -- `D-97` — line 1300, heading: "D-97. Owner answers on seven open items: N21, N25, N26, N29, N40, N41 and WF-B008 (8 November 2026)" -- `D-98` — line 1313, heading: "D-98. Friction pass: Quick bar, Patient peek and Ward peek (8 November 2026)" -- `D-99` — line 1322, heading: "D-99. "Real details" in the referral drawer's sample patients (25 September 2026)" -- `D-100` — line 1328, heading: "D-100. "Under a form" means one rule everywhere (9 November 2026)" -- `D-101` — line 1335, heading: "D-101. Clinically ready for discharge, with one delay reason (9 November 2026)" -- `D-102` — line 1344, heading: "D-102. Report-a-problem screenshots are blurred, and patient-table exports carry no names (9 November 2026)" -- `D-103` — line 1353, heading: "D-103. Any coordinator on shift may mark a bed override reviewed (9 November 2026)" -- `D-104` — line 1360, heading: "D-104. Care plans and safety flags: five defaults (9 November 2026)" -- `D-105` — line 1372, heading: "D-105. Optional clerk details on the patient record (8 November 2026)" -- `D-106` — line 1379, heading: "D-106. Clinical values from the 9 November 2026 documentation audit (9 November 2026)" -- `D-107` — line 1391, heading: "D-107. Working rules and documentation from the 9 November 2026 audit (9 November 2026)" -- `D-108` — line 1405, heading: "D-108. Six bed-flow features: keep D-93 and D-72, ED long-wait next steps (9 November 2026)" -- `D-109` — line 1414, heading: "D-109. Home's bed alert line tests the whole number shown (9 November 2026)" -- `D-110` — line 1421, heading: "D-110. ED and referral flow: neutral fit line, clearance timing and alternatives to admission (9 November 2026)" -- `D-111` — line 1431, heading: "D-111. Review and audit plan: first guards and four open answers (9 November 2026)" -- `D-112` — line 1445, heading: "D-112. Phone bottom bar: the floating bar (9 November 2026)" -- `D-113` — line 1454, heading: "D-113. Second patient identifier on accept and Mark done; no initials search (9 November 2026)" -- `D-114` — line 1464, heading: "D-114. Allow pull_request_target for three workflows only (9 November 2026)" -- `D-115` — line 1472, heading: "D-115. One count on every screen, and a missing patient shown everywhere (9 November 2026)" -- `D-116` — line 1486, heading: "D-116. Page tops: the PR #1581 recommendations stand (9 November 2026)" -- `D-117` — line 1503, heading: "D-117. Care plans follow-up: frequent presenter count, tribunal date and ward flags (10 November 2026)" -- `D-118` — line 1512, heading: "D-118. Page tops: Referrals and Ward phone limits up to 8 KB above main (10 November 2026)" -- `D-119` — line 1518, heading: "D-119. Page tops: phone limits raised to measured sizes, trim after merge (10 November 2026)" -- `D-120` — line 1525, heading: "D-120. Discharge and capacity values: pull limit, transport delay and discharge date slip (9 November 2026)" -- `D-121` — line 1534, heading: "D-121. Working rules, guards and your PC from the 10 November 2026 audit (10 November 2026)" -- `D-122` — line 1548, heading: "D-122. Clinical and privacy answers from the 10 November 2026 audit (10 November 2026)" -- `D-123` — line 1561, heading: "D-123. Master audit list answers: two clinical fixes and five working rules (10 November 2026)" -- `D-124` — line 1575, heading: "D-124. Offline saves whose record changed are refused and shown (10 November 2026)" -- `D-125` — line 1582, heading: "D-125. Top 10 audit follow-ups approved (10 November 2026)" -- `D-126` — line 1594, heading: "D-126. Ranked lists: neutral orders approved (10 November 2026)" -- `D-127` — line 1613, heading: "D-127. Neutral wording for a community treatment order at arrival (10 November 2026)" -- `D-128` — line 1620, heading: "D-128. Final master audit: nine answers (10 November 2026)" -- `D-129` — line 1635, heading: "D-129. Master audit findings: every recommendation approved (10 November 2026)" -- `D-130` — line 1685, heading: "D-130. Audit follow-ups: every remaining recommendation approved (10 November 2026)" -- `D-131` — line 1701, heading: "D-131. Hard-case demo data allowed, and the movement diagram follows the engine (10 November 2026)" -- `D-132` — line 1710, heading: "D-132. Audit fixes group 1: docs and CI guards (10 November 2026)" -- `D-133` — line 1720, heading: "D-133. Batch 1 (ED and referral flow): three answers (10 November 2026)" -- `D-134` — line 1730, heading: "D-134. Ward arrival and beds batch: how to hold, advocate line, night list and the feature freeze (10 November 2026)" -- `D-135` — line 1753, heading: "D-135. Batch 4, outages and pilot control: pack age and plan answers (10 November 2026)" -- `D-136` — line 1762, heading: "D-136. Feature batch 3 (shift change and follow-up): two signed values (10 November 2026)" -- `D-137` — line 1774, heading: "D-137. Feature build batch 5: count leak first, TV change mark and QR library (10 November 2026)" -- `D-138` — line 1790, heading: "D-138. Phone alert urgency by kind (10 November 2026)" -- `D-139` — line 1796, heading: "D-139. Phone Statistics ward list A to Z, and leave return times as typed (10 November 2026)" -- `D-140` — line 1806, heading: "D-140. Feature list adopted, and Wave 1 begins (10 November 2026)" -- `D-141` — line 1819, heading: "D-141. Batch 1 (ED and referral flow) design approved, with eleven answers (11 November 2026)" -- `D-142` — line 1837, heading: "D-142. Batch 4: design review and all twelve answers approved, D-80 amended for site features (11 November 2026)" -- `D-143` — line 1849, heading: "D-143. MHERT is MHERL in the glossary; SMHMR deferred (11 November 2026)" -- `D-144` — line 1857, heading: "D-144. Chip rows move only sideways on a phone (11 November 2026)" -- `D-145` — line 1863, heading: "D-145. Repository review: fixes, features and code health approved (11 November 2026)" -- `D-146` — line 1877, heading: "D-146. Performance audit fixes and the phone speed target (11 November 2026)" -- `D-147` — line 1883, heading: "D-147. Demo-code tries keep per-address keying until a trusted proxy is set (11 November 2026)" -- `D-148` — line 1889, heading: "D-148. Closing a bed stays one tap, and its toast offers a reason (11 November 2026)" -- `D-149` — line 1896, heading: "D-149. A record whose only links are withdrawn referrals can be archived (11 November 2026)" -- `D-150` — line 1907, heading: "D-150. The signed-in site runs on real Perth time (11 November 2026)" -- `D-151` — line 1915, heading: "D-151. A bed tile says when a change is waiting to save (11 November 2026)" -- `D-152` — line 1922, heading: "D-152. Returned to ED prompt sees every return in shared mode (11 November 2026)" -- `D-153` — line 1930, heading: "D-153. Keep the drawn-time settle check, and defer a separate agent GitHub identity (11 November 2026)" -- `D-154` — line 1938, heading: "D-154. The community desk's ED heads-up reads a narrow scoped list (11 November 2026)" -- `D-155` — line 1947, heading: "D-155. Check the live clock offset before clearing it (11 November 2026)" -- `D-156` — line 1954, heading: "D-156. Reset the synthetic live world after the clock fix (11 November 2026)" +158 item(s): + +- `D-1` — line 187, heading: "D-1. Ward Flow is local only, with no linked repository (Replaced by D-27)" +- `D-2` — line 197, heading: "D-2. Railway is disconnected" +- `D-3` — line 208, heading: "D-3. The PsychSift and Database code is being retired from Ward Flow" +- `D-4` — line 216, heading: "D-4. Synthetic patients only" +- `D-5` — line 224, heading: "D-5. Parallel threads in separate worktrees, folded one at a time" +- `D-6` — line 235, heading: "D-6. Aboriginal cultural safety review deferred" +- `D-7` — line 243, heading: "D-7. The first four milestones, in this order" +- `D-8` — line 255, heading: "D-8. Josh's standing rulings, numbered R1 to R16, for every session and tool" +- `D-9` — line 287, heading: "D-9. Josh's rulings of 25 September, 11:43 to 12:00 (R17 to R21)" +- `D-10` — line 301, heading: "D-10. Gate build type check (R22)" +- `D-11` — line 310, heading: "D-11. Rulings of 25 September, 12:41 (R23 to R25)" +- `D-12` — line 326, heading: "D-12. Rulings of 25 September, 12:43 (R26 to R31)" +- `D-13` — line 345, heading: "D-13. Tooling tests in batch gates (R32)" +- `D-14` — line 355, heading: "D-14. Standing defaults: decide small things without asking" +- `D-15` — line 367, heading: "D-15. Rulings of 25 September, 13:26 (R33 to R35)" +- `D-16` — line 380, heading: "D-16. Legal overrides and form receipts, 25 September 13:51 UTC" +- `D-17` — line 393, heading: "D-17. Morning roll-up time is Josh's own default (25 September)" +- `D-18` — line 404, heading: "D-18. The privacy lock stops saving only for typed text (25 September)" +- `D-19` — line 415, heading: "D-19. Rulings of 25 September, evening (walkthrough, leave beds, PsychSift, gender display)" +- `D-20` — line 445, heading: "D-20. One high-contrast colour check retired (26 September)" +- `D-21` — line 458, heading: "D-21. Coordinator bed board: all nine recommended answers (26 September)" +- `D-22` — line 470, heading: "D-22. No legal limits in hour rules; the rest are labelled defaults (26 September)" +- `D-23` — line 486, heading: "D-23. Leave-bed fields kept; patient search stops matching by ward (26 September)" +- `D-24` — line 500, heading: "D-24. Hour-rules morning list: all A (26 September)" +- `D-25` — line 524, heading: "D-25. The lone-patient check counts free beds on both matching paths (26 September)" +- `D-26` — line 532, heading: "D-26. Select fold checks by changed risk (27 September)" +- `D-27` — line 550, heading: "D-27. Ward Flow uses its dedicated repository (28 September)" +- `D-28` — line 563, heading: "D-28. Design Modernization & Anti-Box Architecture (30 September 2026)" +- `D-29` — line 577, heading: "D-29. Act time limits shown as a labelled synthetic demo (4 October 2026)" +- `D-30` — line 592, heading: "D-30. Central Coordinator Approval for Inter-Ward Bed Transfers (6 October 2026)" +- `D-31` — line 599, heading: "D-31. Gender-Diverse Bed Placement Policy & Clinical Override Safety (6 October 2026)" +- `D-32` — line 606, heading: "D-32. FIFO Waiting Time with Clinical Triage Badging vs Algorithmic Urgency Sorting (6 October 2026)" +- `D-33` — line 613, heading: "D-33. Separation of Local Ward Shift Notes from Statewide Coordinator Telemetry (6 October 2026)" +- `D-34` — line 620, heading: "D-34. Acute Medical Deterioration Bed Release and Escalation Protocol (6 October 2026)" +- `D-35` — line 627, heading: "D-35. Deferral of Regional Multi-Leg Transport & RFDS Repatriation (6 October 2026)" +- `D-36` — line 634, heading: "D-36. Affirmation of External Governance & Clinical Safety Hard Gates (6 October 2026) (Replaced by D-87)" +- `D-37` — line 649, heading: "D-37. External Governance Hard Gate Operational Postures & Resolution Roadmap (6 October 2026) (Replaced by D-87)" +- `D-38` — line 676, heading: "D-38. Leave, absent without leave and CTO on the Patient page (9 October 2026)" +- `D-39` — line 694, heading: "D-39. Patients are identified by UMRN, never by a WF number (9 October 2026)" +- `D-40` — line 738, heading: "D-40. A second community treatment order keeps the first (9 October 2026)" +- `D-41` — line 749, heading: "D-41. Delays board filters narrow the table and state the hidden count (9 October 2026)" +- `D-42` — line 762, heading: "D-42. 12px typography floor with no uppercase exception reaffirmed in Design System v9 (9–10 October 2026)" +- `D-43` — line 768, heading: "D-43. Colour lives in glyphs and the hero; red means act now with a thin 1px edge, never a fill (9 October 2026)" +- `D-44` — line 775, heading: "D-44. Compact sizing, white cards and smaller text retained over expression-test card tints (9 October 2026)" +- `D-45` — line 781, heading: "D-45. Phone is its own 390×844 design, never a desktop reflow (9 October 2026)" +- `D-46` — line 788, heading: "D-46. Every page has a focal part, a part of its own, a page-specific hero and command-bar action rules (9 October 2026)" +- `D-47` — line 794, heading: "D-47. Glass stays about 80% opaque with the top sheen kept (10 October 2026)" +- `D-48` — line 800, heading: "D-48. Figures stay in Geist Mono with tabular digits while chart axes use Geist Sans (10 October 2026)" +- `D-49` — line 806, heading: "D-49. Ward Flow 44px default row target (dense 36px, touch 52px) vs retired 48px PsychSift tap knob (10 October 2026)" +- `D-50` — line 812, heading: "D-50. Neutral T1 urgency pill vs Form 1A amber statutory warning badge (10 October 2026)" +- `D-51` — line 818, heading: "D-51. Delays filters hide rows with a stated hidden count while other queues highlight by default (10 October 2026)" +- `D-52` — line 825, heading: "D-52. 10 October page review rulings: time-axis overdue zone, 15px/20px strip figures, 8px people pips and incremental shared parts (10 October 2026)" +- `D-53` — line 831, heading: "D-53. Elevate design language and Glare mode adopted for Design System v9 (10 October 2026)" +- `D-54` — line 838, heading: "D-54. Tier time thresholds remain synthetic demo values requiring clinical sign-off (10 October 2026)" +- `D-55` — line 846, heading: "D-55. Supabase is Ward Flow's database and sign-in provider, and Azure is retired (15 October 2026)" +- `D-56` — line 852, heading: "D-56. Josh signs the clinical values that have a recorded source, for the prototype (15 October 2026)" +- `D-57` — line 858, heading: "D-57. Twenty Top 25 items move from the showcase into the real screens, each behind its own flag (15 October 2026)" +- `D-58` — line 885, heading: "D-58. Josh signs three more clinical values that have a national source, for the prototype (15 October 2026)" +- `D-59` — line 891, heading: "D-59. Each role sees only what it needs, from one access table (15 October 2026)" +- `D-60` — line 897, heading: "D-60. Criteria led discharge, for voluntary patients only (15 October 2026)" +- `D-61` — line 906, heading: "D-61. Tasks and Alerts are one queue called Alerts (16 October 2026)" +- `D-62` — line 912, heading: "D-62. The one Alerts queue is signed off and its flag removed (16 October 2026)" +- `D-63` — line 918, heading: "D-63. Josh signs the remaining clinical values and the criteria list, for the prototype (16 October 2026)" +- `D-64` — line 926, heading: "D-64. Criteria led discharge shows on the boards and warns at departure (16 October 2026)" +- `D-65` — line 933, heading: "D-65. Criteria led discharge on in production, typed patient specific criteria, and the AWOL bed hold review paused (17 October 2026)" +- `D-66` — line 949, heading: "D-66. Granted roles work without a second approval (17 October 2026)" +- `D-67` — line 957, heading: "D-67. Recover synthetic form drafts within the browser session (17 October 2026)" +- `D-68` — line 964, heading: "D-68. Bed meeting TV content and access (19 October 2026)" +- `D-69` — line 972, heading: "D-69. A referral with no legal status: "Needs an involuntary-capable bed until status is set." (20 October 2026)" +- `D-70` — line 979, heading: "D-70. No computed Mental Health Act periods: show only the recorded due time (20 October 2026)" +- `D-71` — line 985, heading: "D-71. Audit 1 clinical safety fixes: no suggested wards, wait-order queues, recorded facts only (20 October 2026)" +- `D-72` — line 998, heading: "D-72. Seven product decisions for the 21 October fix plan (21 October 2026)" +- `D-73` — line 1014, heading: "D-73. Batch merge safeguards (21 October 2026)" +- `D-74` — line 1030, heading: "D-74. Owner answers to the 21 October open questions (21 October 2026)" +- `D-75` — line 1051, heading: "D-75. UX audit follow-up, page caching, community gaps and the extra-travel bed hold (21 October 2026)" +- `D-76` — line 1064, heading: "D-76. Community referral gaps: the full move journey and asking more wards (21 October 2026)" +- `D-77` — line 1073, heading: "D-77. The ten bigger UX changes approved for build (22 October 2026)" +- `D-78` — line 1093, heading: "D-78. One decline list for wards and coordinators (22 October 2026)" +- `D-79` — line 1104, heading: "D-79. Wards see the full referral, with name and UMRN, before they answer (23 October 2026)" +- `D-80` — line 1115, heading: "D-80. Role access plan version 2: all 17 recommendations (23 October 2026)" +- `D-81` — line 1130, heading: "D-81. Pulled, with a pull time limit, for a bed kept for an incoming patient (24 October 2026)" +- `D-82` — line 1137, heading: "D-82. A PR may raise a phone size limit by up to 5 KB per screen without asking (26 October 2026)" +- `D-83` — line 1145, heading: "D-83. Patient names stay in full on every screen, copy and TV; privacy work must not make the app less useful (26 October 2026)" +- `D-84` — line 1156, heading: "D-84. The live app stays on Railway Singapore for now, and there is no server-side TV account yet (26 October 2026)" +- `D-85` — line 1164, heading: "D-85. "Held" only for a bed kept for its own patient; "pulled" for an incoming bed; "held up" for a delay (26 October 2026)" +- `D-86` — line 1171, heading: "D-86. No second approver for role grants, at pilot or otherwise (27 October 2026)" +- `D-87` — line 1178, heading: "D-87. D-36 and D-37 are replaced by the real-data gate (27 October 2026)" +- `D-88` — line 1190, heading: "D-88. The public demo opens with a demo code once the front door is on (27 October 2026)" +- `D-89` — line 1197, heading: "D-89. Redesign mock-up copies of large screens may pass the 1,500-line cap (30 October 2026)" +- `D-90` — line 1205, heading: "D-90. Help gets How do I…, Show me runs everywhere, and Help is built without a separate mock-up step (30 October 2026)" +- `D-91` — line 1216, heading: "D-91. One design home for the redesign, and Josh's answers on Help, Settings, search and notifications (31 October 2026)" +- `D-92` — line 1251, heading: "D-92. Help goes live before its mock-up review, one search box on Capacity, and referral rows on Home open the panel (31 October 2026)" +- `D-93` — line 1261, heading: "D-93. Legal form times show only as typed, never as a countdown (31 October 2026)" +- `D-94` — line 1269, heading: "D-94. Design rulings of 31 October 2026" +- `D-95` — line 1282, heading: "D-95. One page scroll, and a click outside closes a drawer (3 November 2026)" +- `D-96` — line 1292, heading: "D-96. A named bed is pulled, and its patient is not also waiting (8 November 2026)" +- `D-97` — line 1302, heading: "D-97. Owner answers on seven open items: N21, N25, N26, N29, N40, N41 and WF-B008 (8 November 2026)" +- `D-98` — line 1315, heading: "D-98. Friction pass: Quick bar, Patient peek and Ward peek (8 November 2026)" +- `D-99` — line 1324, heading: "D-99. "Real details" in the referral drawer's sample patients (25 September 2026)" +- `D-100` — line 1330, heading: "D-100. "Under a form" means one rule everywhere (9 November 2026)" +- `D-101` — line 1337, heading: "D-101. Clinically ready for discharge, with one delay reason (9 November 2026)" +- `D-102` — line 1346, heading: "D-102. Report-a-problem screenshots are blurred, and patient-table exports carry no names (9 November 2026)" +- `D-103` — line 1355, heading: "D-103. Any coordinator on shift may mark a bed override reviewed (9 November 2026)" +- `D-104` — line 1362, heading: "D-104. Care plans and safety flags: five defaults (9 November 2026)" +- `D-105` — line 1374, heading: "D-105. Optional clerk details on the patient record (8 November 2026)" +- `D-106` — line 1381, heading: "D-106. Clinical values from the 9 November 2026 documentation audit (9 November 2026)" +- `D-107` — line 1393, heading: "D-107. Working rules and documentation from the 9 November 2026 audit (9 November 2026)" +- `D-108` — line 1407, heading: "D-108. Six bed-flow features: keep D-93 and D-72, ED long-wait next steps (9 November 2026)" +- `D-109` — line 1416, heading: "D-109. Home's bed alert line tests the whole number shown (9 November 2026)" +- `D-110` — line 1423, heading: "D-110. ED and referral flow: neutral fit line, clearance timing and alternatives to admission (9 November 2026)" +- `D-111` — line 1433, heading: "D-111. Review and audit plan: first guards and four open answers (9 November 2026)" +- `D-112` — line 1447, heading: "D-112. Phone bottom bar: the floating bar (9 November 2026)" +- `D-113` — line 1456, heading: "D-113. Second patient identifier on accept and Mark done; no initials search (9 November 2026)" +- `D-114` — line 1466, heading: "D-114. Allow pull_request_target for three workflows only (9 November 2026)" +- `D-115` — line 1474, heading: "D-115. One count on every screen, and a missing patient shown everywhere (9 November 2026)" +- `D-116` — line 1488, heading: "D-116. Page tops: the PR #1581 recommendations stand (9 November 2026)" +- `D-117` — line 1505, heading: "D-117. Care plans follow-up: frequent presenter count, tribunal date and ward flags (10 November 2026)" +- `D-118` — line 1514, heading: "D-118. Page tops: Referrals and Ward phone limits up to 8 KB above main (10 November 2026)" +- `D-119` — line 1520, heading: "D-119. Page tops: phone limits raised to measured sizes, trim after merge (10 November 2026)" +- `D-120` — line 1527, heading: "D-120. Discharge and capacity values: pull limit, transport delay and discharge date slip (9 November 2026)" +- `D-121` — line 1536, heading: "D-121. Working rules, guards and your PC from the 10 November 2026 audit (10 November 2026)" +- `D-122` — line 1550, heading: "D-122. Clinical and privacy answers from the 10 November 2026 audit (10 November 2026)" +- `D-123` — line 1563, heading: "D-123. Master audit list answers: two clinical fixes and five working rules (10 November 2026)" +- `D-124` — line 1577, heading: "D-124. Offline saves whose record changed are refused and shown (10 November 2026)" +- `D-125` — line 1584, heading: "D-125. Top 10 audit follow-ups approved (10 November 2026)" +- `D-126` — line 1596, heading: "D-126. Ranked lists: neutral orders approved (10 November 2026)" +- `D-127` — line 1615, heading: "D-127. Neutral wording for a community treatment order at arrival (10 November 2026)" +- `D-128` — line 1622, heading: "D-128. Final master audit: nine answers (10 November 2026)" +- `D-129` — line 1637, heading: "D-129. Master audit findings: every recommendation approved (10 November 2026)" +- `D-130` — line 1687, heading: "D-130. Audit follow-ups: every remaining recommendation approved (10 November 2026)" +- `D-131` — line 1703, heading: "D-131. Hard-case demo data allowed, and the movement diagram follows the engine (10 November 2026)" +- `D-132` — line 1712, heading: "D-132. Audit fixes group 1: docs and CI guards (10 November 2026)" +- `D-133` — line 1722, heading: "D-133. Batch 1 (ED and referral flow): three answers (10 November 2026)" +- `D-134` — line 1732, heading: "D-134. Ward arrival and beds batch: how to hold, advocate line, night list and the feature freeze (10 November 2026)" +- `D-135` — line 1755, heading: "D-135. Batch 4, outages and pilot control: pack age and plan answers (10 November 2026)" +- `D-136` — line 1764, heading: "D-136. Feature batch 3 (shift change and follow-up): two signed values (10 November 2026)" +- `D-137` — line 1776, heading: "D-137. Feature build batch 5: count leak first, TV change mark and QR library (10 November 2026)" +- `D-138` — line 1792, heading: "D-138. Phone alert urgency by kind (10 November 2026)" +- `D-139` — line 1798, heading: "D-139. Phone Statistics ward list A to Z, and leave return times as typed (10 November 2026)" +- `D-140` — line 1808, heading: "D-140. Feature list adopted, and Wave 1 begins (10 November 2026)" +- `D-141` — line 1821, heading: "D-141. Batch 1 (ED and referral flow) design approved, with eleven answers (11 November 2026)" +- `D-142` — line 1839, heading: "D-142. Batch 4: design review and all twelve answers approved, D-80 amended for site features (11 November 2026)" +- `D-143` — line 1851, heading: "D-143. MHERT is MHERL in the glossary; SMHMR deferred (11 November 2026)" +- `D-144` — line 1859, heading: "D-144. Chip rows move only sideways on a phone (11 November 2026)" +- `D-145` — line 1865, heading: "D-145. Repository review: fixes, features and code health approved (11 November 2026)" +- `D-146` — line 1879, heading: "D-146. Performance audit fixes and the phone speed target (11 November 2026)" +- `D-147` — line 1885, heading: "D-147. Demo-code tries keep per-address keying until a trusted proxy is set (11 November 2026)" +- `D-148` — line 1891, heading: "D-148. Closing a bed stays one tap, and its toast offers a reason (11 November 2026)" +- `D-149` — line 1898, heading: "D-149. A record whose only links are withdrawn referrals can be archived (11 November 2026)" +- `D-150` — line 1909, heading: "D-150. The signed-in site runs on real Perth time (11 November 2026)" +- `D-151` — line 1917, heading: "D-151. A bed tile says when a change is waiting to save (11 November 2026)" +- `D-152` — line 1924, heading: "D-152. Returned to ED prompt sees every return in shared mode (11 November 2026)" +- `D-153` — line 1932, heading: "D-153. Keep the drawn-time settle check, and defer a separate agent GitHub identity (11 November 2026)" +- `D-154` — line 1940, heading: "D-154. The community desk's ED heads-up reads a narrow scoped list (11 November 2026)" +- `D-155` — line 1949, heading: "D-155. Check the live clock offset before clearing it (11 November 2026)" +- `D-156` — line 1956, heading: "D-156. Reset the synthetic live world after the clock fix (11 November 2026)" +- `D-157` — line 1964, heading: "D-157. Legal forms Print and Export include people admitted on a form (12 November 2026)" +- `D-158` — line 1970, heading: "D-158. A This-shift staff request is refused once that shift has ended (12 November 2026)" ### `../history/archive/dated-notes/ward-management-decisions.md` (2026-08-18 – 2026-10-24 (mixed, see file)) diff --git a/docs/ward-flow/decisions.md b/docs/ward-flow/decisions.md index 2132c6f3d..5f63e60b5 100644 --- a/docs/ward-flow/decisions.md +++ b/docs/ward-flow/decisions.md @@ -179,6 +179,8 @@ Checked 9 November 2026 (D-107 audit). "Partly replaced" means part of the entry | [D-154](#d-154-the-community-desks-ed-heads-up-reads-a-narrow-scoped-list-11-november-2026) | The community desk's ED heads-up reads a narrow scoped list | Active | | [D-155](#d-155-check-the-live-clock-offset-before-clearing-it-11-november-2026) | Check the live clock offset before clearing it | Active | | [D-156](#d-156-reset-the-synthetic-live-world-after-the-clock-fix-11-november-2026) | Post-release reset of the live synthetic world withdrawn | Withdrawn 12 November 2026 | +| [D-157](#d-157-legal-forms-print-and-export-include-people-admitted-on-a-form-12-november-2026) | Legal forms Print and Export include people admitted on a form | Active | +| [D-158](#d-158-a-this-shift-staff-request-is-refused-once-that-shift-has-ended-12-november-2026) | A This-shift staff request is refused once that shift has ended | Active | --- @@ -1005,7 +1007,7 @@ is inferred. 5. **Observation levels.** General (hourly), Intermittent (interval typed, 15 or 30 minutes), Constant within sight (1:1), Constant within arm's length (1:1) and Two staff constant (2:1). Each 1:1 counts as one staff member against a ward's observation capacity and 2:1 as two; General and Intermittent count as none. The labels stay editable in the clinical values, because names vary by health service. Nothing is scored or suggested from a level (D-71). 6. **Seclusion and restraint.** An operational view only: what is in use now and seclusion room availability, typed times, no computed limits (D-70). The legal register stays in the health service's own system. 7. **Unfinished controls hidden by Audit 7.** Build the answer view's bed hold field (wired to the existing hold event) and its nurse unit manager field (wired to the existing high-acuity override tick). Delete the referral Call button and replace it with "Log a call" from the new call log. Delete the Add patient "After adding" card and go straight to the patient's page. Delete the cockpit's "Confirm a destination" section, which leans toward suggesting a ward (D-71). Build Assign referral with the call log. -- **Boundary:** Synthetic data only. This decides product direction, not clinical governance sign-off (D-54), and authorises no provider, deployment or spending step. +- **Boundary:** synthetic data only. This decides product direction, not clinical governance sign-off (D-54), and authorises no provider, deployment or spending step. - **Why:** A source review of 21 October 2026 found 14 product issues; these were the decisions the fix plan needed from the owner before building. Plan: `/mnt/project-files/plan/ward-flow-fix-plan-2026-10-21.md` (project files, outside the repository). - **Subsequent note (25 October 2026):** The fix plan named above is no longer kept in the project files, so that path no longer opens. @@ -1021,7 +1023,7 @@ is inferred. 5. The merge queue is used for this batch. Josh switches it on himself. 6. A read-only check of the Supabase plan and Realtime quota is allowed before fix plan items 1 (shared boards) or 6 (history) start. 7. Issues #430 (CAD number validation) and #431 (seeded surname check) join Phase 2 of the fix plan. Issues #314, #315 and #374 to #376 are closed once each is verified as fixed in the source. -- **Boundary:** Synthetic data only. A push or PR is not a merge, deployment or provider change; each still needs its own authority (AGENTS.md hard rule 10). +- **Boundary:** synthetic data only. A push or PR is not a merge, deployment or provider change; each still needs its own authority (AGENTS.md hard rule 10). - **Why:** Several threads were building fix plan items in parallel, and the batch needed agreed rules for publishing, shared files and merge order. - **Subsequent note (21 October 2026):** Item 5 cannot be applied as approved: GitHub's merge queue is unavailable for a personally owned repository. Josh accepted a lighter substitute in the health check thread at 7:51 PM AWST, in his words "yes but this slows things down", then "yes ok", to that session's proposal as relayed by the coordinating session: "Require branches to be up to date before merging" stays off; only the three riskier PRs (Work loss, Referral owner and Observation levels) merge `main` in and re-run CI just before they are marked ready; the smaller PRs merge as they are. @@ -1043,7 +1045,7 @@ is inferred. 11. **R19** (costed ward questions) stays parked until a pilot ward is chosen. 12. **Hosted checks.** The hosted save and conflict test and the hosted fresh browser check are approved, with synthetic data only. - **Standing rule:** Josh, in the project chat at 8:02 PM AWST: "DO NOT EVER GO AHEAD UNTIL I APPROVE THE MOCKUP". Nothing is built from any mockup until Josh explicitly approves that mockup. -- **Boundary:** Synthetic data only. This authorises no deployment, provider configuration change or spending. The Supabase connector, open sign-up, restore drill, iPhone walkthrough and pilot roles are for Josh to do himself. +- **Boundary:** synthetic data only. This authorises no deployment, provider configuration change or spending. The Supabase connector, open sign-up, restore drill, iPhone walkthrough and pilot roles are for Josh to do himself. - **Why:** The parallel threads had raised open questions that needed owner answers before Phase 2 and the hosted checks could go ahead. ## D-75. UX audit follow-up, page caching, community gaps and the extra-travel bed hold (21 October 2026) @@ -1056,7 +1058,7 @@ is inferred. 4. **Seclusion view** may claim the two screen-map files their previous owner released. 5. **Extra-travel bed hold.** A bed hold for a person with extra travel adds 60 minutes to the hold set in Settings. - **Mock-up evidence rule:** Josh, in the project chat at 8:40 PM AWST: "Disregard any mockups that did not utilise up to date live or local site and visual assessment". A mock-up counts only when it was made from screenshots of the running app at current `main` or the hosted site, and it says which commit. -- **Boundary:** Synthetic data only. This authorises no deployment, provider configuration change or spending, and no build from a mock-up before Josh approves it. +- **Boundary:** synthetic data only. This authorises no deployment, provider configuration change or spending, and no build from a mock-up before Josh approves it. - **Why:** The audit and the fix threads needed owner answers before the quick wins, caching work, community gaps and bed hold timing could go ahead. ## D-76. Community referral gaps: the full move journey and asking more wards (21 October 2026) @@ -1065,7 +1067,7 @@ is inferred. - **Decision:** 1. **Fix plan item 15.** An accepted community referral is built as the full journey: it can be moved, transported and arrived, and it shows on the Movements and Transport boards. The journey records a community origin by team name, with no address. This updates owner ruling 8 of 1 September 2026, which said a journey never starts at a community team, for an accepted community referral. The smaller option, where the ward records "arrived from community" against the held bed with no movement, is not taken. 2. **Fix plan item 16.** The coordinator can ask more wards about an open community referral. Each ward added is recorded with who added it and when. No more than 3 wards may be waiting at once (`PARALLEL_REFERRAL_CAP`), and wards that declined do not count. Wards are listed alphabetically and are never ranked or suggested (D-71). -- **Boundary:** Synthetic data only. The engine work waits until the trends work has merged, because both touch the same event, model and drawer files. This authorises no deployment, provider configuration change or spending. +- **Boundary:** synthetic data only. The engine work waits until the trends work has merged, because both touch the same event, model and drawer files. This authorises no deployment, provider configuration change or spending. - **Why:** D-74 item 2 put the community gaps into Phase 2, and the scope showed that only the full journey puts community transport on the boards that coordinators and transport officers already use. ## D-77. The ten bigger UX changes approved for build (22 October 2026) @@ -1085,7 +1087,7 @@ is inferred. 11. **Top bar** at 1280 px is fixed. - **Not decided:** the "Not legally checked" notice stays on the live Legal forms screen, and D-70 is unchanged, until Josh answers that question. The card's recommendation to remove it is not acted on. - **Process:** one pull request per group, each from current `main`, with a visual check. Nothing merges without Josh. -- **Boundary:** Synthetic data only. This authorises no deployment, provider configuration change or spending. +- **Boundary:** synthetic data only. This authorises no deployment, provider configuration change or spending. - **Why:** Josh reviewed the ten mock-ups, made from the current app, and approved them with the recommended answers to their open questions. ## D-78. One decline list for wards and coordinators (22 October 2026) @@ -1096,7 +1098,7 @@ is inferred. 2. **Ward-only reasons stay.** Four clinically distinct reasons are kept for ward declines only: Specialling unavailable, Acuity mix, Bed pulled for earlier referral and Capability mismatch. Capability mismatch is kept because neither Age band not provided here nor Secure bed unavailable fully covers it, for example a ward with no ECT or eating disorder capability. 3. **Retired ward values map across.** No bed becomes No suitable bed, Sex mix becomes Sex designation unavailable and Out of catchment becomes Belongs to another service. Old saves are converted when they load, so no recorded decline is lost. 4. **Limits kept.** A ward refusing a movement is still not offered Sex designation unavailable (T10), and an ED decline gets none of the ward-only reasons. -- **Boundary:** Synthetic data only. Built in PR #579, which cites D-78 in its code comments. This authorises no deployment, provider configuration change or spending. +- **Boundary:** synthetic data only. Built in PR #579, which cites D-78 in its code comments. This authorises no deployment, provider configuration change or spending. - **Why:** two lists with different words for the same reason made decline records hard to compare across the network. Keeping the ward-only reasons and converting old values keeps what earlier records meant. ## D-79. Wards see the full referral, with name and UMRN, before they answer (23 October 2026) @@ -1107,7 +1109,7 @@ is inferred. 2. **Never other destinations.** The ward never sees which other wards or teams the patient was referred to (FD-23, and D-17 in `archive/dated-notes/owner-decisions-2026-09-1x.md`, not the D-17 in this log). 3. **Fit lines split.** The card shows the patient's checks on one line and the ward's own state, such as a stale bed count or no free bed, on another, so a ward problem no longer reads as the patient failing. - **What it replaces:** Josh's 26 September 2026 rule that a ward sees no identity before it accepts, and the part of D-68 item 3 that kept the name and UMRN off the accept card until acceptance. D-39 and D-74 item 5 stand: no `WF-...` journey number or referral number shows on the card. -- **Boundary:** Synthetic data only, with synthetic referral forms and documents for the seeded journeys. Showing identity before acceptance needs the privacy review before any real patient data. Being built in PR #588, still a draft when this was recorded. This authorises no deployment, provider configuration change or spending. +- **Boundary:** synthetic data only. with synthetic referral forms and documents for the seeded journeys. Showing identity before acceptance needs the privacy review before any real patient data. Being built in PR #588, still a draft when this was recorded. This authorises no deployment, provider configuration change or spending. - **Why:** A ward cannot make a safe decision on a referral it cannot read. The engine already held about half the fields, and community teams already saw them. ## D-80. Role access plan version 2: all 17 recommendations (23 October 2026) @@ -1121,7 +1123,7 @@ is inferred. 5. **PR 5, items 7, 9 to 13 and 15.** Transport officers see their own service's jobs only, with the referral's risk categories as flags. Wards, EDs and community teams get own-place Statistics as counts. Community teams get a Movements screen for their own journeys. Phone alerts go to officers for new or changed jobs, and to community teams when a referral is answered or a catchment client is admitted or discharged. The ward sees the readmission flag once it has accepted, which changes Josh's 9 October 2026 ruling. The ED sees the wards asked, their state and the accepting ward, but not other wards' decline reasons. Opening the full referral detail is logged as a record view. - **Mock-ups first (item 14):** a review screen for break glass openings and record views, read from the server, for statewide and service coordinators, and an Access log in Settings for the access admin. Both are made from the running app at current `main` and built only after Josh approves them (D-74). - **Pre-pilot only (item 17):** before any real data, a second approver comes back for role grants, and a coordinator opening a clinical ward record gives an "on behalf of the ward" reason. This is recorded now and built at pilot. Until then D-66 stands. _Subsequent note (27 October 2026): D-86 drops the second approver part of this item; the "on behalf of the ward" reason is unchanged._ -- **Boundary:** Synthetic data only. No Supabase change beyond reading tables that already exist. No new roles, and nothing a coordinator, ward or ED needs is taken away. This authorises no deployment, provider configuration change or spending. +- **Boundary:** synthetic data only. No Supabase change beyond reading tables that already exist. No new roles, and nothing a coordinator, ward or ED needs is taken away. This authorises no deployment, provider configuration change or spending. - **Why:** the review found the FD-23 leak, a broken bed manager Discharges screen, cover that could go to any account, break glass review with no screen, and gaps in daily work for sending wards, community teams and transport officers. - **Later change (2 November 2026):** the site bed manager no longer marks a bed meeting action done, which narrows item 3 above and the 31 October Q61 ruling. The bed meeting agenda is read only for that desk (Decision 46). Ward, ED and community desks still mark their own agreed actions done. Built in PR #1214 (Q97, 1 November 2026); Josh approved recording it here on 2 November 2026 ("Yes to all recommendations"). @@ -1958,3 +1960,15 @@ is inferred. - **Why:** the live world holds synthetic data only, so a reset is the simplest fix. It leaves no lasting skew from D-150's clock change: without it, times stored before release stay about 48 minutes ahead of the new clock, so waits recorded before release read short and an expired Undo could briefly come back. - **Boundary:** synthetic data only. No code change in this PR. The reset is one live write, made by this thread after release, not by CI. Changes no clinical rule or signed value, and approves no merge or release. - **Withdrawn (12 November 2026):** Josh withdrew the post-release reset of the live synthetic shared world on 12 November 2026 (`2026-11-12`). No reset happens without a verified pre-reset backup and a tested restore, plus a fresh yes from Josh. D-149's after-release archive of PT-A06 and TEST-Helper4 is restored: that live write still waits for Josh's yes. D-155 stands as recorded: after release, the live world's stored clock offset is read once, read-only, and reported; any clear of that offset is a live write that waits for Josh's yes. This entry's 11 November decision to reset after release is withdrawn and does not supersede D-149 or D-155. + +## D-157. Legal forms Print and Export include people admitted on a form (12 November 2026) + +- **Date:** 12 November 2026, 8:44 AM to 8:45 AM AWST (00:44 to 00:45 UTC). **Decided by:** Josh, ruling on the two open review threads on PR #1623. Numbered D-157 because D-145 through D-156 are already on main (D-148 to D-156 arrived with PR #1626; D-156 is withdrawn but the number stays taken). +- **Decision:** Legal forms Print, Export and the disabled condition for those buttons include the "Admitted on a form" people together with the open-movement rows, using the same `admitted` set as the on-screen admitted list (the same role filter). Highlights do not narrow the export. Print is `window.print()` of the current page, so that admitted group also shows on the Checklist view, not only On a form (clocks), and a Checklist print includes those people. +- **Boundary:** synthetic data only. No signed clinical value or clinical rule. Approves no merge or release. + +## D-158. A This-shift staff request is refused once that shift has ended (12 November 2026) + +- **Date:** 12 November 2026, 8:44 AM to 8:45 AM AWST (00:44 to 00:45 UTC). **Decided by:** Josh, ruling on the two open review threads on PR #1623. Numbered D-158 because D-157 records the Legal forms ruling from the same answers, and D-155 and D-156 are already on main via PR #1626. +- **Decision:** A `this_shift` staff request whose chosen shift has already ended is refused, using the Staff needed sheet's existing save error, with the reason "This shift has already ended. Choose this shift or next shift again". "Next shift" late-save behaviour is unchanged: a Next-shift request that lands just after the shift changes is still kept. +- **Boundary:** synthetic data only. No signed clinical value or clinical rule. Approves no merge or release. diff --git a/docs/ward-flow/journey/MAP-INVENTORY.md b/docs/ward-flow/journey/MAP-INVENTORY.md index a5e20bf96..f0410264f 100644 --- a/docs/ward-flow/journey/MAP-INVENTORY.md +++ b/docs/ward-flow/journey/MAP-INVENTORY.md @@ -1692,18 +1692,19 @@ Source-contract SHA256: 7cfda9a71c556b4d10a573977f0ef64456a4f9bb9890c7a236952cd7 Event/dispatch reference: src/components/ward-management/ward-flow-reducer.ts:2266 Subject: A ward's staff request for this shift or next shift Before: Known ward; no open request for that ward and shift, or one to update - After: staffRequests holds one open request for the ward and shift with count and ordered reasons + After: staffRequests holds one open request for the ward and shift with count and ordered reasons, or the event is refused when This shift has already ended Scope: Ward, coordinator or site bed manager in EVENT_ROLE; a ward acts only for its own ward (actingUnitId must equal unitId). Executive changes nothing (D-80). Shared authenticated command scope additionally checks the permitted place and stored record; EVENT_ROLE alone is not place authority. payload: unitId; shift this or next; count 1, 2, 3 or 4 or more payload: reasons: one or more distinct items from STAFF_REQUEST_REASONS; actingUnitId for ward callers; role and now payload: optional shiftStartAt: the start of the shift the person chose; kept only when it is that shift's start at now or 5 minutes earlier, otherwise the shift at now is used guards: Known unit; shift and count from their lists guards: Reject empty, duplicate or unlisted reasons, and a ward naming another ward + guards: Reject a This-shift request whose chosen shift has already ended (D-158); a Next-shift request that lands just after the shift changes is still kept effects: Appends a record, or updates count, reasons and updatedAt on the open one; never names a patient effects: Does not change beds, placement, movements or any patient stage tests: tests/ward-staff-requests.test.ts Reviewed source: src/components/ward-management/ward-flow-reducer.ts:2268; SHA256 ff62a01c308a19a3cd2f6ea39a1502194855812ad15c7599a441bc8c9e32c4f6 - Reviewed source: src/components/ward-management/staffing/staff-requests.ts:156; SHA256 e47b9fadc1f70f84b56bd4e91eb36f5b95f85da6234e10f6251bea10c3f6237a + Reviewed source: src/components/ward-management/staffing/staff-requests.ts:156; SHA256 61771664a49e5dd78341e5a6f34b9ad61b99896c789768c878c93b3bb5ff21ad Reviewed source: src/components/ward-management/ward-flow-event-roles.ts:605; SHA256 808d614bd517bb11c0ef517ce5632dd3caba8a71758476401f35da82fe26afda - CLOSE_WARD_STAFF_REQUEST — modelled; event roles: ward, coordinator, bed_manager Source-reviewed command model: an open staff request closed as arranged, not available or withdrawn. @@ -1721,7 +1722,7 @@ Source-contract SHA256: 7cfda9a71c556b4d10a573977f0ef64456a4f9bb9890c7a236952cd7 effects: Does not change beds, placement, movements or any patient stage tests: tests/ward-staff-requests.test.ts Reviewed source: src/components/ward-management/ward-flow-reducer.ts:2269; SHA256 ff62a01c308a19a3cd2f6ea39a1502194855812ad15c7599a441bc8c9e32c4f6 - Reviewed source: src/components/ward-management/staffing/staff-requests.ts:195; SHA256 e47b9fadc1f70f84b56bd4e91eb36f5b95f85da6234e10f6251bea10c3f6237a + Reviewed source: src/components/ward-management/staffing/staff-requests.ts:200; SHA256 61771664a49e5dd78341e5a6f34b9ad61b99896c789768c878c93b3bb5ff21ad Reviewed source: src/components/ward-management/ward-flow-event-roles.ts:615; SHA256 808d614bd517bb11c0ef517ce5632dd3caba8a71758476401f35da82fe26afda - SET_SITE_FEATURE_SWITCH — modelled; event roles: coordinator Source-reviewed command model: one listed feature switched off, or back on, at one site (Batch 4 item 20, D-135; access admin by D-142). diff --git a/docs/ward-flow/journey/actions.json b/docs/ward-flow/journey/actions.json index d9211a73b..320ab76d6 100644 --- a/docs/ward-flow/journey/actions.json +++ b/docs/ward-flow/journey/actions.json @@ -3093,8 +3093,8 @@ }, { "path": "src/components/ward-management/legal-forms/legal-forms-screen.tsx", - "line": 365, - "sha256": "21e9f1961cac15e3deac106f62f32fd6f5b9dccd51020fd7827ebb52043b9d19" + "line": 376, + "sha256": "06b9403c02ff16aace7df7690c0ca9f195bf1a674e79aaa9f0274b332fcc06b1" }, { "path": "src/components/ward-management/ward-flow-record-events.ts", @@ -3239,8 +3239,8 @@ }, { "path": "src/components/ward-management/legal-forms/legal-forms-screen.tsx", - "line": 1303, - "sha256": "21e9f1961cac15e3deac106f62f32fd6f5b9dccd51020fd7827ebb52043b9d19" + "line": 1321, + "sha256": "06b9403c02ff16aace7df7690c0ca9f195bf1a674e79aaa9f0274b332fcc06b1" }, { "path": "src/components/ward-management/ward-flow-record-legal-events.ts", @@ -6238,8 +6238,8 @@ }, { "path": "src/components/ward-management/legal-forms/legal-forms-screen.tsx", - "line": 531, - "sha256": "21e9f1961cac15e3deac106f62f32fd6f5b9dccd51020fd7827ebb52043b9d19" + "line": 542, + "sha256": "06b9403c02ff16aace7df7690c0ca9f195bf1a674e79aaa9f0274b332fcc06b1" }, { "path": "src/components/ward-management/ward-flow-record-legal-events.ts", diff --git a/docs/ward-flow/journey/event-dispositions.json b/docs/ward-flow/journey/event-dispositions.json index b0a7d16d1..8e7e5f515 100644 --- a/docs/ward-flow/journey/event-dispositions.json +++ b/docs/ward-flow/journey/event-dispositions.json @@ -4178,7 +4178,7 @@ "model": { "subject": "A ward's staff request for this shift or next shift", "before": "Known ward; no open request for that ward and shift, or one to update", - "after": "staffRequests holds one open request for the ward and shift with count and ordered reasons", + "after": "staffRequests holds one open request for the ward and shift with count and ordered reasons, or the event is refused when This shift has already ended", "payload": [ "unitId; shift this or next; count 1, 2, 3 or 4 or more", "reasons: one or more distinct items from STAFF_REQUEST_REASONS; actingUnitId for ward callers; role and now", @@ -4187,7 +4187,8 @@ "scope": "Ward, coordinator or site bed manager in EVENT_ROLE; a ward acts only for its own ward (actingUnitId must equal unitId). Executive changes nothing (D-80). Shared authenticated command scope additionally checks the permitted place and stored record; EVENT_ROLE alone is not place authority.", "guards": [ "Known unit; shift and count from their lists", - "Reject empty, duplicate or unlisted reasons, and a ward naming another ward" + "Reject empty, duplicate or unlisted reasons, and a ward naming another ward", + "Reject a This-shift request whose chosen shift has already ended (D-158); a Next-shift request that lands just after the shift changes is still kept" ], "effects": [ "Appends a record, or updates count, reasons and updatedAt on the open one; never names a patient", @@ -4202,7 +4203,7 @@ { "path": "src/components/ward-management/staffing/staff-requests.ts", "line": 156, - "sha256": "e47b9fadc1f70f84b56bd4e91eb36f5b95f85da6234e10f6251bea10c3f6237a" + "sha256": "61771664a49e5dd78341e5a6f34b9ad61b99896c789768c878c93b3bb5ff21ad" }, { "path": "src/components/ward-management/ward-flow-event-roles.ts", @@ -4243,8 +4244,8 @@ }, { "path": "src/components/ward-management/staffing/staff-requests.ts", - "line": 195, - "sha256": "e47b9fadc1f70f84b56bd4e91eb36f5b95f85da6234e10f6251bea10c3f6237a" + "line": 200, + "sha256": "61771664a49e5dd78341e5a6f34b9ad61b99896c789768c878c93b3bb5ff21ad" }, { "path": "src/components/ward-management/ward-flow-event-roles.ts", diff --git a/docs/ward-flow/journey/machines.json b/docs/ward-flow/journey/machines.json index cb73aa6b7..d17de25cf 100644 --- a/docs/ward-flow/journey/machines.json +++ b/docs/ward-flow/journey/machines.json @@ -1744,7 +1744,7 @@ { "path": "src/components/ward-management/legal-forms/legal-forms-screen.tsx", "line": 1, - "sha256": "21e9f1961cac15e3deac106f62f32fd6f5b9dccd51020fd7827ebb52043b9d19" + "sha256": "06b9403c02ff16aace7df7690c0ca9f195bf1a674e79aaa9f0274b332fcc06b1" }, { "path": "src/components/ward-management/legal-forms/legal-forms-sheets.tsx", diff --git a/docs/ward-flow/journey/ward-journey-explorer.html b/docs/ward-flow/journey/ward-journey-explorer.html index 3de03c0c2..f9a6efaa3 100644 --- a/docs/ward-flow/journey/ward-journey-explorer.html +++ b/docs/ward-flow/journey/ward-journey-explorer.html @@ -1284,7 +1284,7 @@