Allows external readers (registry_mcp app) to issue raw aggregations
(e.g. fn_list_domains) and inspect the active db path without
duplicating the connection setup logic.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Refactoriza la ejecucion de funciones Python en fn run. Extrae la logica
a pyrunner.go con soporte para importar dependencias del registry y
ejecutar con el venv del proyecto. Agrega WalCheckpoint en db.go para
que lectores externos vean datos actualizados tras fn index.
Añade sistema de proposals al registry: modelos (ProposalKind, ProposalStatus),
CRUD completo (Insert/Get/Update/Delete/List/Search con FTS), validación,
migración 002_proposals.sql y subcomando CLI fn proposal (add/list/show/update).
Motor de migraciones con embed.FS reemplaza schema estático.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Cambia de _journal_mode=WAL en connection string a PRAGMA journal_mode=WAL
explícito. Esto persiste en el archivo y cualquier cliente externo (sqlite3
CLI, DuckDB) hereda WAL automáticamente sin configuración adicional.
Permite leer mientras el agente escribe simultáneamente sin bloqueos.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Crea la base de datos del registry con:
- Tabla functions con todos los campos del schema v1.0 incluyendo component
- Tabla types con campos algebraicos
- Tablas virtuales FTS5 para busqueda full-text sobre nombre, descripcion, tags, signature y domain
- Triggers AFTER INSERT/UPDATE/DELETE para mantener FTS sincronizado
- Open con WAL mode y foreign keys habilitadas
- Drop y Purge para regeneracion del indice
Dependencia: github.com/mattn/go-sqlite3 (requiere CGO_ENABLED=1 -tags fts5)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>