Skip to content

Bug: Features marked as 'interrupted' are not detected for resumption after server restart #755

@JasonBroderick

Description

@JasonBroderick

Description

Features that are gracefully interrupted during server shutdown are not automatically resumed when the server restarts. This is due to a missing status check in the resumeInterruptedFeatures() method.

Steps to Reproduce

  1. Start a feature execution (move feature to "In Progress")
  2. While the feature is running, restart the Automaker server (e.g., docker compose restart)
  3. After restart, observe that the feature is stuck with status interrupted in the backlog
  4. The feature cannot be moved and must be manually edited to change status

Expected Behavior

Features marked as interrupted should be automatically detected and resumed when the server restarts, just like features with in_progress or pipeline_* status.

Actual Behavior

Features with interrupted status are not detected by resumeInterruptedFeatures() and remain stuck.

Root Cause

In apps/server/src/services/auto-mode-service.ts, the resumeInterruptedFeatures() method checks for features to resume:

// Line ~5434-5436 (or ~4449-4450 in main)
if (
  feature.status === 'in_progress' ||
  (feature.status && feature.status.startsWith('pipeline_'))
)

However, markFeatureInterrupted() sets the status to 'interrupted' (line ~3339):

await this.updateFeatureStatus(projectPath, featureId, 'interrupted');

The resume logic does not check for 'interrupted' status, so gracefully interrupted features are never detected for resumption.

Suggested Fix

Add 'interrupted' to the status check in resumeInterruptedFeatures():

if (
  feature.status === 'in_progress' ||
  feature.status === 'interrupted' ||  // Add this line
  (feature.status && feature.status.startsWith('pipeline_'))
)

Environment

  • Automaker version: Latest main branch
  • Running in: Docker container
  • OS: Linux (WSL2)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions