# Manifest previo de limpieza segura

Fecha: 2026-08-11  
Estado: inventario previo; los conjuntos se han verificado antes de cualquier borrado.

## Medición base

| Métrica | Valor |
|---|---:|
| Working tree, sin `.git/` | 1.522.870.633 bytes / 1.452,32 MiB / 12.083 archivos |
| `tests/` | 1.001.715.067 bytes / 955,31 MiB / 7.316 archivos |
| `tests/ia/results/` | 977.808.366 bytes / 932,51 MiB / 7.121 archivos / 388 ejecuciones |

## Convención de inventario completo

Los conjuntos que contienen miles de archivos se describen como una expresión exacta de inclusión/exclusión, con su número y tamaño medidos antes de borrar. Todos los ficheros que satisfacen cada expresión son candidatos; ningún fichero fuera de ellas se elimina. Esto evita un manifest incompleto por truncado y permite reproducir exactamente la selección a partir del árbol inicial.

## Conservar: checkpoint IA congelado

Se conservan completos estos directorios de `tests/ia/results/`:

```text
autonomous_closure_final
commands_capability_manual
commands_scope_selection
commands_scope_global
commands_scope_inventory
commands_real_usage_revalidated
sequential_transaction
factura_phase1_table_create_ref
20260810_132238_factura2_table_cell
20260810_135316_factura3_fields_commands
20260810_142158_factura4_repair_commands
20260810_150204_factura5_visual_planning_commands
controlled_gptoss_vs_big_pickle
core_large_model_control
```

Motivo: son los informes finales o controles que documentan capacidad Commands, scope, transaccionalidad/Undo/Redo, TTable/celdas, campos, reparación, límite de factura larga, benchmark y baseline para modelo grande. El detalle y enlaces están en `ia-experimental-70-checkpoint.md`.

## Candidatos IA eliminables

| Expresión exacta | Archivos / tamaño antes | Motivo | Git |
|---|---:|---|---|
| Todo `tests/ia/results/**` excepto los 14 directorios conservados de la lista anterior | 6.938 archivos / 921,76 MiB / 374 ejecuciones | Ejecuciones timestamp repetitivas, prompts, raw responses, checkpoints e informes que quedan sustituidos por los informes finales conservados | Ignorados por `/tests/` |
| `tests/ia/work/**/*.json`, `tests/ia/work/**/*.jsonl`, `tests/ia/work/**/*.md` | 35 archivos / 21,59 MiB | Resultados de batería, snapshots, fail-artifacts, logs manuales y progreso regenerable | Ignorados por `/tests/` |

Se excluyen explícitamente de borrado en `tests/ia/work/`: todo `*.php`, `*.js`, `*.spec.js` y sus directorios. Son harnesses/scripts reutilizables; se conservarán aunque su ubicación futura deba dejar de ser `work/`.

## Otros candidatos inequívocamente regenerables

| Ruta o expresión | Archivos / tamaño antes | Motivo | Git |
|---|---:|---|---|
| `test-results/**` | 1 / 48 bytes | Estado de última ejecución Playwright | `.last-run.json` trackeado; output inequívoco |
| `public/runtime/debug_ir/**/*.json` | 152 / 16,01 MiB | IR de debug generado por `export_ir.php` | Ignorado |
| `tools/ll12_compat/output/**`, salvo `tools/ll12_compat/output/.gitignore` | 26 archivos / 255,88 MiB | Informes/CSV/JSON de compatibilidad regenerables; el `.gitignore` es configuración trackeada y se conserva | Ignorados por el `.gitignore` anidado |
| `tools/harbour/tests/*.exe` y `tools/harbour/tests/*_result.log` | 8 / 9,23 MiB | Ejecutables y logs de pruebas Harbour | Ignorados |
| `hb_out.log` | 1 / 0,04 MiB | Log de compilación | Ignorado |
| `__tmp_ia_bulk_color_probe.php` | 1 / <0,01 MiB | Sonda temporal Codex/IA | Ignorado |
| `TRenderTPrinter.o` | 1 / 0,04 MiB | Objeto compilado temporal en raíz | Trackeado; artefacto inequívoco autorizado |

## Revisado y conservado por precaución

| Ruta | Motivo |
|---|---|
| `node_modules/` | Regenerable con `npm ci`, pero se mantiene por petición expresa para no interrumpir pruebas/builds. Hay 186 ficheros trackeados que se tratarán en una fase Git posterior. |
| `lst-antiguos/` | Corpus/backups LL12; no se toca. |
| `lbl/` y `lst/` | Plantillas y almacenamiento runtime; no se toca. |
| `tmp/harbour_reference/TLL_original.prg` | Referencia PRG potencialmente valiosa, no un temporal inequívoco. |
| `tools/harbour/lib/liblldominus.a` | Biblioteca engine actual; no se toca. |
| `tools/harbour/stP1kAlM` | Archivo `ar` antiguo trackeado sin extensión; se conserva por prudencia. |
| `tools/harbour/ClasesXailer/` | Snapshot/vendor de Xailer ignorado; puede ser necesario como referencia externa. |
| `tools/ll12_import/output/` y `tools/ll12_audit/output/` | Salidas trackeadas que pueden actuar como baselines; requieren decisión separada. |

## Salvaguardas aplicadas

- No se borra código productivo, fuente Harbour, vendors, licencias, plantillas ni builds finales.
- No se mueve ninguna carpeta.
- No se ejecuta `git clean` ni se hace commit.
- Tras la limpieza se medirán de nuevo tamaños, archivos y `git status`.

Total planificado para borrar: 7.163 archivos / 1.284.040.014 bytes / 1.224,56 MiB. De ellos, 2 archivos están trackeados (`test-results/.last-run.json` y `TRenderTPrinter.o`) y son outputs inequívocos; el resto está ignorado o no trackeado.

## Resultado verificado

| Métrica | Antes | Después |
|---|---:|---:|
| Working tree, sin `.git/` | 1.452,32 MiB / 12.083 archivos | 227,78 MiB / 4.922 archivos |
| `tests/` | 955,31 MiB / 7.316 archivos | 11,96 MiB / 343 archivos |
| `tests/ia/results/` | 932,51 MiB / 7.121 archivos / 388 ejecuciones | 10,75 MiB / 183 archivos / 14 ejecuciones |

Eliminados: 7.163 archivos candidatos, 1.284.040.014 bytes (1.224,56 MiB). La reducción neta de working tree es 1.284.028.710 bytes (1.224,55 MiB), porque se crearon `ia-experimental-70-checkpoint.md` y este manifest.

`test-results/` fue eliminado. `tmp/` se conserva intacto: contiene `tmp/harbour_reference/TLL_original.prg`, una referencia fuente no inequívocamente temporal. `node_modules/`, `lst-antiguos/` y `lbl/` no se modificaron.
