Clinical audit fixes (D-125, D-126, D-129, D-130)

Merged
BI
1d ago
+2155-838

Requested by josh · project thread

Approved by Josh on 11 November 2026 (02:17Z, project thread): "Go ahead with all recommendations now for me", answering the recommendation to mark this ready and remove the hold label. Hold removed, marked ready, auto-merge armed. Rulings: D-129 and D-130, both recorded in #1598 (merged). No new D entry: this is a merge approval, and a new number now would leave D-132 to D-140 (claimed by other threads, several with no PR yet) as unmarked gaps.

What this does

  • M18: the triage review time shows in Perth time.
  • M118: the bed finder leaves out forensic wards and adds notes.
  • M17: "Recorded as ended" everywhere, with the full form name on the TV.
  • M16: 8-hour waits read the signed value. Band labels are built from their edges.
  • M120: the "May pass" card has no names, UMRN or Find a bed link. It adds the method line "From recorded waits and releases. Not a prediction."
  • M121: occupancy uses in-use beds and shows "No beds" when a ward has none.
  • D-130 follow-ups:
    • The Call sheet, the bed meeting sheet and the agenda sheet show initials and UMRN only (for example "AP · UM100026").
    • The Map, live and executive, counts a transfer to another psychiatric ward as a move, not as "Gone today".
    • Referral answers (decline) and arrivals write audit rows. These rows join the governance review list.
    • Eight time numbers are signed as they stand today in ward-clinical-values.ts (leave due back, not yet seen, statistics bands, bed board chip, age bands). The M16 drift list is now empty.
    • "Of beds" is renamed "In use".

Since #1598 merged

  • Main merged in. The M35 and M103 it.fails cases now pass as it, and the M35 transfer test expects departures only.
  • Fitted to main's newer guards: the acting ward on declines (M4), the source-text test list, the screen-to-screen import ceiling (shared strings moved to the ward root), refreshed journey review digests, and the static print-time read.
  • Phone size limits raised within the 5 KB allowance, with a history note in docs/script-budget-history/.

Checks

  • Hosted CI on 38924fa: scope plan, static checks, production build, backend and shared production proof, unit shards 1 to 4 and coverage all pass. The browser and phone checks run now that the PR is ready.
  • Local: 137 focused tests, typecheck, knip, codebase index, import guard and journey verify pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GxPPxmhDVdNGdg88uwRe7v