Skip to main content
Glama
tetracoralla

decision-table

by tetracoralla

Decision Table

Decision Table は、AI エージェント向けの決定論的な決定および制約プリミティブです。境界のあるビジネス判断をモデルの推論から取り出し、厳格でバージョン管理された実行可能な IR に移します。

製品名と安定したパッケージ、CLI、プラグイン、Skill、MCP の識別子は、docs/PRODUCT_IDENTITY.md に記録されています。

最初のリリースでは、以下を提供します:

  • decision.evaluate: first、unique、collect、または priority ヒットポリシーでファクトを評価します;

  • decision.validate: モデルを検証し、サポートされている場合に重複、重複、またはシャドウされたルールを保守的に証明します;

  • constraint.check: 提案された候補をチェックし、違反、欠落入力、および設定された修復ヒントを返します;

  • constraint.check_approved: ホストによって設定された場合、呼び出し元が置き換えたりバックデートしたりできない正確な承認済みルールセットに対して読み取り専用チェックを実行します;

  • 1 つの共有 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 サーバーが含まれており、PATH 上に Node.js 20.19 以降が必要なだけです。

リポジトリのルートがマーケットプレイスであり、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 です。入力パスの代わりに - を使用して、その 1 つのドキュメントを stdin から読み取ります。選択したコマンドに対して定義されていないオプションは拒否されます。ルールセット、ファクト、および候補ドキュメントは、累積 256 KiB の制限を共有します。

正確なコンテンツの固定には、--expected-version と --expected-fingerprint <sha256> の両方を渡します。

承認済みチェックとホストによる強制

インラインの constraint.check は、呼び出し元がルールセットを提供するため、助言的なものです。ホストが承認したポリシーによる読み取り専用分析の場合は、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 サーバーは、ホストが DECISION_TABLE_APPROVED_CONSTRAINT_JSON を同じ厳密なバインディングオブジェクトに設定した場合に、constraint.check_approved を公開します。エージェントはポリシーを置き換えたり、チェックをバックデートしたりすることはできませんが、それでも候補とファクトを提供するため、この読み取り専用 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);

ガードは実際のアクションをスナップショットし、制約が有効を返さない限りエグゼキュータをブロックし、その同じ凍結されたスナップショットを実行に渡します。ホスト所有のコンテキストは、トランザクションまたはロックが副作用を通じて揮発性ファクトを有効に保つ必要がある場所です。ガードはライブラリ境界であり、意図的にエージェントが呼び出し可能な MCP ツールではありません。

ルールセットの形状

条件はタグ付きデータであり、実行可能な文字列ではありません:

{
  "op": "compare",
  "left": { "kind": "fact", "path": "amount" },
  "comparator": "gte",
  "right": { "kind": "literal", "value": "10000" }
}

10 進数の入力は文字列です。欠落したパスは UNKNOWN を生成します。false に強制されることはありません。日時には、実際の ISO カレンダー値、明示的なオフセット、秒、およびミリ秒精度以下が必要です。完全な製品境界については、examples/ と docs/PRODUCT_MODEL.md を参照してください。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides deterministic AST graph queries and rule validation for AI coding agents via MCP tools, enabling structural intelligence without LLM calls.
    3 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Deterministic logical reasoning server for MCP clients that compiles facts, rules, and queries to Prolog and returns exact answers with proof trees.
    4
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables 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