feat: indexer con validacion en dos pasadas y CLI con output de errores

Reescribe el indexer con estrategia de dos pasadas:
1. Parsea todos los .md y construye sets de IDs conocidos
2. Valida integridad contra IDs conocidos, inserta solo los validos

El CLI ahora muestra INVALID para errores de validacion y ERROR
para errores de insercion, separando claramente ambos.
Añade test de integracion que verifica que entradas invalidas
se rechazan sin afectar a las validas.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-28 02:13:44 +01:00
parent 08d141ea1b
commit 2d87d6affc
3 changed files with 119 additions and 41 deletions
+4 -1
View File
@@ -94,8 +94,11 @@ func cmdIndex() {
}
fmt.Printf("Indexed %d functions, %d types\n", result.Functions, result.Types)
for _, e := range result.ValidationErrors {
fmt.Fprintf(os.Stderr, " INVALID: %s\n", e)
}
for _, e := range result.Errors {
fmt.Fprintf(os.Stderr, " warn: %s\n", e)
fmt.Fprintf(os.Stderr, " ERROR: %s\n", e)
}
}