組織——企業、政府、コミュニティ——を生きた地理空間ネットワークに変えるノーコードAIオペレーティングシステム。地図上のコミュニティとルーム、回答・販売・人と人をつなぐAIアシスタントを、独自ブランドでウェブ・iOS・Androidに提供。2016年より本番稼働中。
aap-human-agent テンプレート——ヒューマンエージェント相互作用パターン群(エスカレーション、デリゲーション、プロキシエージェント、権限境界)——です。ダウンロードを実行するのはエージェントであり、権限は人間が保持します。
CONFIDENTIAL — Carlos Matias Baglieri 2026 · 2016年より本番稼働中
製品ビジョンから実際の実装まで:Rustバックエンド、Next.jsフロントエンド、デプロイ、ロードマップ。
空間がルータであること、13の質問タイプ、隔離・フェデレーション・エージェント的・プロアクティブ。
ゼロI/Oドメイン、ポート & アダプター、3つの認証レジーム、単一Postgres、リアルタイム。
4アプリ、13パッケージ、SDKファサード、RBAC can()、シングルサインイン、デザインシステム。
7サービス、ALBでのTLS、preprod直接デプロイ、mainへの整合性ゲート。
v2の方向性、明示的に未実装。
何が本番で、何が設計で、何が予測か。
すべての人は自分の個人組織を持ち、n個の組織を購読します。すべての組織——企業 · 政府 · 組合 · コミュニティ——はn個のネットワークを含み、各ネットワークはn個のコミュニティを含み、各コミュニティはn個のルームを含みます。すべてのノードは固有のマルチポリゴンを持ちます:包含は内側へ向かう(ネットワークのポリゴン内部の細分化されたコミュニティ)か、外側へ向かう(ポリゴン外部のコミュニティ)かのいずれかです。トポロジは数学的な意味でフラクタルです:各レベルは前のレベルの自己相似コピーであり——S = ⋃ fᵢ(S)、Hutchinson演算子のアトラクタ(バナッハの不動点定理)。ネットワーク同士は相互運用します(フェデレーション):あるネットワークは公開情報のみを共有して別のネットワークに接続します。人が組織に参加すると、そのn個のコミュニティとn個のルームへのアクセスを得ます。組織で行う仕事は組織内で追跡され、個人組織へミラーされます:それは人ごとのレピュテーションを生み出し、解決済みの問題へと蒸留され、それらは本人の個人ネットワークにコピーされ、そこで追跡されます。蓄積された回答から、HAIはユーザーごとのコンテキストレイヤを構築します。
各上位レイヤは、型付きインターフェースを介して下位レイヤの保証を合成します。製品(v1モジュール):HAI、マッチメイキング、チャット、カレンダー、マーケット、ソーシャル。4つのレイヤの上に、10のセクター実装。
各原則は意図表明ではなく、検証可能な保証です。3つ合わせて、合成則(エンドツーエンド)、セクター倍増則(修正なしの継承)、正直則(実装かつ測定済み = 保証)を確立します。
2016年より本番稼働中。意図的に狭くした合成可能な前提:相互作用とは型付き質問のワークフローであり、あらゆる回答が明確に定義されたコンテキストに届くよう、プラットフォームは地理的位置付きのトポロジです。v2ではエンジンは2つの推論レイヤで動作します:学習済みネットワーク(決定論的、LLMなし)と、存在しないノードを埋めてネットワークを崩縮させるA2A推論。
販売者が価格・カテゴリ・空き状況付きのサービス(type_event)を提供し、顧客が参加者・日付・場所付きで予約(event)します。ホワイトラベルモードでは、同じネットワーク内のすべての販売者が可視かつ注文可能です——「他者が私のネットワークで売る」。支払いはネットワーク内にマーチャントを作成し、product_keyで製品を検索します。
販売者がマーチャント・提供者・価格付きの製品(market_product)を出品し、オファー/クーポンを添付します。顧客はカート(market_item)を組み、ネットワークキーをjson_dataに刻印してチェックアウト(merchant_tx)します。両側に紛争と評価があります。マーチャントは merchant.network でネットワークに紐づきます——「他者が私のネットワークで売る」。
HAIは、ユーザーが何を探しているかを理解することで各ユーザーの個人ネットワークを埋めます:ネットワークは事業/政府/コミュニティ/組合のウェブサイトまたはドキュメントから自動的に構築され、質問フローが生成され、異なるルーム(同じまたは異なるコミュニティ)のマッチング間のクロスリンクも生成されます。マッチメイキングはプロセスを自動化します:1つのユーザー意図 → コミュニティのディスパッチチャネルへの発注書、対象ルームにジオロケーション。socket + FCM上のリアルタイムチャット。フローは横断的(ルームをまたぐ)であり、2つの推論レイヤで動作します:学習済みネットワーク + 埋めて崩縮させるA2A。
ネットワークは自らの空間でプロモーションを実行し、ユーザーはソーシャルモジュールで相互作用します:いいねとコメント付きのニュース/ストーリー、カテゴリは管理者が設定します。ソーシャルフィードはトポロジの中に存在します——ネットワークが発行し、コミュニティが細分化し、ルームが受け取ります。
すべてのモジュールはネットワークのルームに存在し、横断的です:プリセールスを行うゲストルームからのデータフロー(HAI)は、テクニカルサポートを持つ顧客からのデータフローに接続します。v1(静的グラフ)とは異なり、ここにはニューラルネットワークがあります:後続のノードが存在しなければ、A2Aが次のステップを決定して保存し、ネットワークは崩縮します。スコープは有限です——あるユーザーがネットワークで尋ねたものは全員のために保存されます——そしてA2A経由のLLM消費は時間とともに減少し、決して増えません。
企業、政府、NGO、コミュニティは2016年から単一のAI基盤を共有し、非公開のものを証明可能なかたちで非公開のまま保っています。リファレンスモニターによる完全な媒介;許される唯一のチャネル = 公開スコープ。
ネットワークは公開射影の上でフェデレーションします。マッチメイキングは近接半径内の公開スコープのみで動作します;繰延受理 → 安定マッチング。
システムが尋ね、ユーザーが答え、答えがコンテキストになります。エリシテーションは型付き(エンジンは驚きなしで計算する)、忠実、かつ効率的です。レイヤ 1(学習済みネットワーク、決定論的)で動作し、ノードが存在しないときはレイヤ 2(A2A)がステップを決定して永続化し、ネットワークは崩縮します——少数の質問で学習し、新しい質問はすべて全員のために保存されます。
一部のノードはオープンエンドな作業を必要とします:正しい型の答えを得るまで、ツール呼び出しと推論を交互に行う(ReActスタイル)LLMエージェントです。これは推論レイヤ 2(A2A)です:後続のノードが学習済みネットワークに存在しないとき、エージェントが次のステップを決定して永続化し、ネットワークは崩縮します——LLM消費は時間とともに減少し、決して増えません。エンベロープは3つの失敗モードを有界化します。
保証されないもの:値の意味論的正しさ。エージェントは完了し、スコープ内に留まり、型付きだが誤った答えを出力することがあります——これはエンベロープではなく、評価と人間のゲートで対処します。
リアクティブなチャットボットの逆:待つのではなく、自ら開始します。難しいのは抑制です——行動することの期待純価値が沈黙の価値を超えるときだけ発言します。
行動できるエージェント——お金を使う、第三者に連絡する、データを動かす——は、ユーザーが同意した範囲によって有界化され、与えられた目的のためだけに情報を使い、説明と取り消しを可能にする痕跡を残さなければなりません。
有界なデリゲーション、コントラクトネット配分(announce → bid → award)、そして調整の正直な限界:活性は部分同期の下でのみ。
完全媒介、メカニズムの簡潔性、フェイルセーフなデフォルト。セキュリティ負債がプラットフォームのいくつかの保証の条件となっています。
主張Cがデプロイで裏付けられるのは、(i) 型付きであり、(ii) すべての前提が本番パイプラインから検証済みエビデンスを持ち、(iii) 前提が結論を満たすとき、かつそのときに限ります。そうでなければ、Cは設計主張です。


各セクターデプロイはレイヤ1〜4を修正せずにインスタンス化し、その保証を継承します。
ちょうど1回の配信、リトルの法則、拠点間の非干渉。
平等な取扱い、監査可能性、公平性の不可能性。
レキシミントリアージ、最適輸送、脆弱な人々のプライバシー。
持続的な協力、レピュテーション、オストロムの原則。
臨床プライバシー付きのケアトポロジ。
トポロジ上の学習パス。
スクリーニングパイプラインとパワーカーブ。
財の移動、価格の公平性。
明示的な民事防衛スコープ。
コモンズ上のレピュテーションとガバナンス。

コアメカニズムは2016年からデプロイされています。
能力の大部分は2026年時点の設計;自律はその全スコープにわたり設計です。
すべての定量数値は予測であり、稼働中のプラットフォームでの測定を待っています。
合成ルート(api)→ ユースケース ×10 → アダプター(ledger、a2a、courier)→ ドメイン(core、ゼロI/O)。すべてを担う単一のPostgres(Timescale pg17 + pgvector):台帳、イベント、エンベディング、ジョブ/whisperジオキャッシュ。SQLはコンパイル時に検証(.sqlx/オフラインキャッシュ、107クエリ)。
ドメイン(everythink-core)はI/Oを知りません。アダプターはDB、メール、A2Aのポートを実装します。ユースケースがオーケストレーションを行います。合成ルート(everythink-api)がすべてを配線します。
各クレートには役割があります:合成ルート(api)、クライアント(sdk、cli)、ユースケース ×10、インフラアダプター(a2a、courier)、ポート + 永続化(ledger)、ドメイン(core)。
everythink-apiがハブであり、すべてがcore(ゼロI/O)に依存します。SDKはcoreに結合しているため、ワークスペース内(backend/crates/everythink-sdk)に存在します。
注:libs/ には他言語のSDKが置かれます(ベンダーリファレンス、外部コード)。
クライアント → api(認証 + レート制限 + 検証)→ loom(実行)→ ledger(リポジトリtrait経由でプロファイル解決)→ sisters(ファンアウト)→ oracle(マージ → 正規化Ensemble)→ ledger(永続化)→ 200 OK。
loom — オーケストレーション:LoomStoreポート / LoomPersistenceアダプター経由で永続化。ingest — シグナルパイプライン:受信シグナルを処理。scry — センチメント:リファレンスポート SentimentReader / PgSentimentReader。eval — リグレッションハーネス:継続的評価。warden — 認証:JWTアクセス/リフレッシュ、Google OAuth、IPバインディング。whisper — HMAC署名付きウェブフック、ちょうど1回の配信。
受信リクエスト → Trace + request_id → Timeout 60秒 → 408 → CORS + 圧縮 → 5分岐のルートサブツリー。
パブリック(プローブ/登録/ログイン/リフレッシュ)· Eye-Key(HMAC、60秒スライディングのレート制限)· ユーザーJWT(warden、Console)· Atlas WS(自己認証、ユーザーごとの上限)。
can(role, action) をconst fnとして:Owner → true;Profile Read/Write Self → true;(role, action) の明示的マッチ;残り → Ownerのみ。ハンドラー内でAUTHORIZE → 拒否時に403。
timescale/timescaledb-ha:pg17 + pgvector(vector(1024) + HNSW)。1つのプール。6つのデータドメイン:Ledger、Simulations、Users、Embeddings、geo_signals、Jobs。ヘルスチェック:docker-compose内の pg_isready(service_healthy)。
リポジトリTRAIT · Pg*Repository(すべてのSQLはここにある)· MockRepository(DBなしのテスト)· AppState: Arc<dyn Repository> · ユースケースはTRAITを呼び出します。
.up.sql + .down.sql(ペア)を編集 → just sqlx-prepare → .sqlx/*.json(107クエリ)をコミット → SQLX_OFFLINE=true で稼働DBなしにビルド/CI。
docker-compose:postgres(pg_isready、10s/5s/10)→ dragonfly(redis-cli ping、10s/3s/10)→ api(service_healthy)。app/admin:ヘルスチェック無効(distroless/static)。CI:SQLX_OFFLINE=true、.sqlx/キャッシュをコミット済み。
TideBroker:複合トピックのSSE、broadcast 256、キープアライブ 15秒、Last-Event-IDによる再接続。GeoHub:WS、DashMap[Tile → broadcast 64]、ビューポートステアリング、gzipオプトイン。
LoomStoreポート / LoomPersistenceアダプター経由で永続化します。
受信シグナルをシステムに取り込んで処理します。
リファレンスポート SentimentReader / PgSentimentReader。
品質の継続的評価。
JWTアクセス/リフレッシュ、Google OAuth、IPバインディング。
永続的で、ちょうど1回の配信。
パスワードハッシュ(bcrypt)、ローテーションするJWTアクセス/リフレッシュ、Google OAuth、異常検出のためのIPバインディング付きセッション。
Console + Atlas WS のユーザーJWT境界。/auth で一度サインインすると、トークンは localStorage('everythink:auth') に書き込まれます。
WhisperStoreポート / PgWhisperStoreアダプターを持つ配信ワーカー。受信側でのペイロード検証用のHMAC署名。
指数バックオフでの再試行、ちょうど1回のセマンティクス、永続的失敗向けのデッドレターキュー。
エージェントタスクエンベロープ、ステータスポーリング、結果取得を伴うHTTP上のJSON-RPC。呼び出し側を変更せずにSisterをプロセス外へ移動できます。
Brevoアダプターまたはロギングno-op。システム通知用のテンプレートレンダリング + 配信追跡。
new-key は Eye Key をブートストラップ発行します:ローカルのEd25519鍵ペアを生成し、フィンガープリント → Postgres、平文はメモリ上で一度だけ表示、認証にHMAC。
backend/crates/everythink-sdk:everythink-coreに結合しており、core(ゼロI/O)のみに依存、ドメイン利用者向け。
厳密に1か所だけ:everythink-oracle::ensemble。sum(prob) ≈ 1.0、シナリオは降順ソート、エントロピーはナット。
Postgresに行くのはHMAC + フィンガープリントだけ。平文はメモリ上で一度だけ表示されます。
SisterOutputを返し、Loomが永続化します。生成と保存の明確な分離。
すべての .up.sql には対応する .down.sql があります。just migrate-add NAME が両方を作成します。
テストはモックを使います。具象アダプターではなくtraitに依存します。
アダプターの外で具象Pg*を使うことはありません。プライベートテーブルにはスライス所有のポート。
web (:3000) · app (:3001) · admin (:3002) · mobile (Expo)。パッケージ:types、sdk-core + ファサード、domain、ui、auth、api-client、telemetry、config。
アクター:エンドユーザー(ゲスト → 認証済み)· 開発者(Eye-Key)· 管理者/運用者(スタッフ)。サーフェス:web/app/admin/mobile。バックエンドAPI(/api/v1配下の REST + SSE)。
4アプリ + SDKレイヤ(6ファサード)+ サービス(4)+ デザインシステム + ツーリング + types(リーフ)。ズームで探索してください。
sdk-core(HttpClient、consumeSSE、TokenProvider)· sdk-guest · sdk-auth · sdk-atlas · sdk-eye · sdk-admin。
domain(マッパー)· telemetry(アウトボックス)· api-client(レガシー)· auth(NextAuth v5 + RBAC)· ui(キット + トークン)· config(eslintプリセット)· types(Zod、リーフ)。
エンドポイントはファサードにのみ存在します。sdk-coreは @everythink/types に対してZodですべてのレスポンスを検証し、ドリフト時にはContractViolationを持つSdkErrorツリーを投げます。
スクリーン(View)→ ビューモデルフック → feature.repository.ts(SDKへの唯一の扉)。ESLintの境界 no-restricted-imports(INV-1)。FSDレイヤ:shared → entities → features → widgets → app。
apps/web の /auth(単一オリジン)→ httpOnlyクッキー 'everythink_at' → メモリ内トークン + localStorageシード → EverythinkAuthGuard + resolveMe(GET /api/v1/auth/me)→ ロールベースのゲート。
3レイヤ:(1) アプリごとの auth.ts allowedRoles → (2) ミドルウェア → (3) UI + サーバーアクション内の can()。バックエンドの everythink_core::rbac のミラーです。
デザインの唯一の真実のソース::root のCSSトークン、@theme(Tailwind v4)によるセマンティックマッピング、ミラーされたトークンによるモバイルのNativeWind。アプリはセマンティックコンポーネント(bg-accent、text-foreground、font-display/mono)を消費し、生のhexは決して使いません。Cosmic-purpleパレット:--gold: #d9ab5c、--violet: #9d7df5、--emerald: #10B981。
ワイヤ型は @everythink/types にZodで一度だけ定義されます。SDKはすべてのバックエンドレスポンスを検証し(z.parse(response))、不正なペイロードはクラッシュではなく ApiError を投げます。コンポーネントは生のJSONを見ません:*.repository.ts がパースし、@everythink/domain がDTO → モデルをマップし、ビューモデルが型付き状態をViewに公開します。
React Native + expo-router(ファイルベースルーティング)+ NativeWind(RN用Tailwind)。テーマシステムはウェブのデザインシステムトークンをミラーします(tailwind.config.js + src/theme/index.ts)。sdk-guest、sdk-auth、sdk-atlas、domain、telemetry を消費します。ウェブCIから除外:--filter=!@everythink/mobile。
慣習ではなくESLint + TypeScriptで検証可能なルール:(1) INV-1:*.repository.ts のみがSDKをインポート(no-restricted-imports);(2) FSDレイヤ:インポートは下向きに流れる(shared → entities → features → widgets → app)、機能横断はパブリックバレル経由のみ;(3) 共有サインイン:web + app が localStorage('everythink:auth') + resolveMe() を共有;(4) 3レイヤRBAC:auth.ts allowedRoles → ミドルウェア → UI + サーバーアクション内の can(role, action)。
ALB → nginx :80 → api/web/app/admin + postgres + dragonfly。すべてを担う単一のPostgres(TimescaleDB pg17 + pgvector)。Dragonflyはキャッシュ、ジョブ、SSEファンアウト用。
ALB(TLS)→ nginx :80 → api(:18081、起動時マイグレーション)· web(Next standalone)· app/admin(静的distroless)· postgres(timescale/timescaledb-ha:pg17 + pgvector)· dragonfly(Redis互換)。7サービス:postgres · dragonfly · api · web · app · admin · nginx。
nginx :80 が唯一の内部入口です。/api/v1/* → api:18081、/ → web:3000、/app/* → 静的、/admin/* → 静的、とルーティングします。webは EVERYTHINK_API_INTERNAL_URL(http://api:18081)経由でapiと通信します。apiは postgres と dragonfly に condition: service_healthy で依存します。
docker-compose.prod.yml は backend/.env を env_file 経由で api と web サービスにマウントします。apiがすべてのシークレットを保持します(JWT_SECRET、EYE_KEY_HMAC_SECRET、GOOGLE_CLIENT_ID、BREVO_API_KEY)。webは NEXT_PUBLIC_* 変数のみを受け取り——BREVO_API_KEY は決して保持しません。app/adminは静的distrolessで、ビルドにシークレットが含まれません。
2つのデプロイ経路:preprodは作業ツリーから直接(mainを経由せず)デプロイし、本番はmainへのマージと整合性ゲートを要求します。このルールは決定的です:deployワークフローをpreprodに使わないでください。mainの :latest をプルして直接デプロイを上書きしてしまうためです。
2段パイプライン:PR段は影響のあるものだけを実行(バックエンド:ci-affected-crates.sh;フロントエンド:turbo --affected)、main段は完全な整合性を実行(バックエンド + フロントエンド/モバイル全体 + E2E + セキュリティ)。mainはグリーンでデプロイ可能なまま保たれます。
v2に向けたロードマップの方向性。以下のいずれも既存の能力ではありません。フロー:運用者がローカルのEd25519鍵ペアを生成 → コントローラーに行くのはフィンガープリントのみ(BYOK)→ セルフホストノード → 台帳アンカリング → 公開射影のみでのフェデレーション → ネットワークDAO。
| フェーズ | 項目 | 依存 | 成果物 |
|---|---|---|---|
| 1 | BYOK | — | クレート everythink-byok · テーブル node_keys · Ed25519アイデンティティ + ウェブフック · コントローラーはフィンガープリントのみ保持 |
| 2 | 台帳アンカリング | フェーズ 1 | クレート everythink-anchor · テーブル anchor_commitments · 公証ジョブ · チェーン = 運用者の決定 |
| 3 | フェデレーションされたセルフホストノード | フェーズ 1–2 | ノードDockerイメージ(postgres、dragonfly、api、web、app、admin、nginx)· フェデレーションプロトコル |
| 4 | ネットワークごとのDAO | フェーズ 2 | クレート everythink-dao · network_proposals/network_votes/provenance_log append-only |
| 5 | ウォレット + ガバナンス | — | クレート everythink-wallet · wallets/network_memberships · 従業員/起業家/自営業のペルソナ |
各フェーズ:.up.sql + .down.sqlマイグレーション、オフライン.sqlxキャッシュの更新、TDD(80%以上)、グリーンなjust ci。組織タイプ構造は実装済みです(5値のOrgKind、DB CHECK、7つの法的構造のオンボーディング)。
Postgres台帳ハッシュコミットメントを公証するためのアーキテクチャリファレンス:Solana v0.8.13(Yakovenko)—— 暗号学的時計としてのPoH、ボンド/スラッシング付きのPoSコンセンサス、ストレージ用のPoRep。チェーン選択は明示的な運用者の決定であり、これは実装ではなくリファレンスです。
ビジョンから実装まで:トポロジとHAIエンジン(2016年より本番)、17のヘキサゴナルクレートを持つRustバックエンド、FSD/MVVMのNext.js 16フロントエンド、Postgres + pgvector、2段CI/CD、デプロイ。境界に関する注記:予測エンジン(sisters/oracle/loom)は同じ作者による別の製品であり、ワークスペース内に存在します。
aap-human-agent テンプレート——ヒューマンエージェント相互作用パターン群(エスカレーション、デリゲーション、プロキシエージェント、権限境界)——です。ダウンロードを実行するのはエージェントであり、権限は人間が保持します。
Everythink Studio · Carlos Matias Baglieri 2026 · docs/architecture.md · backend/README.md · frontend/README.md · COLLABORATION.md · cto.md