Skip to content

Plan failure skipping stops after one dependency level #311

Description

@Calmingstorm

Failure scenario

Run a valid DAG plan with three dependent steps:

  • a fails and does not set continue_on_failure.
  • b depends on a.
  • c depends on b.

The planner marks b skipped, but when it processes that skip it does not propagate the skip to b's dependents. c is then reported successful and its tool executes even though the entire dependency chain that was meant to gate it did not run.

A direct current reproduction produces:

a: failed
b: skipped due to upstream failure
c: success (tool executed)

Sites

  • src/odin/planner.py:91-97 records an already-marked dependent as skipped but does not cascade that status further.
  • src/odin/planner.py:143-151 only adds immediate dependents to the skipped set when processing a freshly executed failure.

Expected result

Propagate an upstream failure/skip through all transitive dependents, or decide readiness from the recorded statuses of every declared dependency before executing each step.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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