---
name: validate_registry_paths
kind: function
lang: bash
domain: shell
version: "1.0.0"
purity: impure
signature: "validate_registry_paths(db_path: string, table: string, root_dir: string) -> tsv_stdout"
description: "Consulta registry.db y verifica que cada file_path apunte a un archivo existente en disco. Imprime a stdout las rutas rotas en formato TSV (id, file_path, domain, tabla)."
tags: [registry, validation, paths, audit, bash]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
  - name: db_path
    desc: "ruta a registry.db"
  - name: table
    desc: "tabla a validar: functions o types"
  - name: root_dir
    desc: "directorio raíz del repositorio"
output: "TSV con id, file_path, domain, tabla de rutas inválidas"
tested: false
tests: []
test_file_path: ""
file_path: "bash/functions/shell/validate_registry_paths.sh"
---

## Ejemplo

```bash
source validate_registry_paths.sh
validate_registry_paths /home/lucas/fn_registry/registry.db functions /home/lucas/fn_registry

# Output (TSV):
# cdp_click_go_browser	functions/infra/cdp_click.go	browser	functions
```

## Notas

Impura porque lee el filesystem y la base de datos. No modifica nada — solo reporta.

La salida TSV es consumible por otros scripts o pipelines. Si no hay rutas rotas, no imprime nada.
