Bug Description
When Podman is down, the Task Takeover workflow continues to the create_pr node instead of stopping at implement_task. This results in a misleading 422 error from GitHub ("'422 Unprocessable Entity' for url 'https://api.github.com/repos/forge-sdlc/forge/pulls'") because no code was actually produced.
Found in the Task Takeover workflow (task_takeover graph) while testing with ticket AISOS-2156.
Steps to Reproduce
- Stop Podman (or make it unavailable)
- Trigger a Task Takeover workflow (add
forge:managed label to a Task issue)
- Workflow proceeds through triage, planning, and reaches
implement_task
- Container execution fails silently (no code changes committed)
- Workflow continues to
create_pr
- PR creation fails with 422: "'422 Unprocessable Entity' for url 'https://api.github.com/repos/forge-sdlc/forge/pulls'"
- Ticket gets escalated to
forge:blocked
Expected Behavior
The workflow should detect that container execution produced no changes (or failed) at the implement_task node and either:
- Retry the container execution
- Escalate to
forge:blocked immediately with a clear error message indicating container failure
- Not proceed to
create_pr when there are no commits on the branch
Actual Behavior
The workflow silently continues past implement_task to create_pr, which then fails with an unrelated GitHub 422 error. The root cause (Podman being down) is obscured by the PR creation error.
Observed Logs
forge.workflow.nodes.pr_creation - ERROR - PR creation failed for AISOS-2156:
Client error '422 Unprocessable Entity' for url 'https://api.github.com/repos/forge-sdlc/forge/pulls'
No error was logged at the implement_task stage despite Podman being unavailable.
Impact
- Root cause is hidden behind a misleading error
- Wastes a retry cycle (auto-retry at
create_pr will fail again for the same reason)
- Human debugging was required to discover that Podman was the actual issue
Bug Description
When Podman is down, the Task Takeover workflow continues to the
create_prnode instead of stopping atimplement_task. This results in a misleading 422 error from GitHub ("'422 Unprocessable Entity' for url 'https://api.github.com/repos/forge-sdlc/forge/pulls'") because no code was actually produced.Found in the Task Takeover workflow (
task_takeovergraph) while testing with ticket AISOS-2156.Steps to Reproduce
forge:managedlabel to a Task issue)implement_taskcreate_prforge:blockedExpected Behavior
The workflow should detect that container execution produced no changes (or failed) at the
implement_tasknode and either:forge:blockedimmediately with a clear error message indicating container failurecreate_prwhen there are no commits on the branchActual Behavior
The workflow silently continues past
implement_tasktocreate_pr, which then fails with an unrelated GitHub 422 error. The root cause (Podman being down) is obscured by the PR creation error.Observed Logs
No error was logged at the
implement_taskstage despite Podman being unavailable.Impact
create_prwill fail again for the same reason)