Neuro-Cognitive Engine
NCE — Neuro-Cognitive Engine
AIエージェント向けのマルチテナントメモリおよび推論基盤であり、その上に構築された一連のビジネスエンジンを備えています。
ビジネスを運営するエージェントは物事を記憶する必要があり、そのメモリは正しくなければなりません。つまり、適切なテナントにスコープされ、出典に帰属でき、静かに破損することが不可能である必要があります。NCEはそれを提供するレイヤーであり、さらにそれを利用する垂直エンジン(procurement、sales、project、economy、inventoryなど)も提供します。
Postgres、MongoDB、Redis、MinIO上にPythonで構築されています。MCP(JSON-RPC 2.0)およびREST経由で公開されています。
実際に存在するもの
Python in | 103,762行 |
テストファイル数 | 391 |
登録済みMCPツール | 115 |
データベースマイグレーション | 48 |
mainブランチにコードがある垂直エンジン | 11 |
ドキュメントページ | 114 — こちらで読む |
アーキテクチャ決定記録 | 8 |
プルリクエストあたりのCIジョブ数 | 5 |
数値はツリーからカウントされたものであり、推定ではありません。ツール数はテスト(tests/test_tool_registry.py)によってアサートされているため、ビルドに失敗することなく現実から乖離することはありません。
注目すべき部分
テナント分離はデータベースによって強制され、慣習によるものではありません。 すべてのテナントスコープのテーブルは、namespace_idに対するポリシーを持つENABLE + FORCE ROW LEVEL SECURITYを保持します。アプリケーションコードはさらに明示的にフィルタリングします。なぜなら、スーパーユーザー接続はFORCE RLSをバイパスし、これを忘れたテストは何も証明しないからです。tests/test_rls_catalog.pyは、テナントテーブルが登録されずに追加された場合、ビルドを失敗させます。
書き込み権限はデフォルトで拒否されます。 エンジンは互いのデータを書き込みません。nce/config_data/node-ownership.jsonは(node_type, transition) → owning engineをマッピングし、assert_ownerは書き込みサイトで登録されていないものを拒否します。所有権はノードごとだけでなく、トランジションごとに設定できます。発注書ラインのORDEREDステータスはProcurementに属し、DELIVEREDはWarehouseに、INSTALLEDはField Techに属し、同じガードがこれらすべてを表現します。
監査ログはデータベースレベルで追加専用です。 event_logはWORMトリガーを持ちます。UPDATEとDELETEは単に回避されるのではなく、取り消されています。
自律性は制限されています。 ワールド書き込みツールはデフォルトで人間確認のみに設定され、冪等性キーを持ち、監査ログに記録されます。値と数量の上限、許可リスト、およびキルスイッチがそれらの前に配置されています。アクションの再生は2回目の書き込みではなく、ノーオペレーションになります。
金額とコストは外部に出ることはありません。 許可リストベースのフィールドプロジェクター(project(node, surface))は、外部サーフェスに到達するものを制御します。マージンとコストはどの許可リストにも含まれません。
生成されたテキストはグラウンディングされます。 散文は、グラフ内の既存の事実から組み立てられ、各主張はそれが由来するノードにリンクされ、自由に生成して後からチェックするのではありません。
データは2つのシステムから同時に取得できます。 名前空間ごとのリゾルバーが、特定の関数がDynamics 365から読み取るか、NCEから読み取るか、またはその両方から読み取るかを決定し、両者が一致しない場合に発散を記録します。これにより、移行をコミットする前に測定することができます。
垂直エンジン
11のエンジンがmainにコードを持っています。それぞれが独自のテーブル、独自のノードタイプ、および他のエンジンとの文書化された境界を持っています。
procurement · product · agreements · vendors · sales · system_design · project · economy · inventory · dynamics365 · diagnostics
エンジンスイートは17が計画されています。段階的に構築されており、完成していません。以下のステータスを参照してください。
構築方法
エンジンスイートは一度に手作業で書かれているわけではありません。229の小さなユニット(各ユニットが1つの関心事、それぞれ独自のブランチとコミット)のシーケンスとして構築されており、各ユニットは受け入れられる前に独立した敵対的レビューを通過します。
レビューはコードを書いたものとは異なるモデルインスタンスによって行われ、それを壊そうと試み、不確かな場合は拒否をデフォルトとするよう具体的に指示されています。これが繰り返し重要であることが証明されています:
在庫移動の変更が、権威トランザクション内で書かれたグラフプロジェクションとともに出荷されました。同じ2つの場所間の双方向トラフィックで、100%の試行でデッドロックが発生しました。リントは通過し、型は通過し、テストスイートはグリーンでした。レビューで発見され、修正は行の書き込みとプロジェクションの両方を正規のキーで順序付けることでした。
イベントバスの変更により、ハンドラーが例外を発生させる代わりにログに記録して返したため、イベントが正常に公開されたとマークされつつ、静かにドロップされることになりました。レビューは何かが出荷される前に2回拒否しました。
10進数の精度ルールをアサートするテストは、ルールが適用されているかどうかに関係なく同一にパスすることが判明しました。なぜなら、その唯一のフィクスチャが両方のパスで同じように丸められたからです。
繰り返し学んだ教訓は、グリーンのテストスイートは見かけほど意味がないということです。失敗する特性は、通常、ドキュメント文字列が最も自信を持って主張し、実際にテストが識別しないものです。
実行方法
cp .env.example .env # fill in the values
make local-up # Postgres, MongoDB, Redis, MinIO via docker compose
make lint typecheck # ruff + mypy
pytest -m "not integration" # unit tests, no database required
pytest -m integration # requires the stack above統合テストは、データベースに到達できない場合、失敗するのではなくスキップします。テストがスキップされた状態でグリーンの終了コードは、合格した実行を示しません — カウントを確認してください。
ドキュメント
完全なドキュメントは**sindrehaugen.github.io/neuro-cognitive-engine**で公開されています — アーキテクチャ、8つのアーキテクチャ決定記録、エンジンごとの管理者およびユーザーガイド、共有コアリファレンス、MCPツールクックブックです。
以下から始めることをお勧めします:
アーキテクチャ — 4データベーススタックとレイヤーの配置
共有コア — エンティティ解決、所有権、自律性ガバナンス、編集
マルチテナンシー —
FORCE ROW LEVEL SECURITYの適用方法MCPツールクックブック — ゲーティングフラグ付きのツールサーフェス
ADR — 決定とそのトレードオフ
レイアウト
nce/ engine core: memory, graph, RLS, autonomy, signing, replay
nce/vertical_modules/ the business engines
nce/migrations/ idempotent SQL, re-applied on boot under an advisory lock
tests/ 391 files; integration tests marked and CI-wired
docs/ source for the published documentation
go/ launcher and hardware detection
trimcp-infra/ Terraform for AWS and GCP
deploy/ compose stacks and container imagesステータス
活発に開発中です。17のエンジンのうち11がmainにコードを持っています。12番目は進行中です。コア基盤(テナント分離、所有権、自律性ガバナンス、監査ログ、署名、再生)は完成しており、その上のエンジンで使用されています。
このリポジトリはアーキテクチャとエンジニアリングアプローチを示すために公開されています。パッケージ化された製品ではなく、サポートの義務はありません。
ライセンス
プロプライエタリ。全著作権所有。レビュー用に公開されています。再利用のライセンスはありません。
Sindre Løvlie Haugen · github.com/sindrehaugen
This server cannot be installed
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
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
MCP-native Trust Infrastructure for AI Agents. Persistent encrypted memory with Trust Quotient.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sindrehaugen/neuro-cognitive-engine'
If you have feedback or need assistance with the MCP directory API, please join our Discord server