Nine Councils & Agent Roster
grace beginner 5 min read
ELI5
Each domain has a council — a small panel of named agents. Each council has one approver (gate authority) and one untouchable specialist (protected agent) who must always be on the chain. Same shape across nine teams.
Technical Deep Dive
Source: agent/IDENTITY.md, config/gate-rules.yaml, council YAMLs in stratt-hq/councils/{name}/council.yaml. Schema: packages/schema/src/types/council.ts.
Council Roster
| Council | Domain | Theme | Protected Agent | Gate Authority |
|---|---|---|---|---|
| Pathfinder | dev | Ares III crew | BECK-02 (reviewer) | LEWIS-06 (planner) |
| Hermes | ops | Mercury ground control | EECOM-02 (infra) | RETRO-04 (incident cmd) |
| Athena | docs | Library of Alexandria | CURATOR-02 (reviewer) | EDITOR-04 (editor) |
| Bastion | security | Fort Bastion | ANALYST-03 (compliance) | COMMANDER-05 (security arch) |
| Compass | product | Navigation instruments | MERIDIAN-03 (UX audit) | COURSE-05 (product lead) |
| Herald | marketing | Royal heralds | GAZETTE-03 (brand compliance) | CROWN-05 (marketing exec) |
| Terra | data | Geological strata | SPRING-03 (data quality) | MANTLE-05 (data lead) |
| Dendrite | neuro | Brain network topology | AMYGDALA-04 (integrity) | CORTEX-01 (neuroscience lead) |
| Primer | core | Domain extension meta | GENERATOR-02 (code-gen) | ANALYST-01 (domain analyst) |
41 agents total across 9 councils.
Schema
classDiagram class Council { +string name +Domain domain +semver version +string martian_reference +Agent[] agents +Map~Domain,string[]~ protectedAgents +string[] gateAuthorityAgents } class Agent { +Designation designation +string role +Capability[] capabilities +bool protected +bool gate_authority +string description +DoctrineRef[] doctrines +Sprite visual } class Capability { <<enum>> analysis architecture audit code data domain gates memory operations planning write } Council --> Agent : "agents (min 1)" Agent --> Capability : "capabilities (min 1)"Designation regex: ^[A-Z]+-\d{2}$ (e.g. LEWIS-06).
Enforcement
- FM-04 — every chain in a domain MUST include at least one step assigned to that council’s protected agent.
- FM-05 — removing a gate step requires a major version bump.
- FM-09 — agent assigned to a step must declare every capability the step requires.
Cross-Council Rules
- Production deployments require RETRO-04 (Hermes) gate approval.
- External documentation publication requires EDITOR-04 (Athena) gate approval.
- Gate timeout is 24 hours by default; timeout never auto-approves.
Key Terms
- Protected agent → Agent with
protected: true; cannot be omitted from a chain in its domain (FM-04). - Gate authority → Sole approver for
GATEcheckpoints in the council’s domain. - Designation → Uppercase-name + two-digit number; stable across versions, used in trace records.
Q&A
Q: Can one agent hold both protected and gate-authority flags? A: The schema permits it (both are independent booleans), but no shipped council assigns both to the same agent. Separation keeps approval distinct from required participation.
Q: What happens at the 24-hour gate timeout?
A: The gate enters TIMEOUT terminal state. The chain does not auto-approve — execution halts. A human must restart with a fresh gate request.
Q: How does Primer differ from the other eight councils?
A: Primer is meta — it governs the domain-extension pipeline itself rather than a vertical domain. Its three agents (ANALYST-01, GENERATOR-02, VALIDATOR-03) cover phases 0–9 of domain-extension-pipeline.
Examples
A dev/chain/sol-1-boot chain executes. FM-04 requires BECK-02 to be on the chain — if absent, CI blocks the publish. The final gate step routes to LEWIS-06 (Pathfinder gate authority). If LEWIS-06 rejects, the chain terminates with the rejection reason recorded in the trace.
neighbors on the map
- Gate Checkpoint Protocol designing a gated chain step
- Nine Failure Modes (FM-01..FM-09) interpreting a `stratt ci` failure
- Primer Domain Extension Pipeline extending STRATT to a new vertical domain
- Council Orchestration Model creating a new council