Glossary
Terms in the order you meet them, not alphabetically — each one builds on the ones above it.
Identity
Section titled “Identity”Identity (vault) — an email address, protected by a password, held in the Authenticator on your phone. The app titles the list Identities; the button says + New Email Vault. Same thing. A person has one; an agent does not.
Resource — a name assigned to your identity, which an agent then runs under. Two kinds:
generic (the name is generated, like api12-lock-java-pressure83) and domain (a name on a
domain you control, proven by a DNS TXT record checked when a licence is granted).
Subject — how a person is named inside the system: sha512(their email), never the address
itself. Policy rules and vouches use the hash.
Agent token — lets a browser app authenticate to your agent. Created in the Authenticator under a resource. Not how people sign in — that is alt-auth.
ASK (Asymmetric Shared Key) — the key material one identity fetches to talk to another. It is issued per (sender, recipient, time window), rotates every 15 minutes, and is derived from the sending machine’s fingerprint, its resource name and its password — so the same resource name on a different machine, or with a different password, produces a different ASK. The 15-minute window governs when the platform will issue it, not how long it works: an ASK you already hold decrypts its messages permanently. The corollary matters — if you need to read those messages after the window closes, keep the ASK with the ciphertext, because the platform will not reissue it and there is no escrow.
Dead Drop Encryption (DDE) — how two identities exchange a message without exchanging keys. Each pair derives a shared key for a 15-minute window from their identities alone, so you can encrypt to a name before that name exists, the recipient need not be online, and the platform that issues keys is never in the data path. It is the primitive underneath every other term here.
The parts you run
Section titled “The parts you run”Agent — a running identity. It proves who is calling, decides whether they are allowed, and hands the work to an engine. One folder, one identity, its own policy.
Runner — a second agent whose job is to serve outside callers, with its own ports and policy and one sealed engine. Branching one off is how you let users in without exposing your workspace.
Engine — the unit of work an agent encloses. You do not write an agent; you write or seal an engine, and the agent wraps it in identity and policy.
Router — holds the model credentials so no agent does. Agents ask for a route name; the router resolves it to a provider and decides whether that caller may use it. Runs under its own identity, in its own folder.
Route — a glob you choose (*-ant-aws, glm5br*) that names an upstream in upstreams.yaml.
An engine sends route|model; the router matches the left half and puts the right half on the wire.
Workspace — the browser console for the operator. A client, not the agent. It holds no identity and no model keys.
What an agent works with
Section titled “What an agent works with”Memory — a named, searchable body of documents. Local (ingested on this machine) or served (held by another agent and reached by name over an encrypted channel).
Mission / procedure — a written-down method an agent follows instead of improvising: a flowchart (which card handles which question), cards (the steps), and a fence (what it may touch). The CLI and log lines say mission; the docs say procedure. Same thing.
Card — one procedure, for one kind of question: intent, match cues, resources, steps, dos and don’ts, and a done-check.
Fence — the _manifest.md listing the only memories and commands a mission may use. Not a
guideline: a limit.
Cmdset — the set of shell commands a mission is permitted to run. No cmdset means no shell at all, which is the default.
Letting others in
Section titled “Letting others in”BYOA — bring your own auth. You keep whatever login you already have; your backend calls the runner and names the user. Your users notice nothing.
alt-auth — the other door. Users sign in with the HexaEight Authenticator: the agent seals a one-time code to their address, they type it in, and no password ever reaches you.
Front door — the /external/* surface a runner exposes, which both BYOA and alt-auth arrive at.
Vouch — permission for one identity to act on behalf of a subject. It is what makes a turn bind to a person rather than to the agent.
Opaque caller — an agent may send :opaque: instead of naming its user, so an external router
meters per agent rather than per person. Your customer list stays yours.
Files and places
Section titled “Files and places”env-file and hexaeight.mac — the identity, machine-bound. Never copied; hardlinked when
one machine needs them in two folders.
upstreams.yaml — the router’s only config: its upstreams, and its own settings such as
requireIdentifiedCaller.
router-policy.he — the router’s rules, sealed under the router’s own key. Read it by starting
the router (it prints every rule) or with --init-policy.
engines.he, policy.csv, vouch.he — the agent’s sealed stores. Changed through the
CLI, never with an editor.
Harness root — where an engine keeps its memories, missions and sessions. Passed as --root.
A runner usually has its own, separate from the workspace agent’s.
HEIA_DIR — an agent’s own store for sessions and skills. A caller and the door it calls
must not share one, or the door answers your question back to you.
Sealed — encrypted under the agent’s own key, so only the agent can read or change it. Sealed files are edited through the CLI.
Jail — every engine turn runs with the identity folder masked, so a turn cannot read env-file
even though it runs as the agent.