Skip to content

Run status set to 'completed' despite failed nodes — Resume button missing #1381

@ParzivalStacks

Description

@ParzivalStacks

Bug

When a workflow node fails, the run's status is set to completed instead of failed, even though node_counts correctly shows a failed node. This prevents the user from resuming the run via the web UI because the Resume button only renders for status === 'failed'.

Root Cause

The status derivation logic does not account for failed nodes when determining the final run status. A run with node_counts: {completed: 3, failed: 1, skipped: 4, total: 8} is marked status: "completed" because at least one path through the DAG reached a terminal node.

The Resume button in packages/web/src/components/dashboard/WorkflowRunCard.tsx (around line 342) conditionally renders only when run.status === 'failed'. Since the run is marked completed, there is no UI affordance to retry.

Reproduction

  1. Start any DAG workflow that has multiple nodes
  2. Cause a mid-workflow node to fail (e.g., implement-setup fails due to missing plan file — see related plan-path bug)
  3. Query the run status via GET /api/workflows/runs?limit=20
  4. Observe status: "completed" despite node_counts.failed: 1
  5. In the web UI dashboard, note the missing Resume button

Workaround

Abandon the run from the dashboard and fire a fresh workflow run pointing at the same input/plan file.

Proposed Fix

The status derivation should be: if any non-skipped node has failed status, the run status should be failed, not completed. This ensures the Resume button renders and the user can retry.

Environment

  • Archon v0.3.6
  • macOS (web UI, local dev server)
  • Observed on archon-piv-loop workflow run, 2026-04-22

Claude-discovered, human-verified. Identified by Claude during an interactive piv-loop session; reproduction steps and workaround confirmed by a human operator.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions