Boards + Issues — Work Tracks
activeBoards are named work track containers inside the Pipeline. The Intake Board is the system default — the front gate. Named boards (Discovery, Delivery, etc.) give the captain parallel tracks with board-scoped labels and immutable issue placement.
Boards + Issues — Work Tracks
See also: overview.md | value-streams.md | sal.md
Component Card
| Owner | Sal |
| MCP | @sector137/mcp-pipeline |
| Slash | /pipeline |
| CLI | sector137 pipeline boards |
| SDK | sdk.pipeline().listBoards() |
| Status | active |
TL;DR
- Boards are named work track containers — the Pipeline’s organizational layer for parallel threads of activity
- Every universe starts with Intake — the system-generated default board that cannot be renamed, edited, or deleted
- Named boards (Discovery, Delivery, Design Sprint, Hardening) are created by the captain for dedicated work tracks
- Issue placement is permanent —
board_idis immutable after creation; issues never move between boards - Board-scoped labels give each board its own vocabulary without cross-contamination
- Boards are the materialization of dual-track agile: Discovery and Delivery living side by side
What Boards Are
Status: LIVE (v0.14.0)
The Pipeline organizes work into boards — named containers that give the captain and crew dedicated work tracks for parallel threads of activity. Boards are the materialization of dual-track agile: Discovery and Delivery living side by side in the same pipeline, each with its own issue set, its own label vocabulary, and its own kanban view.
A board is a self-contained work track. It has its own issues, its own labels, and its own kanban view. When the captain navigates to a board, they see only that board’s work — no noise from other tracks.
Universe Pipeline | +-- Intake Board (system default -- cannot delete or rename) | +-- Unsorted and cross-cutting issues | | | +-- Triage creates issues directly on target boards (not moved -- placed) | +-- Discovery Board (hypothesis exploration) | +-- Labels: hypothesis / validated / no-signal / parked | +-- Delivery Board (execution) +-- Labels: blocked / ready / QA / scope-creepThe Intake Board
Every universe starts with one board: Intake. It is the system-generated default — the Pipeline’s physical front gate. When an issue is created without a board assignment, it lands in Intake automatically.
Intake has special rules:
- Cannot be renamed. It is always “Intake.”
- Cannot be edited. Its configuration is system-managed.
- Cannot be deleted. It exists from universe initialization to heat death.
isDefault = true— the only board with this flag.
Intake is not a failure state. It is a legitimate work track — for quick wins, cross-cutting concerns, and anything that hasn’t earned a named track yet.
“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.” — Sal
Named Boards
Named boards are created by the captain: Discovery, Delivery, Design Sprint, Hardening. Each is a self-contained work track with its own:
- Issue set — issues placed on this board at creation time
- Label vocabulary — board-scoped labels that exist only within this board
- Kanban view — the board’s own visual representation of work state
Named boards have no system restrictions beyond the global rules: they can be renamed, updated, and deleted. Deleting a named board sets its issues’ board_id to null.
Issue Placement Is Permanent
board_id is immutable after creation. An issue belongs to one board for its entire lifecycle. The Pipeline does not shuffle cards between tracks mid-game.
This is a deliberate architectural constraint. When an issue is created on the Delivery board, it stays on the Delivery board — through backlog, in-progress, completed, and cancelled. The board is the issue’s home. Triage does not move issues; triage creates issues on the correct board.
Board-Scoped Labels
Labels are defined at the board level and exist only within that board — no cross-contamination. Discovery’s taxonomy stays clean for research classification. Delivery’s taxonomy stays clean for execution state. The vocabularies never collide.
Each label has:
- Name — the label’s display text
- Color — hex color for visual identification
Labels are the board’s own vocabulary. They are not project-scoped tags (which live in projectTags). They are board-scoped — tighter, more tactical, specific to the work track’s classification needs.
Boards and Streams
Boards are the organizational layer that will integrate with Streams (v0.11.0). When Streams land, each board will be associable with a stream — the Discovery Board maps to the Discovery Stream, the Delivery Board to the Delivery Stream. For now, boards are independent containers that visually and organizationally parallel the planned Stream architecture.
The relationship, when complete:
| Layer | What It Is | Relationship |
|---|---|---|
| Stream | Strategic throughput channel — organizational, multi-board, long-duration | Contains boards; governs the macro direction |
| Board | Tactical work track — concrete, kanban-able, label-scoped, immutable placement | Lives within a stream; the day-to-day working surface |
| Issue | Delta — permanently placed on a board, optionally scoped to a release | Created on a board; never moves |
Issue Types
The fundamental unit of change. Creating an issue is declaring that the universe should be different.
| Type | Code | Meaning |
|---|---|---|
| Expansion | expansion | New features — the universe grows |
| Correction | correction | Bug fixes — the universe corrects itself |
| Refinement | refinement | Polish — the universe becomes more itself |
| Maintenance | maintenance | Tech debt — the universe maintains its structural integrity |
Every issue contains:
- The Vector (The Why) — Strategic direction. Owned by Margot and Harlan.
- The Spec (The What) — Architectural + experiential requirements. Negotiated by Kael and Wren.
- The Payload (The Code) — The actual change.
- The Trajectory (The Timeline) — Sal’s calculation of transit time.
MCP Tools — Boards
| Tool | Purpose |
|---|---|
list_boards | List all boards in a universe — Intake first, then by position |
create_board | Create a named work track (Discovery, Delivery, etc.) |
update_board | Rename or update a board — cannot update Intake |
delete_board | Remove a board — cannot delete Intake |
create_board_label | Define a label in a board’s vocabulary (name + color) |
delete_board_label | Remove a label from a board’s vocabulary |
MCP Tools — Issues
| Tool | Purpose |
|---|---|
list_issues | Query the issue backlog — filter by status, category, release, or tags |
get_issue | Fetch a single issue with all fields |
create_issue | Declare a new Delta — title, category, priority, acceptance criteria |
update_issue | Modify issue fields — title, status, priority, dates, labels, tags |
update_item_status | Quick status change with optional note |
delete_issue | Permanently remove an issue |
get_issue_stats | Issue counts grouped by status |
get_issues_by_status | Issues grouped by status — kanban view |
bulk_update_status | Change status on up to 50 issues at once |
bulk_scope_issues | Assign multiple issues to a release |
bulk_assign_issues | Assign user or agents to multiple issues |
list_issue_notes | Fetch all notes on an issue |
add_issue_note | Add a timestamped note — decisions, context, completion reports |
update_issue_note | Modify existing note content |
delete_issue_note | Remove a note |
search_notes | Full-text search across all issue notes in the project |
list_issue_tasks | List sub-tasks on an issue |
create_issue_task | Add a sub-task to an issue |
update_issue_task | Modify a sub-task (title, status, assignee) |
complete_issue_task | Mark a sub-task done |
delete_issue_task | Remove a sub-task |
get_issue_relations | List all dependency relations for an issue |
add_issue_relation | Link two issues (blocks / blocked_by / related_to / duplicate_of) |
remove_issue_relation | Remove a dependency relation |
Implementation
| Package | Description |
|---|---|
apps/app | Boards API (src/routes/api/v1/boards.ts), pipeline lifecycle (src/lib/pipeline-lifecycle.ts), client pages (board-detail.tsx, universe-pipeline.tsx) |
packages/sdk | TypeScript SDK — boards resource (resources/boards.ts) |
packages/mcp | MCP server — 6 board tools (tools/boards.ts) |