dispatching-work · git:20261016.812dd98 · 2026-10-16 · sha256 0b82713ffb72883e
dispatching-work git:20261016.812dd98A
Immutable. This exact content never changes and is served at /api/v1/blob/0b82713ffb72883e.
--- name: dispatching-work description: Use to launch, track, list, or wrap up a resolved app-rooted dispatch. --- ## Prepare the dispatch Confirm `herdr status` and the `$HERDR_PANE_ID` live record. Resolve the [worker setup](references/dispatch-mechanics.md#resolve-the-worker-setup), register through [contacting-orchestrators](../contacting-orchestrators/SKILL.md), and [record this session's fingerprint](references/dispatch-mechanics.md#record-the-main-agent). Team-mode cwd: [shipping-task](../shipping-task/SKILL.md#prepare-and-execute). ## Write the brief About 300 words: - **The work** -- per item the current symptom and required behavior, the user's exclusions, and any input, path, or port the worker cannot reach itself. Earlier findings are evidence references. - **The anchor and who exercises it** -- the anchor, what it observes, and whether the worker runs its own checkpoint or hands its evidence to a shared one. The worker and user choose the verification method inside that anchor. - **Its place and motive** -- where the task sits and why. Leave out the cause, code location, and conventions: target-app discovery and work decisions stay with the worker. Name a method skill only on the user's request. Apply [choosing-graph](../choosing-graph/SKILL.md) if graph and anchor are unset. A shared-checkpoint task passes `--shared-checkpoint`; its [checkpoint task](../choosing-graph/SKILL.md#review-checkpoint) gets a review-only brief of each covered task's requirement and evidence. Then [write the instruction](references/dispatch-mechanics.md#write-the-instruction). ## Launch Run [launch-dispatched-agent.py](references/dispatch-mechanics.md#launch) in the foreground until it exits. Require `confirmed: true`, else follow its repair command or [When a launch fails](references/dispatch-mechanics.md#when-a-launch-fails). ## Handle events Persisted status drives the lifecycle (plans: the [status watcher](references/plan-mechanics.md#monitor-plan-status)). - `awaiting-main-agent`: answer with `reply-to-worker.py` (verified fact or coordinator result); route a work decision to the user. - `awaiting-user-input` / `awaiting-authorization`: point the user to the worker pane; only `--intent inform` stays open. Retain the task and its slot. - `done` / `failed` / `cancelled`: check [same-task continuation](references/plan-mechanics.md#same-task-continuation), wrap up, and return the result to the scheduler. - Feature-branch push FYI: relay it; status stays as recorded. [Redirect, cancel, and identity repair](references/dispatch-mechanics.md#redirect-cancel-and-repair) hold the other commands. ## List outstanding dispatches Run [roll-call.py](references/dispatch-mechanics.md#roll-call) (`--mine` for this session). Resolve an `unattributed` pane's ownership before acting. ## Wrap up 1. Require terminal status; if the pane is closed or a live worker's report is refused, [recover it](references/dispatch-mechanics.md#recover-a-closed-worker). A never-launched instruction needs no status. 2. For a landed programming change, settle [choosing-graph's review checkpoint](../choosing-graph/SKILL.md#review-checkpoint) first. 3. [Close only the terminal worker's pane](references/dispatch-mechanics.md#close-a-worker-pane) (the coordinator pane and shared tab stay open) and [release every remaining lock](references/shared-resource-coordination.md#release-and-inspect). 4. Archive with `wrap-up-task.py --app <app> --slug <slug> [--plan <plan-slug> --task-id <task-id>]`, then run any step its `remaining_steps` names. **Complete when:** the dispatch awaits its next event, or is terminal, reviewed, closed, unlocked, and archived.