Conductor-E¶
Conductor-E is the backend API for the Engineering Rig. It provides the event store, assignment engine, and escalation logic that powers the automated development system.
Architecture¶
Conductor-E uses Clean Architecture — the Core project has zero external dependencies.
Runs as two components in the same Kubernetes namespace:
- Automate-E instance — Discord bot, GitHub MCP tools, Claude Haiku (shared runtime)
- Conductor-E API — .NET 10, Marten event store on PostgreSQL, Clean Architecture (this repo)
┌──────────────────── conductor-e namespace ────────────────────┐
│ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ Conductor-E │ HTTP │ Conductor-E API │ │
│ │ (Automate-E) │───────▶│ (.NET 10) │ │
│ │ │ │ │ │
│ │ Discord bot │ │ Domain: │ │
│ │ GitHub MCP (26) │ │ Events (pure) │ │
│ │ Claude Haiku │ │ ReadModels │ │
│ │ 1-year sub token │ │ Ports: │ │
│ └──────────────────┘ │ IEventStore │ │
│ │ IIssueQuery │ │
│ │ UseCases: │ │
│ │ SubmitEvent │ │
│ │ Adapters: │ │
│ │ Marten → PG │ │
│ └────────┬─────────┘ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ PostgreSQL 16 │ │
│ │ Marten schema │ │
│ └──────────────────┘ │
└───────────────────────────────────────────────────────────────┘
Tech Stack¶
| Layer | Technology |
|---|---|
| Architecture | Clean Architecture (Core: zero deps) |
| API | .NET 10, ASP.NET Core Minimal API |
| Event Store | Marten 8.x on PostgreSQL 16 |
| Projections | Marten inline (IssueStatus, AgentStatus) |
| Stream Identity | String-based (repo#issueNumber) |
| LLM Auth | 1-year Max subscription OAuth token |
| Container | Docker (buildah on Dell) |
| Orchestration | Kubernetes (Dell k3s cluster) |
| Tests | xUnit + Testcontainers PostgreSQL |
Project Structure¶
src/
ConductorE.Core/ ← ZERO external dependencies
Domain/Events.cs Pure event records
Domain/ReadModels.cs Pure read model records
Ports/IEventStore.cs Interfaces
UseCases/SubmitEvent.cs Business logic
ConductorE.Api/ ← Frameworks & Drivers
Program.cs DI wiring, endpoints
Adapters/MartenEventStore IEventStore → Marten
Adapters/MartenProjections Inline projections
tests/
ConductorE.Core.Tests/ 28 unit tests (FakeEventStore)
ConductorE.Api.Tests/ 11 integration tests (Testcontainers PG)
Quick Links¶
- Architecture — Clean Architecture, event flow, projections, test coverage
- Event Store — all 20 event types, payloads, recovery paths
- API Reference — endpoints, request/response formats
- Deployment — k8s manifests, secrets, building images
Status¶
| Component | Status |
|---|---|
| Event Store (Marten) | Running |
| Inline Projections | Running (IssueStatus, AgentStatus) |
| API Endpoints | Running (6 endpoints) |
| PostgreSQL | Running |
| Clean Architecture | Implemented (Core: 0 deps) |
| Tests | 39 passing (28 unit + 11 integration) |
| Coverage | 70% Core line, 90% branch |
| Assignment Engine | Events only (coordination loop not yet built) |
| CI/CD | Manual (buildah on Dell) |