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: firstuniquecollect、または 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 には公開されていません。

ソースから開発する

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 を参照してください。

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.

  • Hosted MCP for creating, checking, deploying, and hosting static sites for AI agents.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tetracoralla/decision-table'

If you have feedback or need assistance with the MCP directory API, please join our Discord server