Files
2026-08-22 22:23:50 +02:00

34 lines
2.2 KiB
JSON

{
"feature_id": "F-187",
"agent": "qa",
"stage": "qa_gate",
"verdict": "APPROVED",
"acceptance": [
{ "id": 1, "criterion": "Admin TPV lists cashier lifecycle status", "ok": true, "evidence": "GET /pos/users real-DB assertion and admin status badges" },
{ "id": 2, "criterion": "Admin creates active cashier", "ok": true, "evidence": "Fixed-role create form and server default/response active" },
{ "id": 3, "criterion": "Deactivate and reactivate non-deleted cashier", "ok": true, "evidence": "PATCH lifecycle integration assertions" },
{ "id": 4, "criterion": "Deactivate revokes and blocks current/future auth", "ok": true, "evidence": "DB revoked_at, old-cookie 401 and login 401 assertions" },
{ "id": 5, "criterion": "Confirmed deletion is irreversible", "ok": true, "evidence": "Explicit UI warning, DELETE 204 and reactivation 409" },
{ "id": 6, "criterion": "Open cash session blocks removal", "ok": true, "evidence": "PATCH and DELETE both return POS_CASHIER_HAS_OPEN_SESSION" },
{ "id": 7, "criterion": "Historical attribution survives deletion", "ok": true, "evidence": "Post-delete join keeps cashier ID through pos_cash_sessions" },
{ "id": 8, "criterion": "Admin-only and cashier-role-only", "ok": true, "evidence": "Cashier list 403 and manager target 404" },
{ "id": 9, "criterion": "Migration reversible with active default", "ok": true, "evidence": "Fresh/no-op/down/re-up 4/4 and inserted accounts default active" },
{ "id": 10, "criterion": "Regression and builds green", "ok": true, "evidence": "354/354 real-DB tests, typechecks, backend/admin builds, verify.sh" }
],
"regression": {
"unit_without_db": "268 passed",
"pos_unit": "12 passed",
"f187_real_postgresql": "4 passed",
"real_postgresql_sequential": "354 passed across 79 files",
"migration_cycle": "4 passed",
"backend_build": "passed",
"admin_build": "passed",
"verify": "passed"
},
"issues": [],
"notes": [
"Production admin UI was compile/type/lint validated; no browser automation harness exists for native confirm dialogs.",
"Backend global lint baseline remains red outside changed files; targeted F-187 lint is green."
]
}