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:
@@ -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: ""
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
@@ -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: ""
|
||||
|
||||
Reference in New Issue
Block a user