- Get Started

Components and interactions

Start here for the system map. Manager owns product and runtime authority. Coder runs workspaces. Nexus coordinates one tenant; Forge, Sentinel, Vessel, and Lore do ticket-scoped work. The diagrams show the boundaries first, before the sequence diagrams explain individual requests.

The control plane and execution plane

flowchart TB
    user["Signed-in user"] --> manager["OpenFlows Manager"]
    manager --> postgres[(PostgreSQL)]
    manager --> secrets["Secret provider"]
    manager --> coder["Coder"]
    manager --> github["GitHub App"]
    coder --> runtime["Nexus and worker workspaces"]
Manager holds authority; Coder runs tenant workspaces
View diagram source
flowchart TB
    user["Signed-in user"] --> manager["OpenFlows Manager"]
    manager --> postgres[(PostgreSQL)]
    manager --> secrets["Secret provider"]
    manager --> coder["Coder"]
    manager --> github["GitHub App"]
    coder --> runtime["Nexus and worker workspaces"]

Workspaces do not receive Manager's Coder operator credential or GitHub App private key. They authenticate as one registered runtime. Manager is the control plane for provisioning and credential scope, not a proxy for every agent message.

Inside one tenant

flowchart TB
    manager["Manager"] --> nexus["Nexus controller"]
    nexus --> forge["Forge"]
    nexus --> sentinel["Sentinel"]
    nexus --> others["Vessel and Lore"]
    nexus <--> redis[("Tenant Redis")]
    nexus --> artifacts["Shared role artifacts"]
Nexus coordinates workers inside one tenant
View diagram source
flowchart TB
    manager["Manager"] --> nexus["Nexus controller"]
    nexus --> forge["Forge"]
    nexus --> sentinel["Sentinel"]
    nexus --> others["Vessel and Lore"]
    nexus <--> redis[("Tenant Redis")]
    nexus --> artifacts["Shared role artifacts"]

Forge and Sentinel exchange verification through Nexus's tenant-local A2A relay. Manager provisions and scopes those workspaces, but it is not on the A2A message path. Redis holds the tenant coordination state and is protected by tenant-specific credentials.

Who talks to whom

InteractionAuthorityPurpose
User → ManagerBrowser sessionSign in, connect GitHub, create an organization and tenant
Manager → CoderServer-held operator credentialProvision templates and workspaces through durable operations
Workspace → ManagerOne-time bootstrap, then runtime access tokenRegister, heartbeat, request authorized operations and credentials
Manager → GitHub AppServer-held App private keyMint repository-scoped installation tokens
Workspace → GitHubShort-lived installation tokenSynchronize issues, clone, push, and inspect PRs
Coder → Manager → NexusGlobal hook signature, then tenant hook signatureDeliver a lifecycle event to the right tenant
Nexus ↔ tenant RedisTenant Redis ACL and namespaceStore tickets, assignments, heartbeats, hook audit and A2A evidence
Sentinel / Forge → NexusTicket pair tokenRequest, claim and return verification evidence

Read the flows next

Continue to Manager runtime for registration and provisioning, then Credentials and trust and Hooks and A2A for the cross-boundary protocols.