All docs

Docs · Channels

Protocols

every channel, one envelope

How each wire protocol becomes (or consumes) the chassis's JSON envelope. The conceptual story is ingress; these pages are the per-channel facts.

Whatever arrives, the head that received it stamps _txc.src and its own namespace (@web.req.*, @lmtp.*, @cron.*, @tcp.*) onto one envelope, and the same rules engine takes it from there. Outbound is symmetric: rules dispatch out over HTTP, MCP, or SMTP.

ChannelDirectionPage
HTTPin (+ responses, streaming)web.md
Email — receivinginlmtp.md
Email — sendingoutsendmail.md
Cronin (time as a channel)cron.md
TCPin (line-delimited JSON)tcp.md
MCP (agent tools)out (in: see page)mcp.md
DNSauthoritative answers for delegated zonesdns.md

Before any rule fires, the router decides which tenant and stack an event belongs to — hostname bindings in the DB (live, no restart) or a static YAML file: routing.md.

Heads are enabled per chassis with --personalities (default cron,tcp,web,admin; lmtp and dns are opt-in) — see the runtime reference.

Edit this page · View as markdown