{
  "version": "4.30.0",
  "title": "Full Functional & Database Audit",
  "summary": {
    "php_files_checked": 151,
    "database_tables": 64,
    "foreign_keys_checked": 119,
    "insert_statements_checked": 168,
    "update_statements_checked": 94,
    "alter_add_columns_checked": 100,
    "sql_literal_strings_checked": 937,
    "qualified_sql_column_refs_checked": 1079,
    "direct_prepared_statements_checked": 210,
    "assigned_prepared_statements_checked": 263,
    "post_forms_checked": 158,
    "base_v429_missing_files": 0
  },
  "important_fixes": [
    "Hardened require_login to revalidate active account and assigned role on every request.",
    "Pages using user_roles/product_cashier_bonuses/customer snapshot now ensure current v4.30 schema.",
    "create_membership_sale now ensures v4.29+ multi-role schema before cashier validation.",
    "User Management role filter now includes assigned roles, not only primary role.",
    "Added safe upgrade reconciliation for user role assignments, historical member customer snapshots, and product bonus status.",
    "Added Super Admin System Audit page for live production checks."
  ],
  "checks": {
    "php_file_count": true,
    "db_tables": true,
    "fk_valid": true,
    "fk_order": true,
    "insert_columns": true,
    "update_columns": true,
    "alter_vs_fresh": true,
    "local_includes": true,
    "local_links": true,
    "csrf_forms": true,
    "direct_placeholder_counts": true,
    "prepared_placeholder_counts": true,
    "base_v429_preserved": true,
    "schema_release_430": true,
    "ensure_chain": true,
    "require_login_revalidates": true,
    "membership_current_schema": true,
    "membership_sql_count": true,
    "membership_page_schema": true,
    "payment_page_schema": true,
    "users_page_schema": true,
    "users_filter_assigned_role": true,
    "customer_required": true,
    "receipt_customer": true,
    "thermal_customer": true,
    "non_member_feature": true,
    "multi_role_feature": true,
    "product_bonus_feature": true,
    "product_bonus_approval_sync": true,
    "system_audit_superadmin": true,
    "system_audit_menu": true,
    "upgrade_idempotent": true,
    "zkteco_routes": true,
    "no_create_database": true,
    "no_use_database": true,
    "qualified_sql_columns": true,
    "xlsx_product_template": true,
    "xlsx_user_template": true,
    "xlsx_service_template": true
  },
  "errors": {
    "foreign_key": [],
    "foreign_key_order": [],
    "insert_columns": [],
    "update_columns": [],
    "alter_vs_fresh": [],
    "local_includes": [],
    "local_links": [],
    "csrf": [],
    "direct_placeholders": [],
    "assigned_placeholders": [],
    "qualified_sql_columns": [],
    "missing_v429_files": []
  },
  "deployment": {
    "preserve": [
      "config/database.local.php",
      "uploads/"
    ],
    "do_not_run_on_existing_database": "database.sql",
    "upgrade_script": "upgrade_v4_30_0.php",
    "post_upgrade_check": "system_audit.php"
  }
}