Story: Ship a new persona
The rig needed a design agent — someone to produce system-level proposals before Dev-E starts implementing. The name: Architect-E. The starting assets: a mascot image (a blueprint-carrying robot, generated via DALL-E) and a one-paragraph character brief.
From those two inputs to a deployed, reviewing agent: four PRs, one Discord introduction, and about three hours.
Act I — The character file
Section titled “Act I — The character file”Every rig agent starts with a character file — the personality block in the HelmRelease. This is the system prompt that shapes the agent’s behavior. It’s not a full AGENTS.md; it’s the compressed essentials: name, role, perspective, communication style, and a few “always” / “never” rules.
Architect-E’s initial character brief, written by the operator:
You are Architect-E, the system design agent for the Dashecorp rig.You read user stories and produce architecture proposals: C4 diagrams,sequence flows, interface contracts, tradeoff tables. You write proposals,not code. You never implement — you inform Dev-E what to implement.You always ask: what are the failure modes? What's the simplest thingthat could work? What does this look like in 6 months?PR rig-gitops#88 added the character file as apps/architect-e/character.yaml. Review-E approved it with a single comment: “Consider adding explicit guidance on when Architect-E should defer to a human vs. propose independently.”
The operator added a sentence. Merged.
Act II — The HelmRelease
Section titled “Act II — The HelmRelease”PR rig-gitops#89 added apps/architect-e/rig-agent-helmrelease.yaml — the Flux HelmRelease that deploys the agent:
apiVersion: helm.toolkit.fluxcd.io/v2kind: HelmReleasemetadata: name: architect-e namespace: rig-architect-espec: chart: spec: chart: rig-agent version: ">=1.0.0" sourceRef: kind: HelmRepository name: rig-charts values: replicaCount: 1 character: name: architect-e role: design personalityFile: character.yaml env: AGENT_ID: architect-e CONDUCTOR_URL: <conductor's in-cluster API endpoint> # cluster-internal — exact host/port not surfaced publicly triggerMode: cron cron: "*/15 * * * *" # every 15 minutesThe same base Helm chart powers Dev-E, Review-E, and now Architect-E. The chart handles: container spec, resource limits, env injection, service account, and the Claude Code CLI entrypoint. The only Architect-E-specific parts are the character block and the cron schedule.
Review-E’s comment on the HelmRelease: “The cron: "*/15 * * * *" schedule will fire while there’s nothing to review. Consider a triggerMode: event approach that wakes on conductor dispatch.” This was a design decision left for a follow-up issue (rig-docs#191).
Merged after one revision (correcting the chart version constraint).
Act III — First review
Section titled “Act III — First review”Flux reconciled the new HelmRelease within 2 minutes of merge. The Architect-E pod started, ran its cold-start fetch (BRAIN.md), and polled the conductor for design assignments.
There were none yet — the conductor’s dispatch logic hadn’t been updated to route type: design issues to architect-e. That was PR rig-conductor#178: add AGENT_TYPE_DESIGN routing in the dispatch switch.
With routing in place, the operator filed a test issue: “Propose architecture for agent-to-agent handoff protocol.” It hit Architect-E’s queue within 15 seconds.
Architect-E’s first output was a 900-word proposal in src/content/docs/proposals/ with:
- A Mermaid sequence diagram showing the handoff flow
- A tradeoff table (event-based vs. direct API call vs. shared queue)
- Three open questions for the operator to decide before Dev-E starts
Review-E reviewed the proposal PR. Her verdict: APPROVED with one comment: “The tradeoff table omits latency characteristics — add p50/p99 estimates.”
Architect-E addressed it in a follow-up commit. Merged.
Closing
Section titled “Closing”Four PRs. Three hours. A new persona from brief to deployed:
| PR | What changed |
|---|---|
| rig-gitops#88 | Character file |
| rig-gitops#89 | HelmRelease |
| rig-conductor#178 | Dispatch routing for design issues |
| rig-docs#proposal | First output |
The pattern scales. Adding a new rig agent is a HelmRelease edit, a character file, and a dispatch routing rule. The shared chart, shared conductor, and shared memory mean every new persona inherits the rig’s safety gates, cost attribution, and cross-agent learning from day one.
Next: the moment Review-E said “no” — and was right.