Skip to content

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 1Mi memory 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-tools hooks 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

git clone git@github.com:Stig-Johnny/rig-tools.git
cd rig-tools && ./install.sh

Creating work for the rig

gh issue create --repo Stig-Johnny/<repo> --title "feat: ..." --label "agent-ready"

Monitoring

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)