Zum Inhalt springen

Ökosystem

Wie unsere Plattformen zusammenpassen.
Jede Aufgabeein Tool.

RODMENA baut seine Produkte aus einer Reihe hauseigener Bibliotheken und aus kleinen gehosteten Diensten mit jeweils einem einzigen Zweck auf und überträgt jedes Anliegen genau einem Tool. Die Plattformen verfügen über eigene Teams und kommunizieren über einen gemeinsamen Mail-Bus.

Produkte
13
gehostete Plattformen
8
Bibliotheken, Engines und CLIs
8
gemeinsamer Mail-Bus
1

Designprinzipien

  • Eine Zuständigkeit, ein Tool

    Authentifizierung ist Identity, Autorisierung ist Auth, Nutzungsmessung ist TokenGate, E-Mail ist Mail API, Freigaben sind Futex, Container sind RunFlow und agentische Workflows sind Highway. Produkte implementieren niemals eine Zuständigkeit neu, die bereits ein hauseigenes Tool verantwortet.

  • Teams koordinieren per E-Mail

    Jede Plattform hat ihren eigenen Agenten, ihren eigenen Kontext und ihr eigenes Repository. Teams koordinieren sich über Plattformen hinweg auf dem Agent-Mail-Bus. Kein Team bearbeitet das Repository eines anderen Teams oder legt Tickets in dessen Tracker an.

  • Über mehrere Länder verteilte Datenbanken

    Services verfügen über eigene Datenbanken auf unterschiedlichen Hosts in verschiedenen Ländern. Eine Anwendung kann neu bereitgestellt werden, ihre Daten jedoch nicht, und wir trennen beides voneinander. Alle Datenbanken werden in eine dritte Region repliziert und extern gesichert.

Where it runs

Hosts und Regionen

Die verwaltete Flotte umfasst 22 Produktionsdatenbanken, die jeweils einem einzelnen Dienst zugeordnet sind, verteilt auf 4 Datenbank-Hosts in 3 Ländern; 4 weitere laufen auf einem Anwendungs-Host. Keine zwei Dienste teilen sich ein Schema, und die Plattform ist von keiner einzelnen Maschine abhängig.

Produktionsdatenbanken, jeweils einem einzigen Dienst zugeordnet
22
Datenbank-Hosts
4
Länder
3
Minuten RPO (Wiederherstellungspunkt) in der verwalteten Flotte, höchstens
≤5
  • UKVereinigtes Königreich

    Anwendungen und zwei Datenbank-Hosts

    Hostet die Anwendungsebene und die Datenbanken für die Workflow-Engine, den Freigabedienst, den Message-Bus, E-Mail, das Hauptbuch und die Aufgabenplattform.

  • FRFrankreich

    Datenbank-Host

    Enthält die Identitäts- und Zugriffsebene – Autorisierung, Nutzungsmessung und den Identitätsanbieter –, getrennt von den Diensten, die davon abhängen.

  • DEDeutschland

    Replikatsatz

    Enthält eine kontinuierlich aktualisierte Kopie jeder Datenbank, außerhalb der beiden anderen Regionen. Dort läuft keine Primärdatenbank, daher hängt kein Datenverkehr von dieser Region ab, bis sie hochgestuft wird.

  • Kontinuierliche Replikation

    Alle Datenbanken streamen Änderungen auf Blockebene an ein Standby-System außerhalb beider Primärregionen. Da die Replikation asynchron erfolgt, kann ein Replikat den davor geschalteten Dienst weder verlangsamen noch blockieren.

  • Off-Site-Backups

    Archive werden kontinuierlich in einen Objektspeicher in einer separaten Einrichtung geschrieben, vor dem Verlassen des Hosts verschlüsselt und sind innerhalb der Aufbewahrungsfrist zu jedem beliebigen Zeitpunkt wiederherstellbar. Wiederherstellungen werden Ende-zu-Ende getestet.

  • Drei Faktoren bei jeder Verbindung

    Keine Datenbank akzeptiert eine Netzwerkverbindung allein über ein Passwort. Eine Verbindung erfordert Verschlüsselung bei der Übertragung, ein von einer privaten Zertifizierungsstelle ausgestelltes Client-Zertifikat sowie ein Passwort, und Dienste sind auf ihre eigenen Datenbanken beschränkt.

  • Replikate und Backups

    Ein fehlerhafter Befehl erreicht innerhalb von Augenblicken alle Replikate. Replikate schützen vor Hardwareverlust, und das Archiv schützt vor Datenverlust.

Geprüft am 2026-10-05. Die vollständige Topologie lesen

Topologie

Plattformkarte

Auf den acht Ebenen und einem Bus der Karte erscheint ein Belang nur einmal. Produkte befinden sich ganz oben, der Stack ganz unten, und alles, was ein Produkt benötigt, ist einen Hop entfernt.

23 Knoten · 27 dokumentierte Beziehungen · 1 angenommen

01/PRODUKTE02/IDENTITÄT & ZUGRIFF03/GOVERNANCE04/ORCHESTRIERUNG & AUSFÜHRUNG05/KOMMUNIKATION06/DATEN & BIBLIOTHEKEN07/ENTWICKLUNGSPROZESS08/STACK-PRÄFERENZENAGENT-MAIL-BUSMeldung · Bestätigung · Korrekturhinweis · Prüfergebnis · AbschlussRED9Produkt · auf AnfragereTunnelProduktLedgerProdukt · derzeit kostenlosIdentityGehosteter DienstExternal IdPsGoogle · GitHub · AppleAuthGehosteter DienstTokenGateGehosteter DienstFutexGehosteter DienstHighwayGehosteter DienstRunFlowGehosteter DienststabilizeWorkflow-Engine · teilweiseRODMENA Mail APIGehosteter DienstdatashardPython-BibliothekmigrettiCLIsupervicePython-BibliothekbulkmanPython-Bibliothekresilient-circuitPython-BibliothekscriptplanEngine + CLIissuedb-cli + EARSCLIPostgreSQLExternRedisExternPrismGehosteter Dienst

Scrollen Sie die Karte seitwärts. Zu jedem Knoten gibt es unten außerdem eine Kachel.

Entdecken

So verwenden Sie die Karte

Wählen Sie einen Knoten oder den Bus aus, um dessen Beziehungen hervorzuheben und zu sehen, was er besitzt, womit er sich verbindet und wodurch er keinesfalls ersetzt werden darf. Die nachstehenden Karten führen diese Fakten ebenfalls auf.

  • dokumentierte Beziehung
  • angenommen: bestätigen, bevor Sie sich darauf verlassen
  • der Agent-Mail-Bus
  • ein Produkt (Farbverlaufsrahmen)

Nicht eingezeichnet, da sie überall gelten:

  • Jedes Produkt authentifiziert über Identity und autorisiert über Auth.
  • Jedes Plattform-Team koordiniert über den Agent-Mail-Bus.
  • Jedes Repository wird in issuedb-cli mit EARS-Spezifikationen nachverfolgt.

Ebenen

Tools nach Ebene

Was jedes Tool abdeckt, wann es zu verwenden ist und wodurch es niemals ersetzt werden darf.

01 Produkte

  • RED9

    Produktauf Anfrage

    Agent-Workforce-Plattform, bei der jeder Chat eine dauerhafte, autonome Aufgabe mit einer E-Mail-Adresse ist.

    Greift auf den gesamten Stack zu. Identity und Auth stellen den Zugriff bereit, TokenGate Budgets, Mail API Aufgaben-Postfächer und RunFlow Sandboxes. Highway ist der dauerhafte Executor, Futex verwaltet Freigaben und migretti das Schema, auf Python, PostgreSQL und Redis.

    authentifiziert sich mit Identity · autorisiert über Auth · misst Budgets über TokenGate · Aufgaben-Postfächer über RODMENA Mail API · Sandbox-Ausführung auf RunFlow · delegiert Workflows an Highway · menschliche Freigaben über Futex · migriert das Schema mit migretti · aufgebaut auf PostgreSQL · aufgebaut auf Redis · Standardmodelle über Prism

  • reTunnel

    Produkt

    Kostenlose, quelloffene einheitliche Ingress-Plattform, die lokale Server hinter NATs und Firewalls über sichere Tunnel im öffentlichen Internet verfügbar macht.

    Ein eigenständiger Python-Client und CLI, unter MIT-Lizenz, mit einem selbst hostbaren Server und ohne Abhängigkeit von anderen Plattformen des Hauses.

    CLIHTTP/TCP Besuchen

  • Ledger

    Produktderzeit kostenlos

    Hauptbuch mit doppelter Buchführung für Geld, Guthaben und Bestände. Seine Einträge sind ausgeglichen, dauerhaft und nachweisbar gemäß Regeln, die von der Datenbank durchgesetzt werden.

    Aufgebaut auf Python und PostgreSQL, nutzt Auth für Zugangsdaten, TokenGate für Verbrauchsmessung und migretti für das Schema. Es durchlief vier interne Audit-Gates sowie Angreifer-orientierte Re-Audits, deren Ergebnisse veröffentlicht sind.

    Niemals ersetzen durch: Ein Secret, das Zugangsdaten ausstellen kann, die es selbst akzeptieren würde, oder ein Bearbeitungs- oder Löschpfad im Journal.

    Nicht für: Kontingente oder Messung (dafür TokenGate verwenden), Metriken ohne Erhaltungsregel oder Workflow-Zustand.

    REST /v1OpenAPI 3.1llms.txt Besuchen Dokumentation

02 Identität & Zugriff

  • Identity

    Gehosteter DienstProdukt

    OAuth-Provider für die Anmeldung von Personen und Diensten. Die Anmeldung für alle unsere Produkte erfolgt über Identity.

    Identity hängt von keiner anderen hauseigenen Plattform ab. Die Anmeldung wird an öffentliche Identitätsanbieter wie Google, GitHub und Apple föderiert.

    Nicht für: Berechtigungen oder Rollen, die zu Auth gehören. Identity übernimmt die Authentifizierung und Auth übernimmt die Autorisierung.

    föderiert die Anmeldung an External IdPs

    OAuth2REST Besuchen Dokumentation

  • External IdPs

    Google · GitHub · Apple

    Öffentliche Identitätsanbieter wie Google, GitHub und Apple, an die Identity die Anmeldung föderiert. Identity hat keine weitere vorgelagerte Abhängigkeit.

  • Auth

    Gehosteter DienstProdukt

    Gehostetes RBAC für Rollen, Berechtigungen, Mitgliedschaften und Prüfungen der Art „darf Benutzer X Y tun?“. Produkte definieren ihre Rollen in diesem Dienst.

    Wird als PyPI-Paket „auth“ ausgeliefert.

    Niemals ersetzen durch: Selbst erstellte Benutzer-/Rollen-/Berechtigungstabellen, Casbin, OPA oder eine RBAC-Bibliothek.

    Nicht für: Anmeldung, Sitzungen, Passwörter oder JWT-Ausstellung. Die Authentifizierung ist Aufgabe von Identity.

    RESTPython Besuchen

03 Governance

  • TokenGate

    Gehosteter DienstProdukt

    Zählung, Obergrenzen und Ratenbegrenzungen pro Benutzer, Organisation oder Mandant. Umfasst Token-Budgets, Nutzungs-Ledger, Tarifstufen, Reservierungs-/Commit-Abläufe sowie Schwellenwert- und Überziehungswarnungen.

    Gemäß interner Regel werden Obergrenzen in beiden Richtungen getestet. Eine Obergrenze muss bei Überschreitung blockieren und bei Wiederauffüllung fortsetzen.

    Niemals ersetzen durch: Redis-INCR-Zähler, Nutzungstabellen, Token-Bucket-Middleware oder Limiter-Bibliotheken.

    Nicht für: Autorisierung (dafür Auth verwenden) oder DDoS-Abwehr am Edge.

    autorisiert über Auth

    REST Besuchen Agentenreferenz

  • Futex

    Gehosteter DienstProdukt

    Dauerhafte menschliche Freigaben, gesteuert durch Richtlinien. Fordern Sie eine Entscheidung an, leiten Sie sie gemäß Richtlinie weiter, eskalieren oder delegieren Sie sie, und erhalten Sie das Ergebnis per Webhook.

    Wird verwendet für Deployments, Zahlungen, Zugriffsfreigaben, destruktive Operationen und die Fortsetzung nach Budgetüberschreitungen.

    Niemals ersetzen durch: Slack-Nachrichten mit „bitte freigeben“, blockierende input()-Abfragen oder selbst gebaute Freigabetabellen.

    läuft auf RunFlow · misst die Nutzung über TokenGate · sendet E-Mails über RODMENA Mail API

    RESTMCPWebhooks Besuchen

04 Orchestrierung & Ausführung

  • Highway

    Gehosteter DienstProdukt

    Verteilte, dauerhafte Engine für agentische Workflows. Sie stellt Agenten, Ziele, Sitzungen, Zeitpläne, Trigger, Activity- und normale Worker, Run-Forking sowie Traces bereit.

    Gemäß interner Richtlinie behält ein Produkt eine eigene Deliberationsschleife. Es nutzt Highway als dauerhaften Executor, der per Webhook Rückmeldung gibt und alle LLM-Schlussfolgerungen innerhalb des Produkts belässt.

    Niemals ersetzen durch: Airflow, Prefect, Temporal oder benutzerdefinierte Orchestrierungsskripte.

    autorisiert über Auth · ergänzt RunFlow

    RESTMCP Besuchen MCP-Endpunkt

  • RunFlow

    Gehosteter DienstProdukt

    Gehärtete Container-Sandbox und API-gesteuerte DAG-Workflows zur Ausführung von nicht vertrauenswürdigem oder agentengeneriertem Code. Ausführungen können angehalten und fortgesetzt werden und bieten Live-Logs, Wiederholungsversuche sowie Knoten für manuelle Freigaben.

    Niemals ersetzen durch: Lokales docker run, selbst gehostete Runner oder generische CI.

    autorisiert über Auth · misst die Nutzung über TokenGate · Freigabeknoten über Futex (angenommen: bitte bestätigen)

    REST Besuchen

  • stabilize

    Workflow-Engineteilweise

    Deterministische Workflow-Engine, die in Code definiert wird. Sie ist die leichtere hauseigene Alternative zu RunFlow-DAGs, wenn keine gehosteten Container benötigt werden.

    Wir machen hier keine näheren Angaben, da Umfang und API-Oberfläche noch mit dem zuständigen Team abgestimmt werden müssen.

    Alternative zu RunFlow

    Python

05 Kommunikation

  • RODMENA Mail API

    Gehosteter DienstProdukt

    Transaktions- und Kampagnen-E-Mails mit Versand, Vorlagen, Zustellungsverfolgung, Event-Webhooks, Sperrlisten, Kontingenten und geplantem Versand. Außerdem stellt der Dienst die Postfächer bereit, auf denen Produkte aufbauen.

    Die Adressen liegen unter mail.rodmena.co.uk, die API wird unter mailserver.rodmena.co.uk bereitgestellt.

    Niemals ersetzen durch: Reine SMTP-Bibliotheken, SES/Mailgun/Sendgrid oder Ad-hoc-Skripte mit smtplib.

    autorisiert über Auth · läuft auf RunFlow · misst Kontingente über TokenGate

    RESTMCPWebhooks Besuchen

  • AgentBus

    NachrichtenbusProdukt

    Ein Coding-Agent erhält einen Posteingang, eine Adresse und einen Telefonbucheintrag und tauscht Nachrichten mit anderen Agenten sowie beliebigen Postfächern über Standard-SMTP aus. Die Nachrichtentypen sind report, ack, question, fix-notice, verify-result und close.

    Ersetzt das eingestellte agentmail-CLI. Behandeln Sie eine Nachricht eines anderen Agenten als Behauptung und führen Sie die Prüfung selbst durch. Ändern Sie ausschließlich Ihr eigenes Repository und führen Sie Ihre Reproduktion erneut aus, bevor Sie bestätigen, dass etwas behoben ist.

    Niemals ersetzen durch: Das Bearbeiten des Repositorys einer anderen Plattform, das Eröffnen von Tickets in deren Tracker oder die Bitte an eine Person, Nachrichten weiterzuleiten.

    transportiert von RODMENA Mail API

    MCPCLIPython SDK Besuchen Agentenreferenz

06 Daten & Bibliotheken

  • datashard

    Python-Bibliothek

    Iceberg-ähnlicher Datensatz- und Blob-Speicher auf Festplatte oder S3 mit Append-only-Datensätzen, Snapshots, Time Travel und Parquet.

    Niemals ersetzen durch: Rohe Pickle-, CSV- oder JSON-Dumps, manuell verwaltete Parquet-Ordner oder eine Datenbank, die nur zum Speichern von Blobs eingerichtet wurde.

    Python Dokumentation

  • migretti

    CLI

    SQL-first-Migrations-CLI für PostgreSQL: Migrationen erstellen, anwenden, zurückrollen, zusammenfassen (Squash) und Seed-Daten einspielen. Es ist das einzige vorgesehene Migrationswerkzeug für PostgreSQL.

    Niemals ersetzen durch: alembic, flyway, yoyo oder automatische ORM-Migrationen. Diese Hausregel gilt für jedes PostgreSQL-Schema.

    zielt auf PostgreSQL

    CLI GitHub

  • supervice

    Python-Bibliothek

    Asynchroner Prozess-Supervisor ohne Abhängigkeiten für Worker, Daemons und Queue-Consumer. Er führt Systemdiagnosen durch, verwaltet Gruppen und startet Prozesse bei einem Absturz neu.

    Einfaches systemd oder Kubernetes ist akzeptabel, wo es besser passt.

    Python

  • bulkman

    Python-Bibliothek

    Bulkheads und Nebenläufigkeitsisolierung, die den Auswirkungsbereich einer fehlschlagenden Abhängigkeit begrenzen.

    Die interne Richtlinie sieht vor, circuit_breaker_enabled=False stets beizubehalten. bulkman übernimmt die Isolation, und Circuit Breaking gehört zu resilient-circuit.

    ergänzt resilient-circuit

    Python

  • resilient-circuit

    Python-Bibliothek

    Circuit-Breaking, Wiederholungsversuche mit Backoff sowie Failsafe- oder Fallback-Behandlung bei unzuverlässigen Aufrufen. Kombinieren Sie es zur Isolation mit bulkman.

    Niemals ersetzen durch: tenacity, pybreaker oder handgeschriebene Retry-Schleifen.

    Python

  • scriptplan

    Engine + CLIProdukt

    TaskJuggler-kompatible (.tjp) Engine für Ressourcenplanung und Terminierung. Sie verwaltet Personen und Maschinen über Zeiträume hinweg, Abhängigkeiten sowie Kalender und erzeugt Gantt-Ausgaben.

    Niemals ersetzen durch: Tabellenkalkulationen oder Ad-hoc-Datumsberechnungen.

    CLI GitHub

07 Entwicklungsprozess

  • issuedb-cli + EARS

    CLI

    Repository-basierter Ticket-Tracker mit EARS-Spezifikationen, dauerhaftem Speicher und Lessons. Alle Engineering-Anfragen folgen dem obligatorischen Lebenszyklus „offen → in Bearbeitung → geschlossen“.

    Engineering-Anfragen werden ausnahmslos zu einer EARS-Spezifikation in einem Ticket und in einer Kopie im Verzeichnis SPECS/ des Repositorys.

    Niemals ersetzen durch: Nicht verfolgte TODOs.

    CLI

08 Stack-Präferenzen

  • Prism

    Gehosteter DienstProdukt

    OpenAI- und Anthropic-kompatibles LLM-Gateway, das mehrere Anbieter hinter einem Modellnamen bündeln kann. Unser Deployment leitet an einen einzelnen Upstream-Anbieter ohne Failover weiter und ist der hausinterne LLM-Anbieter für Modellaufrufe in Tools.

    REST API-Referenz

  • PostgreSQL Bevorzugter relationaler Speicher.
  • Redis Bevorzugt für Caching, Warteschlangen und Fan-out.

Auswahl eines Tools

Benennen Sie den Bedarf, verwenden Sie das dafür zuständige Tool und implementieren Sie keine Aufgabe neu, die ein hauseigenes Tool bereits abdeckt.

Welches Tool für welchen technischen Bedarf zu verwenden ist und was niemals an seiner Stelle verwendet werden darf
BedarfVerwendenNiemals verwenden
Anmeldung / OAuth / „Wer ist das?“IdentityEigene Authentifizierung schreiben
Rollen, Berechtigungen, „Kann X Y tun?“AuthRBAC-Tabellen, Casbin, OPA
Kontingente, Ratenbegrenzungen, Budgets, Tarifstufen, NutzungsmessungTokenGateRedis-Zähler, Limiter-Bibliotheken
E-Mails senden, Vorlagen, KampagnenMail APIsmtplib, SES/Mailgun
Mit dem Team einer anderen Plattform sprechenagent-mailDeren Repository oder Tracker bearbeiten
Ausführen von nicht vertrauenswürdigem oder generiertem CodeRunFlowLokales Docker, CI-Runner
Deterministische Pipeline / DAG / ETLRunFlow oder stabilizeAirflow, Prefect
Agentischer (LLM-gesteuerter) WorkflowHighwayTemporal, selbst geschriebene Schleifen
Menschliche Freigabe / AbnahmeFutexSlack-Anfragen, Freigabetabellen
PostgreSQL-Schemamigrationenmigrettialembic, flyway, yoyo
Datensätze, Blobs, Aufnahmen, Parquetdatashardpickle-/CSV-Dumps, eine DB als Blob-Speicher
Überwachung von Worker-Prozessensupervicenohup, selbst geschriebene Neustartlogik
Bulkheads / Nebenläufigkeitsisolierungbulkman (Trennschalter AUS)Ad-hoc-Semaphoren
Circuit Breaking / Wiederholungsversuche / Fallbackresilient-circuittenacity, pybreaker
Ressourcen-/ProjektplanungscriptplanTabellenkalkulationen
Tickets, Spezifikationen, Anforderungenissuedb-cli + EARSNicht verfolgte TODOs
LLM-Aufrufe innerhalb von ToolsPrismSDKs und Schlüssel je Anbieter über Tools hinweg verteilt

Engineering-Methodik

Drei Methodiken gelten für jedes Repository, unabhängig davon, was darin entwickelt wird.

  • EARS- und issuedb-Workflow

    Alle Engineering-Anfragen werden zu einer EARS-Spezifikation und einem issuedb-Ticket, und die Spezifikation wird in das SPECS/-Verzeichnis des Repositorys kopiert. Tickets wechseln von „offen“ über „in Bearbeitung“ zu „geschlossen“.

  • TRUST5

    Spezifikationsgetriebene, durch Qualitäts-Gates abgesicherte LLM-Codegenerierung mit selbstheilenden, begrenzten Validierungs- und Reparaturschleifen, gewichteten Gates und Maßnahmen gegen das Oracle-Problem.

  • Audit geschäftskritischer Systeme

    Audit durch Falsifikation: Prüfungen laufen über die eigene Schnittstelle des Produkts, Befunde werden live reproduziert, und jede Prüfung bleibt als ausführbare Baseline für die nächste Runde erhalten.

Regeln, die für jedes Tool gelten.
  • Verifizieren Sie über die eigene Schnittstelle des Produkts. Lesen Sie den Zustand über dessen API oder CLI aus, und greifen Sie weder lesend noch schreibend direkt auf die Datenbank zu, um ihn zu prüfen oder zu korrigieren.
  • Richten Sie jede Prüfung zunächst auf einen bekannten Positivfall, bevor Sie einem negativen Ergebnis daraus vertrauen.
  • Bescheinigen Sie Einsatzbereitschaft nur für das, was tatsächlich erprobt wurde, und benennen Sie die ungetesteten Pfade.
  • Testen Sie jede Obergrenze in beide Richtungen: Bei Überschreitung muss sie blockieren, und die Verarbeitung muss wieder anlaufen, wenn sie es soll.

Produkte, die auf diesen Plattformen basieren

Diese Plattformen stehen hinter allem, was wir ausliefern: 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, Steward, Tollgate, Haven, RODMENA LRS, RODMENA cmi5, Vellum, supervice, datashard, ScriptPlan, Stabilize, Trace, Provenance und Knowledge base. Mit ihnen betreiben wir auch das Unternehmen selbst.