{
    "success": true,
    "cascade_run": {
        "cascade_run_id": 2,
        "app_id": 5,
        "operator": "smoke_test",
        "status": "failed",
        "started_at": "2026-06-06 02:23:16",
        "finished_at": "2026-06-06 02:23:23",
        "notes": "Cascade halted at stage 'verify': Verification: fatal (3 findings, 169ms)"
    },
    "stages": [
        {
            "stage_result_id": 2,
            "cascade_run_id": 2,
            "app_table_id": 11,
            "stage": "preflight",
            "status": "warning",
            "upstream_target": "importer",
            "request_url": null,
            "response_code": null,
            "response_body": "{\"status\":\"warning\",\"checks\":[{\"check_type\":\"slug_format\",\"input_value\":\"moneda\",\"result\":\"pass\",\"message\":\"Table name 'moneda' matches naming contract format.\",\"fix_suggestion\":null},{\"check_type\":\"reserved_word\",\"input_value\":\"moneda\",\"result\":\"pass\",\"message\":\"Table name 'moneda' is not a MySQL reserved word.\",\"fix_suggestion\":null},{\"check_type\":\"upstream_validation\",\"input_value\":\"moneda\",\"result\":\"warning\",\"message\":\"Upstream naming validation unreachable: Unauthorized — API key or session required\",\"fix_suggestion\":\"Ensure importer is running and accessible at http:\\\/\\\/localhost\\\/importer\\\/api\\\/validate_naming.php\"}],\"fix_suggestions\":[\"Ensure importer is running and accessible at http:\\\/\\\/localhost\\\/importer\\\/api\\\/validate_naming.php\"]}",
            "started_at": "2026-06-06 02:23:16",
            "finished_at": "2026-06-06 02:23:16"
        },
        {
            "stage_result_id": 3,
            "cascade_run_id": 2,
            "app_table_id": 11,
            "stage": "schema_import",
            "status": "success",
            "upstream_target": "ia_case (preview)",
            "request_url": "http:\/\/localhost\/ia_case\/api\/orchestrate_table.php?table=moneda&db=quantix&mode=preview&hojado=Si&format=json",
            "response_code": 200,
            "response_body": "{\"ok\":true,\"table\":\"moneda\",\"db\":\"quantix\",\"mode\":\"preview\",\"timestamp\":\"2026-06-06T02:23:19-06:00\",\"files_written\":[],\"lint\":[],\"warnings_legacy\":[\"No link table: agente_financiero_balanza_canonical_row field: run_id\",\"No link table: agente_financiero_project field: owner_user_id\",\"No link table: agente_financiero_project_member field: project_id\",\"No link table: agente_financiero_project_member field: user_id\",\"No link table: agoda_transaction field: bookingidexternal_reference_id\",\"No link table: agoda_transaction field: acknowledgement_id\",\"No link table: alumnos_becados field: estudiante_id\",\"No link table: alumnos_becados field: run_id\",\"No link table: alumnos_becados field: portal_confirmed_id\",\"No link table: alumnos_becados field: portal_receipt_id\",\"No link table: amarre_fiscal_asset_import_run field: project_id\",\"No link table: amarre_fiscal_auxiliares_contables field: project_id\",\"No link table: amarre_fiscal_auxiliares_contables field: batch_id\",\"No link table: amarre_fiscal_auxiliares_upload_job field: write_batch_id\",\"No link table: amarre_fiscal_auxiliares_upload_job_file field: job_id\",\"No link table: amarre_fiscal_client_package_audit field: operator_id\",\"No link table: amarre_fiscal_folio_duplicate field: project_id\",\"No link table: amarre_fiscal_ingresos_ame field: project_id\",\"No link table: amarre_fiscal_kv_cache field: project_id\",\"No link table: amarre_fiscal_metadata_sat field: project_id\",\"No link table: amarre_fiscal_paso1_diagnostic_cache field: project_id\",\"No link table: amarre_fiscal_paso1_diagnostic_cache field: ame_id\",\"No link table: amarre_fiscal_project field: owner_user_id\",\"No link table: amarre_fiscal_project_member field: project_id\",\"No link table: amarre_fiscal_project_member field: user_id\",\"No link table: amarre_fiscal_substitution field: batch_id\",\"No link table: amarre_fiscal_tier3_apply_row field: batch_id\",\"No link table: amarre_fiscal_tier3_apply_row field: ame_id\",\"No link table: amarre_fiscal_tier3_apply_row field: sat_id\",\"No link table: amarre_fiscal_tier3_apply_row field: aux_batch_id\",\"No link table: audit_log field: record_id\",\"No link table: audit_log field: user_id\",\"No link table: banco_cuenta_mov field: mov_verificado_id\",\"No link table: banco_cuenta_mov field: contpaq_cliente_id\",\"No link table: banco_cuenta_mov field: categoria_gasto_id\",\"No link table: banco_cuenta_mov field: mov_repetido_id\",\"No link table: banco_cuenta_mov_con_links field: mov_verificado_id\",\"No link table: banco_cuenta_mov_con_links field: categoria_gasto_id\",\"No link table: banco_cuenta_mov_plantilla field: plantilla_id\",\"No link table: banco_cuenta_trans field: origen_mov_id\",\"No link table: banco_cuenta_trans field: contpaq_cliente_id\",\"No link table: banco_diccionario_dato field: categoria_gasto_id\",\"No link table: booking_transaction field: property_id\",\"No link table: booking_transaction field: legal_id\",\"No link table: canonical_column_mappings field: client_id\",\"No link table: canonical_import_runs field: client_id\",\"No link table: canonical_import_runs field: project_id\",\"No link table: canonical_profiles field: client_id\",\"No link table: canonical_profiles field: last_import_run_id\",\"No link table: cfdi_matcher_audit field: actor_user_id\",\"No link table: cfdi_matcher_audit field: iteration_id\",\"No link table: cfdi_matcher_audit field: case_id\",\"No link table: cfdi_matcher_audit field: cfdi_matcher_link_id\",\"No link table: cfdi_matcher_audit field: invoice_id\",\"No link table: cfdi_matcher_audit field: deposit_id\",\"No link table: cfdi_matcher_audit field: proposal_group_id\",\"No link table: cfdi_matcher_failures field: iteration_id\",\"No link table: cfdi_matcher_failures field: proposal_group_id\",\"No link table: cfdi_matcher_failures field: invoice_id\",\"No link table: cfdi_matcher_failures field: deposit_id\",\"No link table: cfdi_matcher_failures field: closest_match_id\",\"No link table: cfdi_matcher_failures field: action_group_id\",\"No link table: cfdi_matcher_failures field: resolved_match_id\",\"No link table: cfdi_matcher_failures field: pattern_id\",\"No link table: cfdi_matcher_iterations field: case_id\",\"No link table: cfdi_matcher_iterations field: created_by_user_id\",\"No link table: cfdi_matcher_links field: iteration_id\",\"No link table: cfdi_matcher_links field: invoice_id\",\"No link table: cfdi_matcher_links field: deposit_id\",\"No link table: cfdi_matcher_links field: action_group_id\",\"No link table: cfdi_matcher_links field: pattern_id\",\"No link table: cfdi_matcher_patterns field: created_from_link_id\",\"No link table: cfdi_matcher_patterns field: example_invoice_id\",\"No link table: cfdi_matcher_patterns field: example_deposit_id\",\"No link table: cfdi_matcher_rejected_pairs field: invoice_id\",\"No link table: cfdi_matcher_rejected_pairs field: deposit_id\",\"No link table: cfdi_matcher_rejected_pairs field: rejected_by_user_id\",\"No link table: cfdi_matcher_rejected_pairs field: iteration_id\",\"No link table: cfdi_matcher_results field: iteration_id\",\"No link table: cfdi_matcher_results field: proposal_group_id\",\"No link table: cfdi_matcher_results field: invoice_id\",\"No link table: cfdi_matcher_results field: deposit_id\",\"No link table: cfdi_matcher_results field: pattern_id\",\"No link table: cfdi_matcher_results field: created_by_user_id\",\"No link table: cfdi_matcher_results field: alternative_deposit_1_id\",\"No link table: cfdi_matcher_results field: alternative_deposit_2_id\",\"No link table: cfdi_matcher_results field: alternative_deposit_3_id\",\"No link table: cfdi_matcher_results field: corrected_deposit_id\",\"No link table: cuentat_mov field: origen_mov_id\",\"No link table: cuentat_mov field: contra_mov_id\",\"No link table: empresa field: cp_cliente_direccion_id\",\"No link table: iac_usr field: plantilla_id\",\"No link table: iac_usr field: plantillatienda_id\",\"No link table: import_audit field: job_run_id\",\"No link table: import_job_runs field: job_id\",\"No link table: import_schema_logs field: import_log_id\",\"No link table: invoice_attachments field: invoice_id\",\"No link table: invoice_lines field: invoice_id\",\"No link table: invoices field: vendor_id\",\"No link table: kv_record_log field: collection_id\",\"No link table: kv_record_log field: record_id\",\"No link table: login_log field: session_id\",\"No link table: marketing_de_propiedades_airbnb_list field: property_id\",\"No link table: marketing_de_propiedades_booking_list field: property_id\",\"No link table: marketing_de_propiedades_mr__w_list field: property_id\",\"No link table: matcher_failures field: iteration_id\",\"No link table: matcher_failures field: reservation_id\",\"No link table: matcher_failures field: auto_generated_pattern_id\",\"No link table: matcher_results field: iteration_id\",\"No link table: matcher_results field: reservation_id\",\"No link table: matcher_results field: matched_property_id\",\"No link table: matcher_results field: corrected_property_id\",\"No link table: neonfs_activity_log field: user_id\",\"No link table: neonfs_background_tasks field: user_id\",\"No link table: neonfs_collab_chat field: user_id\",\"No link table: neonfs_collab_sessions field: user_id\",\"No link table: neonfs_cron_schedules field: user_id\",\"No link table: neonfs_email_verifications field: user_id\",\"No link table: neonfs_favorites field: user_id\",\"No link table: neonfs_password_resets field: user_id\",\"No link table: neonfs_preferences field: user_id\",\"No link table: neonfs_sessions field: user_id\",\"No link table: neonfs_share_links field: user_id\",\"No link table: neonfs_ssh_connections field: user_id\",\"No link table: neonfs_terminal_snippets field: user_id\",\"No link table: neonfs_user_plugins field: user_id\",\"No link table: ota_pms_match field: ota_transaction_id\",\"No link table: ota_pms_match field: pms_reserva_id\",\"No link table: reconciliation_active_links field: reconciliation_case_id\",\"No link table: reconciliation_active_links field: legacy_link_id\",\"No link table: reconciliation_active_links field: reconciliation_match_run_id\",\"No link table: reconciliation_active_links field: invoice_id\",\"No link table: reconciliation_active_links field: bank_id\",\"No link table: reconciliation_audit_events field: reconciliation_case_id\",\"No link table: reconciliation_audit_events field: entity_id\",\"No link table: reconciliation_audit_events field: actor_user_id\",\"No link table: reconciliation_canonical_rows field: reconciliation_case_id\",\"No link table: reconciliation_canonical_rows field: reconciliation_case_source_id\",\"No link table: reconciliation_canonical_rows field: source_record_id\",\"No link table: reconciliation_canonical_rows field: client_tax_id\",\"No link table: reconciliation_case_artifacts field: reconciliation_case_id\",\"No link table: reconciliation_case_artifacts field: legacy_reference_id\",\"No link table: reconciliation_case_profile_bindings field: reconciliation_case_id\",\"No link table: reconciliation_case_profile_bindings field: matcher_source_id\",\"No link table: reconciliation_case_sources field: reconciliation_case_id\",\"No link table: reconciliation_case_sources field: import_log_id\",\"No link table: reconciliation_cases field: assigned_user_id\",\"No link table: reconciliation_learning_events field: reconciliation_case_id\",\"No link table: reconciliation_learning_events field: created_by_user_id\",\"No link table: reconciliation_match_candidate_groups field: reconciliation_case_id\",\"No link table: reconciliation_match_candidate_groups field: reconciliation_match_run_id\",\"No link table: reconciliation_match_candidate_groups field: legacy_proposal_group_id\",\"No link table: reconciliation_match_decisions field: reconciliation_case_id\",\"No link table: reconciliation_match_decisions field: reconciliation_match_run_id\",\"No link table: reconciliation_match_decisions field: legacy_iteration_id\",\"No link table: reconciliation_match_decisions field: legacy_link_id\",\"No link table: reconciliation_match_decisions field: invoice_id\",\"No link table: reconciliation_match_decisions field: bank_id\",\"No link table: reconciliation_match_decisions field: decided_by_user_id\",\"No link table: reconciliation_match_decisions field: reversed_by_decision_id\",\"No link table: reconciliation_match_runs field: reconciliation_case_id\",\"No link table: reconciliation_match_runs field: legacy_iteration_id\",\"No link table: reconciliation_match_runs field: triggered_by_user_id\",\"No link table: sat_access_api_rate_limit field: token_id\",\"No link table: sat_access_backfill_chunk field: backfill_job_id\",\"No link table: sat_access_backfill_chunk field: sync_run_id\",\"No link table: sat_access_backfill_job field: rfc_subscription_id\",\"No link table: sat_access_cert_access_baseline field: cert_id\",\"No link table: sat_access_certificate_access_log field: certificate_id\",\"No link table: sat_access_certificate_access_log field: jit_token_id\",\"No link table: sat_access_certificate_audit_export field: certificate_id\",\"No link table: sat_access_certificate_deletion_request field: cert_id\",\"No link table: sat_access_certificate_lifecycle_event field: certificate_id\",\"No link table: sat_access_certificates field: rfc_subscription_id\",\"No link table: sat_access_certificates field: supersedes_cert_id\",\"No link table: sat_access_certificates field: superseded_by_cert_id\",\"No link table: sat_access_cfdi field: rfc_subscription_id\",\"No link table: sat_access_cfdi field: sync_run_id\",\"No link table: sat_access_export_run field: rfc_subscription_id\",\"No link table: sat_access_fiel_vault field: rfc_subscription_id\",\"No link table: sat_access_fiel_vault field: superseded_by_id\",\"No link table: sat_access_jit_token field: certificate_id\",\"No link table: sat_access_quarantine field: sync_run_id\",\"No link table: sat_access_sync_run field: rfc_subscription_id\",\"No link table: sat_access_tax_monthly_export field: tax_monthly_report_id\",\"No link table: sat_access_tax_monthly_snapshot field: tax_monthly_report_id\",\"No link table: tienda field: cp_cliente_direccion_id\",\"No link table: umrc_test_bank_sample field: movimiento_id\",\"No link table: umrc_test_invoice_sample field: invoice_id\",\"No link table: und_bank_bank_sample field: movimiento_id\",\"No link table: und_invoice_invoices_sample field: invoice_id\",\"No link table: user_filters field: user_id\",\"No link table: v_propiedad_latest_analytics field: analytics_id\",\"No link table: vendor_aliases field: vendor_id\",\"No link table: vendor_match_rules field: vendor_id\",\"combo_tabla: agente_financiero_project_member no pk_single_field\",\"combo_tabla: amarre_fiscal_kv_cache no pk_single_field\",\"combo_tabla: amarre_fiscal_paso1_diagnostic_cache no pk_single_field\",\"combo_tabla: amarre_fiscal_project_member no pk_single_field\",\"combo_tabla: banco_cuenta_mov no pk_single_field\",\"combo_tabla: banco_cuenta_mov_con_links no pk_single_field\",\"combo_tabla: iac_log no pk_single_field\",\"combo_tabla: iac_log_view no pk_single_field\",\"combo_tabla: marketing_de_propiedades_airbnb_cb no pk_single_field\",\"combo_tabla: marketing_de_propiedades_airbnb_list no pk_single_field\",\"combo_tabla: marketing_de_propiedades_booking_list no pk_single_field\",\"combo_tabla: marketing_de_propiedades_mr__w_list no pk_single_field\",\"combo_tabla: marketing_de_propiedades_smart no pk_single_field\",\"combo_tabla: neonfs_user_plugins no pk_single_field\",\"combo_tabla: sat_access_api_rate_limit no pk_single_field\",\"combo_tabla: sat_access_cert_access_baseline no pk_single_field\",\"combo_tabla: sat_access_ppd_chain_pago no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_105 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_107 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_109 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_111 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_113 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_115 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_117 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_119 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_121 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_123 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_125 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_127 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_146 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_148 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_151 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_153 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_155 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_157 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_159 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_35 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_36 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_38 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_39 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_41 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_42 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_43 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_45 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_47 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_83 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_85 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_86 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_87 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_88 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_89 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_94 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_95 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_97 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_99 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_116 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_118 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_120 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_122 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_124 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_126 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_147 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_150 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_154 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_158 no pk_single_field\",\"combo_tabla: v_analytics_iteration_summary no pk_single_field\",\"combo_tabla: v_propiedad_latest_analytics no pk_single_field\"],\"errors_real\":[],\"backup_id\":null,\"lock_wait_ms\":0,\"raw_output_lines\":11846,\"duration_ms\":2628}",
            "started_at": "2026-06-06 02:23:16",
            "finished_at": "2026-06-06 02:23:19"
        },
        {
            "stage_result_id": 4,
            "cascade_run_id": 2,
            "app_table_id": 11,
            "stage": "model_gen",
            "status": "warning",
            "upstream_target": "ia_case",
            "request_url": "http:\/\/localhost\/ia_case\/api\/orchestrate_table.php?table=moneda&db=quantix&mode=create&hojado=Si&format=json",
            "response_code": 200,
            "response_body": "{\"ok\":true,\"table\":\"moneda\",\"db\":\"quantix\",\"mode\":\"create\",\"timestamp\":\"2026-06-06T02:23:22-06:00\",\"files_written\":{\"app_table\":\"\\\/lamp\\\/www\\\/quantix\\\/app\\\/app_moneda.php\",\"appRelate\":\"\\\/lamp\\\/www\\\/quantix\\\/app\\\/appRelate.php\",\"backoffice\":\"\\\/lamp\\\/www\\\/quantix\\\/backoffice\\\/moneda.php\"},\"lint\":{\"app_table\":{\"pass\":true,\"output\":\"No syntax errors detected in \\\/lamp\\\/www\\\/quantix\\\/app\\\/app_moneda.php\"},\"appRelate\":{\"pass\":true,\"output\":\"No syntax errors detected in \\\/lamp\\\/www\\\/quantix\\\/app\\\/appRelate.php\"},\"backoffice\":{\"pass\":true,\"output\":\"No syntax errors detected in \\\/lamp\\\/www\\\/quantix\\\/backoffice\\\/moneda.php\"}},\"warnings_legacy\":[\"No link table: agente_financiero_balanza_canonical_row field: run_id\",\"No link table: agente_financiero_project field: owner_user_id\",\"No link table: agente_financiero_project_member field: project_id\",\"No link table: agente_financiero_project_member field: user_id\",\"No link table: agoda_transaction field: bookingidexternal_reference_id\",\"No link table: agoda_transaction field: acknowledgement_id\",\"No link table: alumnos_becados field: estudiante_id\",\"No link table: alumnos_becados field: run_id\",\"No link table: alumnos_becados field: portal_confirmed_id\",\"No link table: alumnos_becados field: portal_receipt_id\",\"No link table: amarre_fiscal_asset_import_run field: project_id\",\"No link table: amarre_fiscal_auxiliares_contables field: project_id\",\"No link table: amarre_fiscal_auxiliares_contables field: batch_id\",\"No link table: amarre_fiscal_auxiliares_upload_job field: write_batch_id\",\"No link table: amarre_fiscal_auxiliares_upload_job_file field: job_id\",\"No link table: amarre_fiscal_client_package_audit field: operator_id\",\"No link table: amarre_fiscal_folio_duplicate field: project_id\",\"No link table: amarre_fiscal_ingresos_ame field: project_id\",\"No link table: amarre_fiscal_kv_cache field: project_id\",\"No link table: amarre_fiscal_metadata_sat field: project_id\",\"No link table: amarre_fiscal_paso1_diagnostic_cache field: project_id\",\"No link table: amarre_fiscal_paso1_diagnostic_cache field: ame_id\",\"No link table: amarre_fiscal_project field: owner_user_id\",\"No link table: amarre_fiscal_project_member field: project_id\",\"No link table: amarre_fiscal_project_member field: user_id\",\"No link table: amarre_fiscal_substitution field: batch_id\",\"No link table: amarre_fiscal_tier3_apply_row field: batch_id\",\"No link table: amarre_fiscal_tier3_apply_row field: ame_id\",\"No link table: amarre_fiscal_tier3_apply_row field: sat_id\",\"No link table: amarre_fiscal_tier3_apply_row field: aux_batch_id\",\"No link table: audit_log field: record_id\",\"No link table: audit_log field: user_id\",\"No link table: banco_cuenta_mov field: mov_verificado_id\",\"No link table: banco_cuenta_mov field: contpaq_cliente_id\",\"No link table: banco_cuenta_mov field: categoria_gasto_id\",\"No link table: banco_cuenta_mov field: mov_repetido_id\",\"No link table: banco_cuenta_mov_con_links field: mov_verificado_id\",\"No link table: banco_cuenta_mov_con_links field: categoria_gasto_id\",\"No link table: banco_cuenta_mov_plantilla field: plantilla_id\",\"No link table: banco_cuenta_trans field: origen_mov_id\",\"No link table: banco_cuenta_trans field: contpaq_cliente_id\",\"No link table: banco_diccionario_dato field: categoria_gasto_id\",\"No link table: booking_transaction field: property_id\",\"No link table: booking_transaction field: legal_id\",\"No link table: canonical_column_mappings field: client_id\",\"No link table: canonical_import_runs field: client_id\",\"No link table: canonical_import_runs field: project_id\",\"No link table: canonical_profiles field: client_id\",\"No link table: canonical_profiles field: last_import_run_id\",\"No link table: cfdi_matcher_audit field: actor_user_id\",\"No link table: cfdi_matcher_audit field: iteration_id\",\"No link table: cfdi_matcher_audit field: case_id\",\"No link table: cfdi_matcher_audit field: cfdi_matcher_link_id\",\"No link table: cfdi_matcher_audit field: invoice_id\",\"No link table: cfdi_matcher_audit field: deposit_id\",\"No link table: cfdi_matcher_audit field: proposal_group_id\",\"No link table: cfdi_matcher_failures field: iteration_id\",\"No link table: cfdi_matcher_failures field: proposal_group_id\",\"No link table: cfdi_matcher_failures field: invoice_id\",\"No link table: cfdi_matcher_failures field: deposit_id\",\"No link table: cfdi_matcher_failures field: closest_match_id\",\"No link table: cfdi_matcher_failures field: action_group_id\",\"No link table: cfdi_matcher_failures field: resolved_match_id\",\"No link table: cfdi_matcher_failures field: pattern_id\",\"No link table: cfdi_matcher_iterations field: case_id\",\"No link table: cfdi_matcher_iterations field: created_by_user_id\",\"No link table: cfdi_matcher_links field: iteration_id\",\"No link table: cfdi_matcher_links field: invoice_id\",\"No link table: cfdi_matcher_links field: deposit_id\",\"No link table: cfdi_matcher_links field: action_group_id\",\"No link table: cfdi_matcher_links field: pattern_id\",\"No link table: cfdi_matcher_patterns field: created_from_link_id\",\"No link table: cfdi_matcher_patterns field: example_invoice_id\",\"No link table: cfdi_matcher_patterns field: example_deposit_id\",\"No link table: cfdi_matcher_rejected_pairs field: invoice_id\",\"No link table: cfdi_matcher_rejected_pairs field: deposit_id\",\"No link table: cfdi_matcher_rejected_pairs field: rejected_by_user_id\",\"No link table: cfdi_matcher_rejected_pairs field: iteration_id\",\"No link table: cfdi_matcher_results field: iteration_id\",\"No link table: cfdi_matcher_results field: proposal_group_id\",\"No link table: cfdi_matcher_results field: invoice_id\",\"No link table: cfdi_matcher_results field: deposit_id\",\"No link table: cfdi_matcher_results field: pattern_id\",\"No link table: cfdi_matcher_results field: created_by_user_id\",\"No link table: cfdi_matcher_results field: alternative_deposit_1_id\",\"No link table: cfdi_matcher_results field: alternative_deposit_2_id\",\"No link table: cfdi_matcher_results field: alternative_deposit_3_id\",\"No link table: cfdi_matcher_results field: corrected_deposit_id\",\"No link table: cuentat_mov field: origen_mov_id\",\"No link table: cuentat_mov field: contra_mov_id\",\"No link table: empresa field: cp_cliente_direccion_id\",\"No link table: iac_usr field: plantilla_id\",\"No link table: iac_usr field: plantillatienda_id\",\"No link table: import_audit field: job_run_id\",\"No link table: import_job_runs field: job_id\",\"No link table: import_schema_logs field: import_log_id\",\"No link table: invoice_attachments field: invoice_id\",\"No link table: invoice_lines field: invoice_id\",\"No link table: invoices field: vendor_id\",\"No link table: kv_record_log field: collection_id\",\"No link table: kv_record_log field: record_id\",\"No link table: login_log field: session_id\",\"No link table: marketing_de_propiedades_airbnb_list field: property_id\",\"No link table: marketing_de_propiedades_booking_list field: property_id\",\"No link table: marketing_de_propiedades_mr__w_list field: property_id\",\"No link table: matcher_failures field: iteration_id\",\"No link table: matcher_failures field: reservation_id\",\"No link table: matcher_failures field: auto_generated_pattern_id\",\"No link table: matcher_results field: iteration_id\",\"No link table: matcher_results field: reservation_id\",\"No link table: matcher_results field: matched_property_id\",\"No link table: matcher_results field: corrected_property_id\",\"No link table: neonfs_activity_log field: user_id\",\"No link table: neonfs_background_tasks field: user_id\",\"No link table: neonfs_collab_chat field: user_id\",\"No link table: neonfs_collab_sessions field: user_id\",\"No link table: neonfs_cron_schedules field: user_id\",\"No link table: neonfs_email_verifications field: user_id\",\"No link table: neonfs_favorites field: user_id\",\"No link table: neonfs_password_resets field: user_id\",\"No link table: neonfs_preferences field: user_id\",\"No link table: neonfs_sessions field: user_id\",\"No link table: neonfs_share_links field: user_id\",\"No link table: neonfs_ssh_connections field: user_id\",\"No link table: neonfs_terminal_snippets field: user_id\",\"No link table: neonfs_user_plugins field: user_id\",\"No link table: ota_pms_match field: ota_transaction_id\",\"No link table: ota_pms_match field: pms_reserva_id\",\"No link table: reconciliation_active_links field: reconciliation_case_id\",\"No link table: reconciliation_active_links field: legacy_link_id\",\"No link table: reconciliation_active_links field: reconciliation_match_run_id\",\"No link table: reconciliation_active_links field: invoice_id\",\"No link table: reconciliation_active_links field: bank_id\",\"No link table: reconciliation_audit_events field: reconciliation_case_id\",\"No link table: reconciliation_audit_events field: entity_id\",\"No link table: reconciliation_audit_events field: actor_user_id\",\"No link table: reconciliation_canonical_rows field: reconciliation_case_id\",\"No link table: reconciliation_canonical_rows field: reconciliation_case_source_id\",\"No link table: reconciliation_canonical_rows field: source_record_id\",\"No link table: reconciliation_canonical_rows field: client_tax_id\",\"No link table: reconciliation_case_artifacts field: reconciliation_case_id\",\"No link table: reconciliation_case_artifacts field: legacy_reference_id\",\"No link table: reconciliation_case_profile_bindings field: reconciliation_case_id\",\"No link table: reconciliation_case_profile_bindings field: matcher_source_id\",\"No link table: reconciliation_case_sources field: reconciliation_case_id\",\"No link table: reconciliation_case_sources field: import_log_id\",\"No link table: reconciliation_cases field: assigned_user_id\",\"No link table: reconciliation_learning_events field: reconciliation_case_id\",\"No link table: reconciliation_learning_events field: created_by_user_id\",\"No link table: reconciliation_match_candidate_groups field: reconciliation_case_id\",\"No link table: reconciliation_match_candidate_groups field: reconciliation_match_run_id\",\"No link table: reconciliation_match_candidate_groups field: legacy_proposal_group_id\",\"No link table: reconciliation_match_decisions field: reconciliation_case_id\",\"No link table: reconciliation_match_decisions field: reconciliation_match_run_id\",\"No link table: reconciliation_match_decisions field: legacy_iteration_id\",\"No link table: reconciliation_match_decisions field: legacy_link_id\",\"No link table: reconciliation_match_decisions field: invoice_id\",\"No link table: reconciliation_match_decisions field: bank_id\",\"No link table: reconciliation_match_decisions field: decided_by_user_id\",\"No link table: reconciliation_match_decisions field: reversed_by_decision_id\",\"No link table: reconciliation_match_runs field: reconciliation_case_id\",\"No link table: reconciliation_match_runs field: legacy_iteration_id\",\"No link table: reconciliation_match_runs field: triggered_by_user_id\",\"No link table: sat_access_api_rate_limit field: token_id\",\"No link table: sat_access_backfill_chunk field: backfill_job_id\",\"No link table: sat_access_backfill_chunk field: sync_run_id\",\"No link table: sat_access_backfill_job field: rfc_subscription_id\",\"No link table: sat_access_cert_access_baseline field: cert_id\",\"No link table: sat_access_certificate_access_log field: certificate_id\",\"No link table: sat_access_certificate_access_log field: jit_token_id\",\"No link table: sat_access_certificate_audit_export field: certificate_id\",\"No link table: sat_access_certificate_deletion_request field: cert_id\",\"No link table: sat_access_certificate_lifecycle_event field: certificate_id\",\"No link table: sat_access_certificates field: rfc_subscription_id\",\"No link table: sat_access_certificates field: supersedes_cert_id\",\"No link table: sat_access_certificates field: superseded_by_cert_id\",\"No link table: sat_access_cfdi field: rfc_subscription_id\",\"No link table: sat_access_cfdi field: sync_run_id\",\"No link table: sat_access_export_run field: rfc_subscription_id\",\"No link table: sat_access_fiel_vault field: rfc_subscription_id\",\"No link table: sat_access_fiel_vault field: superseded_by_id\",\"No link table: sat_access_jit_token field: certificate_id\",\"No link table: sat_access_quarantine field: sync_run_id\",\"No link table: sat_access_sync_run field: rfc_subscription_id\",\"No link table: sat_access_tax_monthly_export field: tax_monthly_report_id\",\"No link table: sat_access_tax_monthly_snapshot field: tax_monthly_report_id\",\"No link table: tienda field: cp_cliente_direccion_id\",\"No link table: umrc_test_bank_sample field: movimiento_id\",\"No link table: umrc_test_invoice_sample field: invoice_id\",\"No link table: und_bank_bank_sample field: movimiento_id\",\"No link table: und_invoice_invoices_sample field: invoice_id\",\"No link table: user_filters field: user_id\",\"No link table: v_propiedad_latest_analytics field: analytics_id\",\"No link table: vendor_aliases field: vendor_id\",\"No link table: vendor_match_rules field: vendor_id\",\"combo_tabla: agente_financiero_project_member no pk_single_field\",\"combo_tabla: amarre_fiscal_kv_cache no pk_single_field\",\"combo_tabla: amarre_fiscal_paso1_diagnostic_cache no pk_single_field\",\"combo_tabla: amarre_fiscal_project_member no pk_single_field\",\"combo_tabla: banco_cuenta_mov no pk_single_field\",\"combo_tabla: banco_cuenta_mov_con_links no pk_single_field\",\"combo_tabla: iac_log no pk_single_field\",\"combo_tabla: iac_log_view no pk_single_field\",\"combo_tabla: marketing_de_propiedades_airbnb_cb no pk_single_field\",\"combo_tabla: marketing_de_propiedades_airbnb_list no pk_single_field\",\"combo_tabla: marketing_de_propiedades_booking_list no pk_single_field\",\"combo_tabla: marketing_de_propiedades_mr__w_list no pk_single_field\",\"combo_tabla: marketing_de_propiedades_smart no pk_single_field\",\"combo_tabla: neonfs_user_plugins no pk_single_field\",\"combo_tabla: sat_access_api_rate_limit no pk_single_field\",\"combo_tabla: sat_access_cert_access_baseline no pk_single_field\",\"combo_tabla: sat_access_ppd_chain_pago no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_105 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_107 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_109 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_111 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_113 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_115 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_117 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_119 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_121 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_123 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_125 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_127 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_146 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_148 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_151 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_153 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_155 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_157 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_159 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_35 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_36 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_38 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_39 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_41 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_42 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_43 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_45 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_47 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_83 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_85 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_86 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_87 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_88 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_89 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_94 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_95 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_97 no pk_single_field\",\"combo_tabla: v_agente_financiero_balanza_99 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_116 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_118 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_120 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_122 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_124 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_126 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_147 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_150 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_154 no pk_single_field\",\"combo_tabla: v_agente_financiero_estado_resultados_158 no pk_single_field\",\"combo_tabla: v_analytics_iteration_summary no pk_single_field\",\"combo_tabla: v_propiedad_latest_analytics no pk_single_field\"],\"errors_real\":[],\"backup_id\":\"20260606_022319\",\"lock_wait_ms\":2,\"raw_output_lines\":6,\"duration_ms\":3697}",
            "started_at": "2026-06-06 02:23:19",
            "finished_at": "2026-06-06 02:23:22"
        },
        {
            "stage_result_id": 5,
            "cascade_run_id": 2,
            "app_table_id": 11,
            "stage": "ui_api_gen",
            "status": "warning",
            "upstream_target": "quantix\/modern-generator",
            "request_url": "http:\/\/localhost\/quantix\/backoffice\/modern-generator-api.php?action=generate&table=moneda&overwrite=1",
            "response_code": 200,
            "response_body": "{\"auth_redirect\":true}",
            "started_at": "2026-06-06 02:23:22",
            "finished_at": "2026-06-06 02:23:23"
        },
        {
            "stage_result_id": 6,
            "cascade_run_id": 2,
            "app_table_id": 11,
            "stage": "verify",
            "status": "fatal",
            "upstream_target": "ia_case + quantix",
            "request_url": null,
            "response_code": null,
            "response_body": "{\"status\":\"fatal\",\"findings\":[{\"check\":\"table_exists\",\"status\":\"fatal\",\"message\":\"Table 'moneda' not found in database 'quantix' after cascade.\"},{\"check\":\"iacase_model\",\"status\":\"success\",\"message\":\"ia_case model for 'moneda': 0 fields, PK=moneda_id, type=parent\"},{\"check\":\"modern_health\",\"status\":\"warning\",\"message\":\"Modern-gen health check failed: Non-JSON response (possible auth redirect)\"}],\"elapsed_ms\":169}",
            "started_at": "2026-06-06 02:23:23",
            "finished_at": "2026-06-06 02:23:23"
        }
    ],
    "naming_checks": [
        {
            "naming_check_id": 3,
            "cascade_run_id": 2,
            "app_table_id": 11,
            "check_type": "slug_format",
            "input_value": "moneda",
            "result": "pass",
            "message": "Table name 'moneda' matches naming contract format.",
            "fix_suggestion": null,
            "checked_at": "2026-06-06 02:23:16"
        },
        {
            "naming_check_id": 4,
            "cascade_run_id": 2,
            "app_table_id": 11,
            "check_type": "reserved_word",
            "input_value": "moneda",
            "result": "pass",
            "message": "Table name 'moneda' is not a MySQL reserved word.",
            "fix_suggestion": null,
            "checked_at": "2026-06-06 02:23:16"
        },
        {
            "naming_check_id": 5,
            "cascade_run_id": 2,
            "app_table_id": 11,
            "check_type": "upstream_validation",
            "input_value": "moneda",
            "result": "warning",
            "message": "Upstream naming validation unreachable: Unauthorized — API key or session required",
            "fix_suggestion": "Ensure importer is running and accessible at http:\/\/localhost\/importer\/api\/validate_naming.php",
            "checked_at": "2026-06-06 02:23:16"
        }
    ]
}