decision-table
Decision Table
Decision Table — это детерминированный примитив принятия решений и ограничений для ИИ-агентов. Он выносит ограниченные бизнес-суждения из рассуждений модели в строгий, версионируемый, исполняемый IR.
Название продукта и стабильные идентификаторы пакета, CLI, плагина, Skill и MCP зафиксированы в docs/PRODUCT_IDENTITY.md.
Первый релиз предоставляет:
decision.evaluate: оценка фактов с политикой попаданийfirst,unique,collectилиpriority;decision.validate: проверка модели и консервативное доказательство дублирующих, перекрывающихся или затенённых правил, где это поддерживается;constraint.check: проверка предлагаемого кандидата с возвратом нарушений, отсутствующих входных данных и настроенных подсказок по исправлению;constraint.check_approved: если настроено хостом, выполняет read-only проверку по точному утверждённому набору правил, который вызывающий код не может заменить или датировать задним числом;одно общее ядро на TypeScript, JSON CLI, а также MCP-сервер и плагин Codex.
Установка в Codex
codex plugin marketplace add tetracoralla/decision-table --ref main
codex plugin add decision-table@decision-tableПосле установки начните новую задачу Codex, чтобы Skill и MCP-инструменты загрузились из установленного плагина. Учётная запись npm, npm-пакет или сборка из исходников не требуются; плагин содержит предварительно собранный MCP-сервер, и ему нужен только Node.js 20.19 или новее в PATH.
Корень репозитория — это маркетплейс, а plugins/decision-table — устанавливаемый плагин. Сведения об обновлении, удалении и проверке см. в docs/INSTALLATION.md.
Используйте обычные запросы, например:
«Проверь этот набор правил принятия решений, прежде чем я начну его использовать».
«Оцени этот набор правил на основе этих фактов».
«Проверь, удовлетворяет ли это предлагаемое действие этим ограничениям».
Decision Table распространяется с GitHub как плагин Codex. Node-пакет в этом репозитории является приватным и существует только для сборки, тестирования и локальной разработки библиотеки; он не публикуется в npm.
Related MCP server: agent-orchestrator
Разработка из исходного кода
npm install
npm run checkДля локальной разработки плагина добавьте сам каталог этого репозитория как маркетплейс и проверьте исходный плагин с помощью 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.jsonВсе выходные данные — в формате JSON. Используйте - вместо пути к входному файлу, чтобы прочитать соответствующий документ из stdin. Опции, не определённые для выбранной команды, отклоняются. Набор правил, факты и документ кандидата используют один общий совокупный лимит 256 KiB.
Для точной привязки содержимого передавайте и --expected-version, и --expected-fingerprint <sha256>.
Утверждённые проверки и контроль на стороне хоста
Вызов constraint.check в коде носит рекомендательный характер, поскольку набор правил предоставляет вызывающий код. Для read-only анализа с политикой, одобренной хостом, привяжите набор правил перед запуском 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 });Входящий в комплект stdio-сервер предоставляет constraint.check_approved, когда его хост задаёт DECISION_TABLE_APPROVED_CONSTRAINT_JSON как тот же строгий объект привязки. Агент не может заменить политику или датировать проверку задним числом, но он по-прежнему предоставляет кандидата и факты, поэтому этот read-only MCP-инструмент не является границей выполнения.
Для управляемого побочного эффекта держите конструирование кандидата, загрузку доверенных фактов, проверку и выполнение внутри контекста, принадлежащего хосту:
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);Ограничитель делает снимок фактического действия, блокирует исполнителя, если ограничения не возвращают valid, и передаёт этот же замороженный снимок на выполнение. Контекст, принадлежащий хосту, — это место, где транзакция или блокировка должна сохранять изменчивые факты действительными на протяжении побочного эффекта. Ограничитель — это граница библиотеки и намеренно не является MCP-инструментом, вызываемым Агентом.
Структура набора правил
Условия — это тегированные данные, а не исполняемые строки:
{
"op": "compare",
"left": { "kind": "fact", "path": "amount" },
"comparator": "gte",
"right": { "kind": "literal", "value": "10000" }
}Десятичные входные значения — это строки. Отсутствующие пути порождают UNKNOWN; они не приводятся к false. Значения даты и времени требуют реального календарного значения ISO, явного смещения, секунд и точности не более миллисекунды. Полную границу продукта см. в examples/ и docs/PRODUCT_MODEL.md.
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