Alcance de esta nota
Esta entrada abre la bitácora de Ferrox con una revisión documental del código existente, no con el anuncio de una nueva versión ni con una reconstrucción de sesiones de trabajo. La referencia es el commit f8661c3, del 6 de septiembre de 2026.
La separación entre núcleo e interfaz
ferrox-core expone un trait FileSystem y una implementación LocalFileSystem. La CLI llama a ese contrato para listar, consultar metadatos, crear, eliminar, renombrar y buscar entradas.
La separación permite mantener la presentación fuera del backend. El orden de directorios primero y el formato de tamaños pertenecen a la CLI; el acceso a disco pertenece al núcleo. La TUI todavía es un placeholder, así que la reutilización desde una segunda interfaz es una dirección de diseño, no una integración terminada.
Pruebas añadidas al backend
El commit de referencia añade pruebas unitarias para operaciones del backend local. En el archivo revisado hay ocho casos: listado de un archivo, creación de directorio, metadatos de archivo, existencia positiva y negativa, eliminación, renombrado y búsqueda en un subdirectorio.
Los casos usan directorios temporales, lo que permite separar esos escenarios de los archivos del usuario. Esto no demuestra cobertura de todos los casos límite. No se ejecutó la suite de Ferrox al preparar esta nota; la afirmación verificable es que esos casos están presentes en el código.
Para comprobar el estado de una copia local del proyecto:
cargo test --workspace
cargo fmt --check
cargo clippy --workspace -- -D warnings
Estos comandos son instrucciones de verificación, no un registro de resultados obtenidos.
Límites observados
- La búsqueda usa coincidencia de subcadenas sensible a mayúsculas, no búsqueda aproximada.
findrecorre con una pila explícita y omite errores de lectura de directorios.- La interfaz VFS sigue siendo síncrona.
- La TUI no implementa navegación ni paneles.
El roadmap incluye E/S asíncrona, búsqueda aproximada y una TUI de tres paneles. Ninguno de esos planes debe presentarse como un resultado de esta versión.
Próxima evidencia útil
Una siguiente entrada puede registrar una ejecución real de las pruebas, con revisión de código, entorno y salida; o explicar una modificación concreta acompañada de su commit. Así la bitácora conserva la diferencia entre lo planeado, lo implementado y lo verificado.