Skip to content

Agents

Every AI agent in the Dashecorp ecosystem.

Rig Agents on GCP k3s (current as of 2026-06-14)

The active rig runs on GCP k3s (Tailscale 100.126.108.70). Below is the live agent fleet, not the legacy table further down. The legacy table is kept for reference but reflects pre-April-migration state.

Active agent pods

Agent Stream Pod Provider Status (2026-06-14)
dev-e-node assignments:dev-e-node dev-e/dev-e-rig-agent-runtime-0 claude-cli Running
dev-e-dotnet assignments:dev-e-dotnet dev-e/dev-e-dotnet-rig-agent-runtime-0 claude-cli Running
dev-e-python assignments:dev-e-python dev-e/dev-e-python-rig-agent-runtime-0 claude-cli Scaled to 0 (KEDA)
review-e assignments:review-e review-e/review-e-rig-agent-runtime-0 claude-cli Running
rig-planner assignments:rig-planner rig-planner/rig-planner-rig-agent-runtime-0 claude-cli CrashLoopBackOff
dev-e-node-codex assignments:dev-e-node-codex dev-e/dev-e-codex-rig-agent-runtime-0 codex-cli (ChatGPT Plus) Running, OAuth ✓
dev-e-dotnet-codex assignments:dev-e-dotnet-codex dev-e/dev-e-dotnet-codex-rig-agent-runtime-0 codex-cli (ChatGPT Plus) Running, OAuth ✓
dev-e-python-codex assignments:dev-e-python-codex dev-e/dev-e-python-codex-rig-agent-runtime-0 codex-cli (ChatGPT Plus) Scaled to 0 (KEDA)
review-e-codex assignments:review-e-codex review-e/review-e-codex-rig-agent-runtime-0 codex-cli (ChatGPT Plus) KEDA, OAuth ✓
rig-planner-codex assignments:rig-planner-codex rig-planner/rig-planner-codex-rig-agent-runtime-0 codex-cli (ChatGPT Plus) Scaled to 0 (KEDA)
iBuild-E assignments:ibuild-e Mac Mini M4 launchd (ai.invotek.ibuild-e) claude-cli (CLAUDE_CODE_OAUTH_TOKEN) Active
Codi-E (this orchestrator) /Users/post/repos/claude-3 on MacBook Air Claude Code CLI Active

Codex variants

All 5 codex pods OAuth'd to the operator's ChatGPT Plus account on 2026-05-11/12. Each pod has its own auth.json in its PVC subPath (codex/$POD_NAME). Shared-OAuth (one auth.json across all codex pods) is tracked but not yet shipped.

Routing today (post-rc#1119, 2026-05-18): codex vs claude variants are selected by quota-aware dispatch — the conductor's review-dispatch path picks whichever variant has more quota headroom at dispatch time (codex 5h/weekly vs claude session). The implementation lives in rig-conductor's ReviewDispatchRouter service — see rig-conductor/docs/2026-05-18-quota-aware-review-dispatch.md for the design. The pre-rc#1119 cron-prompt routing (claude-by-default + opt-in provider:codex label) was retired in the same shipment; rgo#406 closed 2026-05-12.

Planner persistent memory (rar#255, shipped 2026-05-12)

Planner-E now reads from rig-memory-mcp at task start and writes patterns/decisions back. Behavior enforced via personas/rig-planner.md instructions; activated in production via personaFile: migration (rgo#384). Backend: Postgres+pgvector on rig-conductor/postgres-0. Per-agent state on /api/agents shipping next (rgo#399 in review for OPENAI_API_KEY + planner Postgres auth).

Discord channels for the rig

Channel ID Purpose
#planner 1499108503703392377 Operator-to-planner chat — file issues by prompting here
#dev-e (varies per stream) Dev-E assignment threads
#review-e 1477787408773943488 Review-E activity
#tasks 1477261755125075969 Conductor-E announcements of every filed issue (log, not work queue)

How issues become work

  1. Operator chats with Planner-E in #planner OR files agent-ready labeled GitHub issue
  2. Conductor-E sees agent-ready label via webhook → ISSUE_APPROVED event
  3. Dispatch fires from one of two paths: (a) primary — issues.labeled webhook handler in rig-conductor (see agent-flow.md for the step-by-step), or (b) fallback — a per-minute background scan that catches webhook misses. Both produce ISSUE_ASSIGNED events and XADD assignments:<agent-id> on the per-agent Redis stream. Stack routing via .rig-agent.yaml.
  4. Agent stream consumer claims, runs claude-cli (or codex-cli), opens PR
  5. Review-E variant selected by quota-aware dispatch (rc#1119) — review-e (claude) or review-e-codex chosen based on which has more quota headroom at dispatch time
  6. Auto-merge on approval (subject to "user-PR halt class": Stig-Johnny-authored PRs need operator admin-merge)

Rig-internal repos exception (rc#1168, 2026-05-19): issues + main-red failures on rig-conductor, rig-agent-runtime, rig-gitops, rig-docs, rig-tools, and infra skip the agent-dispatch path entirely per the rule that rig agents must not modify the rig that runs them (orchestrator-only). Main-guard files the main-red GitHub issue for operator visibility but does NOT push an assignment to the agent's stream for those repos. Operator handles forward-fix manually. Full rule + 5-PR evidence trail documented in rig-conductor/docs/main-guard.md ("Rig-internal exception" section).

Operator interventions still needed

  • Admin-merge user-authored chore PRs (image-pins): Review-E skips them silently. Pattern documented as user-PR halt class.
  • Forward-fix on rig-internal repos: rc#1168 routes the main-red issue to the operator instead of dispatching dev-e.
  • Codex OAuth bootstrap per pod (one-time, ~30 sec per pod via phone). Shared-OAuth design queued.
  • Mac Mini lifecycle: phases 2–5 of infra#229 (drift detection, plist as code, etc.) not yet shipped.

Agent Overview (legacy snapshot — pre-2026-04 migration, kept for reference)

Legacy — not current. This is a pre-2026-04-migration snapshot; several Host/Runtime cells are stale (Review-E is now a GCP k3s rig-agent-runtime pod, not Pi4-02; Pi-E and iClaw-E run agent-runner, not OpenClaw). For live state see the "Rig Agents on GCP k3s" table at the top and the "Detailed Agent Profiles" section below.

Agent Role Host Runtime Model Discord Bot ID
iClaw-E Personal assistant Mac Mini M4 (Oslo) OpenClaw
Codi-E Orchestrator MacBook Air M4 Claude Code Opus 4.6 1477267530946187305
Claude-4 Executor MacBook Air M4 Claude Code Opus 4.6 — (uses Codi-E)
Claude-5 Executor MacBook Air M4 Claude Code Opus 4.6 — (uses Codi-E)
Claude-6 Executor MacBook Air M4 Claude Code Opus 4.6 — (uses Codi-E)
Pi-E Remote executor Pi4-03 (Oslo) OpenClaw (Docker) Sonnet 4.6 (fallback: Opus) 1477270576765735024
Volt-E Remote executor VPS srv1099021 (Boston) agent-runner (systemd) Sonnet 4.6 (fallback: Opus) 1477272514332852416
Review-E Code reviewer Pi4-02 (Oslo) agent-runner Sonnet 4.6 (fallback: Opus) 1477785888095473798
iBuild-E iOS builder Mac Mini M4 (Oslo) Claude Code + LaunchAgent
~~ATL-E~~ Retired 2026-05-20 — replaced by rig-conductor (assignment) + rig-planner (intake) on GCP k3s

The pre-2026-05-20 ATL-E architecture is documented historically in rig/conductor/conductor.md ("Evolves from ATL-E"). The successor system is described in the rig docs.

Discord

Guild: Dashecorp Agents (1477259107684847708)

To check all agents: Post @everyone in #general — all agents respond.

Agent Bot IDs

Plain text @Pi-E does NOT work. Must use bot ID format:

Agent Bot ID Mention Private Channel
Codi-E 1477267530946187305 <@1477267530946187305> #codi-e
Pi-E 1477270576765735024 <@1477270576765735024> #pi-e
Volt-E 1477272514332852416 <@1477272514332852416> #volt-e
Review-E 1477785888095473798 <@1477785888095473798> #review-e
iBuild-E 1480845201978163271 <@1480845201978163271> #ibuild-e
iClaw-E 1482352836242051092 <@1482352836242051092> #iclaw-e

Discord Channels

Channel ID Purpose
#general 1477259108389359662 General chat, @everyone status checks
#admin 1477263870845517879 Admin questions, blockers, alerts
#tasks 1477261755125075969 Task delegation, PR threads
#planner 1499108503703392377 Operator-to-planner chat (Planner-E intake)
#human 1477261394666590328 Human-only messages
#status 1477261538346799285 Status updates
#bugs 1479494339368325190 Bug reports (Pi-E triages)
#release-notes 1479502068153585826 Release notifications
#codi-e 1477263450324336705 Codi-E private channel
#pi-e 1477263673700651051 Pi-E private channel
#volt-e 1477263777266270300 Volt-E private channel
#review-e 1477787408773943488 Review-E private channel
#ibuild-e 1478779143914262711 iBuild-E private channel
#iclaw-e 1482354822492455065 iClaw-E private channel
#pi-e-logs 1481788666975092878 Pi-E session logs
#volt-e-logs 1481788607726620753 Volt-E session logs
#review-e-logs 1482280608364232828 Review-E logs
#ibuild-e-logs 1482368579910238511 iBuild-E logs
#iclaw-e-logs 1482354831342567494 iClaw-E logs

Per-tenant channels (rig multi-tenancy)

The channels above are operator-internal (the whole rig, one Discord server). The rig's multi-tenancy adds a separate notification channel per tenant — each tenant (dashecorp / invotek / stigjohnny) gets its own channel, and the conductor routes a notification to a tenant's channel only from the server-resolved tenant_id on the event (never a payload/LLM field), fail-closed.

Per-tenant channel ID Status
tenant-invotek (Dashecorp Agents guild) 1513515150169083905 exists; webhook not minted → the per-tenant relay is dormant, so invotek's notifications still flow via the rig channels above

How it works (conductor side): TenantNotificationDiscordRelay resolves a tenant's webhook via IDiscordWebhookResolver from TENANT_DISCORD_WEBHOOK__<id> (disabled-until-configured, forge-proof), stored as a broker SecretRef sops:tenant-<id>/discord-webhook. Never invite an external partner into this shared server (roster/channel enumeration leaks other tenants) — flip them to a per-tenant webhook / Slack Connect. Full model + the human gates: the Multi-Tenancy proposal at research.rig.dashecorp.com/proposals/multi-tenancy/ ("Current state — operating guide") and the decision records in dashecorp/rig-conductor/docs/2026-06-*-multi-tenancy-*.md.

Where Agents Run

MacBook Air M4 (Oslo, desk)
├── Codi-E (claude-3) ─── Orchestrator
├── Claude-4 ───────────── Executor
├── Claude-5 ───────────── Executor
└── Claude-6 ───────────── Executor

Mac Mini M4 (Oslo, desk)
├── iBuild-E ───────────── iOS Builder (Claude Code + LaunchAgent)
└── iClaw-E ────────────── Personal Assistant (agent-runner)

Raspberry Pi 4-03 8GB (Oslo)
└── Pi-E ───────────────── Remote Executor (agent-runner, systemd)

Raspberry Pi 4-02 (Oslo)
└── (spare/legacy — former Review-E host; Review-E now runs in the GCP k3s cluster)

Dell k3s Cluster (Oslo)
└── (legacy — ATL-E + ARC k3s runners retired 2026-05-20)

GCP k3s Cluster (europe-north1-b)
├── rig-conductor ─────── Assignment dispatch + GitHub webhook intake
├── rig-planner ───────── Intake refinement (Planner-E personality)
└── dev-e + review-e ──── Agent pods (replaces ATL-E coordination)

VPS srv1099021 (Boston, Hostinger DC)
└── Volt-E ─────────────── Remote Executor (agent-runner, systemd)

Detailed Agent Profiles

Codi-E (Claude-3 — Orchestrator)

  • Path: /Users/post/repos/claude-3/
  • Runtime: Claude Code CLI (interactive)
  • Auth: Claude Max subscription (local)
  • Capabilities: Planning, architecture, skills/MCP/scripts, DevOps/CI, documentation, PR monitoring, coordination
  • Cannot: Execute feature work directly (delegates to executors)
  • GitHub Apps: Uses user's gh CLI auth

Claude-4, Claude-5, Claude-6 (Executors)

  • Paths: /Users/post/repos/claude-4/, claude-5/, claude-6/
  • Runtime: Claude Code CLI (interactive)
  • Auth: Claude Max subscription (local)
  • Capabilities: Feature development, bug fixes, testing, Copilot review responses, release management
  • Cannot: Merge without PR, push to main, submit to App Store

Pi-E (Remote Executor)

  • Host: Pi4-03 (100.107.48.17)
  • Runtime: agent-runner (systemd service: agent-runner.service). Runs directly on host, not Docker.
  • Auth: Claude Max OAuth (invotekas@gmail.com) — self-maintained via Claude cron job (3-day keepalive), M4 push as fallback
  • GitHub App: pie-agent-bot (App ID in github-apps skill)
  • Config repo: Stig-Johnny/pi-e-config
  • Capabilities: GitHub PRs, Discord, non-macOS tasks, blockchain/Polygon
  • Cannot: iOS builds, macOS-specific tasks
  • Model: Sonnet 4.6 primary, Opus 4.6 fallback
  • Restart: ssh -i ~/.ssh/rpi-claude claude@100.107.48.17sudo systemctl restart agent-runner

Volt-E (Remote Executor)

  • Host: VPS srv1099021 (100.111.142.118)
  • Runtime: agent-runner (systemd service: agent-runner.service, port 8080). Runs directly on host, not Docker.
  • Auth: Claude Max OAuth (invotekas@gmail.com) — self-maintained via Claude cron job (3-day keepalive), VNC login as fallback
  • GitHub App: volt-e-agent-bot
  • Config repo: Stig-Johnny/volt-e-config
  • Capabilities: GitHub PRs, Discord, security research, non-macOS tasks
  • Cannot: iOS builds, macOS-specific tasks
  • Network: Host networking + iptables OUTPUT rules (uid-owner) blocking Tailscale IPs
  • Restart: SSH to VPS → sudo systemctl restart agent-runner

Review-E (Code Reviewer)

  • Host: In-cluster — GCP k3s (invotek-k3s), a rig-agent-runtime pod KEDA-scaled on the assignments:review-e Valkey stream (formerly Pi4-02)
  • Runtime: rig-agent-runtime pod (Helm: dashecorp/rig-gitopsapps/review-e/)
  • Auth: Claude + Codex providers (parallel); secrets via rig-gitops SOPS
  • GitHub App: review-e-bot
  • Config: dashecorp/rig-gitopsapps/review-e/ (Helm values + SOPS secrets)
  • Capabilities: Code review only — approves/requests changes on PRs
  • Cannot: Create PRs, merge, execute code, submit to stores
  • Trigger: rig-conductor dispatches review work push-based via the assignments:review-e Valkey stream (KEDA-scaled, not a REST poll), consumed by the review-e pod. The legacy request-review.yml request of review-e-dashecorp is cosmetic (422s once that retired account is removed).

iBuild-E (iOS Builder)

  • Host: Mac Mini M4 (100.92.170.124)
  • Runtime: agent-runner via the ai.invotek.ibuild-e user-domain LaunchAgent (node src/index.js --agent ibuild-e)
  • Auth: Claude Max subscription
  • Config: agent-runner/agents/ibuild-e.json (in the claude-3 repo) — the legacy Stig-Johnny/mac-executor bash deployment was torn down 2026-04-18
  • Capabilities: Xcode builds, iOS testing, App Store submission prep, Discord communication
  • Cannot: Merge PRs, submit to App Store Review (requires human approval)
  • Security: Tailscale ACL (tag:sandbox) + pf firewall
  • Work intake: receives macOS-eligible work through the agent-runner / rig-conductor coordination flow (via its #ibuild-e Discord channel), builds/tests, creates PRs

iClaw-E (Personal Assistant)

  • Host: Mac Mini M4 (100.92.170.124) — alongside iBuild-E
  • Runtime: agent-runner (launchd service: ai.invotek.iclaw-e)
  • Auth: Claude Max subscription
  • GitHub App: iclaw-e-bot (App ID: 3090767)
  • Role: Personal assistant

ATL-E (Agile Team Lead) — RETIRED 2026-05-20

ATL-E was the pre-2026-05-20 deterministic PR/CI/issue coordinator for the Dashecorp agent fleet. It ran as a Kubernetes CronJob on the Dell k3s cluster in the atl-agent namespace and used a Discord webhook (no bot token) to post to #tasks.

Replaced by: rig-conductor (assignment dispatch + GitHub webhook intake) + rig-planner (intake refinement). Both run on the GCP k3s cluster as standard k8s deployments. The atl-agent namespace + Stig-Johnny/atl-agent repo are no longer in use.

Forbidden Actions (All Agents)

No agent may do these without explicit human approval: - Submit to App Store Review - Submit to TestFlight external testing - Delete/reject an App Store version - Modify production subscriptions/pricing - Push to production infrastructure