Configuration¶
ATL-E's configuration lives in deploy/automate-e/ with two files:
Character (values.yaml → character section)¶
The character is inlined in values.yaml under the character: key. This is the Automate-E character.json format.
Key settings:
| Field | Value | Purpose |
|---|---|---|
personality |
Rules 1-8 + output format | Defines what ATL-E checks and how it reports |
lore |
Repo list, agent map, format rules | Context injected into every Claude call |
mcpServers.github |
npx @modelcontextprotocol/server-github |
GitHub API access via MCP |
discord.channels |
["#admin"] |
Only listens in #admin |
llm.model |
claude-haiku-4-5-20251001 |
Cheap + fast for rule evaluation |
llm.temperature |
0.1 |
Low randomness for consistent notifications |
cron.prompt |
"Check all open PRs and issues..." | What runs every hour |
Helm Values¶
| Field | Value | Purpose |
|---|---|---|
mode |
split |
Gateway + 2 workers + Redis |
secrets.existingSecret |
atl-e-secrets |
K8s secret with tokens |
cron.enabled |
true |
Deploy CronJob alongside bot |
cron.schedule |
0 * * * * |
Every hour |
tunnel.enabled |
true |
Expose dashboard at atl-e.dashecorp.com |
extraEnv |
GITHUB_PERSONAL_ACCESS_TOKEN |
For GitHub MCP server |
Secrets (K8s)¶
Secret atl-e-secrets in namespace atl-e:
| Key | Source | Used by |
|---|---|---|
discord-bot-token |
Discord Developer Portal (ATL-E Agent app) | Gateway + workers |
anthropic-api-key |
Shared Anthropic key | Workers + cron |
database-url |
Postgres connection string | Persistent memory (facts, conversations) |
github-token |
Classic PAT with repo scope |
GitHub MCP via extraEnv |
github-webhook-secret |
HMAC secret for webhook verification | Webhook receiver |
discord-webhook-url |
Discord webhook for #admin | Cron output |
postgres-password |
Postgres password | Database StatefulSet |
Monitored Repos¶
Defined in character.lore:
Stig-Johnny/nutri-e, Stig-Johnny/cutie, cuti-e/ios-sdk,
Stig-Johnny/star-rewards, Stig-Johnny/fast-e, Stig-Johnny/count-e,
Stig-Johnny/drink-e, Stig-Johnny/heart-e, Stig-Johnny/claude-3
To add or remove a repo, edit the lore entry in values.yaml and push.
Agent Map¶
Defined in character.lore:
| GitHub Username | Agent | Discord Mention |
|---|---|---|
| mac-executor | iBuild-E | (no mention) |
| review-e-dashecorp | Review-E | <@1477785888095473798> |
| PiE-Derby | Pi-E | <@1477270576765735024> |
| volt-e | Volt-E | <@1477272514332852416> |
Changing Rules¶
Webhook Receiver¶
GitHub webhooks send real-time events to ATL-E:
character:
webhooks:
github:
secret: "env:GITHUB_WEBHOOK_SECRET"
All 9 repos have webhooks pointing to https://atl-e.dashecorp.com/webhook/github. Events are verified via HMAC-SHA256 and processed through the agent loop.
Codi-E Escalation¶
When no other agent can handle a task, ATL-E:
- Adds the
assigned-codi-elabel to the GitHub issue - Posts notification in #admin
Triggers: workflow changes, admin permissions, App Store submissions, iOS tasks when iBuild-E is stuck, tasks reassigned 2+ times.
Stateful Tracking¶
ATL-E saves facts to Postgres between cron runs:
PR owner/repo#N: state=awaiting_review, first_seen=2026-03-25, times_pinged=0Issue owner/repo#N: state=in_progress, assigned=PiE-Derby, first_seen=2026-03-24
On each run, it loads saved facts and compares with current GitHub state. It only re-notifies when state changes or a new timeout threshold is crossed — preventing notification spam.
Changing Rules¶
The 11 notification rules are encoded in the personality field. To change a rule:
- Edit
deploy/automate-e/values.yaml - Modify the rule text in the
personalitystring - Push to main
- ArgoCD auto-syncs the new character config
No code changes or image rebuilds needed.