Signal/python-backend
Kisa a53728e424 feat: device-keyed staff overrides + recompute contract (plan 02, P4)
Ends the override leak: an SWO/PA save now applies to one device's line, not
every device the patient has. doc_status gains device_type ('' = legacy
patient-scoped row, applies until re-saved); the old unique key is dropped by
introspected name and replaced with the 4-col scope key. Staff overrides now
FEED THE VERDICT (device-scoped, staff wins over the CSV cell) instead of
display-only; visit overrides keep their patient-scoped fan-out via
confirmed_visits. PUT /api/doc-status and /api/confirm-visit accept an
optional echo of the patient's lines and return {lines, rollup_status}
recomputed through the same engine (stateless, no batch rebuild). Frontend
minimal fix: doc-status state and writes keyed patient:device. Independent
audit: SHIP (migration reproduced empirically on both old-key shapes; guard
scoped per its nit). 162 tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 05:36:26 -04:00
..
api feat: device-keyed staff overrides + recompute contract (plan 02, P4) 2026-07-07 05:36:26 -04:00
config feat: citation rule IDs on every documentation requirement (plan 02, P2) 2026-07-07 05:10:52 -04:00
core feat: device-keyed staff overrides + recompute contract (plan 02, P4) 2026-07-07 05:36:26 -04:00
db feat: demo MVP — 90/60/45 priority tiers, doc state machine, confirm visit workflow 2026-06-07 11:29:33 -04:00
__init__.py feat: FastAPI backend + full deployment stack (Railway + Vercel) 2026-05-18 19:01:35 -04:00