Skip to content

Triage a Stuck Issue

An old issue is not automatically stuck. It may be waiting for a person, a dependency, a subtask, a required CI check, or available Worker capacity. Diagnose the current state and latest event before changing it.

The Inbox (/dashboard/inbox) surfaces issues and system conditions that need attention, including recurring failures. Use Pipeline for the complete state grid and open an issue to inspect its timeline, error details, workflow, and currently valid actions.

Check, in order:

  1. The current database state and how long the issue has been there.
  2. The latest pipeline event, issue comment, or deterministic-check output.
  3. Worker and task-queue health.
  4. Whether the state is intentionally waiting.
State or conditionWhat to verifyNormal resolution
needs-clarificationThe analyzer’s questions and whether a new issue comment answered themA human reply re-enters analysis
dependency-blockedThe recorded dependency is still incompleteColony unblocks it after the dependency completes
waiting-for-subtasksAll child issues and their merge stateThe parent resumes after its dependency policy is satisfied
human-review-readyA human review or merge is still pendingReview and merge, or send explicit feedback
merge-pendingRequired checks, conflicts, approvals, and merge policySatisfy the missing merge condition or use a valid recovery action
failure-blockedThe block reason, last executor error, cost state, and any CI-repair activityFix the cause, then invoke a workflow-valid action
Active state with no taskQueue health, claim history, Worker health, and any dead letterRestore capacity or recover the failed enqueue/transition

Do not clear a dependency by using /colony:skip-planning; that command changes planning behavior and is not a dependency override.

Cloud shows only actions valid for the issue’s pinned workflow. On GitHub, the workflow still validates slash commands even if a command exists globally.

  • /colony:retry re-enqueues the current executable stage. An optional small, medium, or large argument overrides the retry tier.
  • /colony:feedback preserves the current implementation direction and sends concrete change guidance back to development where supported.
  • /colony:reanalyze reruns analysis from the workflow’s declared target.
  • /colony:reimplement closes and discards the current implementation and follows the workflow’s reimplementation route.
  • /colony:pause, /colony:resume, and /colony:cancel are operational controls.

See Slash Commands for syntax and state restrictions. If Colony does not acknowledge a command, check webhook delivery, app permissions, the command root, and Mayor health; a missing reaction alone does not identify the cause.

  1. Confirm a new timeline event or task was created.
  2. Confirm the issue left its waiting or blocked state, or that its intended retry is now queued.
  3. Watch the next executor result instead of issuing repeated commands.
  4. If an unresolved dead letter remains, recover or acknowledge that record separately.

Repeated clarification usually calls for clearer issue outcomes. Repeated deterministic failures call for accurate setup commands and review checks. Repeated review loops may indicate unclear requirements, stale conventions, or conflicting feedback. Repeated cost or turn exhaustion may justify a different complexity tier, model route, or issue scope—but increasing limits should follow diagnosis, not replace it.