esekl
ESEKL — Empirical Software Engineering Knowledge Layer
ESEKLは、本番グレードのオープンソースシステムの研究を、構造化されたエージェント利用可能なツール群へと変えるプロジェクトです。これはModel Context Protocol(MCP)サーバーとして配布され、それが唯一のサポート対象の配布手段です。
分散システム(キュー処理、ブローカー、ストリーミングパイプライン)に取り組むエージェントは、日常的に行動不変条件を幻覚し、本番障害モードを誤って引用し、実証的な根拠なしに検証プランを生成します。ESEKLはこのギャップを解消します。成熟したオープンソースシステムの機械的な検査から得られた、来歴追跡・根拠ラベル付きの知識を、タスクに即したMCPツールを通じて提供し、生のコンテキストをそのままダンプするのではなく、プログレッシブな開示をとのぞまします。
現在のコーパスは、キュー、ブローカー、ストリーミングシステム(asynq、bullmq、pgmq、river、goqite、litequeue、nats-server、nsq、blazingmq、redpanda、rabbitmq、artemis、rocketmq)をカバーしています。
エージェントへのメリット
ESEKLがない場合、ジョブキューに取り組むコーディングやプランニングのエージェントは、行動契約を幻覚化するか、数千行の生ソースを閲覧してパターンを抽出しなければなりません。両方の経路は失敗します。幻覚化は不正確な不変条件を生み、生ファイルの閲覧は、エージェントが関連する根拠に到達する前にコンテキストウィンドウを飽和させます。
ESEKLが提供するもの:
行動不変条件:コーパス全体のソースの直接検査から抽出され、それぞれが導出方法(
SOURCE_OBSERVED、TEST_OBSERVED、HISTORY_SUPPORTED)のラベルを持ちます。障害モードの連鎖:実際の本番バグと回帰コミットからでた、それを閉じた正確なコミットハッシュとテスト関数まで遡れます。
実装パケット — 本番ファイルから抽出された具体的なSQLクエリ、Luaスクリプト、Go/TypeScriptスニペット — を、基盤とメカニズムのフィルタと共に提供し、エージェントが必要とする実装のクラスに正確に一致させます。
設計上の批評:コーパス横断の不変条件に照らし、欠落したフェンシング保証、クロックドリフトのリスク、ポイズンジョブの分離ギャップを表面化します。
逆説的な検証プラン:実証的な障害証拠から生成され、テストスートにすぐ組み込める内容です。
すべての結果には、その知識のエピステマへのラベルが付きます。エージェントがリポジトリ横断の抽象化をモデル推論と適害することはありません。
Related MCP server: PactAI MCP
アーキテクチャ:EKUの開発方法
flowchart TD
A["Tier 0: Raw Codebase\n(factory/<repo>)"]
B["Tier 1: Atomic Observations\n(eku_middleware/eku_store/evidence/observations.json)\nExact file path, line range, verbatim snippet,\nlanguage, substrate"]
C["Tier 2: Repo-Local EKUs\n(eku_middleware/eku_store/repo_ekus/<repo>.json)\nConcrete mechanism, source snippet,\ntest provenance, failure provenance\nEpistemic: REPO_LOCAL"]
D["Tier 3: Domain EKUs\n(eku_middleware/eku_store/synthesized_queue_ekus.json)\nCross-repository behavioral invariants,\ndesign contracts, falsification audits\nEpistemic: DOMAIN_ABSTRACTION"]
E["MCP Server\n(esekl mcp)\nProgressively discloses\nTier 1-3 via 20 tools"]
F["Agent\n(Claude, Codex, AGY, etc.)"]
A -->|"Mechanical inspection\nAST + grep + test suite link"| B
B -->|"RepoEKU authoring\nvalidate_evidence_ledger.py"| C
C -->|"Cross-corpus synthesis\nClaim matrix + keyword groups"| D
D --> E
C --> E
B --> E
E -->|"JSON-RPC 2.0 / stdio"| Ffactoryディレクトリには、コミット句固定されたソースリポジトリのチェックアウトが格納されています。検査は機械的です。ソースファイルパス、行範囲、逐語的なコードスニペット、テスト関数名がアトミック観察として取得されます。これらの観察結果は、単一のリポジトリに紐づく具体的で証拠をもつ記録であるRepo-Local EKUにグループ化され、その後、明示的な反証監査を備えたコーパス横断的な行動不変条件を保持するDomain EKUへと集約されます。MCPサーバーは静的ストアを読み取り、プログレッシブな開示ツールを通じて提供します。エージェントはこれらのツールだけを操作し、生のストアには決して直接アクセスしません。
ナレッジストア(eku_store/)はnpmパッケージ内に同梱されています。初期化ステップは不要です。MCP設定を一度追加するだけで、npxを実行できるすべてのマシンが、即時に完全なコーパスを利用できます。
インストール
インストールステップは不要です。
eku_store/ ディレクトリは esekl npmパッケージ内に直接同梱されています。npx esekl mcp が起動すると、サーバーはパッケージディレクトリからストアを解決します。ローカルコピー、initコマンド、プロジェクトごとの設定はすべて不要です。
以下のいずれかの設定で、MCPサーバーをエージェントホストに配線します。
MCP設定
この単一のJSONブロックは、すべてのマシン・すべてのプロジェクトで動作し、パスも事前設定も不要です:
{
"mcpServers": {
"esekl": {
"command": "npx",
"args": ["-y", "esekl", "mcp"]
}
}
}ストアの解決順序(最初に一致したものが優先):
--store-root=<path>— 上級者向けの明示的なだ上書き。~/.esekl/store— 完全オフラインまたはカスタムコーパスのためにesekl initを実行した場合。<package_dir>/eku_store— パッケージに同梱されており、常に利用可能。セットアップ不要。
Claude Desktop
~/.config/claude/claude_desktop_config.json(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json)を編集し、上記のブロックを追加します。Claude Desktopを再起動してください。
AGY (Antigravity)
上記のブロックをAGY MCP設定ファイルに追加してください。ほとんどのAGY構成では再起動は不要です。
Codex CLI
~/.codex/config.toml に追加:
[mcp_servers.esekl]
command = "npx"
args = ["-y", "esekl", "mcp"]JSON形式の mcpServers 設定を受け入れるCodex環境では、上記のJSONブロックを使用してください。
ツールサーフェス
MCPサーバーは、3つの階層にまたがる20個のツールを提供します。
検出とナビゲーション(6ツール)
Tool | Required Args | Purpose |
| なし | コーパスのメタデータ:ドメイン、EKU総数、リポジトリ、カバレッジ比率。 |
| なし | 言語とストレージエンジンでフィルタリングされた、ページ管理されたリポジトリズモ一覧。 |
|
| 1つのリポジトリの重要なメカニズムとエッジ条件を簡潔にまとめたもの。 |
| なし | リンクされたDomain EKU IDを伴うリポジトリ横断の障害テーマ。 |
|
|
|
|
| 2つのエンジンをメカニズム、不変条件、ストレージ基盤の観点で横並び比較する。 |
証拠と階層的検索(12ツール)
ツール | 必須引数 | 説明 |
|
| EKUs、主張、観察記録、障害にわたる多要素検索。 |
|
| 完全なDomain EKU:行動不変条件、設計契約、検証契約、コーパス統計。 |
| なし | メカニズムとオブジェクトタイプのフィルタ付き、ページされたRepo-Local EKUsの一覧。 |
|
| 正確なソース行、SQL/Luaスニペット、テストスートの由来を含む完全なRepofitLocal EKU。 |
| なし | Repo-Local EKUs を集約する横断的なキーワードと基盤のファセットグループ。 |
|
| 構成要素であるRepo-Local EKsと関連するDomain EKUsを含む完全なキーワードグループ。 |
|
| Domain EKUを、それを支えるRepo-Local EKUs、キーワードグループ、そのまの観察記録までゆっくり遡ります。 |
|
| 問題説明に関連する二次の障害パターンと脆弱性のシグネチャ。 |
| なし | 因果の障害連鎖:トリガー、不変条件の破綻、最終的障害、回帰テストの状態。 |
| なし | Repo-Local EKUsから導き出され、基盤とメカニズムでフィルタリングされた動的な実装パケット。 |
|
| 任意のIDを、正確なPATH、行範囲、コミットハッシュ、スニペットSHA-256、テスト関数まで追跡する。 |
| なし | Repo-Local EKUsとDomain EKUsにわたる診断監査で、欠落フィールドと壊れた参照を表面化します。 |
設計批評と検証(2ツール)
ツール | 必須引数 | 説明 |
|
| 提案されたアーキテクチャを実証不変条件に対して評價し、一致するEKUs、欠落した保証、そして「約束すべきでないもの」の契約を返します。 |
|
| 実証的な証拠と過去の失敗に直接マップされた、敵対的なテストスートを生成します。 |
結果の構造
get_eku
{
"id": "EKU-QUEUE-015",
"title": "Fenced Domain Result Promotion & Outbox Emission",
"objectType": "BEHAVIORAL_INVARIANT",
"claimId": "CLM-015",
"problem": "A queue can fence stale completion of the job row while still allowing a superseded worker to write authoritative domain results or emit an outbox event.",
"behavioralInvariant": "Ownership fencing must guard every authoritative side-effecting state mutation, including domain result promotion or outbox emission, not only queue-row completion.",
"designContract": "Before committing a result row, payment ledger projection, or sendable outbox record, the storage transaction must prove current job ownership by token/generation.",
"verificationContract": [
"Worker A owns generation 1 and pauses.",
"Worker B owns generation 2 and completes.",
"Worker A attempts domain result promotion and queue completion.",
"Both stale writes affect zero authoritative rows and emit stale-owner telemetry."
],
"supportingEvidence": ["OBS-BULLMQ-002", "OBS-LITEQUEUE-002"],
"historicalEvidence": ["HIST-RIVER-003"],
"corpusStats": {
"corpusSize": 13,
"applicable": 7,
"supports": 2,
"counterexamples": 3
}
}get_repo_eku
{
"repoEku": {
"id": "REKU-RIVER-001",
"repository": "river",
"mechanism": "Relational Lock-Free Dequeue (FOR UPDATE SKIP LOCKED)",
"claim": "PostgreSQL FOR UPDATE SKIP LOCKED allows concurrent worker pools to acquire non-overlapping available jobs without table-level locking.",
"localContext": "River implements its primary job queue inside PostgreSQL. It relies on FOR UPDATE SKIP LOCKED in its sqlc query to scale Go worker goroutines.",
"sourceProvenance": {
"filePath": "riverdriver/riverpgxv5/internal/dbsqlc/river_job.sql",
"lineRange": [45, 55],
"queryOrCodeSnippet": "SELECT id, args, attempt, state FROM river_job WHERE state = 'available' ORDER BY priority ASC, scheduled_at ASC LIMIT $1 FOR UPDATE SKIP LOCKED;"
},
"testProvenance": {
"filePath": "internal/jobexecutor/job_executor_test.go",
"testName": "TestJobExecutor"
},
"epistemicStatus": "REPO_LOCAL"
}
}explain_provenance
{
"evidenceId": "OBS-BULLMQ-002",
"type": "OBSERVATION",
"repository": "taskforcesh/bullmq",
"commitHash": "c06b51cd3aacd0d9ee65e2544220c89f24d2479c",
"filePath": "src/commands/moveToFinished-12.lua",
"lineRange": { "start": 40, "end": 44 },
"sourceUrl": "https://github.com/taskforcesh/bullmq/blob/c06b51cd3aacd0d9ee65e2544220c89f24d2479c/src/commands/moveToFinished-12.lua#L40-L44",
"snippetSha256": "4b68e98da6984e1b00ad99e74d1c448bb5bbcb110cb16246473133604f32616f",
"epistemicStatus": "SOURCE_OBSERVED"
}compare_design_against_evidence
{
"matchingEkus": ["EKU-QUEUE-015", "EKU-QUEUE-016", "EKU-QUEUE-017"],
"missingInvariants": [
{
"invariant": "Storage-Time Lease Evaluation",
"severity": "CRITICAL",
"risk": "Caller-supplied VM timestamps allow clock drift across container hosts to cause premature lease expiration or duplicate execution.",
"recommendedFix": "Use database server time (e.g. clock_timestamp()) exclusively in lease recovery queries."
}
],
"whatNotToPromise": [
"Never promise true exactly-once delivery over external network boundaries without partner idempotency keys.",
"Never promise constant latency during unmetered enterprise batch spikes; enforce admission semaphores and HTTP 429/503."
],
"epistemicClassification": {
"empiricalEvidenceCount": 8,
"modelInferredPoints": 2
}
}リポジトリ構成
eku_middleware/ npm package root (published as esekl)
bin/ CLI and MCP server entry points
src/ MCP server implementation
eku_store/ Static knowledge store — ships bundled inside the package
evidence/ Atomic observations and historical failure records
repo_ekus/ Repo-Local EKUs per repository
synthesized_queue_ekus.json Cross-corpus Domain EKUs
claim_matrix.json Claim-to-corpus coverage matrix
schema/ JSON schema and specification for RepoEKUs
release/ factory_repo_lock.json — commit-pinned source provenance
mcp_contract.md Full JSON-RPC contract with input/output schemas
analyzer/ Validation scripts (not shipped in npm package)
factory/ Local raw repository cache for research rounds (git-ignored)認識論的なラベル
すべての結果ıvingツールには明示的なラベルが付いています。エージェントがこれらを剥がし、説明、または無視することはできません。
ラベル | 意味 |
| 本番ソースファイルとAST構造の機械的な直接検査による。 |
| 対象リポジトリ内の回帰テストスースイートの直接調査による。 |
| 検証された実際の本番インシデント、バグ修正、または問題コミット。 |
| アーキテクチャ文書または公式仕様の記述に基づく。 |
| 観察結果をまたいだ高次の総酸化による。 |
| 2つ以上のコードベースで検証された一般的な行動特性。 |
| 実証的な不変条件から導き出された実行可能なアーキテクチャ診断、指針。 |
MCPフルコントラクト
全20ツールの完全な入出力スキーマ:eku_middleware/mcp_contract.md
This server cannot be deployed
Maintenance
Related MCP Connectors
Shared, peer-validated knowledge archive for AI agents — search, contribute, and validate via MCP
Tamper-evident proof creation and verification for AI agents via MCP, A2A, and REST.
Experimental MCP for discovering and purchasing explicitly published, versioned Agent knowledge.
Team docs served to AI agents over MCP - search, Markdown reads, version pinning, read audit.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search code by meaning, explore codebase structure, store and query knowledge with temporal facts, and read source code through a set of MCP tools.310 npm7MIT
- AlicenseNot gradedqualityBmaintenanceServes coding agents with project-specific knowledge (decisions, conventions, constraints) over MCP and provides verification verdicts on whether code still complies.365 npmAGPL 3.0
- AlicenseNot gradedqualityAmaintenanceAn MCP server that enables verified agents to retrieve from, propose changes to, and share capabilities around a human-owned Markdown/Git knowledge base, ensuring curation, exact-byte approval, and Git-based promotion.MIT
- AlicenseNot gradedqualityAmaintenanceEnables MCP agents to maintain durable, evidence-aware project knowledge, retrieve precise excerpts on demand, and track decisions, conflicts, and revisions across sessions.1Apache 2.0