docs: params/output semántico en 506 funciones para composabilidad

Añade campos params y output al frontmatter YAML de las 506 funciones del registry.
Cada parámetro tiene descripción semántica (qué representa, unidades, rango típico)
y cada función describe qué produce su output. Permite a agentes razonar sobre
cadenas de composición (ej: prices → log_return → sharpe_ratio) sin leer código.
This commit is contained in:
2026-04-05 18:45:16 +02:00
parent bd1bf2b5dc
commit 988e901066
506 changed files with 2964 additions and 0 deletions
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: container_name
desc: "nombre del contenedor Docker a verificar"
output: "sin salida; exit code 0 si existe y está corriendo, 1 si no"
tested: false
tests: []
test_file_path: ""
+8
View File
@@ -14,6 +14,14 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: local_path
desc: "ruta del archivo local a copiar"
- name: container_name
desc: "nombre del contenedor Docker destino"
- name: dest_path
desc: "ruta destino dentro del contenedor"
output: "JSON con local_size y remote_size en bytes"
tested: false
tests: []
test_file_path: ""
+4
View File
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: project_dir
desc: "directorio del proyecto donde crear el venv (default: directorio actual)"
output: "ruta absoluta del venv creado o existente"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: project_dir
desc: "directorio del proyecto con venv existente"
output: "sin salida"
tested: false
tests: []
test_file_path: ""
+2
View File
@@ -14,6 +14,8 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params: []
output: "sin salida; muestra estado de instalación"
tested: false
tests: []
test_file_path: ""
+6
View File
@@ -14,6 +14,12 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: country
desc: "país de destino (opcional; default: auto)"
- name: city
desc: "ciudad de destino (opcional; default: auto)"
output: "JSON con ok, server, country, city"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,8 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params: []
output: "JSON con ok y status"
tested: false
tests: []
test_file_path: ""
+2
View File
@@ -14,6 +14,8 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params: []
output: "JSON con ok, ip, vpn_connected, vpn_server, source"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: country
desc: "nombre del país en NordVPN (ej: Spain, United_States)"
output: "JSON con ok, country, count, cities (array de strings)"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,8 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params: []
output: "JSON con ok, count, countries (array de strings ordenado alfabéticamente)"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: protocol
desc: "protocolo a usar: NordLynx (WireGuard) u OpenVPN"
output: "JSON con ok y protocol confirmado"
tested: false
tests: []
test_file_path: ""
+2
View File
@@ -14,6 +14,8 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params: []
output: "JSON con estado de VPN: ok, connected, status, hostname, ip, country, city, etc"
tested: false
tests: []
test_file_path: ""
+8
View File
@@ -14,6 +14,14 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: project_dir
desc: "directorio raíz del proyecto con venv y notebooks"
- name: pattern
desc: "glob de notebooks a convertir (default: notebooks/*.ipynb)"
- name: output_dir
desc: "directorio destino para PDFs relativo a project_dir (default: notebooks/pdf/)"
output: "lista de PDFs generados con sus rutas"
tested: false
tests: []
test_file_path: ""
+4
View File
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: entry
desc: "ruta de entrada en el password store (ej: agentes/token)"
output: "sin salida"
tested: true
tests: ["elimina entrada de test", "falla con entrada inexistente"]
test_file_path: "bash/functions/infra/pass_test.sh"
+6
View File
@@ -14,6 +14,12 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: entry
desc: "ruta de entrada en el password store"
- name: length
desc: "longitud del password (default: 24 caracteres)"
output: "password generado en texto plano"
tested: true
tests: ["genera password de longitud especifica", "default 24 chars"]
test_file_path: "bash/functions/infra/pass_test.sh"
+4
View File
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: entry
desc: "ruta de entrada en el password store"
output: "valor del secreto en texto plano"
tested: true
tests: ["lee entrada existente", "falla con entrada inexistente"]
test_file_path: "bash/functions/infra/pass_test.sh"
+4
View File
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: prefix
desc: "prefijo para filtrar entradas (opcional; ej: agentes)"
output: "JSON array de nombres de entradas"
tested: true
tests: ["lista todas las entradas", "filtra por prefijo"]
test_file_path: "bash/functions/infra/pass_test.sh"
+6
View File
@@ -14,6 +14,12 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: entry
desc: "ruta de entrada en el password store"
- name: value
desc: "valor del secreto (opcional; se lee de stdin si no se proporciona)"
output: "sin salida"
tested: true
tests: ["inserta valor y lo lee de vuelta", "sobreescribe valor existente"]
test_file_path: "bash/functions/infra/pass_test.sh"
+2
View File
@@ -14,6 +14,8 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params: []
output: "JSON con resultados de pull y push"
tested: true
tests: ["sincroniza con remoto"]
test_file_path: "bash/functions/infra/pass_test.sh"
+6
View File
@@ -14,6 +14,12 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: project_dir
desc: "directorio del proyecto con venv existente"
- name: packages
desc: "nombres de paquetes Python a instalar (variadic)"
output: "sin salida"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: project_dir
desc: "directorio del proyecto Jupyter (default: directorio actual)"
output: "ruta del archivo .claude/CLAUDE.md generado o actualizado"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: project_dir
desc: "directorio del proyecto Jupyter (default: directorio actual)"
output: "ruta del script run-jupyter-lab.sh generado"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: project_dir
desc: "directorio del proyecto Jupyter (default: directorio actual)"
output: "ruta del archivo startup generado"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,12 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: project_dir
desc: "directorio del proyecto Jupyter (default: directorio actual)"
- name: port
desc: "puerto Jupyter (default: detectado automáticamente)"
output: "ruta del archivo .mcp.json generado o actualizado"
tested: false
tests: []
test_file_path: ""
@@ -19,6 +19,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: output_file
desc: "archivo de salida con rutas rotas (default: broken_paths.txt en raíz)"
output: "sin salida directa; genera archivo con rutas inválidas"
tested: false
tests: []
test_file_path: ""
@@ -17,6 +17,12 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: nombre
desc: "nombre del análisis en analysis/{nombre}/"
- name: pattern
desc: "glob de notebooks a exportar (default: notebooks/*.ipynb)"
output: "sin salida directa; genera PDFs en notebooks/pdf/"
tested: false
tests: []
test_file_path: ""
@@ -22,6 +22,12 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: nombre
desc: "nombre del análisis a crear"
- name: paquetes_extra
desc: "paquetes Python adicionales a instalar (variadic, opcional)"
output: "sin salida directa; estructura completa en analysis/{nombre}/"
tested: false
tests: []
test_file_path: ""
@@ -18,6 +18,14 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: registry_db_path
desc: "ruta a registry.db local (default: /home/lucas/fn_registry/registry.db)"
- name: container_name
desc: "nombre del contenedor Metabase (default: metabase)"
- name: dest_path
desc: "ruta destino dentro del contenedor (default: /registry.db)"
output: "sin salida directa; verifica transferencia con coincidencia de tamaños"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: command_name
desc: "nombre del comando a verificar en PATH"
output: "sin salida en éxito"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,10 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: file_path
desc: "ruta del archivo a verificar"
output: "tamaño del archivo en bytes"
tested: false
tests: []
test_file_path: ""
+8
View File
@@ -14,6 +14,14 @@ returns: []
returns_optional: false
error_type: ""
imports: []
params:
- name: total_steps
desc: "número total de pasos ejecutados"
- name: ok_steps
desc: "número de pasos exitosos"
- name: failed_steps
desc: "número de pasos fallidos"
output: "exit code: 0 (éxito), 1 (fallo), o 2 (parcial)"
tested: false
tests: []
test_file_path: ""
+6
View File
@@ -14,6 +14,12 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: start_port
desc: "puerto inicial del rango (default: 8888)"
- name: end_port
desc: "puerto final del rango (default: 8899)"
output: "número de puerto TCP libre"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,22 @@ returns: []
returns_optional: false
error_type: ""
imports: []
params:
- name: flow_name
desc: "nombre del flujo ejecutado"
- name: status
desc: "estado final: success, failure, o partial"
- name: exit_code
desc: "código de salida: 0, 1, o 2"
- name: started_at
desc: "timestamp ISO8601 de inicio"
- name: ended_at
desc: "timestamp ISO8601 de fin"
- name: duration_ms
desc: "duración total en milisegundos"
- name: steps_file
desc: "archivo TSV con resultados de cada paso"
output: "JSON estructurado con metadatos de ejecución y array de pasos"
tested: false
tests: []
test_file_path: ""
+6
View File
@@ -14,6 +14,12 @@ returns: []
returns_optional: false
error_type: "error_go_core"
imports: []
params:
- name: yaml_file
desc: "archivo YAML con especificación de pasos"
- name: --strict
desc: "flag opcional para mapear partial a failure"
output: "JSON de ejecución con detalles de cada paso"
tested: false
tests: []
test_file_path: ""
@@ -14,6 +14,14 @@ 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: ""