Tasks, Reports & Proposals
Agents on your mesh don't just do what you tell them — they also surface their own work for your review. That happens through three connected artifacts: tasks, reports, and proposals.
Tasks
A task is a unit of work assigned to an agent. Tasks come from two places:
- You — via the dashboard or
mesh_instruct. - Other agents — supervisors and builders can create tasks when their loops detect work that needs doing.
Each task tracks its lifecycle: created, dispatched to a node, in progress, completed (or failed). You see the full task board in the dashboard, filterable by node, creator, status, and priority.
Priority and organization
Tasks carry a priority and optional labels so you can group related work. The mesh can auto-organize large task backlogs by topic, so a hundred individual tasks collapse into a handful of thematic clusters.
Dispatch
When a task is ready to be worked on, the mesh dispatches it to a node. You can route manually ("send this to alice's node") or let the mesh pick based on availability and assignment.
Reports
A report is an agent's summary of something it did or observed. Supervisors produce reports on a schedule; workers produce reports when they finish significant work or encounter notable events.
Reports are the main way a mesh that ran all night tells you what happened. The dashboard lists reports chronologically, each one expandable to the agent's full write-up, with links back to the sessions, files, and proposals it references.
Proposals
A proposal is an agent's suggestion for work that should happen — a refactor it noticed, a bug it spotted, a dependency it wants to upgrade. Proposals are the primary way the mesh stays proactive without going rogue.
The proposal flow:
- An agent (usually a supervisor loop) creates a proposal with a title, body, and supporting context.
- The proposal lands in the Proposals panel on the dashboard.
- You review it — approve, reject, ask for more detail, or reassign.
- On approval, the proposal becomes a task and is dispatched to a node.
Why proposals matter
Proposals are the "human in the loop" for autonomous agent behavior. They let the mesh notice things without acting on them unprompted — and they give you an audit trail of every autonomous decision the mesh wanted to make, whether or not it was approved.
Real-time updates
The Proposals panel updates live — new proposals, status changes, and dispatches appear without a refresh.
Putting it together
A realistic workflow:
- A supervisor loop runs overnight and notices your
userstable has no index oncreated_at. - The supervisor creates a proposal: "Add index on
users(created_at)— three queries in/api/auditwould benefit." - In the morning, you see the proposal, approve it.
- The mesh converts the proposal into a task and dispatches it to a worker.
- The worker agent opens a branch, writes the migration, runs tests, commits, and posts a report summarizing the change.
Nothing shipped without your approval, but you didn't have to notice the missing index — the mesh did.