shipper_unblock
shipper_unblock
Section titled “shipper_unblock”Attempt to unblock a blocked issue by evaluating store-owned blockers and updating local history. When issue mirroring is enabled, also repair the GitHub label/comment projections.
When to use
Section titled “When to use”On macOS, this tool prevents idle system sleep while it performs progress-capable unblock work. See Keep the Mac awake during active work. Use this when a store-blocked issue should be evaluated against its stored blockers and unblocked if every blocker has cleared. A Rework rejection creates a visible operator-decision hold: automatic dispatch retains it, while ordinary operator unblock retires the hold and resumes the exact same Rework trigger. Use an explicit reset instead when the request, design, plan, or correction premise must change. Native dependencies created by grooming use the ordinary blocker lifecycle: ordinary unblock clears them after completed, while a later not_planned closure stays unresolved for operator review. Omit force for ordinary safe unblock; set force: true only after explicit human instruction to override unresolved blockers, including groom-created native dependencies. Ordinary unblock and force-unblock both record local workflow-history entries. When issue mirroring is enabled, GitHub label/comment changes are repaired projections of the local store and workflow event log, and external GitHub blockers are checked.
Behavior hints
Section titled “Behavior hints”- idempotentHint: true — Retrying the same call is expected to be safe once the target state is reached.
- openWorldHint: true — The tool reaches GitHub or other external systems outside the MCP server.
Input schema
Section titled “Input schema”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| issue | integer | string | yes | - | Shipper issue reference. S# |
| force | boolean | no | - | Explicit human-operator override for unresolved blockers. Automated agents must omit this unless the user specifically asked to force unblock; when force takes effect, it records a force_unblock history entry and, when issue mirroring is enabled, posts the distinct permanent ## Force Unblocked audit comment with overridden blocker details. |
Example call
Section titled “Example call”{ "issue": 42}Example result
Section titled “Example result”Resolved issue: S#42 (GitHub #123): Generate MCP tool reference pagesVerdict: unblockedReason: All stored blockers are cleared.Error modes
Section titled “Error modes”- Still blocked: Verdict: still-blocked with unresolved stored blocker details.
- Force declined: Verdict: ordinary-unblock-available when all stored blockers are resolved; call again without force.
- Force completed: Verdict: force-unblocked after explicit override; a
force_unblockhistory entry is recorded and overridden blockers are listed. When issue mirroring is enabled, the distinct permanent## Force Unblockedaudit record is also posted. - Store or GitHub failure: Local issue-state access failed:
. When issue mirroring is enabled, external GitHub blocker lookup or label/comment repair can also fail: .