feat(F-187): completed feature

This commit is contained in:
chattie
2026-08-22 22:23:44 +02:00
parent a3f6edd325
commit ca12f46bff
22 changed files with 1053 additions and 59 deletions

View File

@@ -0,0 +1,23 @@
{
"feature_id": "F-187",
"agent": "reviewer",
"stage": "review_gate",
"verdict": "APPROVED",
"checks": [
{ "item": "Soft deletion preserves backoffice user UUID and historical joins", "ok": true },
{ "item": "Lifecycle check constraint permits only coherent active/inactive/deleted states", "ok": true },
{ "item": "Login lookup and live session authentication both reject unavailable accounts", "ok": true },
{ "item": "Deactivation/deletion revokes sessions in the lifecycle transaction", "ok": true },
{ "item": "Cash-session opening and lifecycle mutations serialize on the same user row lock", "ok": true },
{ "item": "Open cash sessions block deactivation/deletion", "ok": true },
{ "item": "Only admin can mutate and only pos_cashier rows can be targeted", "ok": true },
{ "item": "Lifecycle audit event is atomic with each successful mutation", "ok": true },
{ "item": "Admin UI exposes explicit statuses and confirmations", "ok": true },
{ "item": "Migration, integration regression, typecheck and builds pass", "ok": true }
],
"issues": [],
"notes": [
"Deleted cashier email is intentionally retained and remains unique to keep historical receipts human-readable; recreating the same address is not supported.",
"Manager/editor/admin lifecycle remains out of F-187 scope."
]
}