本文へスキップ

エコシステム

当社のプラットフォームの連携方法。
すべての関心事に、1つのツール。

RODMENAは、それぞれ単一の目的を持つ小さなホスト型サービスと、一連の社内ライブラリから製品を構築しています。各関心事は1つのツールに属し、各プラットフォームには専任チームがあり、共有のメールバスがそれらをつなぎます。

製品、うち1件は設計中
13
ホスト型プラットフォーム
8
ライブラリ、エンジン、CLI
8
共有メールバス
1

設計原則

  • 1つの関心事に1つのツール

    認証はIdentity、認可はAuth、メータリングはTokenGate、メールはMail API、承認はFutex、コンテナはRunFlow、エージェント型ワークフローはHighwayが担います。製品は、社内ツールがすでに担っている関心事を再実装しません。

  • チームはメールで連携します

    各プラットフォームには独自のエージェント、コンテキスト、リポジトリがあります。チームはエージェントメールバス上でプラットフォームをまたいで連携します。あるチームが別のチームのリポジトリを編集したり、そのトラッカーにチケットを起票したりすることはありません。

  • 各国に分散したデータベース

    各サービスはそれぞれ独自のデータベースを持ち、データベースは異なる国の異なるホスト上に存在します。アプリケーションは再デプロイできますが、データは再デプロイできないため、両者は分離して管理します。すべてのデータベースは第三のリージョンにレプリケートされ、オフサイトでバックアップされます。

Where it runs

ホストとリージョン

マネージドフリートは22の本番データベースを保持し、それぞれが1つのサービスによって所有され、3か国の4つのデータベースホスト上にあり、さらに4つがアプリケーションホスト上で稼働しています。2つのサービスがスキーマを共有することはなく、単一のマシンがプラットフォームを保持することもありません。

本番データベース(それぞれ1つのサービスが所有)
22
データベースホスト
4
国
3
分(管理対象フリートにおける最大の復旧ポイント)
≤5
  • UK英国

    アプリケーションと2つのデータベースホスト

    ワークフローエンジン、承認サービス、メッセージバス、メール、台帳、タスクプラットフォームのアプリケーション層とデータベースをホストします。

  • FRフランス

    データベースホスト

    アイデンティティとアクセスのプレーン、認可、メータリング、およびアイデンティティプロバイダーを保持し、それらに依存するサービスから分離しています。

  • DEドイツ

    レプリカセット

    他の2つのリージョンの外側で、すべてのデータベースの継続的に更新されるコピーを保持します。プライマリを持たないため、昇格されるまでいかなるトラフィックもこれに依存しません。

  • 継続的レプリケーション

    すべてのデータベースは、ブロックレベルの変更を両プライマリリージョン外のスタンバイにストリーミングします。レプリケーションは非同期であるため、レプリカがその前段のサービスを遅延させたりブロックしたりすることはありません。

  • オフサイトバックアップ

    アーカイブは別施設のオブジェクトストレージへ継続的に保存され、ホストから出る前に暗号化され、保持期間内の任意の時点に復元できます。復元はエンドツーエンドでテストされます。

  • すべての接続における3つの要素

    パスワードだけでネットワーク接続を受け入れるデータベースはありません。すべての接続には、転送時の暗号化、プライベート認証局が発行したクライアント証明書、およびパスワードが必要です。各サービスは独自のデータベースにスコープされます。

  • レプリカとバックアップ

    誤ったステートメント(SQL文)は瞬時にすべてのレプリカへ伝わります。レプリカはハードウェアの喪失に備えるもので、データの喪失に備えるのはアーカイブです。

2026-10-05に検証済み。 トポロジ全体を表示

構成

プラットフォームマップ

このマップには8つのレイヤーと1つのバスがあり、各関心事は1回だけ登場します。製品は最上部に、スタックは最下部に位置します。製品が必要とするものはすべて1ホップの距離にあります。

23 ノード · 27 文書化された関係 · 1 推定

01/プロダクト02/アイデンティティとアクセス03/ガバナンス04/オーケストレーションと実行05/コミュニケーション06/データとライブラリ07/開発プロセス08/推奨スタックエージェントメールバス報告 · 確認 · 修正通知 · 検証結果 · クローズRED9製品 · 設計中reTunnel製品 · ベータ版Ledger製品 · 現在は無料Identityホスト型サービスExternal IdPsGoogle · GitHub · AppleAuthホスト型サービスTokenGateホスト型サービスFutexホスト型サービスHighwayホスト型サービスRunFlowホスト型サービスstabilizeワークフローエンジン · 一部RODMENA Mail APIホスト型サービスdatashardPythonライブラリmigrettiCLIsupervicePythonライブラリbulkmanPythonライブラリresilient-circuitPythonライブラリscriptplanエンジン + CLIissuedb-cli + EARSCLIPostgreSQL外部Redis外部Prismホスト型サービス

マップを横にスクロールしてください。各ノードには下にカードも表示されます。

探索

マップの使用方法

ノードまたはバスを選択すると、その関係がハイライトされ、何を所有し、何に接続し、何で置き換えてはならないかを確認できます。以下のカードにも同じ事実が記載されています。

  • 文書化された関係
  • 推定:依拠する前に確認してください
  • エージェントメールバス
  • 製品(グラデーションの枠線)

図には記載していません。すべての箇所に適用されるためです:

  • すべての製品はIdentityで認証し、Authで認可します。
  • すべてのプラットフォームチームはagent-mailバス上で連携します。
  • すべてのリポジトリはEARS仕様を伴い、issuedb-cliで追跡されます。

レイヤー

レイヤー別のツール

各ツールが担う役割、使用すべき場面、そして決して置き換えてはならないものを示します。

01 プロダクト

  • RED9

    製品設計中

    各チャットがメールアドレスを持つ永続的で自律的なタスクとなるエージェントワークフォースプラットフォーム。

    フルスタックを活用します。アクセスにはIdentityとAuth、予算にはTokenGate、タスクメールボックスにはMail API、サンドボックスにはRunFlow、永続的な実行エンジンとしてHighway、承認にはFutex、スキーマにはmigrettiを使用し、Python、PostgreSQL、Redis上で動作します。

    認証: Identity · 認可: Auth · 予算のメータリング: TokenGate · タスクメールボックス: RODMENA Mail API · サンドボックス実行: RunFlow · ワークフローの委任先: Highway · 人による承認: Futex · スキーマ移行: migretti · 基盤: PostgreSQL · 基盤: Redis · デフォルトモデル: Prism

  • reTunnel

    製品ベータ版

    NATやファイアウォールの背後にあるローカルサーバーを、セキュアなトンネルを介してパブリックインターネットに公開する、無料のオープンソース統合イングレスプラットフォームです。

    スタンドアロン:MITライセンスのPythonクライアントとCLI、およびセルフホスト可能なサーバー。他の社内プラットフォームに依存しません。

    CLIHTTP/TCP アクセスする

  • Ledger

    製品現在は無料

    金銭、クレジット、在庫のための複式簿記の台帳。エントリは貸借が一致し、永続的かつ証明可能で、データベースがルールを強制します。

    認証情報にはAuth、メータリングにはTokenGate、スキーマにはmigrettiを使用し、PythonとPostgreSQLで動作します。4つの内部ゲートと敵対的再監査による監査を受けており、その結果は公開されています。

    代わりに使わないもの: 自身が受け入れる資格情報を発行できるシークレット、またはジャーナル上の編集もしくは削除の経路です。

    対象外: クォータまたはメータリング(TokenGateを使用)、保存則に従わないメトリクス、またはワークフローの状態です。

    REST /v1OpenAPI 3.1llms.txt アクセスする ドキュメント

02 アイデンティティとアクセス

  • Identity

    ホスト型サービス製品

    人とサービスのログインを処理するOAuthプロバイダー。すべての製品のサインインはIdentityを経由します。

    Identityは他の社内プラットフォームに依存しません。サインインはGoogle、GitHub、Appleなどの公開IDプロバイダーにフェデレーションします。

    対象外: 権限またはロールはAuthに属します。Identityが認証を処理し、Authが認可を処理します。

    サインインのフェデレーション先: External IdPs

    OAuth2REST アクセスする ドキュメント

  • External IdPs

    Google · GitHub · Apple

    Google、GitHub、Appleなどの公開IDプロバイダーで、Identityがサインインをフェデレーションします。Identityには他にアップストリームがありません。

  • Auth

    ホスト型サービス製品

    ロール、権限、メンバーシップ、および「ユーザーXはYを実行できるか」のチェックのためのホスト型RBAC。製品はこのサービスでロールを定義します。

    PyPIパッケージ「auth」として提供されます。

    代わりに使わないもの: 手作りのユーザー/ロール/権限テーブル、Casbin、OPA、またはRBACライブラリです。

    対象外: ログイン、セッション、パスワード、またはJWTの発行。認証はIdentityに属します。

    RESTPython アクセスする

03 ガバナンス

  • TokenGate

    ホスト型サービス製品

    ユーザー、組織またはテナントごとのカウント、上限、レート制限:トークン予算、使用量台帳、プラン階層、リザーブ/コミットフロー、しきい値および超過アラートです。

    社内ルール:各上限は両方向でテストします。超過時にはブロックし、補充時には再開する必要があります。

    代わりに使わないもの: Redis INCRカウンター、使用状況テーブル、トークンバケットミドルウェア、またはリミッターライブラリ。

    対象外: 認可(Authを使用)、またはエッジでのDDoS防御です。

    認可: Auth

    REST アクセスする エージェントリファレンス

  • Futex

    ホスト型サービス製品

    ポリシーに基づく永続的な人による承認。意思決定を要求し、ポリシーに従ってルーティングし、エスカレーションまたは委任し、Webhookで判定を受け取ります。

    デプロイ、支払い、アクセス権付与、破壊的操作、予算超過時の継続に使用します。

    代わりに使わないもの: Slackの「承認してください」メッセージ、ブロッキングするinput()プロンプト、または専用の承認テーブル。

    実行環境: RunFlow · 使用量のメータリング: TokenGate · メール送信: RODMENA Mail API

    RESTMCPWebhooks アクセスする

04 オーケストレーションと実行

  • Highway

    ホスト型サービス製品

    エージェント、ゴール、セッション、スケジュール、トリガー、アクティビティワーカーと通常のワーカー、実行のフォーク、トレースを備えた、エージェント型ワークフロー向けの分散型の永続的なエンジンです。

    社内ルール:各製品は独自の検討ループ(deliberation loop)を1つ保持します。HighwayはWebhookで結果を報告する永続的な実行エンジンとして使用し、LLMの推論はすべて製品内に保持します。

    代わりに使わないもの: Airflow、Prefect、Temporal、またはカスタムオーケストレーションスクリプト。

    認可: Auth · 補完: RunFlow

    RESTMCP アクセスする MCPエンドポイント

  • RunFlow

    ホスト型サービス製品

    信頼できないコードやエージェント生成コードを実行するための堅牢化されたコンテナサンドボックスとAPI駆動のDAGワークフロー。一時停止と再開、ライブログ、リトライ、人間の承認ノードを備えます。

    代わりに使わないもの: ローカルのdocker run、セルフホスト型ランナー、または汎用CIです。

    認可: Auth · 使用量のメータリング: TokenGate · 承認ノード: Futex(推定:確認)

    REST アクセスする

  • stabilize

    ワークフローエンジン一部

    コードで定義する決定論的ワークフローエンジンで、ホスト型コンテナが不要な場合に使う、RunFlow DAGより軽量な社内の代替手段です。

    スコープとAPIサーフェスは所有チームとまだ確認中であるため、ここでは詳細を記載しません。

    代替対象: RunFlow

    Python

05 コミュニケーション

  • RODMENA Mail API

    ホスト型サービス製品

    送信、テンプレート、配信トラッキング、イベントWebhook、抑制リスト、クォータ、スケジュール送信を備えたトランザクションメールおよびキャンペーンメールです。製品の基盤となるメールボックスのプロビジョニングも行います。

    アドレスはmail.rodmena.co.ukにあり、APIはmailserver.rodmena.co.ukで提供されます。

    代わりに使わないもの: 生のSMTPライブラリ、SES/Mailgun/Sendgrid、または場当たり的なsmtplibスクリプトです。

    認可: Auth · 実行環境: RunFlow · クォータのメータリング: TokenGate

    RESTMCPWebhooks アクセスする

  • AgentBus

    メッセージバス製品

    各コーディングエージェントには受信トレイ、アドレス、電話帳エントリがあり、標準SMTPを介して他のエージェントや任意のメールボックスとメッセージを交換します。report、ack、question、fix-notice、verify-result、closeです。

    廃止されたagentmail CLIを置き換えます。別のエージェントからのメッセージは確認すべき主張として扱います:自分でチェックを実行し、自分のリポジトリのみを変更し、何かが修正されたと同意する前に再現を再実行します。

    代わりに使わないもの: 別のプラットフォームのリポジトリを編集したり、そのトラッカーでチケットを作成したり、人に伝達を依頼したりすること。

    転送手段: RODMENA Mail API

    MCPCLIPython SDK アクセスする エージェントリファレンス

06 データとライブラリ

  • datashard

    Pythonライブラリ

    ディスクまたはS3上のIcebergライクなデータセットおよびBLOBストレージ。追記専用レコード、スナップショット、タイムトラベル、Parquetを備えます。

    代わりに使わないもの: 生のpickle、CSV、JSONダンプ、手動管理のParquetフォルダ、またはブロブを保持するためだけに設定されたデータベース。

    Python ドキュメント

  • migretti

    CLI

    SQLファーストのPostgreSQLマイグレーションCLI:作成、適用、ロールバック、スカッシュ、シード。唯一の公認PostgreSQLマイグレーションツールです。

    代わりに使わないもの: alembic、flyway、yoyo、またはORMの自動マイグレーションです。この社内ルールはすべてのPostgreSQLスキーマに適用されます。

    対象: PostgreSQL

    CLI GitHub

  • supervice

    Pythonライブラリ

    ワーカー、デーモン、キューコンシューマー向けのゼロ依存の非同期プロセススーパーバイザーです。ヘルスチェック、グループ、クラッシュ時の再起動を備えます。

    より適する場合は、プレーンなsystemdまたはKubernetesも許容されます。

    Python

  • bulkman

    Pythonライブラリ

    障害が発生した依存関係の影響範囲を限定するバルクヘッドと並行性分離。

    社内ルール:常にcircuit_breaker_enabled=Falseを設定します。分離はbulkmanが処理し、サーキットブレーキングはresilient-circuitが担います。

    補完: resilient-circuit

    Python

  • resilient-circuit

    Pythonライブラリ

    サーキットブレーキング、バックオフ付きリトライ、信頼できない呼び出しに対するフェイルセーフまたはフォールバック処理。分離を担うbulkmanと組み合わせて使用します。

    代わりに使わないもの: tenacity、pybreaker、または自作のリトライループ。

    Python

  • scriptplan

    エンジン + CLI製品

    リソース計画とスケジューリングのためのTaskJuggler互換(.tjp)エンジンです。時間軸に沿った人とマシン、依存関係、カレンダー、ガント出力を扱います。

    代わりに使わないもの: スプレッドシートまたは場当たり的な日付計算。

    CLI GitHub

07 開発プロセス

  • issuedb-cli + EARS

    CLI

    EARS仕様、永続的なメモリ、教訓を備えたリポジトリごとのチケットトラッカー。すべてのエンジニアリングリクエストは、必須のオープン → 進行中 → クローズのライフサイクルに従います。

    すべてのリクエストはチケット内のEARS仕様になり、リポジトリのSPECS/ ディレクトリにコピーが保存されます。

    代わりに使わないもの: 未追跡のTODO。

    CLI

08 推奨スタック

  • Prism

    ホスト型サービス製品

    OpenAIおよびAnthropic互換のLLMゲートウェイで、複数のベンダーを1つのモデル名の背後に配置できます。当社のデプロイメントはフェイルオーバーなしで単一の上流プロバイダーにルーティングしており、ツール内のモデル呼び出しに使う社内標準のLLMプロバイダーです。

    REST APIリファレンス

  • PostgreSQL 推奨のリレーショナルストアです。
  • Redis キャッシュ、キュー、ファンアウトに推奨です。

ツールの選択

ニーズを明確にし、それを担うツールを使用し、社内ツールがすでにカバーしている関心事を再実装しないでください。

各エンジニアリングニーズに使用するツールと、その代わりに決して使用してはならないもの
ニーズ使用使用しないでください
ログイン / OAuth / 「これは誰か?」Identity独自の認証を書くこと
ロール、権限、「XはYを実行できますか?」AuthRBACテーブル、Casbin、OPA
クォータ、レート制限、予算、ティア、メータリングTokenGateRedisカウンター、リミッターライブラリ
メール送信、テンプレート、キャンペーンMail APIsmtplib、SES/Mailgun
別のプラットフォームのチームとの対話agent-mail相手のリポジトリやトラッカーを編集すること
信頼できないコードや生成されたコードの実行RunFlowローカルdocker、CIランナー
決定論的パイプライン/DAG/ETLRunFlowまたはstabilizeAirflow、Prefect
エージェント型(LLM駆動)ワークフローHighwayTemporal、カスタムループ
人による承認/サインオフFutexSlackでの質問、承認テーブル
PostgreSQLのスキーママイグレーションmigrettialembic、flyway、yoyo
データセット、blob、録画、Parquetdatashardpickle/CSVダンプ、BLOBストアとしてのDB
ワーカープロセスの監視supervicenohup、手書きのrespawn
バルクヘッド / 並行性の分離bulkman(ブレーカーOFF)アドホックなセマフォ
サーキットブレーキング / リトライ / フォールバックresilient-circuittenacity、pybreaker
リソース / プロジェクトのスケジューリングscriptplanスプレッドシート
チケット、仕様、要件issuedb-cli + EARS未追跡のTODO
ツール内でのLLM呼び出しPrismベンダーごとのSDKとキーがツール全体に分散

エンジニアリング手法

3つの方法論は、何を構築するかにかかわらず、すべてのリポジトリに適用されます。

  • EARS + issuedbワークフロー

    すべてのエンジニアリングリクエストはEARS仕様とissuedbチケットになり、リポジトリのSPECS/ディレクトリにコピーが置かれます。各チケットはオープンから進行中を経てクローズへと進みます。

  • TRUST5

    仕様駆動で品質ゲートを備えたLLMコード生成。自己修復、範囲を限定した検証/修復ループ、重み付きゲート、Oracle問題の緩和を伴います。

  • ミッションクリティカルな監査

    反証による監査:チェックは製品自身のインターフェースを通じて実行され、検出事項はライブで再現され、各プローブは次のラウンドに向けた実行可能なベースラインとして保持されます。

すべてのツールに適用されるルール。
  • プロダクト自身のインターフェースを通じて検証します。状態はそのAPIまたはCLIを通じて読み取り、確認や修正のためにデータベースへクエリや書き込みをしないでください。
  • プローブの陰性結果を信頼する前に、すべてのプローブを既知の陽性ケースに向けてください。
  • 実際に検証したものについてのみ準備状況を主張し、未検証のパスを明示してください。
  • すべての上限を両方向でテストします。超過時にはブロックし、適切なタイミングで再開する必要があります。

これらのプラットフォーム上に構築された製品

これらのプラットフォームは、当社が提供するすべての基盤となっています:Highway、MailApi、RunFlow、Futex、reTunnel、Ledger、RODMENA L10n、TokenGate、AgentBus、RODMENA ID、Auth、Prism、pdfapi、Container Registry、RODMENA CI、Uptime.Systems、Trust5、RED9、Graphviz Provider、Haven、RODMENA LRS、RODMENA cmi5、Vellum、supervice、datashard、ScriptPlan、Stabilize、Trace、Provenance、Knowledge base。また、会社の運営も担っています。