How Aeon Is Built: Runtime, Memory & Self-Healing
SNX1FHC OO5K9UE5How aeon is built - the operator config, identity and memory, and channels that feed a runtime spine on GitHub Actions, the eight-way LLM gateway cascade, the self-healing loop, and fleet replication.
aeon runs the perception → action → observation loop unattended on GitHub Actions -81 scheduled skills, persistent memory, a self-healing repair loop, and fleet replication.
One map, three bands
Three input layers - operator config, identity/memory, and channels and MCP servers - feed a single left-to-right runtime spine. The spine drops into the model gateway, a fleet it can spawn, and a loop that heals it.
For devs · The scheduler (scheduler.yml, */5) dispatches every due skill in aeon.yml. CLAUDE.md, STRATEGY.md,soul/ and memory/ load into context; .mcp.json servers register as tools. Output commits back to the repo and fans out via ./notify; scored runs feed the self-healing loop, and spawn-instance/fleet-control extend the fleet.
Operator Layer
Dashboard
- aeon.yml
- Skills · cron · chains · reactive triggers
Identity & Knowledge
CLAUDE.md
- Agent identity · auto-loaded every run
- Strategy + Soul
- North-star · voice · rides every run
Memory & State
- MEMORY.md · topics · logs - committed to repo by default, or issues-as-state (STATE_BACKEND); persists across runs
Channels & Interfaces
./notify- Telegram · Discord · Slack · Email
- Inbound
- 5-min poll or ~1s webhook
.mcp.json
- GitHub · Base · Executor · custom MCP servers · one-click OAuth, auto-loaded into runs
Runtime - Perception · Action · Observation · unattended on GitHub Actions
Scheduler
- scheduler.yml · cron
*/5· dispatches every due skill
Auth Gate
- Fleet Watcher · ALLOW / BLOCK preflight
Skill Runtime
- Claude Code (default) or any of 10 harnesses runs the matched SKILL.md prompt
Tools
- bash · gh · web
Output
- PRs · committed memory · notify · dashboard feed · Langfuse traces (opt-in)
LLM Gateway Cascade
claudeanthropicopenrouterbankrusepodvenicesurplusgrokdirect · auto-failover · Sonnet 5 default
Self-Healing Loop
Heartbeat
- daily · detects failed or chronically broken skills
Health + Scoring
- Haiku scores 1-5 · flags weak & failed runs
Repair → Self-Improve
- Health skills file votable issues (human 👍/👎 sets repair priority) · repair skills close them · prompts evolve
Fleet & Interop Layer
- spawn-instance
Forks a specialized copy · isolated billing
- fleet-control
Health-check & dispatch across instances
- MCP server
Skills as Claude Desktop tools
- fork-fleet
Tracks public forks running in the wild
Wired live
The same map, as a circuit
The same system, live - coral pulses trace how a run moves through it: in from the inputs, along the spine, out to the loops.
- configures
- context
- registers tools
- preflight
- spawns
- scores 1–5
The runtime spine
What one run does
A single run reads left to right: the scheduler picks a skill, an optional auth gate clears it, Claude Code executes it, tools do the work, and the output ships. Every model call routes through the gateway below.
- For devs · The optional Fleet Watcher preflight can
ALLOW/BLOCKa run before Claude starts (no-op if secrets are unset). Claude Code executesSKILL.mdwithmemory/in context; tools are bash,gh, WebSearch/WebFetch, and MCP servers. Output: a PR, committedmemory/state, a./notifyfan-out, or a dashboard feed card.
The LLM gateway cascade
Every call fails over
aeon can power Claude Code eight ways. Whichever provider you rank highest and have a key for serves the run; if it dies - no credits, rate limit, outage, a dud response - the run falls through to the next, down to the direct Anthropic API.
The run loop
What happens every five minutes
Nothing runs on a server. A clock ticks; the schedule picks exactly one skill; a throwaway machine boots; Claude reads that skill's instructions, does the work, grades its own output, and commits the result back to the repo.
The self-healing loop
The fleet repairs itself
aeon watches its own work. Every run gets a grade, and the grades pile up in one file. A sentinel reads them, and when a skill keeps failing, aeon files an issue, writes a fix, opens a pull request, and merges itself back to health.
Skill chains
Skills snap together
Skills compose like building blocks: run two in parallel, drop their output into a shared folder, and hand both to a third skill that summarizes and notifies. No orchestrator, no glue code - just YAML.
It spawns its own fleet
One aeon becomes many
On a schedule, aeon can fork itself into a brand-new repo, copy the API keys across, and stand up a fleet of specialized instances, each running on its own.
Self-evolution
It grows toward your number
Point it at a metric no skill can measure yet: run create-skill, it drafts the missing skill, flags the API keys it needs, and opens a PR to wire it in. Merge, and the fleet is bigger. The scheduled self-improve pass then tunes the skills you already have, run after run.