24 lines
1.3 KiB
JSON
24 lines
1.3 KiB
JSON
{
|
|
"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."
|
|
]
|
|
}
|