{
  "verified_at": "2026-10-17T17:46:22.256896+00:00",
  "device_free_workflow": [
    "Employee web check-in",
    "Lunch break start and end",
    "Web check-out",
    "HR manual attendance",
    "Employee correction request",
    "Independent HR approval",
    "Original evidence retained",
    "No device, mapping or device sync required"
  ],
  "csv_import": {
    "max_employees": 500,
    "max_megabytes": 2,
    "features": [
      "Tenant-specific sample download with active custom fields",
      "In-app field guide and step-by-step instructions",
      "UTF-8 and quoted CSV values",
      "Leading-zero employee IDs and phone numbers",
      "Required and typed custom fields with encrypted storage",
      "Row-numbered errors",
      "Whole-batch rollback",
      "Duplicate IDs rejected without overwriting existing records",
      "Permission, tenant, CSRF and rate-limit controls"
    ]
  },
  "regression": {
    "sqlite_full_suite": {
      "passed": 290,
      "skipped": 3,
      "assertions": 1558,
      "note": "Full run passed before the additional explanation-only regression. That regression passed separately with 3 assertions after the MySQL audit-label fix."
    },
    "mysql_attendance_csv_and_engine_tests": {
      "passed": 33,
      "assertions": 372
    },
    "browser_full_suite": {
      "passed": 14,
      "note": "Includes device-free employee/HR workflow, CSV sample/errors/import/mobile, attendance matrix, payroll, settings and Super Admin. The final mobile guide presentation is checked again separately.",
      "final_mobile_follow_up": {
        "passed": 1,
        "note": "CSV sample, row errors, successful import, navigation close, responsive field cards and overflow check passed after the final presentation change."
      }
    },
    "formatting": "Pint passed",
    "assets": "Vite build passed"
  },
  "fixes_found": [
    "Shortened shift-swap and explanation-only audit decision codes to fit the existing MySQL VARCHAR(20) column. No schema change required."
  ],
  "live_database": {
    "verified_at": "2026-10-17T17:38:24+00:00",
    "preserved_rows": {
      "employees": 8,
      "attendance_entries": 272,
      "work_shifts": 1,
      "work_rosters": 976,
      "work_holidays": 0,
      "hr_requests": 2,
      "hr_request_decisions": 0,
      "payroll_runs": 1,
      "payroll_items": 8,
      "jobs": 6
    },
    "changed_original_rows": [],
    "engines": [
      {
        "engine": "InnoDB",
        "tables_count": 100
      }
    ],
    "new_records": {
      "attendance_raw_events": 544,
      "attendance_calculations": 272,
      "attendance_adjustments": 0,
      "attendance_policy_versions": 0
    },
    "ocr_enabled": false,
    "tenants_with_ocr_enabled": 0
  },
  "setup": {
    "biometric_required": false,
    "zkteco": "Optional reviewed CSV/XLSX import; a live vendor connector still requires reviewed model/API documentation.",
    "docker_required": false,
    "cloudflare_required": false,
    "ocr_enabled": false,
    "new_tables_added_by_csv_feature": 0
  },
  "data_safety": "Workflow and import tests used isolated SQLite/MySQL test databases. Original live records were not changed."
}
