Swarm workflow

How work flows through the swarm today. Solid = built and running. Dashed = planned but not yet wired.

Cross-cutting: notes, summaries, human notificationsPR openedmergednotifyreadwrite#bugs Slack channelsourceGmailsource (planned)Meeting notes (Drive)source (planned)Slack ingesterwebhook · codeGmail pollerplanned · codeMeeting parserplanned · codeTriagerLLM · prioritize + assignDev · cloudvenue=cloudDev · TJpersonal · tj@Dev · Nataliepersonal · natalie@QA (triage)planned · LLMCode reviewerplanned · on PR openQA on mergeplanned · on merge to mainquestion_for_humanartifact · any role can fileSlack DM to humanauto · via forHumanEmailcontext_notesappend-only · any roleSummarizerLLM · nightlycontext_summaries6 sections · loaded at session startPM digestLLM · weekly#team Slack postweekly stakeholder update
Legend
LLM role (built)
Autonomous claude agent — cloud cron or personal /swarm-start
Code / webhook (built)
Plain code — no LLM. Ingesters, DMs, session-lifecycle.
Planned
Not yet built — scoped as a follow-up. Listed in backlog.
solid arrow = live edge
dashed arrow = planned edge
Reality checks
code today
Ingester + Triager are drawn as separate stages, but in the codebase the LLM triage still runs inside the investigator role. Splitting the role (rename to triager) is queued.
sources today
Only #bugs Slack channel is wired. Gmail and Drive/meeting-notes are dashed — MCPs exist, ingestion loops do not.
side flows
Any role can file a question_for_human mid-work → auto-DMs the tagged person via Slack. Summarizer runs nightly, feeds context back to every new session at start.