Documentos de Decision Gate

Evaluación de puertas determinista, reproducible con decisiones auditables.

Documentación de Asset Core

Guía de Intercambio de Corpus de Documentos

A primera vista

Qué: Reemplazar o extender el corpus de documentos utilizado por decision_gate_docs_search y MCP resources/list + resources/read.

Por qué: Adapte la guía de tiempo de ejecución del LLM a su entorno, políticas o documentación interna.

Dónde: decision-gate.toml bajo [docs].


Cómo se Construye el Corpus de Documentos

  1. Valores predeterminados integrados (tiempo de compilación, sin E/S de red).
  2. Documentos adicionales opcionales cargados desde docs.extra_paths (archivos o directorios).

Los documentos se cargan una vez al inicio del servidor y se almacenan en un catálogo en memoria.


Paso 1: Prepara tus documentos

Requisitos:

  • Archivos Markdown (.md) solamente.
  • Cada documento debe incluir un encabezado # Título.
  • Utiliza encabezados ## / ### para secciones buscables.
  • Mantenga los archivos por debajo del límite configurado docs.max_doc_bytes.

Notas:

  • Los nombres de archivo se convierten en IDs de documento (sanitizados a minúsculas + guiones bajos).
  • Los documentos personalizados reciben el rol de pattern por defecto.
  • Los archivos vacíos se omiten con advertencias.

Paso 2: Actualizar decision-gate.toml

Reemplace el corpus predeterminado con un directorio personalizado:

[docs]
enabled = true
enable_search = true
enable_resources = true
include_default_docs = false
extra_paths = ["./my-docs"]
max_doc_bytes = 262144
max_total_bytes = 1048576
max_docs = 32
max_sections = 10

Amplía el corpus predeterminado con algunos archivos adicionales:

[docs]
enabled = true
enable_search = true
enable_resources = true
include_default_docs = true
extra_paths = ["./overrides/llm_playbook.md", "./runbooks"]

Comportamiento que se puede esperar:

  • Las rutas faltantes fallan al iniciar con un error de configuración.
  • Los documentos de gran tamaño se omiten con advertencias.
  • Se aplican límites de tamaño total / conteo.

Paso 3: Asegurar la Visibilidad de la Herramienta (Opcional)

La búsqueda de Docs es una herramienta. Si filtras herramientas, asegúrate de que sea visible:

[server.tools]
mode = "filter"
allowlist = ["decision_gate_docs_search", "scenario_define", "scenario_start"]
denylist = []

Si docs.enabled = false o docs.enable_search = false, la herramienta está oculta y las llamadas devuelven UnknownTool.


Paso 4: Reiniciar el Servidor

Los documentos se cargan solo al inicio. Reinicie para recoger nuevo contenido. Las advertencias sobre documentos omitidos se imprimen en stderr.


Paso 5: Validar el Corpus

Buscar (herramientas/llamada):

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "decision_gate_docs_search",
    "arguments": { "query": "precheck vs live", "max_sections": 3 }
  }
}

Lista de recursos (resources/list):

{ "jsonrpc": "2.0", "id": 2, "method": "resources/list" }

Recursos leídos (resources/read):

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "resources/read",
  "params": { "uri": "decision-gate://docs/custom/my_doc" }
}

Solución de problemas

  • Search returns no results: empty query returns an overview; otherwise confirme que los encabezados existen y que el corpus está cargado.
  • El servidor falla al iniciar: falta una ruta en docs.extra_paths.
  • Herramienta faltante en tools/list: verifica los toggles de [docs] y [server.tools].
  • Error al leer el recurso: asegúrese de que la URI coincida con resources/list.