decision-table
Tabla de Decisión
Tabla de Decisión es una primitiva determinista de decisión y restricción para agentes de IA. Mueve los juicios de negocio acotados fuera del razonamiento del modelo y hacia un IR estricto, versionado y ejecutable.
El nombre del producto, así como los identificadores estables del paquete, CLI, plugin, Skill y MCP, quedan registrados en docs/PRODUCT_IDENTITY.md.
La primera versión proporciona:
decision.evaluate: evalúa hechos con política de aciertofirst,unique,collectopriority;decision.validate: valida el modelo y prueba de forma conservadora la existencia de reglas duplicadas, superpuestas u ocultas cuando es compatible;constraint.check: comprueba un candidato propuesto y devuelve violaciones, entradas faltantes y sugerencias de reparación configuradas;constraint.check_approved: cuando el host lo configura, realiza una comprobación de solo lectura contra un conjunto de reglas aprobado exacto que el llamador no puede reemplazar ni retrodatar;un núcleo TypeScript compartido, un CLI JSON y un servidor MCP junto con el plugin de Codex.
Instalar en Codex
codex plugin marketplace add tetracoralla/decision-table --ref main
codex plugin add decision-table@decision-tableInicia una nueva tarea de Codex después de la instalación para que las herramientas de Skill y MCP se carguen desde el plugin instalado. No se requiere cuenta de npm, paquete npm ni compilación desde el código fuente; el plugin contiene un servidor MCP precompilado y solo necesita Node.js 20.19 o posterior en PATH.
La raíz del repositorio es el marketplace y plugins/decision-table es el plugin instalable. Consulta docs/INSTALLATION.md para actualizaciones, eliminación y verificación.
Usa solicitudes ordinarias como:
"Valida este conjunto de reglas de decisión antes de usarlo".
"Evalúa este conjunto de reglas con estos hechos".
"Comprueba si esta acción propuesta satisface estas restricciones".
Tabla de Decisión se distribuye desde GitHub como un plugin de Codex. El paquete Node en este repositorio es privado y existe únicamente para compilar, probar y desarrollar la biblioteca localmente; no se publica en npm.
Related MCP server: agent-orchestrator
Desarrollar desde el código fuente
npm install
npm run checkPara el desarrollo local del plugin, añade este directorio del repositorio como marketplace y valida el plugin fuente con npm run check:plugin.
CLI
npm run cli -- validate examples/payment-approval.decision.json
npm run cli -- evaluate examples/payment-approval.decision.json \
--facts examples/payment-approval.facts.json \
--expected-version 1.0.0
npm run cli -- check examples/email-marketing.constraint.json \
--candidate examples/email-marketing.candidate.json \
--facts examples/email-marketing.facts.jsonToda la salida es JSON. Usa - en lugar de una ruta de entrada para leer ese documento desde stdin. Las opciones no definidas para el comando seleccionado se rechazan. El conjunto de reglas, los hechos y los documentos candidatos comparten un único límite acumulado de 256 KiB.
Para fijar contenido exacto, pasa tanto --expected-version como --expected-fingerprint <sha256>.
Comprobaciones aprobadas y aplicación por el host
La constraint.check en línea es consultiva porque el llamador proporciona el conjunto de reglas. Para un análisis de solo lectura con una política aprobada por el host, vincula el conjunto de reglas antes de iniciar el servidor MCP:
import {
createApprovedConstraintChecker,
createConstraintExecutionGuard,
fingerprintRuleset,
} from "@openadam/decision-table";
const expected = {
id: approvedRuleset.id,
version: approvedRuleset.version,
fingerprint: fingerprintRuleset(approvedRuleset),
};
const checker = createApprovedConstraintChecker({ ruleset: approvedRuleset, expected });El servidor stdio incluido expone constraint.check_approved cuando su host establece DECISION_TABLE_APPROVED_CONSTRAINT_JSON con el mismo objeto de vinculación estricto. El Agente no puede reemplazar la política ni retrodatar la comprobación, pero aún así proporciona candidatos y hechos, por lo que esta herramienta MCP de solo lectura no es un límite de ejecución.
Para un efecto secundario gobernado, mantén la construcción del candidato, la carga de hechos confiables, la comprobación y la ejecución dentro de un contexto propiedad del host:
const guard = createConstraintExecutionGuard(checker, async (action, run) =>
database.transaction(async (transaction) =>
run({
candidate: candidateFromActualAction(action),
facts: await loadTrustedFacts(transaction, action),
execute: (sameActionSnapshot) =>
executeActualAction(transaction, sameActionSnapshot),
}),
),
);
const outcome = await guard.execute(actualToolArguments);El guardia captura la acción real, bloquea al ejecutor a menos que las restricciones devuelvan válido, y pasa esa misma instantánea congelada a la ejecución. El contexto propiedad del host es donde una transacción o bloqueo debe mantener los hechos volátiles válidos durante el efecto secundario. El guardia es un límite de biblioteca e intencionalmente no es una herramienta MCP invocable por el Agente.
Forma del conjunto de reglas
Las condiciones son datos etiquetados, nunca cadenas ejecutables:
{
"op": "compare",
"left": { "kind": "fact", "path": "amount" },
"comparator": "gte",
"right": { "kind": "literal", "value": "10000" }
}Las entradas decimales son cadenas. Las rutas faltantes producen UNKNOWN; no se fuerzan a false. Las fechas y horas requieren un calendario ISO real, desplazamiento explícito, segundos y no más de precisión de milisegundos. Consulta examples/ y docs/PRODUCT_MODEL.md para conocer el límite completo del producto.
This server cannot be deployed
Maintenance
Related MCP Connectors
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
Paid deterministic utilities and automation services for AI agents via MCP and x402.
MCP-native AI evaluation: rubric audits, eval suites, and proof reports for AI/LLM output.
One MCP tool for verified AI-agent outcomes with success-only charging.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides deterministic AST graph queries and rule validation for AI coding agents via MCP tools, enabling structural intelligence without LLM calls.3 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables multi-model leader-worker agent orchestration, workflow execution, and deterministic validation via structured MCP tools.7 npmApache 2.0
- AlicenseAqualityCmaintenanceDeterministic logical reasoning server for MCP clients that compiles facts, rules, and queries to Prolog and returns exact answers with proof trees.4MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to perform auditable A* reasoning, import world graphs, incorporate physical carrier constraints, and maintain a learning knowledge base through a zero-dependency local MCP stdio service.MIT