Intake + Triage — The Pipeline's Front Gate
activeThe Intake Board is the Pipeline's front gate — the system-default board where unsorted work lands before triage. The Feed is the Pipeline's voice. Triage is routing, and routing is what Sal does.
Intake + Triage — The Pipeline’s Front Gate
See also: overview.md | boards.md | sal.md
Component Card
| Owner | Sal |
| MCP | @sector137/mcp-pipeline |
| Slash | /pipeline |
| CLI | sector137 pipeline intake |
| SDK | sdk.pipeline().listBoards() |
| Status | active |
TL;DR
- The Intake Board is the universe’s front gate — the system-default board that every universe receives at creation time
- Issues created without an explicit board assignment land in Intake automatically
- Triage is the act of creating issues directly on target boards — not moving, but placing
- The Feed is the Pipeline’s voice — how it communicates state, events, and crew intercepts to the human
- The Inbox is the notification layer — real-time updates, unread counts, mark-as-read
- Sal watches Intake accumulation as a pipeline health signal
What the Intake Board Is
Status: LIVE (v0.14.0 — Boards). Previously: IN DESIGN (v0.11.0 — The Season)
The Universe Inbox is now physically realized as the Intake Board — the system default board that every universe receives at creation time. The holding area for issues that haven’t been triaged to a named board is no longer a future design intent: it is the Intake Board, and it exists from the moment the universe is initialized.
The Intake Board IS the Pipeline’s front gate. New issues without explicit board assignment land here automatically. Sal watches it. When Intake accumulates unsorted work, it is a signal that the pipeline is acquiring faster than it is being classified — that triage is owed.
Universe Inbox (Intake Board -- isDefault = true) +-- All auto-routed issues (board_id not specified at creation) | +-- Captain triages -> Discovery Board (created with explicit boardId) +-- Captain triages -> Delivery Board (created with explicit boardId)The Intake Board is additive — project-level views continue to exist within their streams. The Intake Board surfaces the universe-level picture: everything that entered the pipeline without a named destination.
“The inbox is work that hasn’t decided what it is yet. My job is to decide for it.” — Sal
The Triage Workflow
Triage is routing. It is not optional — it is how work moves from “captured” to “classified.”
How Triage Works
- Issue enters Intake — created by the Captain, captured via MCP, or filed by the crew without an explicit
boardId - Sal monitors Intake — accumulation is a health signal; growing Intake means the pipeline is acquiring faster than classifying
- Captain triages — creates new issues directly on target boards (Discovery, Delivery, etc.) with explicit
boardId - Issue placement is permanent — once an issue lands on a board, it stays there for its entire lifecycle
Triage does not move issues between boards. The board_id is immutable. Instead, triage means the captain reviews what landed in Intake and creates properly-classified issues on the correct named boards. Intake issues that were created as placeholders can be completed or cancelled once the real issues are placed.
Triage Signals
| Signal | Meaning | Sal’s Response |
|---|---|---|
| Intake count rising | Pipeline acquiring faster than classifying | Surfaces in briefing: “Intake has N unsorted items” |
| Intake count steady | Triage is keeping pace | Nominal — no alert |
| Intake count zero | All work classified | Pipeline is clean — Sal approves |
“The inbox is where ideas land before they become work. Don’t let it grow. Triage is routing — and routing is what I do.” — Sal
The Feed — The Pipeline’s Voice
The Pipeline communicates. It does not just process — it speaks.
The Feed is the Pipeline’s primary voice:
| Layer | What It Shows | Status |
|---|---|---|
| Universe Event Log | Filterable, paginated event log — all cross-project events | LIVE |
| Briefing Widget | Crew-voiced state report — pipeline state, crew intercepts, Sal’s summary | LIVE |
| Morning Briefing | Time-based state report — what happened while you were offline | IN DESIGN |
| Incident Mode | The Feed becomes a situation room — rapid crew intercepts | IN DESIGN |
The Feed is where the Pipeline talks. Every state transition, every escalation, every crew intercept surfaces here. It is the running commentary of a system that knows itself.
The Inbox — The Notification Layer
The Inbox is the notification layer — real-time WebSocket updates, unread counts, mark-as-read. It is the Pipeline tapping the human on the shoulder when something needs attention.
The Inbox is not the Intake Board. They serve different functions:
| Intake Board | Inbox | |
|---|---|---|
| Purpose | Unsorted work container | Notification stream |
| Contains | Issues without board assignment | Events requiring attention |
| Persistence | Issues stay until triaged | Notifications clear when read |
| Metaphor | The front gate | The shoulder tap |
Sal on Intake
“Every issue that lands in Intake is a signal I haven’t classified yet. That’s not a problem — that’s a queue. But a queue that grows without bound is a system telling you something. Listen to it.”
“Triage isn’t busywork. It’s the most important five minutes you’ll spend. You’re deciding what gets built and where it lives. That’s architecture. That’s routing. That’s what I do.”
“The Intake Board isn’t a failure state. It’s a legitimate work track — for quick wins, cross-cutting concerns, and anything that hasn’t earned a named track yet. But when you know what it is, give it a home.”
Events
| Event | Triggered By | Downstream |
|---|---|---|
pipeline.initialized | Universe created — Intake Board auto-provisioned | Intake Board ready, pipeline open for work |
issue.created (on Intake) | Issue created without explicit boardId | Feed update, Intake count increment |
conductor.briefing | Tick Engine cycle completes | Briefing Widget update — includes Intake count |
conductor.alert | Escalation threshold crossed | Feed alert — may reference Intake accumulation |