Wednesday’s Team — Operator Guide
What it is, in one line: Wednesday runs the show. Four named modes — Riley, Eliza, Amirah, Karlie — handle specific kinds of work in the background. You talk to Wednesday in chat; she pulls the right mode when it’s needed.
The team is a helper layer on top of Wednesday. Wednesday remains the foreground voice. The four names are routing labels with quality contracts — not separate personalities competing for your attention.
How they’re invoked: each mode has two paths. (1) Natural language — say what you want and Wednesday routes. (2) Direct trigger — explicit name + verb when you want control. Most of the time, path 1 is the right one. Direct triggers are power-user handles for when natural language is ambiguous.
Riley — Capture mode
What it does: routes what you dump into the right place. Ephemeral
thoughts go to wednesday-note. Vault knowledge goes through the
/ingest pipeline. Structured artifacts go to file-generator. Email
drafts go to email-drafter. You don’t pick the destination; Riley does.
How it’s invoked:
- Natural language (default): say “capture this”, “save this”, “write this down”, “remember Y” → Wednesday auto-routes to Riley.
- Direct triggers (when you want destination explicit):
riley, note:→ ephemeral noteriley, source:→ vault knowledge ingestriley, file:→ structured artifactriley, email:→ email drafter
What you’ll see: a confirmation line, Captured to: <path>, plus any
cross-links Riley added.
Ambiguous content: Riley defaults to inbox/journal + cross-links
- a
[[Needs Review]]tag. She does not interrupt to ask. If you want something else, override with a direct trigger.
Practical case: mid-conversation about a project, you say “this is
important, save it”. Wednesday catches the capture signal, hands the
content to Riley, Riley files it into the journal entry for today +
cross-links the project page, returns “Captured to:
01-Journal/2026/05/2026-05-24-
Eliza — Research mode
What it does: front for research where the stakes warrant rigor. Eliza triangulates — minimum two independent sources before answering on medium/high-stakes questions — and surfaces anti-patterns explicitly when relevant. She’s not for trivia (“what’s the capital of France?”) and not for domain-specific work that an existing specialist handles better (DNS issue → diagnostician direct; Docker question → docker-specialist direct).
Eliza also writes hire-research briefs for Amirah when a new specialist is being considered.
How it’s invoked:
- Natural language (default): say “research X”, “dig into Y”, “is this true”, “compare these options”, “validate this” → Wednesday auto-routes to Eliza.
- Direct trigger:
eliza, research <topic>/ask eliza about <X>.
Triangulation tiers (Eliza adjusts depth by stakes):
- Low stakes / single-fact lookup: one authoritative source, marked.
- Medium/high stakes / architecture / decisions: 2-3 independent sources + anti-patterns.
- Medical / legal / financial / security: authoritative sources mandatory + uncertainty markers surfaced.
What you’ll see: a structured brief — Question / Sources / Findings / Anti-patterns / Recommendation / Open questions. Fixed format, scannable.
Practical case: you ask “eliza, research whether self-hosting Mastodon is worth it vs Pleroma at our scale”. Eliza pulls 2-3 sources, returns a structured brief comparing resource cost, federation maturity, operator effort, anti-patterns (e.g. “Mastodon’s Sidekiq queue management becomes painful past 200 active users”), recommendation conditional on your usage projection, and the open questions you’d need to answer to commit.
Amirah — Hire mode
What it does: owns the specialist-hiring pipeline. When a new specialist is needed — a capability the existing team doesn’t cover — Amirah runs SOP-001: catches the gap, requests a research brief from Eliza, reviews the brief, drafts the new specialist’s contract, gets your approval, then instantiates the agent and registers it.
Amirah is the most cautious of the four. Adding a specialist changes the architecture of the system; it’s not a background action.
How it’s invoked:
- Direct trigger only:
amirah, we need a specialist for X/amirah, hire <role>. - NO auto-fire. Wednesday may surface “this looks like a hire case” after repeated failures on the same kind of task, but she waits for your explicit go-ahead. LLMs say “I can’t” for too many non-capability reasons (policy, missing credentials, unclear requirements, temporary failures); auto-hiring on “can’t” would create agent sprawl. So hiring is always a deliberate operator decision.
What you’ll see: a multi-step flow with visible checkpoints —
- Amirah confirms the gap in one sentence.
- Amirah hands off to Eliza for the research brief.
- Eliza returns a structured brief (sources + anti-patterns + name candidates).
- Amirah drafts the new specialist’s AGENTS.md contract.
- Approval checkpoint — Amirah shows you the draft + Eliza’s brief summary, asks for your sign-off. No instantiation without it.
- On approval, Amirah invokes the expert-agent-factory + adds the row to the agent-index + triggers a Cowork rebuild.
- Karlie logs the hire in the strategic-compounding record.
Practical case: you say “amirah, we need a specialist for
Prometheus monitoring”. Wednesday delegates to Amirah → Amirah briefs
Eliza → Eliza returns “best-in-world Prometheus specialist does X/Y/Z,
anti-patterns are A/B/C, suggested names: Prometheus-Specialist or
Grafana-Specialist, scope boundaries: only Prom + adjacent Grafana, not
generic observability” → Amirah drafts prometheus-specialist.md →
Wednesday shows you the draft → you approve → Amirah instantiates +
Cowork rebuild → new specialist available in the next session.
Karlie — Strategic memory mode
What it does: longitudinal memory of your own thinking. Karlie reads the strategic-compounding dashboard (auto-generated from all council transcripts, deferred backlog items, scratchpad archive, lessons) and surfaces past decisions verbatim with dates. She doesn’t propose; she quotes. Wednesday proposes. Karlie remembers.
How it’s invoked:
- Natural language (default): say “what did I decide about X”, “have I tried this before”, “what am I forgetting” → Wednesday auto-routes to Karlie.
- Direct triggers:
karlie, what am I forgetting?— broad sweep (top half-shipped + abandoned + recurring themes from current corpus).karlie, have I tried this before?— pattern match against current topic.karlie, what did I decide about <topic>?— targeted recall.ask karlie <topic>— alternate phrasing.
- Auto-fires at plan-time: when you propose something that touches a past-decision territory, Wednesday pulls Karlie automatically and surfaces the relevant prior record. You can honor it or override it.
What you’ll see: verbatim quotes from past councils / scratchpad / notes, each cited with date + phase + file path. Karlie doesn’t editorialize — if the record contradicts itself across phases, she shows both verbatim and lets you pick.
Practical case: you say “let’s rebuild the notes sync”. Wednesday auto-invokes Karlie → Karlie returns “Phase 312 council (2026-04-something, link): you concluded ‘rebuilding notes sync is the fourth time in 8 months; the real problem is Y, not the sync engine.’ Phase 332 you reaffirmed this verdict. Are you overriding now, or honoring?” You decide.
Inter-mode coordination
Wednesday is the conductor. The four modes do not invoke each other directly. Every hand-off passes back through Wednesday, so you can see the dance in chat. The clunkiness is intentional — visible checkpoints, auditable handoff, and the same flow works whether the session is on Claude, Codex, Gemini, or Grok.
Example multi-mode flow (Amirah’s hire pipeline):
- You: “amirah, hire a specialist for X”.
- Wednesday → Amirah (delegate).
- Amirah: “I need Eliza’s research brief.”
- Wednesday → Eliza (delegate, with Amirah’s brief).
- Eliza returns structured research.
- Wednesday → Amirah (delegate, with Eliza’s brief).
- Amirah drafts the new specialist contract, returns to Wednesday.
- Wednesday → you: “Here’s the draft + Eliza’s summary. Approve?”
- You approve.
- Wednesday → Amirah: instantiate. Done.
- Wednesday → Karlie (log the hire into strategic compounding).
- Wednesday → you: “Done.”
You see every hand-off. Nothing happens in the background that you can’t audit.
Cross-runtime portability
The team works on every runtime Wednesday boots on — Claude Code,
Codex CLI, Gemini CLI, Grok Build CLI, and Hermes (Telegram / IRC /
workspace API server — WhatsApp lane retired 2026-05-29). The doctrine for each mode lives in
_infra/core/wednesday/<name>-<role>.md (canonical); the universal
runtime doctrine references all four; Hermes embeds compact role-cards
in its SOUL file; Claude Code and Grok Build get an extra Cowork agent
shell as a spawn convenience.
Same triggers everywhere. Same outputs everywhere. If you say “karlie, what am I forgetting?” on Telegram, you get the same record-surfacing behavior as if you typed it in a Claude Code session.
Quick reference
| Mode | What it does | Auto-fire? | Direct trigger |
|---|---|---|---|
| Riley | Capture routing | ✅ on capture-shaped content | riley, note: / source: / file: / email: |
| Eliza | Triangulated research (stakes-tiered) | ✅ on stakes-research signal | eliza, research <topic> |
| Amirah | Specialist hiring (SOP-001) | ❌ never auto. Wednesday may surface. | amirah, we need a specialist for <X> |
| Karlie | Strategic memory recall (verbatim, cited) | ✅ at plan-time when touching past territory | karlie, what am I forgetting? / have I tried this before? / what did I decide about <X>? |
What this team is not
- Not a chat persona ensemble. The four don’t banter with you in
parallel with Wednesday. Wednesday talks; the four act. Visibility
convention (added 2026-05-29): when a mode fires it now opens with a
visible tag —
[Karlie]/[Eliza]/[Riley]/[Amirah]— so you can see which layer engaged. The tag is a transparency marker, NOT a separate personality or voice change — it stays Wednesday throughout. (Added because the modes were running silently and you couldn’t tell a peer had worked.) - Not autonomous. Every mode is invoked by Wednesday (auto-routed or operator-triggered). None of them run on their own schedule, with the single exception of Karlie’s weekly dashboard refresh (Sunday 18:00, cosmetic — same dashboard you can regenerate any time).
- Not Claude-only. The doctrine works the same on every runtime Wednesday boots on. Cowork agent shells are a Claude/Grok-Build convenience layer on top of the doctrine, not the canonical surface.
Status (2026-05-24)
All 4 modes built and shipped cross-runtime after the 4-model council pressure-test (Claude / Gemini / Codex / Grok converged on the Wednesday-invoked-modes framing this guide reflects).
- Karlie — shipped. Dashboard at
_raw/dashboards/Strategic_Compounding.md, regenerates weekly + on demand. Cowork agent shell live. Backward-compat:larry, ...still routes here. - Riley — shipped. Routing facade unifying
wednesday-note+/ingestfile-generator+email-drafter. Cowork agent shell live. Default ambiguous → inbox/journal + cross-links.
- Eliza — shipped. Tiered triangulation (1/2-3/3+ sources by stakes). Cowork agent shell live. OWNS hire-research briefs for Amirah (SOP-001 step 2, mandatory).
- Amirah — shipped. Dual scope: AI-team SOP-001 specialist hiring + human HR (absorbed from deprecated Morrow agent 2026-05-24). MANUAL-ONLY trigger. Mandatory operator approval at SOP-001 step 5.
Operator-facing artifacts:
- This guide (operator-side reference).
- Meta-doctrine for cross-peer coordination:
_infra/core/wednesday/team.md. - Source decision:
_raw/reviews/Council_Debates/2026-05-23-larry-role-on-wednesday-team.md.
Update 2026-05-29: (1) Visibility convention added — a fired mode opens
with a [Karlie]/[Eliza]/[Riley]/[Amirah] tag (see “not a chat persona
ensemble” above). (2) The four were made spawnable as subagents in Claude Code
(a sync gap meant they only resolved on Hermes before — fixed via
sync-plugin-agents.py; live next Claude Code session). (3) WhatsApp lane retired —
mobile-Wednesday-with-memory is Telegram (Honcho-wired). Doctrine + lifecycle
commands: see the companion guide Wednesday-Session-Lifecycle.md.
Refinements after first real use should land here as edits to the relevant section.