Static mockup (not an app build). Indicator = brand heartbeat capsule (vertical 8×16); chips = brand .task-chip (1px border, light vs dark). All values from brand.css.
-
rev 17 — new: the All Projects page chip mapping (see “All Projects page — project chips” + the sample projects list below). The same approved brand chips are mapped onto all 5 PROJECT_STATUSES in light + dark.
- Emerging principle: blue = liveness — actively running work is blue; queued/idle work is not.
-
-
-
-
-
-
Light mode — #FFFFFF
-
Agents
-
-
Hermes
CEO
claude_local1midle▷⏸
-
Vega
Engineer
claude_local30srunning▷⏸
-
Atlas
Writer
codex4midle▷⏸
-
Nova
Researcher
claude_local1mrunning▷⏸
-
Lyra
Designer
cursor6midle▷⏸
-
Orion
QA
claude_local45srunning▷⏸
-
Sol
DevOps
claude_local8midle▷⏸
-
Juno
PM
claude_local2midle▷⏸
-
Iris
Security
claude_local1hpaused▷⏸
-
Kilo
Analyst
codex3herror▷⏸
-
-
-
-
-
-
Dark mode — #141413
-
Agents
-
-
Hermes
CEO
claude_local1midle▷⏸
-
Vega
Engineer
claude_local30srunning▷⏸
-
Atlas
Writer
codex4midle▷⏸
-
Nova
Researcher
claude_local1mrunning▷⏸
-
Lyra
Designer
cursor6midle▷⏸
-
Orion
QA
claude_local45srunning▷⏸
-
Sol
DevOps
claude_local8midle▷⏸
-
Juno
PM
claude_local2midle▷⏸
-
Iris
Security
claude_local1hpaused▷⏸
-
Kilo
Analyst
codex3herror▷⏸
-
-
-
-
-
-
-
All states — today vs. suggested
-
Every agent + task state Paperclip allows (packages/shared/src/constants.ts), with today’s production styling and the proposed change. Today = circular dot + borderless pill; Suggested = heartbeat capsule + bordered task-chip.
-
-
Agent states — AGENT_STATUSES (7)
-
-
State
What it means (verified in code)
Today
Suggested
-
-
-
idle
Online, no active run — the resting/available state (DB default)
-
idle
-
idle← gray “idle” (D1 updated)
-
-
-
active
Dead code — never assigned to an agent; only a dashboard display alias for idle
-
active
-
collapse → idle (drop as a separate status)
-
-
-
running
A heartbeat is executing right now (live)
-
running
-
running
-
-
-
paused
Halted — manual / budget / system (PAUSE_REASONS)
-
paused
-
paused
amber ✓ (D7 — gray would collide with the gray idle state)
-
-
-
error
The agent itself is broken — e.g. not connected to a model and failing every task. Distinct from a task failing (you’d know it’s the agent, not the work).
-
error
-
error
red, blinking — re-added (D5 reversed)
-
-
-
pending_approval
Newly hired — awaiting hire approval
-
pending approval
-
— removed from the agents list. Hiring approval happens in the task thread: the hiring-plan task pauses as a purple in review task → approve there. No separate agent state.
-
-
-
terminated
Retired / decommissioned (terminal)
-
terminated
-
— not shown in the agents list (hidden like archived companies; lives elsewhere / DB).
-
-
-
-
The agents list shows 4 states: idle · running · paused · error. active folds into idle; pending_approval and terminated are not listed (see above).
-
-
Task states — ISSUE_STATUSES (7) + derived blocked sub-states
-
blue = liveness: in_progress → blue, todo → amber. Suggested chips now carry the brand task-state icon (the 12px glyph from paperclip.ing/brand “Task states”). Derived blocked sub-states (from StatusIcon.tsx via blockerAttention.state) are shown as the status-icon ring — they are not separate ISSUE_STATUSES values and need no colour change.
-
-
State
Today
Suggested
Suggested — dark
-
-
backlog
backlog
backlog
backlog
-
todo → amber
todo
todo
todo
-
in_progress → blue · live
in progress
in progress
in progress
-
in_review
in review
in review
in review
-
done
done
done
done
-
blocked
blocked
blocked
blocked
-
cancelled
cancelled
cancelled
cancelled
-
blocked — collapsed to 2 (In queue + blocked) per D6
-
In queue
blocked behind a live child
teal ring + dot
In queue
In queue
-
blocked
plain blocked = task blocked
red ring
blocked
blocked
-
-
-
-
Blocked → 2 states (your call: collapse to In queue + blocked)
-
All the “stalled / needs-attention / plain” nuances (verified in StatusIcon.tsx + server/.../issues.ts) fold into one red blocked. The only distinction kept is whether the block is self-healing.
-
-
Chip
You see it when…
Self-heals?
-
-
In queue
A blocking sub-task/dependency is currently running (or human-assigned / awaiting approval) — the parent is only waiting on its own live child.
Yes — unblocks when the child finishes. No action needed.
-
blocked
Everything else that’s genuinely stuck — a blocker in review with no one on it, unassigned/parked/cancelled, an agent down, or a manual block.
No — needs a human (decision / triage / unblock).
-
-
-
In queue is the one worth keeping distinct — it means not actually stuck (a child is moving it forward). Everything else is just blocked (red). The richer covered/stalled/needs-attention signal still exists under the hood (blockerAttention) and could power tooltips/filters later, but the chip is binary.
-
-
-
Your question: active vs idle (verified in code)
-
active and idle are not meaningfully different — they should be collapsed. The agents table defaults to idle and is never set to active; active exists only as a dashboard display alias (it counts idle agents as “active”). So the resting state is one thing — labelled “idle” (gray) — and “running” (blue) when a heartbeat is executing. That idle + running mix is what a healthy org shows above.
-
-
-
-
-
Sample task list — all task states
-
A realistic task list covering every ISSUE_STATUS plus the two blocked states (In queue, blocked). Brand status icon on the left, brand chip on the right — consistent icon sizes + chip heights. (Spec for the D4 follow-up.)
-
-
-
-
Light mode
-
Tasks
-
-
PAP-41Refactor auth module
in progress
-
PAP-42Write API docs
todo
-
PAP-44Ship onboarding flow
In queue
-
PAP-47Fix payment crash
blocked
-
PAP-48Draft Q3 roadmap
in review
-
PAP-40Set up CI pipeline
done
-
PAP-43Design system audit
backlog
-
PAP-49Deprecate old API
cancelled
-
-
-
-
-
Dark mode
-
Tasks
-
-
PAP-41Refactor auth module
in progress
-
PAP-42Write API docs
todo
-
PAP-44Ship onboarding flow
In queue
-
PAP-47Fix payment crash
blocked
-
PAP-48Draft Q3 roadmap
in review
-
PAP-40Set up CI pipeline
done
-
PAP-43Design system audit
backlog
-
PAP-49Deprecate old API
cancelled
-
-
-
-
-
-
-
All Projects page — project chips, today vs. suggested
-
Mapping the approved brand chip system (bordered .task-chip + 12px status glyph, light/dark) onto every project state Paperclip allows (PROJECT_STATUSES in packages/shared/src/constants.ts). Today the all-projects list renders the borderless StatusBadge pill (ui/src/components/StatusBadge.tsx → statusBadge map); suggested swaps it for the same bordered chip used by tasks and agents. blue = liveness carries over: in_progress → blue.
-
-
Project states — PROJECT_STATUSES (5)
-
-
State
What it means (verified in code)
Today
Suggested — light
Suggested — dark
-
-
-
backlog
Parked / unscheduled — not yet picked up
-
backlog
-
backlog
-
backlog
-
-
-
planned → amber
Scheduled / committed but not started. Today it's an identical gray to backlog — indistinguishable. Amber gives it the “queued, ready” identity (mirrors task todo).
-
planned
-
planned
-
planned
-
-
-
in_progress → blue · live
Actively being worked — the project has live work. blue = liveness (today it's yellow).
Abandoned, not to be resumed (gray + strikethrough, matches task cancelled)
-
cancelled
-
cancelled
-
cancelled
-
-
-
-
-
Derived overlays — not in PROJECT_STATUSES (handled separately)
-
A project also carries pauseReason/pausedAt and archivedAt (verified in packages/shared/src/types/project.ts). These are overlays on top of the base status, not values in the 5-state enum.
-
-
Overlay
What it means
Suggested — light
Suggested — dark
-
-
-
paused
Project halted (manual / budget / system). Amber, consistent with a paused agent (D7). Shown as an overlay chip beside the base status, not a replacement enum value.
-
paused
-
paused
-
-
-
archived
Not shown in the all-projects list — the page already filters !p.archivedAt (ui/src/pages/Projects.tsx). Same treatment as terminated agents / archived companies. No chip needed.
-
— hidden from the list (no chip change required) —
-
-
-
-
The all-projects list shows 5 chips:
- backlog
- planned
- in progress
- completed
- cancelled
- · the only colour changes from today are planned (gray → amber, to split it from backlog) and in_progress (yellow → blue, the liveness rule).
-
-
-
-
Sample All Projects list — all project states
-
The all-projects page (ui/src/pages/Projects.tsx) with the proposed brand chips on the far right, every PROJECT_STATUS covered. Project tile icon on the left (unchanged), brand status chip on the right.
-
-
-
-
Light mode
-
Projects
-
-
Paperclip App
12 tasks
in progress
-
Paperclip Website
8 tasks
planned
-
companies.io
3 tasks
backlog
-
Onboarding revamp
20 tasks
completed
-
Discord bot
5 tasks · paused
paused
-
Legacy migration
2 tasks
cancelled
-
-
-
-
-
Dark mode
-
Projects
-
-
Paperclip App
12 tasks
in progress
-
Paperclip Website
8 tasks
planned
-
companies.io
3 tasks
backlog
-
Onboarding revamp
20 tasks
completed
-
Discord bot
5 tasks · paused
paused
-
Legacy migration
2 tasks
cancelled
-
-
-
-
-
-
-
Decisions — resolved ✓
-
Locked into the plan (✦ = updated this round):
-
✦ D1 — active collapses into one resting state, shown gray “idle” (reverted from green “online”).
-
✦ D2 — pending_approval is removed as an agent state. Hiring approval happens in the task thread (the hiring-plan task pauses as a purple in review task → approve there).
-
✦ D3 — terminated is removed from the agents list (hidden like archived companies; lives elsewhere / DB), rather than shown gray.
-
✓ D4 — issue/task chip + status-icon restyle → follow-up issue (paperclip-website project, its own workspace). PAP-75 ships agents only.
-
✦ D5 — agent error capsule re-added (red, blinking). Scenario: the agent is broken (e.g. not connected to a model) and failing every task — distinct from a task failing.
-
✦ D6 — blocked task states collapse to 2: In queue (blue, self-heals) + blocked (red).
-
✓ D7 — paused agent = amber (gray would collide with the gray idle state).
-
✦ D8 — All Projects page chips adopt the same brand chip system. 5 PROJECT_STATUSES map to: backlog (gray) · planned (amber) · in_progress (blue, liveness) · completed (green) · cancelled (gray, strikethrough). Only two colour changes from today: planned gray→amber (split from backlog) and in_progress yellow→blue. paused overlay = amber; archived stays hidden from the list. Awaiting board approval.
-
All decisions confirmed by the board. Final agents list = 4 states: idle (gray) · running (blue, pulse 1.6s) · paused (amber) · error (red, blinking). active→idle; pending_approval & terminated not listed.
-
Follow-ups created for the task/issue status restyle: one on the Paperclip App (core app, everywhere statuses appear) and one on the Paperclip Website project. PAP-75 itself ships the agent changes.
-
-
- PAP-53 · Information Architecture Jump to a screen
-
-
-
-
-
-
-
-
PAP-53 · Wireframes
-
Information Architecture — left nav & related views
-
Low-fidelity wireframes for the proposed left-navigation restructure and the two new list views (Projects, Agents). Monochrome and structural only — color, spacing, and final iconography are intentionally not represented. Click any wireframe to zoom.
-
- Revised v2 · per board feedback
- 5 screens
- Desktop + mobile
- Lo-fi · monochrome
- Plan: PAP-53 plan doc
-
-
-
-
-
Overview
-
What this set covers
-
Revised after board review. Nav structure, ordering, and the open questions are now locked per the board's direction.
-
-
-
Top level (no section label): Conference room, New Task, Dashboard, Inbox.
-
Work (exact order): Tasks, Routines, Goals, Workspaces, Artifacts, Projects.
-
Conference room — new placeholder top-level item, chat-bubble icon, empty page for now (screen 1).
-
New Issue → New Task — renamed; standard nav label color (screen 1).
-
Issues → Tasks — renamed globally across the frontend (nav item, page, all references).
-
Artifacts — new Work item; Projects — new Work item at the bottom of Work, opens the projects list view (screens 1 & 2).
-
Removed — the old collapsible PROJECTS section (per-project rows in the sidebar) is deleted (screen 1).
Agents section — active agents only when any are running; otherwise up to 5 recently-active + "See all agents" → agents list view with per-row key actions (screens 3 & 4).
-
-
-
-
-
-
-
Screen 1 · Navigation
-
1.Left navigation (redesigned)
-
The full sidebar with every nav change applied. Numbered callouts map to the change list.
-
-
-
01-sidebar.svg1280×800 · desktop
-
-
-
-
mobile375×812
-
-
-
-
-
Annotations
-
-
1 — Conference room: new top-level item, chat-bubble icon.
-
2 — New Issue → New Task; standard nav label color.
-
3 — Issues → Tasks (renamed globally).
-
4 — Artifacts: new Work item.
-
5 — Projects: new Work item (bottom of Work), opens the list view.
-
6 — Removed: the old collapsible PROJECTS section.
-
7 — Agents: active/recent + "See all agents" (screen 4).
-
-
Why this changes: Locks the nav to the board's specified structure and order. Work becomes the single home for cross-cutting views; per-project rows leave the sidebar entirely (you reach a project via Projects → list → detail). On mobile the sidebar is a full-height drawer; the bottom tab bar is unchanged.
-
-
-
-
-
-
-
-
Screen 2 · Projects
-
2.Projects list view
-
Opened from the new "Projects" Work nav item. Each project is a row with an at-a-glance summary; clicking a row opens today's project detail view unchanged.
-
-
-
02-projects-list.svg1280×800 · desktop
-
-
-
-
mobile375×812
-
-
-
-
-
Reference — today's project detailfrom PAP-53
-
-
-
-
Annotations
-
-
1 — Gray folder tile (same primitive as the sidebar).
-
2 — Overview = project description, one line, truncated.
-
3 — Task count + budget + status per row.
-
-
Why this changes: Gives projects a real index page instead of only the sidebar list. On mobile each row reflows to a card with the metrics on a second line. Task count and budget are not on the Project type today — the board approved adding a lightweight count + budget lookup for these rows.
-
-
-
-
-
-
-
-
Screen 3 · Agents
-
3.Agents list view ("See all")
-
Opened from "See all" in the Agents sidebar section. Each row carries the key actions from the agent detail page; clicking a row opens today's agent detail unchanged.
-
-
-
03-agents-list.svg1280×800 · desktop
-
-
-
-
mobile375×812
-
-
-
-
-
Reference — detail page key actionsfrom PAP-53
-
-
-
-
Annotations
-
-
1 — Identity: icon, name, role, budget spent/limit, last active.
3 — Entry point: "See all" link in the sidebar Agents section.
-
-
Why this changes: Surfaces the actions you'd otherwise have to open each agent to reach. On mobile the action buttons wrap to a second line within the card. Pause vs Resume toggles on the agent's current status.
-
-
-
-
-
-
-
-
Screen 4 · Agents (diagnostic)
-
4.Agents section — active vs. recently-active
-
How the sidebar Agents section chooses what to show. Desktop-only diagnostic.
-
-
04-agents-states.svg1280×800
-
-
-
-
Rule: If any agent has a live run → show only those (state A). If none are running → show up to 5 recently-active agents sorted by last heartbeat, plus "See all" (state B). "See all" always opens the full agents list view (screen 3).
-
-
-
-
-
-
Screen 5 · Projects (detail)
-
5.Project tile — customize icon & color
-
Default neutral tile and the color picker opened by clicking it. Color-only this phase; the folder icon is fixed. Desktop-only overlay.
-
-
05-project-customize.svg1280×800
-
-
-
-
Why this changes: Per board direction, build color only first — every tile keeps a folder icon (custom-icon picker deferred). Default tiles are neutral gray. Since the per-project sidebar list is removed, tiles live in the Projects list rows and the project detail header, so the color control attaches to the project itself. project.color already exists — no new field needed this phase.
-
-
-
-
-
Board answers
-
Resolved decisions
-
-
-
Terminology — Issues → Tasks, renamed globally on the frontend.
-
Conference room — Placeholder only, empty page for now. Confirmed.
-
Projects: dual presence — No. Delete the existing collapsible PROJECTS section; projects are reached only via the Projects list view.
-
Row data — Yes, add a lightweight task-count + budget lookup for the list rows.
-
Project icon — Color only first. Keep a fixed folder icon for every tile; defer custom-icon picker.
-
Work order — Tasks · Routines · Goals · Workspaces · Artifacts · Projects.
-
-
Nesting confirmed: Projects (nav) → projects list in the main pane → row → project detail. "See all agents" → agents list in the main pane → row → agent detail.