Ephemeral runtime agent /
era
A personal agent orchestrator that turns Telegram requests into isolated coding runs and reviewable GitHub pull requests.
- Go
- Docker
- SQLite
- GitHub Apps
- Telegram
- systemd
The problem
Delegating a coding task is easy to demo and difficult to trust. A useful personal agent needs bounded cost, disposable execution, constrained credentials and networking, a durable task lifecycle, and an output that fits normal code review.
era starts from that operational boundary. A request can arrive from Telegram, but the result must leave behind a branch and pull request that a human can inspect, approve, reject, or continue.
System shape
A Go orchestrator persists task state in SQLite, accepts Telegram commands, claims queued work, and starts a fresh Docker container for every run. The runner clones the selected repository with a short-lived GitHub App token, executes the agent, tests the result, pushes a branch, and opens a pull request.
The service runs continuously under systemd. CI validates formatting, vetting, race tests, builds, and smoke checks before deployment; local and offsite backups protect the task history and audit trail.
Engineering decisions
Every task receives an explicit budget profile for iterations, cost, and wall-clock time. Container egress is allowlisted, repository access uses installation tokens rather than a broad personal token, and cancellation kills the running container while preserving a meaningful task state.
- Scan diffs for removed tests, skipped checks, weakened assertions, and deleted test files.
- Require human approval for suspicious output and reflect the decision on the pull request.
- Run repository tests before committing when a supported test target is present.
- Keep progress, cost, completion summaries, and decisions in a durable audit log.
What it demonstrates
era is an infrastructure project disguised as a Telegram bot. Its core is the control plane around an unreliable, expensive worker: lifecycle state, isolation, policy enforcement, credentials, review, deployment, and recovery. That is the part that lets an agent hold up outside a demo.