9a7a874a7682263d8053e1c6b1b01bf4a300780b
El parser Python de audit_uses_functions solo reconocia "from <pkg> import X" con un unico componente de paquete (regex \w+), por lo que: - "from <pkg>.<subpkg> import X" (import anidado) no matcheaba y la funcion se reportaba como falso unused_in_app_md. - Las listas multilinea con parentesis "from <pkg> import (\n a,\n b,\n)" no se parseaban (escaneo linea a linea). Cambios: - Regex acepta puntos en el paquete y bloques parentizados multilinea. - Resolucion validada contra el directorio de paquete del registry derivado de file_path (no del campo domain: las funciones metabase viven en python/functions/metabase/ pero tienen domain=infra). Imports de librerias externas se ignoran -> sin falsos missing. - parsePyImportedSymbols descarta comentarios "# noqa", maneja "as alias" y star imports (tratados como vacio, no soportados por diseno). - auditFnMeta carga file_path; query SELECT anade file_path. Tests (functions/infra/audit_uses_functions_test.go): - TestAuditUsesFunctions_DetectsNestedImport (golden) - TestAuditUsesFunctions_NoFalsePositiveOnNested (edge: nested + multilinea) - TestAuditUsesFunctions_StarImport (error/edge: star import no cuenta) Verificado con fn doctor uses-functions sobre apps reales: drift baja de 11/42 a 9/42. mail_manager (9 falsos por "from infra.X import Y") y demand_radar (3 por lista multilinea) quedan en 0 drift. El residual de osint_db/osint_web es carga dinamica via importlib, documentado como fuera de alcance. audit_uses_functions v1.0.0 -> v1.1.0. CHANGELOG actualizado. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
fn-registry — Schema de documentación
Registry personal de código con búsqueda FTS. Diseñado para composición funcional y agentes.
Archivos
functions.md— Schema de la tabla functions (incluye pipelines y componentes React)types.md— Schema de la tabla typesintegrity.md— Reglas de integridad y referencias cruzadasarchitecture.md— Visión general del sistemasync_setup.md— Vincular una PC al serverregistry.organic-machine.com(env vars,fn sync, troubleshooting)adr/— Architecture Decision Records: decisiones de diseño (qué se decidió y por qué)../reports/— Reportes de trabajo: artefacto local (entregable de una tarea: qué se hizo, cómo se verificó, gaps). Gitignored salvo.gitkeep, NO sube a Gitea ni se versiona (como los vaults). Convención en.claude/rules/reports.md. Decisión: ADR 0006
Tablas
| Tabla | Descripción |
|---|---|
functions |
Funciones atómicas, pipelines y componentes React |
types |
Tipos algebraicos (product / sum) |
kind: valores posibles
| Valor | Descripción |
|---|---|
function |
Función atómica pura o impura |
pipeline |
Composición de funciones, siempre impura |
component |
Componente React, extiende el schema base |
fn-registry schema v1.0
Description
Languages
Python
48.6%
Go
19.7%
C++
16%
Shell
8.6%
C
3.7%
Other
3.3%