Hecate Mail
Description
Async mailboxes + a citizens directory on the Macula mesh -- lets an ephemeral agent (Claude Code, any MCP client) delegate work to a party who isn't online right now, and discover who's out there in the first place.
Installation
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open the source below and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
README
hecate-mail
**Async mailboxes for the Macula mesh -- lets an agent delegate work to a citizen who is not online right now**
Plan
The scaffold below builds and passes its own tests but implements no domain logic yet. The full design -- mail-location routing, mailboxes, why identity lives in the sibling [`hecate-citizens`](https://github.com/hecate-services/hecate-citizens) service instead of here, the open caller-identity-verification question -- is in [`plans/PLAN_ROOT.md`](plans/PLAN_ROOT.md). Start there.
Status: scaffold, deployed
The service boots, joins the mesh and answers `/health`. It does nothing else yet. **Live on `beam01.lab` and `beam02.lab`** (port 8496 there -- 8490 below is this repo's own standalone-run default; the fleet overrides it per its own port ledger, see `plans/PLAN_ROOT.md` PART4), deployed via `macula-io/macula-demo`'s pull-based reconciler, not through anything in this repo directly.
It announces no capability and asks the realm for no authority, because it can do nothing yet. Both lists grow when the thing they name exists. Advertising a capability before it exists puts a lie on the mesh where another service can find it and call it.
Running it
rebar3 compile
rebar3 eunit
rebar3 lint
scripts/health.sh # against a running node
Building the image needs a Rust toolchain, because macula ships a QUIC NIF and the alpine build compiles it from source rather than fetching one linked against a different libc.
podman build -t hecate-mail -f Containerfile .
Configuration
| Variable | Default | Meaning |
|---|---|---|
HECATE_REALM |
required | 64-hex realm tag, the sha256 of the realm's name. No default: a service that guesses its realm announces itself where nobody can attribute it. |
MACULA_STATION_SEEDS |
required | Station to dial. No default: naming a realm costs nothing, dialling a production station from every dev clone does. |
| `HECATE_HEALTH_P |
Related Skills
Auto Update
Pull the latest ECC repo changes and reinstall the current managed targets.
Development Ecc Guide
Navigate ECC's current agents, skills, commands, hooks, install profiles, and docs from the live repository su
Development Epic Claim
Claim an epic issue, stamp coordination state, and sync local ownership.
Development Epic Publish
Publish a validated epic update back to the issue and local cache.
Development Epic Review
Mark epic review requested, approved, or changes requested.
Development Epic Unblock
Sweep blocked epic issues and reopen anything whose dependencies are closed.
Development Related Agents
Django Build Resolver
Django/Python build, migration, and dependency error resolution specialist. Fixes pip/Poetry errors, migration
Openai Codex CLI
(55.8k ⭐) - Lightweight coding agent that runs in your terminal.
src/agents/ — 11 Agent Definitions
**Generated:** 2026-04-11