Skip to content

ARCH-009: manifest.py completion checks exclude completed_with_failures status #91

@Muizzkolapo

Description

@Muizzkolapo

Summary

Two methods in workflow/managers/manifest.py check for exact "completed" status:

is_action_completed() (L221-224):

def is_action_completed(self, action_name: str) -> bool:
    action = self.manifest.get("actions", {}).get(action_name)
    return action is not None and action.get("status") == "completed"

get_completed_actions() (L341-347):

return [name for name, info in actions.items() if info.get("status") == "completed"]

Both exclude completed_with_failures. Any manifest logic that relies on these methods (e.g., determining which actions have run, resume logic, reporting) will treat partially-failed actions as incomplete.

Impact

  • Actions that completed with partial item failures are invisible to manifest queries
  • Resume scenarios may re-run actions that already produced valid output
  • Reporting undercounts completed work

Suggested Fix

def is_action_completed(self, action_name: str) -> bool:
    action = self.manifest.get("actions", {}).get(action_name)
    return action is not None and action.get("status") in {"completed", "completed_with_failures"}

Same pattern for get_completed_actions().

Note: If callers need to distinguish clean vs partial completion, add a separate is_action_completed_clean() or accept a strict parameter. Don't break the common case.

Related

Files Affected

  • agent_actions/workflow/managers/manifest.py — L221-224, L341-347

Acceptance Criteria

  • is_action_completed() returns True for both completed and completed_with_failures
  • get_completed_actions() includes actions with completed_with_failures
  • Callers that need strict "no failures" check have an explicit method for it

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions