{
  "permissions": {
    "allow": [
      "Bash(findstr /R /I \"create_contact\\\\|locationId.*contact\\\\|POST.*contact\" *.py scripts\\\\*.py)",
      "Bash(xargs grep -l \"create_contact\")",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\audit_contact_sync_coverage.py\")",
      "Bash(python -c \"import sync_engine; accounts = sync_engine.parse_accounts_csv\\(\\); branches = [a for a in accounts if a['location_id'] != 'GbKkBpCmKu2QmloKFHy3' and 'demo' not in a['nombre'].lower\\(\\)]; print\\(f'Total branches: {len\\(branches\\)}'\\); [print\\(f'  {a[\\\\\"location_id\\\\\"]}  {a[\\\\\"nombre\\\\\"]}'\\) for a in branches[:8]]\")",
      "Bash(python scripts/audit_contact_sync_coverage.py --location fKn9SaXZoKcjjLryg10v --max-contacts 100)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --location fKn9SaXZoKcjjLryg10v --limit 30 --max-contacts-brand 8000)",
      "Bash(python -m py_compile scripts/sync_contacts_branch_to_brand.py)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --location 5qebe8IhFUjlcBvJcqCa --limit 20 --max-contacts-brand 8000)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --location fKn9SaXZoKcjjLryg10v --limit 10 --max-contacts-brand 8000)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --location fKn9SaXZoKcjjLryg10v --limit 5 --workers 2 --max-contacts-brand 8000)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --all --limit 5 --workers 3 --max-contacts-brand 8000 --max-contacts 5)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --all --limit 10 --workers 4 --max-contacts-brand 8000 --max-contacts 10 --run-id final_check_dry)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --all --limit 5 --workers 4 --max-contacts-brand 8000 --max-contacts 5 --run-id final_check_dry)",
      "Bash(python -c ' *)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --apply --all --limit 1 --max-contacts-brand 100 --max-contacts 1)",
      "Bash(python -m py_compile scripts/sync_contacts_branch_to_brand.py scripts/audit_contact_sync_coverage.py script_runner.py)",
      "PowerShell($f = \"C:\\\\Users\\\\URIELJ~1\\\\AppData\\\\Local\\\\Temp\\\\claude\\\\H--MegaSync-Proyectos-MP-Manager\\\\461319af-4ad2-4a89-a9fd-5373ad94647c\\\\tasks\\\\bha126a8z.output\"; Write-Output \"Total lineas: $\\(\\(Get-Content $f | Measure-Object -Line\\).Lines\\)\"; Write-Output \"---\"; Write-Output \"Sucursales procesadas:\"; \\(Select-String -Path $f -Pattern \"Procesando sucursal:\"\\).Count; Write-Output \"---\"; Write-Output \"Resumen final encontrado:\"; \\(Select-String -Path $f -Pattern \"RESUMEN DE RECONCILIACION\"\\).Count; Write-Output \"---\"; Write-Output \"Errores section encontrada:\"; \\(Select-String -Path $f -Pattern \"ERRORES Y ADVERTENCIAS\"\\).Count)",
      "Bash(python scripts/audit_contact_sync_coverage.py --max-contacts 500 --json coverage_baseline.json)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --all --workers 4 --max-contacts 200 --max-contacts-brand 12000 --run-id iter2_global)",
      "Bash(echo \"EXIT=$?\")",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --location qe3s72MRDhbEWlaFZ2Ko --max-contacts 50 --max-contacts-brand 12000 --run-id iter3_verifier)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --all --workers 4 --max-contacts 10000 --max-contacts-brand 20000 --run-id iter3_v2)",
      "Bash(python scripts\\\\_diag_canal_origen_audit.py)",
      "Bash(python scripts/_diag_canal_origen_audit.py)",
      "Bash(python -m py_compile scripts/canal_origen_resolver.py scripts/tag_canal_origen_workflow.py scripts/fuente_prospecto_workflow.py scripts/run_origen_fuente_workflows.py)",
      "Bash(python scripts/_test_resolver.py)",
      "Bash(python scripts/run_origen_fuente_workflows.py --all --dry-run --contact-only)",
      "Bash(tee dryrun_canal_origen_v1.log)",
      "Bash(cd \"/h/MegaSync/Proyectos/MP Manager\" && wc -l dryrun_canal_origen_v1.log)",
      "Bash(tee dryrun_canal_origen_v2.log)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --location 5qebe8IhFUjlcBvJcqCa --max-contacts-brand 20000 --run-id pilot_jojutla_pre_dry)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --apply --location 5qebe8IhFUjlcBvJcqCa --max-contacts-brand 20000 --run-id pilot_jojutla_apply)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --location 5qebe8IhFUjlcBvJcqCa --max-contacts-brand 20000 --run-id pilot_jojutla_post_dry)",
      "Bash(awk '/^############/{step++} step==1 && /: [0-9]+ contactos actualizados/{print}' dryrun_canal_origen_v2.log)",
      "Bash(python scripts/run_origen_fuente_workflows.py --all --dry-run --contact-only --sync-main)",
      "Bash(tee dryrun_final.log)",
      "Bash(python scripts/sync_contacts_branch_to_brand.py --all --workers 4 --max-contacts 10000 --max-contacts-brand 20000 --run-id post_bulk_dry)",
      "Bash(python -m py_compile scripts/find_cross_branch_duplicates.py script_runner.py)",
      "Bash(python scripts/find_cross_branch_duplicates.py --top 3 --no-brand-check)",
      "Bash(python scripts/find_cross_branch_duplicates.py --top 2)",
      "Bash(type requirements.txt)",
      "Bash(python -c \"import openpyxl; print\\('openpyxl', openpyxl.__version__\\)\")",
      "Bash(python -c \"import openpyxl; print\\(openpyxl.__version__\\)\")",
      "Bash(python scripts/find_cross_branch_duplicates.py --top 0 --xlsx duplicados_test.xlsx)",
      "Bash(python -c \"from openpyxl import load_workbook; wb=load_workbook\\('duplicados_test.xlsx'\\); ws=wb.active; print\\('hoja:', ws.title\\); print\\('filas:', ws.max_row\\); print\\('cols:', ws.max_column\\); print\\('headers:', [ws.cell\\(1,i\\).value for i in range\\(1,ws.max_column+1\\)]\\); print\\('fila 2:', [ws.cell\\(2,i\\).value for i in range\\(1,ws.max_column+1\\)]\\)\")",
      "Bash(del duplicados_test.xlsx)",
      "Bash(python -m py_compile scripts/find_cross_branch_duplicates.py)",
      "Bash(python scripts/find_cross_branch_duplicates.py --top 0)",
      "Bash(python -m py_compile scripts/tag_canal_origen_workflow.py)",
      "Bash(ls *.xlsx *.csv)",
      "Bash(ls reports *)",
      "Bash(ls exports *)",
      "Bash(ls scripts/*.xlsx)",
      "Bash(rm -f reporte.xlsx reporte.csv exports/*.xlsx)",
      "Bash(python -m py_compile scripts/find_cross_branch_duplicates.py main.py script_runner.py)",
      "Bash(python scripts/find_cross_branch_duplicates.py --top 0 --xlsx)",
      "Bash(tasklist)",
      "Bash(wmic process *)",
      "Bash(python -m py_compile main.py db.py ghl_client.py sync_engine.py script_runner.py)",
      "Bash(node -c static/js/app.js)",
      "Bash(python \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\_tmp_search_pilares.py\")",
      "Bash(python)",
      "Bash(python scripts/find_cross_branch_duplicates.py --json)",
      "WebFetch(domain:marketplace.gohighlevel.com)",
      "Bash(python -m py_compile ghl_client.py)",
      "Bash(python -m py_compile scripts/sync_forms_brand.py)",
      "Bash(python -m py_compile scripts/audit_brand_sucursal_vs_form.py scripts/sync_forms_brand.py)",
      "Bash(python -m py_compile script_runner.py db.py ghl_client.py scripts/sync_forms_brand.py scripts/audit_brand_sucursal_vs_form.py)",
      "Bash(python scripts/sync_forms_brand.py)",
      "Bash(python scripts/audit_brand_sucursal_vs_form.py --show verificar)",
      "Bash(python scripts/audit_brand_sucursal_vs_form.py --filter-marca queretaro --show all)",
      "Bash(python scripts/audit_brand_sucursal_vs_form.py --filter-marca puebla --show all)",
      "Bash(python -m py_compile scripts/audit_brand_sucursal_vs_form.py)",
      "Bash(python -m py_compile db.py ghl_client.py scripts/sync_forms_brand.py scripts/audit_brand_sucursal_vs_form.py script_runner.py)",
      "WebFetch(domain:highlevel.stoplight.io)",
      "Bash(python scripts/sync_forms_brand.py --backfill-months 8 --quiet)",
      "Bash(python -m py_compile db.py scripts/sync_forms_brand.py)",
      "Bash(python scripts/sync_forms_brand.py --reextract-only)",
      "Bash(python scripts/audit_brand_sucursal_vs_form.py)",
      "Bash(python -m py_compile scripts/fix_brand_sucursal_from_form.py)",
      "Bash(python -m py_compile script_runner.py scripts/fix_brand_sucursal_from_form.py)",
      "Bash(python scripts/fix_brand_sucursal_from_form.py)",
      "Bash(python _temp_conflict_list.py)",
      "Bash(python _temp_create_in_target.py)",
      "Bash(python _temp_compare_opps.py)",
      "Bash(rm _temp_compare_opps.py)",
      "Bash(python _temp_delete_qro_and_validate.py)",
      "Bash(python scripts/audit_brand_contact_opportunity_map.py)",
      "Bash(python scripts/audit_brand_contact_opportunity_map.py --show-no-opp --limit 50)",
      "Bash(python scripts/audit_brand_contact_opportunity_map.py --show-multi-opp)",
      "Bash(python -m py_compile scripts/audit_brand_vs_branches_discrepancy.py script_runner.py)",
      "Bash(python scripts/audit_brand_vs_branches_discrepancy.py)",
      "Bash(python scripts/audit_brand_vs_branches_discrepancy.py --show-sync-gaps --show-multi-opp-gaps)",
      "Bash(python scripts\\\\compare_pipelines_stages.py --reference-main --live --show-ids)",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\fill_sucursal_tienda_from_location.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\script_runner.py\")",
      "Bash(Get-ChildItem \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\" -Filter \"*.py\")",
      "Bash(Measure-Object)",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\tag_canal_origen_workflow.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\common.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\fill_sucursal_tienda_from_location.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\sync_contact_sucursal_to_opportunity.py\")",
      "Bash(python scripts/run_origen_fuente_workflows.py --location XkduzafvwsrWcEFg6Qlj --dry-run)",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\tag_canal_origen_workflow.py\")",
      "WebSearch",
      "Bash(curl -sL \"https://marketplace.gohighlevel.com/docs/ghl/custom-fields/custom-fields-v-2-api/\" -A \"Mozilla/5.0\")",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\tag_canal_origen_workflow.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\common.py\")",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\audit_custom_fields_schema.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\script_runner.py\")",
      "Bash(python scripts/audit_custom_fields_schema.py --location XkduzafvwsrWcEFg6Qlj)",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\audit_custom_fields_schema.py\")",
      "Bash(python scripts/audit_custom_fields_schema.py --all)",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\migrate_branch_fieldkeys.py\")",
      "Bash(python scripts/migrate_branch_fieldkeys.py --location Vf7qQl3L9vakJ8hDtQ8e)",
      "Bash(python scripts/migrate_branch_fieldkeys.py --location Vf7qQl3L9vakJ8hDtQ8e --field opportunity.modalidad_del_empeno --apply)",
      "Bash(python scripts/migrate_branch_fieldkeys.py --location XkduzafvwsrWcEFg6Qlj --apply)",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -m pip show playwright)",
      "Bash(python scripts/migrate_branch_fieldkeys.py --all --apply)",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_workflow_manager.py\")",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\main.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_workflow_manager.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_session_generator.py\")",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\merge_orphan_to_clean.py\")",
      "Bash(python scripts/merge_orphan_to_clean.py)",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -X utf8 -u \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_workflow_manager.py\" --action toggle-status --location Z64WQKORPVwXb5mn68Ef --workflow-id 67f98059-d82b-4698-b82a-8f8874a9b263 --current-status published)",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -X utf8 -u \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_workflow_manager.py\" --action toggle-status --location Z64WQKORPVwXb5mn68Ef --workflow-id 67f98059-d82b-4698-b82a-8f8874a9b263 --current-status draft)",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\fix_cancun_uruapan_residual.py\")",
      "Bash(python scripts/fix_cancun_uruapan_residual.py)",
      "Bash(python scripts/fix_cancun_uruapan_residual.py --apply)",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_workflow_manager.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_session_generator.py\")",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\fix_cancun_modalidad.py\")",
      "Bash(python scripts/fix_cancun_modalidad.py)",
      "Bash(python scripts/fix_cancun_modalidad.py --apply)",
      "Bash(python scripts/migrate_branch_fieldkeys.py --batch Vf7qQl3L9vakJ8hDtQ8e,Z64WQKORPVwXb5mn68Ef --apply)",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -X utf8 -u \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_workflow_manager.py\" --action bulk-draft --batch-file \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\_test_batch.json\")",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\main.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_workflow_manager.py\")",
      "Bash(rm -f \"H:/MegaSync/Proyectos/MP Manager/_bulk_batch_\"*.json \"H:/MegaSync/Proyectos/MP Manager/_test_batch.json\" 2>&1 && echo OK)",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\email_otp_reader.py\" \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_session_generator.py\")",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -m pip install imap-tools)",
      "Bash(node --check \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\static\\\\js\\\\app.js\")",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_session_generator.py\")",
      "Bash(\"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python312\\\\python.exe\" -X utf8 -u \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_session_generator.py\")",
      "Bash(mkdir -p logs/manual)",
      "Bash(python scripts/reconcile_and_sync_opportunities.py --dry-run --location Z64WQKORPVwXb5mn68Ef)",
      "Bash(echo \"Return code: $?\")",
      "Bash(python -m py_compile scripts/audit_brand_vs_branches_totals.py)",
      "Bash(python scripts/audit_brand_vs_branches_totals.py)",
      "Bash(python -m py_compile main.py)",
      "Bash(python scripts/dedupe_branch_pipelines.py --location IE7ci6Ddfk1WvQabEa4q --live)",
      "Bash(python -m py_compile scripts/dedupe_branch_pipelines.py)",
      "Bash(python -m py_compile main.py db.py ghl_client.py sync_engine.py script_runner.py scripts/audit_brand_vs_branches_totals.py)",
      "Bash(python -c \"from scripts import audit_brand_vs_branches_totals as a; data = a.run_audit\\(limit_missing=5\\); print\\('totals:', data['totals']\\); print\\('demos_excluded:', data['demos_excluded']\\); print\\('per_branch count:', len\\(data['per_branch']\\)\\); print\\('missing buckets:', {k: v['total'] for k, v in data['missing'].items\\(\\)}\\)\")",
      "Bash(python main.py)",
      "Bash(curl -s -o /dev/null -w \"HTTP %{http_code}\\\\n\" http://127.0.0.1:8000/api/comparativa/marca-vs-sucursales)",
      "Bash(curl -s -o /dev/null -w \"HTTP %{http_code}\\\\n\" \"http://127.0.0.1:8000/api/comparativa/marca-vs-sucursales/export?bucket=invalido\")",
      "Bash(curl -s \"http://127.0.0.1:8000/api/scripts\")",
      "Bash(python -c \"import sys, json; scripts=json.load\\(sys.stdin\\); match=[s for s in scripts.get\\('scripts', scripts\\) if 'audit_brand_vs_branches_totals' in \\(s.get\\('name'\\) or ''\\)]; print\\('found:', match[0] if match else 'NOT FOUND'\\)\")",
      "Bash(python -c \"import sys, json; scripts=json.load\\(sys.stdin\\); match=[s for s in scripts if 'audit_brand_vs_branches_totals' in \\(s.get\\('name'\\) or ''\\)]; print\\('found:', match[0]['title'] if match else 'NOT FOUND', '| category:', match[0]['category'] if match else ''\\)\")",
      "Bash(cmd /c stop.bat)",
      "Bash(curl -s -o /dev/null -w \"HTTP %{http_code}\\\\n\" --max-time 2 http://127.0.0.1:8000/)",
      "PowerShell($conns = Get-NetTCPConnection -LocalPort 8000 -State Listen -ErrorAction SilentlyContinue; foreach \\($c in $conns\\) { try { Stop-Process -Id $c.OwningProcess -Force -ErrorAction Stop; \"Killed PID $\\($c.OwningProcess\\)\" } catch { \"Failed: $_\" } })",
      "PowerShell(Get-Process python -ErrorAction SilentlyContinue | Where-Object { $_.StartTime -gt \\(Get-Date\\).AddMinutes\\(-15\\) } | ForEach-Object { \"PID $\\($_.Id\\) Started $\\($_.StartTime\\) Cmd: $\\(\\($_.CommandLine | Out-String\\).Trim\\(\\)\\)\"; Stop-Process -Id $_.Id -Force -ErrorAction SilentlyContinue })",
      "PowerShell(Get-WmiObject Win32_Process -Filter \"Name='python.exe'\")",
      "Bash(python -m py_compile sync_engine.py)",
      "Bash(python -c \"import sync_engine; print\\('Workers default:', sync_engine.get_sync_max_workers\\(\\)\\)\")",
      "PowerShell(\"$env:SYNC_ENGINE_MAX_WORKERS = '$env:SYNC_ENGINE_MAX_WORKERS'\"; [System.Environment]::GetEnvironmentVariable\\('SYNC_ENGINE_MAX_WORKERS', 'User'\\); [System.Environment]::GetEnvironmentVariable\\('SYNC_ENGINE_MAX_WORKERS', 'Machine'\\))",
      "Bash(python -c \"import sync_engine; accs = sync_engine.parse_accounts_csv\\(\\); print\\('Total cuentas en el CSV:', len\\(accs\\)\\)\")",
      "PowerShell([System.Environment]::SetEnvironmentVariable\\('SYNC_ENGINE_MAX_WORKERS', '1000', 'User'\\); [System.Environment]::GetEnvironmentVariable\\('SYNC_ENGINE_MAX_WORKERS', 'User'\\))",
      "Bash(python -m py_compile scripts/sync_missing_opps_to_brand.py)",
      "Bash(python scripts/sync_missing_opps_to_brand.py --yes)",
      "Bash(curl -s -X POST http://127.0.0.1:8000/api/comparativa/sync-missing-opps -H \"Content-Type: application/json\" -d '{\"dry_run\": true}')",
      "Bash(python -c \"import sys, json; d=json.load\\(sys.stdin\\); print\\('dry_run:', d['dry_run']\\); print\\('summary:', d['summary']\\); print\\('items count:', len\\(d['items']\\)\\); print\\('first item:', json.dumps\\(d['items'][0], indent=2, ensure_ascii=False\\) if d['items'] else 'none'\\)\")",
      "mcp__Claude_Preview__preview_start",
      "Bash(python -c \"import sys, json; d=json.load\\(sys.stdin\\); print\\('summary:', d['summary']\\); print\\('items still in bucket:'\\); [print\\(' -', i['opp_id'], i['opp_name'], i['branch_name'], 'status:', i['status']\\) for i in d['items']]\")",
      "Bash(python scripts/sync_missing_opps_to_brand.py --apply --yes --only-opp pauvJPfmwXHxiT7rBaxb)",
      "Bash(curl -s http://127.0.0.1:8000/api/comparativa/sync-missing-opps -X POST -H \"Content-Type: application/json\" -d '{\"dry_run\":true}' --max-time 2 -o /dev/null -w \"%{http_code}\\\\n\")",
      "Bash(curl -s -o /dev/null -w \"%{http_code}\" --max-time 2 http://127.0.0.1:8000/)",
      "Bash(curl -s -X POST http://127.0.0.1:8000/api/comparativa/sync-missing-opps -H \"Content-Type: application/json\" -d '{\"dry_run\": false, \"yes\": true}' --max-time 120)",
      "Bash(python -c \"import sys, json; d=json.load\\(sys.stdin\\); print\\('summary:', d['summary']\\); print\\('run_id:', d.get\\('run_id'\\)\\); print\\('items con error:'\\); [print\\(' -', i['opp_id'], i['opp_name'], '|', i.get\\('error'\\) or 'OK', '|', i['status']\\) for i in d['items']]\")",
      "Bash(curl -s http://127.0.0.1:8000/api/comparativa/marca-vs-sucursales -o /dev/null -w \"%{http_code}\" --max-time 2)",
      "Bash(curl -s -X POST http://127.0.0.1:8000/api/scripts/runs --max-time 2 -o /dev/null -w \"%{http_code}\")",
      "Bash(python -m py_compile scripts/sync_missing_contacts_to_brand.py)",
      "Bash(python scripts/sync_missing_contacts_to_brand.py --yes)",
      "Bash(curl -s -X POST http://127.0.0.1:8000/api/comparativa/sync-missing-contacts -H \"Content-Type: application/json\" -d '{\"dry_run\": true}' --max-time 60)",
      "Bash(python -c \"import sys, json; d=json.load\\(sys.stdin\\); print\\('summary:', d['summary']\\); print\\('first 3 items:'\\); [print\\(' -', i['name'], '|', i['status'], '|', i.get\\('actions', [{}]\\)[0].get\\('strategy', ''\\)\\) for i in d['items'][:3]]\")",
      "Bash(curl -s -o /dev/null -w \"%{http_code}\" --max-time 2 http://127.0.0.1:8000/api/comparativa/marca-vs-sucursales)",
      "Bash(python -m py_compile scripts/sync_missing_opps_to_brand.py scripts/sync_missing_contacts_to_brand.py)",
      "Bash(python -c \"import sys, json; d=json.load\\(sys.stdin\\); print\\('summary:', d['summary']\\); print\\('first 4 items:'\\); [print\\(' -', i['name'], '|', i['status'], '|', 'phone:', i.get\\('phone'\\) or '\\(empty\\)', '| email:', i.get\\('email'\\) or '\\(empty\\)'\\) for i in d['items'][:4]]\")",
      "Bash(curl -s -X POST http://127.0.0.1:8000/api/comparativa/sync-missing-opps -H \"Content-Type: application/json\" -d '{\"dry_run\": true}' --max-time 60)",
      "Bash(python -c \"import sys, json; d=json.load\\(sys.stdin\\); print\\('summary:', d['summary']\\); print\\('strategies usadas:'\\); from collections import Counter; print\\(Counter\\(a.get\\('strategy','none'\\) for i in d['items'] for a in i['actions'] if a.get\\('action'\\)=='match_existing_contact'\\)\\); print\\('first 4 items:'\\); [print\\(' -', i['opp_name'], '|', i['status'], '|', 'phone:', i.get\\('branch_contact',{}\\).get\\('phone'\\) or '\\(empty\\)'\\) for i in d['items'][:4]]\")",
      "Bash(curl -s -X POST http://127.0.0.1:8000/api/comparativa/sync-missing-opps -H \"Content-Type: application/json\" -d '{\"dry_run\": false, \"yes\": true, \"opp_ids\": [\"pauvJPfmwXHxiT7rBaxb\"]}' --max-time 60)",
      "Bash(python -c \"import sys, json; d=json.load\\(sys.stdin\\); print\\('summary:', d['summary']\\); print\\('run_id:', d.get\\('run_id'\\)\\); item = d['items'][0]; print\\('item status:', item['status']\\); print\\('actions:'\\); [print\\(' -', a\\) for a in item['actions']]\")",
      "Bash(python -c \"import sys, json; d=json.load\\(sys.stdin\\); print\\('Bucket missing_opps_in_brand now has:', d['summary']['candidates'], 'candidatas \\(era 11 antes\\)'\\)\")",
      "Bash(python -m py_compile scripts/sync_brand_to_branch_contacts.py)",
      "Bash(python scripts/sync_brand_to_branch_contacts.py --yes)",
      "Bash(curl -s \"http://127.0.0.1:8000/api/comparativa/marca-vs-sucursales?limit_missing=2000\")",
      "Bash(python -m py_compile main.py scripts/audit_brand_vs_branches_totals.py)",
      "Bash(python -m py_compile main.py scripts/create_opportunities_for_contacts_without_any.py db.py)",
      "PowerShell(cmd /c restart.bat 2>&1)",
      "PowerShell($ok = $false; foreach \\($i in 1..15\\) { try { $r = Invoke-WebRequest -Uri 'http://127.0.0.1:8000/api/contacts/NSDniGzjxotVDNa5YxqW?limit=5' -UseBasicParsing -TimeoutSec 2; if \\($r.StatusCode -eq 200\\) { $ok = $true; break } } catch { Start-Sleep -Milliseconds 800 } }; if \\($ok\\) { \"READY\"; $r.Content.Substring\\(0, [Math]::Min\\(1500, $r.Content.Length\\)\\) } else { \"STILL DOWN\" })",
      "PowerShell($r = Invoke-WebRequest -Uri 'http://127.0.0.1:8000/api/contacts/NSDniGzjxotVDNa5YxqW?limit=5' -UseBasicParsing; $j = $r.Content | ConvertFrom-Json; \"total: $\\($j.total\\)  |  test_count: $\\($j.test_count\\)\"; foreach \\($c in $j.contacts\\) { \"  - $\\($c.first_name\\) $\\($c.last_name\\)  |  is_test=$\\($c.is_test\\)  |  reasons=$\\($c.test_reasons -join '; '\\)\" })",
      "Bash(python -m py_compile scripts/fix_brand_tienda_from_sucursal.py)",
      "Bash(python -m py_compile main.py scripts/fix_brand_tienda_from_sucursal.py scripts/audit_brand_vs_branches_totals.py)",
      "Bash(python -m py_compile main.py script_runner.py)",
      "Bash(python -m py_compile main.py db.py ghl_client.py sync_engine.py script_runner.py scripts/fix_brand_tienda_from_sucursal.py scripts/audit_brand_vs_branches_totals.py)",
      "Bash(python -m py_compile main.py contact_classifier.py scripts/find_test_contacts.py)",
      "Bash(node --check static/js/app.js)",
      "Bash(python -m py_compile main.py scripts/dedupe_branch_pipelines.py)",
      "Bash(python -m py_compile main.py sync_engine.py ghl_client.py scripts/sync_missing_opps_to_brand.py)",
      "Bash(python -m py_compile main.py sync_engine.py scripts/sync_missing_opps_to_brand.py scripts/sync_missing_contacts_to_brand.py scripts/sync_brand_to_branch_contacts.py scripts/create_opportunities_for_contacts_without_any.py)",
      "Bash(python -m py_compile main.py sync_engine.py scripts/sync_missing_opps_to_brand.py)",
      "PowerShell(python _debug_match.py)",
      "Bash(python -m py_compile contact_classifier.py scripts/find_test_contacts.py)",
      "Bash(python -c \"from contact_classifier import classify_contact, TEST_EMAILS; print\\('TEST_EMAILS:', sorted\\(TEST_EMAILS\\)\\); print\\('servando ->', classify_contact\\('Juan','Perez','servandobra@gmail.com',[]\\)\\); print\\('uriel ->', classify_contact\\('Ana','Lopez','uriel.conse3@gmail.com',[]\\)\\); print\\('otro ->', classify_contact\\('Mario','Bros','mario@example.com',[]\\)\\)\")",
      "Bash(python -m py_compile main.py db.py ghl_client.py sync_engine.py script_runner.py contact_classifier.py)",
      "Bash(python -m py_compile scripts/audit_brand_vs_branches_totals.py main.py db.py ghl_client.py sync_engine.py script_runner.py contact_classifier.py)",
      "Bash(python -m py_compile main.py db.py ghl_client.py sync_engine.py script_runner.py contact_classifier.py scripts/audit_brand_vs_branches_totals.py)",
      "Bash(python -m py_compile scripts/cleanup_puebla_qro_duplicates.py)",
      "Bash(python scripts/cleanup_puebla_qro_duplicates.py)",
      "Bash(python scripts/cleanup_puebla_qro_duplicates.py --apply --yes)",
      "Bash(python scripts/cleanup_cross_branch_duplicates.py --exclude-contact RwxMQr0Ywvydjr3veCYo)",
      "PowerShell(Get-Process -Id 16852)",
      "Bash(Get-ChildItem -Path \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\" -Recurse -Force)",
      "Bash(Select-Object FullName)",
      "Bash(Get-Content -Path \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\main.py\" -TotalCount 2400)",
      "Bash(Select-Object -Last 600)",
      "Bash(Get-ChildItem -Path \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\migrations\" -ErrorAction SilentlyContinue)",
      "Bash(Select-Object -ExpandProperty Name)",
      "Bash(cmd.exe /c stop.bat)",
      "Bash(python -c \"import paths; print\\('OK'\\); import os; [print\\(' ', d, os.path.exists\\(d\\)\\) for d in paths._ALL_DIRS]\")",
      "Bash(python -m py_compile paths.py db.py script_audit.py error_logging.py main.py)",
      "Bash(python -m py_compile paths.py db.py script_audit.py error_logging.py main.py script_runner.py sync_engine.py ghl_client.py contact_classifier.py create_skeletons.py)",
      "Bash(curl -s -f http://127.0.0.1:8000/ -o /dev/null)",
      "Bash(curl -s http://127.0.0.1:8000/api/branches)",
      "Bash(python -c \"import sys, json; data=json.load\\(sys.stdin\\); print\\(f'branches: {len\\(data\\)}'\\); [print\\(f'  {b[\\\\\"location_id\\\\\"][:8]}... {b[\\\\\"nombre\\\\\"]}'\\) for b in data[:3]]\")",
      "Bash(curl -s -w \"\\\\nHTTP %{http_code}\\\\n\" http://127.0.0.1:8000/api/exports/__refactor_smoke_test.txt)",
      "Bash(curl -s -o /dev/null -w \"HTTP %{http_code}\\\\n\" \"http://127.0.0.1:8000/api/this-does-not-exist\")",
      "Bash(python -c \"import json; d=json.load\\(open\\('generated/runtime/server_info.json'\\)\\); print\\('PID:', d['pid'], 'PORT:', d['port']\\)\")",
      "Bash(cmd.exe /c \"stop.bat\")",
      "Bash(cmd.exe /c start.bat)",
      "Bash(curl -s -f http://127.0.0.1:8000/api/branches -o /tmp/branches.json)",
      "Bash(python -c \"import json; print\\(len\\(json.load\\(open\\('/tmp/branches.json'\\)\\)\\)\\)\")",
      "Bash(python runtime_control.py preflight)",
      "Bash(python runtime_control.py wait-ready --timeout=30)",
      "Bash(powershell -NoProfile -Command \"\\(Get-CimInstance Win32_Process -Filter 'ProcessId=27092'\\).CommandLine\")",
      "Bash(python runtime_control.py status)",
      "Bash(python -m py_compile main.py scripts/ghl_browser_workflow_manager.py)",
      "Bash(python -m py_compile scripts/common.py scripts/find_cross_branch_duplicates.py)",
      "Bash(python scripts/find_cross_branch_duplicates.py --xlsx duplicados_audit.xlsx --json duplicados_audit.json --top 5)",
      "Bash(echo \"--- exit: $? ---\")",
      "Bash(python -m py_compile \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\find_cross_branch_duplicates.py\")",
      "Bash(python runtime_control.py wait-ready --timeout=15)",
      "Bash(curl -s -w 'HTTP %{http_code}\\\\n' http://127.0.0.1:__TRACKED_VAR__/api/exports/_smoke.txt)",
      "Bash(powershell -Command \"Select-String -Path 'H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_workflow_manager.py' -Pattern 'def.*workflow|for.*workflow|iterate' -Context 2 | head -80\")",
      "Bash(powershell -Command \"Select-String -Path 'H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\scripts\\\\ghl_browser_workflow_manager.py' -Pattern 'def.*bulk|for.*items|def.*main' | head -20\")",
      "Bash(Get-ChildItem -Path \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\" -Force)",
      "Bash(Select-Object -First 20)",
      "Bash(python scripts/ghl_browser_inspect_errors_panel.py --location uZnMH5bO6MXTHcgHeyq9 --workflow-id 346e764e-95c5-4920-ae49-e64bdf556972)",
      "Bash(python scripts/ghl_browser_workflow_anomaly_scanner.py --location uZnMH5bO6MXTHcgHeyq9 --workflow-id 346e764e-95c5-4920-ae49-e64bdf556972)",
      "Bash(python -u -c ' *)",
      "Bash(python -m py_compile scripts/audit_custom_fields_cross_object.py scripts/audit_custom_fields_schema.py)",
      "Bash(python scripts/audit_custom_fields_schema.py --all --object both)",
      "Bash(python scripts/fix_opportunity_picklist_alignment.py --location fKn9SaXZoKcjjLryg10v --field \"CANAL DE ORIGEN\" --apply --run-id picklist-canal-63ee67c6b952)",
      "Bash(python -m py_compile main.py script_runner.py db.py ghl_client.py sync_engine.py paths.py script_audit.py)",
      "Bash(node -c static/js/live_terminal.js)",
      "Bash(findstr /C:\"records_updated=\" /C:\"PUT schema fall\" /C:\"✗\" /C:\"ERROR\" /C:\"falló\")",
      "Bash(python scripts/fix_opportunity_picklist_alignment.py --location GbKkBpCmKu2QmloKFHy3 --field \"Canal de Origen \\(contact rename\\)\")",
      "Bash(python scripts/fix_opportunity_picklist_alignment.py --location fKn9SaXZoKcjjLryg10v --field \"Lead Descartado\")",
      "Bash(python scripts/fix_opportunity_picklist_alignment.py --all --field \"Lead Descartado\" --apply --run-id picklist-ld-rollout-5e11be2c7c)",
      "Bash(curl -sS -o /tmp/anom_test.xlsx -w \"HTTP %{http_code}\\\\nbytes=%{size_download}\\\\ntype=%{content_type}\\\\n\" \"http://127.0.0.1:8001/api/workflows/anomaly-report-xlsx/workflow_anomalies_20260526_100617.csv\")",
      "Bash(python -m py_compile main.py script_runner.py scripts/ghl_browser_workflow_anomaly_scanner.py paths.py)",
      "Bash(curl -sS -o /tmp/anom_v2.xlsx -w \"HTTP %{http_code}\\\\n\" \"http://127.0.0.1:8001/api/workflows/anomaly-report-xlsx/workflow_anomalies_20260526_104238.csv\")",
      "Bash(curl -sS -o /tmp/anom_v2.xlsx -w \"HTTP %{http_code} bytes=%{size_download}\\\\n\" \"http://127.0.0.1:8001/api/workflows/anomaly-report-xlsx/workflow_anomalies_20260526_104238.csv\")",
      "Bash(curl -sS -o \"generated/_test_anom_v2.xlsx\" -w \"HTTP %{http_code} bytes=%{size_download}\\\\n\" \"http://127.0.0.1:8001/api/workflows/anomaly-report-xlsx/workflow_anomalies_20260526_104238.csv\")",
      "PowerShell($env:NODE_PATH = \"C:\\\\Users\\\\Uriel Jareth\\\\AppData\\\\Roaming\\\\npm\\\\node_modules\"; node \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\\\\generated\\\\runtime\\\\gen_cronograma_sla.js\")",
      "Bash(python scripts/fix_opportunity_picklist_alignment.py --location GbKkBpCmKu2QmloKFHy3 --field \"CANAL DE ORIGEN\")",
      "Bash(curl -s -o response.txt -w \"HTTP %{http_code}\\\\nTIME %{time_total}\\\\n\" \"http://127.0.0.1:8000/api/comparativa/marca-vs-sucursales?limit_missing=2000\" --max-time 60)",
      "Bash(python scripts/audit_tags_across_accounts.py --json generated/reports/tags_audit.json)",
      "Bash(python -c \"import os; p=r'generated/runtime/dryrun_source_fix.log'; print\\('size:', os.path.getsize\\(p\\), 'bytes'\\)\")",
      "Bash(python scripts/cleanup_and_unify_tags.py --apply --yes --json generated/reports/tag_cleanup_apply.json)",
      "Bash(python scripts/sync_missing_opps_to_brand.py --dry-run --json generated/reports/missing_opps_dryrun.json)",
      "Bash(awk '/### Get Custom Fields/,/### \\(Create Custom Field|Get Custom Field$\\)/' categories/locations-api.md)",
      "Bash(PYTHONUTF8=1 python \"generated/_backfill_preview.py\")",
      "Bash(python -m py_compile scripts/backfill_opp_sucursal_link.py)",
      "Bash(PYTHONUTF8=1 python scripts/backfill_opp_sucursal_link.py --apply-links --limit 20)",
      "Bash(PYTHONUTF8=1 python -c ' *)",
      "Bash(PYTHONUTF8=1 python scripts/backfill_opp_sucursal_link.py --apply-links)",
      "Bash(PYTHONUTF8=1 python \"generated/_classify_creates.py\")",
      "Bash(awk '/## POST \\\\/opportunities\\\\/$/,/## \\(GET|PUT|DELETE\\) \\\\/opportunities/' categories/opportunities-api.md)",
      "Bash(grep -iA2 -E 'Request Body|customFields|field_value|status|source|tags|contactId|required|name|pipelineStageId')",
      "Bash(python scripts\\\\audit_custom_fields_full_from_db.py)",
      "Bash(python scripts/audit_custom_fields_full_from_db.py)",
      "Bash(python -c \"import os; from paths import DB_PATH; print\\('DB:', DB_PATH\\); print\\('exists:', os.path.exists\\(DB_PATH\\)\\); import time; print\\('mtime:', time.ctime\\(os.path.getmtime\\(DB_PATH\\)\\)\\)\")",
      "Bash(python scripts/audit_brand_vs_branches_totals.py --json)",
      "Bash(set PYTHONIOENCODING=utf-8)",
      "Bash(python scripts/sync_missing_contacts_to_brand.py)",
      "Bash(python -m py_compile scripts/apply_custom_field_layout.py)",
      "Bash(python scripts/apply_custom_field_layout.py --location blRZ21GlzgUCA7bl2uVw)",
      "Bash(python -c \"import sys; sys.path.insert\\(0,'scripts'\\); import audit_collision_submissions as a; print\\('brand_ok=', bool\\(a._load_token\\('GbKkBpCmKu2QmloKFHy3'\\)\\)\\); print\\('pilares_ok=', bool\\(a._load_token\\('uZnMH5bO6MXTHcgHeyq9'\\)\\)\\); print\\('map_size=', len\\(a._TOKENS_MAP\\)\\)\")",
      "Bash(python generated/_investiga_alejandra.py)",
      "Bash(python generated/_investiga_alejandra2.py)",
      "Bash(python -m py_compile scripts/fill_opp_id_oportunidad_sucursal.py)",
      "Bash(python scripts/fill_opp_id_oportunidad_sucursal.py --location Z64WQKORPVwXb5mn68Ef)",
      "Bash(python -m py_compile scripts/reconcile_and_sync_opportunities.py)",
      "Bash(python -m py_compile scripts/cleanup_brand_orphan_opportunities.py scripts/reconcile_and_sync_opportunities.py)",
      "Bash(python scripts/cleanup_brand_orphan_opportunities.py --dry-run)",
      "Bash(python generated/_investiga_alejandra3.py)",
      "Read(//c/Users/Uriel Jareth/AppData/Roaming/Claude/local-agent-mode-sessions/skills-plugin/**)",
      "Bash(python generated/_tmp_verificar_fechas.py)",
      "Bash(python \"n8n/_add_automap_node.py\")",
      "Bash(cmd /c \"stop.bat\")",
      "Bash(python -m py_compile scripts/fill_contact_id_sucursal.py)",
      "Bash(python scripts/fill_contact_id_sucursal.py --location Z64WQKORPVwXb5mn68Ef)",
      "Bash(python scripts/fill_contact_id_sucursal.py --location blRZ21GlzgUCA7bl2uVw)",
      "Bash(python scripts/audit_brand_vs_branches_totals.py --show-missing --limit-missing 200 --json)",
      "Bash(tee generated\\\\reports\\\\audit_brand_diff_20260527.json)",
      "Bash(python -m py_compile scripts/delete_intra_brand_duplicates.py)",
      "Bash(python scripts/delete_intra_brand_duplicates.py)",
      "Bash(python -c \"import uuid; print\\(uuid.uuid4\\(\\)\\)\")",
      "Bash(python scripts/backfill_brand_contact_id_sucursal.py --apply --run-id 174ce44a-52bc-4ef6-b4af-b61901094a37)",
      "Bash(sqlite3 generated/data/mp_manager.sqlite \"SELECT COUNT\\(*\\) as contact_count FROM contacts WHERE location_id='7H91g95hhLKwIUqSk0Rg';\")",
      "Bash(python n8n/_apply_phase1.py --apply --activate)",
      "Bash(python scripts/n8n_e2e_test.py --scenario 1.1)",
      "Bash(python n8n/_apply_phase1_fix_phone_refs.py --apply)",
      "Bash(python scripts/n8n_e2e_test.py --scenario all-phase1)",
      "Bash(python scripts/n8n_e2e_test.py --scenario all-phase2)",
      "Bash(python n8n/_apply_phase3.py --apply --activate)",
      "Bash(python scripts/n8n_e2e_test.py --scenario 3.2)",
      "Bash(python n8n/_apply_phase4.py --apply --activate)",
      "Bash(python n8n/_apply_phase2_fix_code_ref.py --apply)",
      "Bash(python scripts/n8n_e2e_test.py --scenario all)",
      "Bash(python -m py_compile main.py db.py)",
      "Bash(PYTHONIOENCODING=utf-8 python -c ' *)",
      "Bash(PYTHONIOENCODING=utf-8 python n8n/_add_fallback_autoenlace_contacto.py)",
      "Bash(PYTHONIOENCODING=utf-8 python n8n/_add_fallback_autoenlace_contacto.py --apply)",
      "Bash(PYTHONIOENCODING=utf-8 python scripts/n8n_e2e_test.py --help)",
      "Bash(PYTHONIOENCODING=utf-8 python scripts/n8n_e2e_test.py --scenario all-phase1)",
      "Bash(PYTHONIOENCODING=utf-8 python n8n/_test_fallback_branch_false.py)",
      "Bash(PYTHONIOENCODING=utf-8 python n8n/_add_fallback_post_update_marca.py)",
      "Bash(PYTHONIOENCODING=utf-8 python scripts/n8n_e2e_test.py --scenario all-phase2)",
      "Bash(PYTHONIOENCODING=utf-8 python n8n/_fix_cascada_token_mail.py)",
      "Bash(PYTHONIOENCODING=utf-8 python n8n/_test_fallback_post_update.py)",
      "Bash(PYTHONIOENCODING=utf-8 python n8n/_fix_cascada_locationid_mail.py)",
      "Bash(PYTHONIOENCODING=utf-8 python n8n/_fix_cascada_locationid_mail.py --apply)",
      "Bash(PYTHONIOENCODING=utf-8 python n8n/_fix_cascada_if_zero_results.py)",
      "Bash(PYTHONIOENCODING=utf-8 python n8n/_fix_cascada_if_zero_results.py --apply)",
      "Bash(find \"H:\\\\MegaSync\\\\Proyectos\\\\MP Manager\" -name \"app.js\" -o -name \"index.html\" 2>nul | head -5)",
      "Bash(python -m py_compile main.py db.py ghl_client.py sync_engine.py script_runner.py paths.py scripts/backfill_opp_sucursal_link.py)",
      "Bash(python scripts/backfill_opp_sucursal_link.py)",
      "mcp__mp-manager__search_contacts",
      "Bash(python -c \"import ast; ast.parse\\(open\\('main.py'\\).read\\(\\)\\); ast.parse\\(open\\('scripts/backfill_opp_sucursal_link.py'\\).read\\(\\)\\); print\\('python AST OK'\\)\")",
      "Bash(python -c \"import ast; ast.parse\\(open\\('main.py', encoding='utf-8'\\).read\\(\\)\\); ast.parse\\(open\\('scripts/backfill_opp_sucursal_link.py', encoding='utf-8'\\).read\\(\\)\\); print\\('python AST OK'\\)\")",
      "Bash(where node *)",
      "mcp__mp-manager__get_contact",
      "mcp__mp-manager__get_opportunities"
    ]
  }
}
