Engineering Rig¶
The Engineering Rig takes GitHub issues from backlog to merged PR with minimal human intervention. Event-driven, scale-to-zero, full lifecycle visibility.
Partly re-checked 2026-09-23. The Current Status rows (except rig-conductor Bot) and the Host row below were corrected from the Dell to the GCP rig. The rest of this page was last revised 2026-04-20 and has not been re-checked. In particular, the
1Mimemory request under Infrastructure is the single-node rule that the 2026-09-07 outage retired (rig-gitops#725). kubernetes.md is current.
Current Status¶
| Component | Status | Where |
|---|---|---|
| rig-conductor API | Running | GCP k3s (invotek-k3s), rig-conductor namespace |
| rig-conductor Bot | Running | Dell k3s, Rig Agent Runtime instance |
| Dev-E (Node) | Scale-to-zero | GCP k3s (invotek-k3s), dev-e namespace |
| Dev-E (Dotnet) | Scale-to-zero | GCP k3s (invotek-k3s), dev-e namespace |
| Dev-E (Python) | Scale-to-zero | GCP k3s (invotek-k3s), dev-e namespace |
| Review-E | Scale-to-zero | GCP k3s (invotek-k3s), review-e namespace |
| iBuild-E | Connected since 2026-09-24 (consumes assignments:ibuild-e); completing a task not yet verified (claude-3#878) |
Mac Mini M4, system LaunchDaemon ai.invotek.ibuild-e |
| KEDA | Running | GCP k3s (invotek-k3s), keda namespace |
| Valkey | Running | GCP k3s, rig-conductor namespace. Upstream valkey/valkey:9.0.6 StatefulSet (since 2026-09-23, rig-gitops#819), digest-pinned, auth off |
| PostgreSQL (Marten) | Running | GCP k3s, rig-conductor namespace. pgvector/pgvector:pg16 digest-pinned (PostgreSQL 16.13) |
| Dashboard | Live | rig-conductor.dashecorp.com |
Pipeline¶
Issue labeled "agent-ready"
→ GitHub webhook → rig-conductor
→ Reads .rig-agent.yaml → routes to dev-e-{stack}
→ KEDA wakes agent (0→1 in ~25s)
→ Agent implements → PR created
→ rig-conductor routes to Review-E → KEDA wakes
→ Review-E approves → rig-conductor merges
→ Issue done. Agents scale back to 0.
Full details: Architecture
Agents¶
| Agent | Role | Stack | Scaling |
|---|---|---|---|
| rig-conductor | Orchestrator — webhooks, events, merge, dashboard | .NET API | Always on |
| Dev-E (Node) | Implements issues — JS/TS repos | Rig Agent Runtime :node |
KEDA 0→1 |
| Dev-E (Dotnet) | Implements issues — C# repos | Rig Agent Runtime :dotnet |
KEDA 0→1 |
| Dev-E (Python) | Implements issues — Python repos | Rig Agent Runtime :python |
KEDA 0→1 |
| Review-E | Reviews all agent PRs | Rig Agent Runtime :node |
KEDA 0→1 |
| iBuild-E | iOS/macOS tasks (Xcode) | Mac Mini M4 | Always on |
| Human devs | Any AI tool via rig-tools |
Local machine | N/A |
Repos¶
| Repo | Visibility | Purpose |
|---|---|---|
| rig-agent-runtime | Public | Agent runtime, Dockerfiles, Helm chart |
| rig-conductor | Private | .NET API, event store, webhooks, dashboard |
| rig-gitops | Private | FluxCD manifests, KEDA, k8s config |
| rig-tools | Private | Developer hooks, workflow sync, install.sh |
| infra | Private | Terraform — GitHub, Cloudflare, GCP |
Key Features¶
- Event-driven — all coordination via webhooks + Valkey streams, no polling
- Scale-to-zero — KEDA signal list pattern, zero cost when idle
- Multi-stack — Node, .NET, Python images with runtime tool install
- Full visibility — dashboard with event timeline, execution logs, cost tracking
- Human integration —
rig-toolshooks report to same pipeline as AI agents - rig-conductor merges — only a head Review-E approved on GitHub with every check passed, re-read from GitHub before the squash merge (rig-conductor#2350)
- Iteration loop — Review-E requests changes → Dev-E fixes → re-review → merge
Event Store¶
PostgreSQL with Marten. 32 event types tracking the full lifecycle:
ISSUE_APPROVED → ISSUE_ASSIGNED → WORK_STARTED → BRANCH_CREATED → PR_CREATED → CI_PASSED/CI_FAILED → REVIEW_ASSIGNED → REVIEW_PASSED/REVIEW_DISPUTED → MERGED → ISSUE_DONE
Plus: HEARTBEAT, TOKEN_USAGE, AGENT_STUCK, ESCALATED, HUMAN_GATE_TRIGGERED
Execution Logs¶
Per-issue run history stored in Marten:
- Turns, tokens (in/out/cache-read/cache-write), cost, duration
- Step breakdown (assigned, implement, review, merge)
- PR link, agent ID, model used
- Retention: 30 days raw logs, 90 days summaries
Getting Started¶
New developer onboarding¶
Creating work for the rig¶
Monitoring¶
- Dashboard: rig-conductor.dashecorp.com
- Discord:
#tasksfor real-time updates
Infrastructure¶
| Resource | Value |
|---|---|
| Host | GCP k3s invotek-k3s (3 nodes). The Dell (100.95.212.93) also reconciles the same apps/ paths; see kubernetes.md |
| GitOps | FluxCD via rig-gitops |
| Event Store | PostgreSQL 16 + Marten |
| Streams | Valkey (Redis) |
| Scaling | KEDA 2.16 |
| LLM Auth | 1-year Claude Max OAuth token |
| Resources | 1m CPU / 1Mi mem requests (all pods) |