Feature: Plan Lifecycle Service coverage boost As a developer I want to exercise uncovered branches in PlanLifecycleService So that code coverage improves for the specific gaps identified Background: Given I have a fresh plan lifecycle service for coverage boost # --------------------------------------------------------------- # Line 284: get_action_by_name linear scan fallback # Branch 283:284 — the dict key doesn't match but the action's # namespaced_name string representation does. # --------------------------------------------------------------- Scenario: get_action_by_name normalises case so mixed-case input finds lowercase-stored action Given an action stored under its normalised lowercase key When I look up the action with mixed-case input via get_action_by_name Then the action should be found via case-insensitive lookup # --------------------------------------------------------------- # Line 420: use_action appends PlanInvariant from action.invariants # Branch 419:420 — the loop body over action.invariants # --------------------------------------------------------------- Scenario: use_action copies action invariants as PlanInvariants onto the new plan Given an action with invariants "no-breaking-changes" and "preserve-api-compat" When I use that action to create a plan Then the plan should contain 2 action-sourced invariants And the invariant texts should include "no-breaking-changes" And the invariant texts should include "preserve-api-compat" # --------------------------------------------------------------- # Line 643: execute_plan raises InvalidPhaseTransitionError # Branch 642:643 — can_transition returns False # --------------------------------------------------------------- Scenario: execute_plan raises InvalidPhaseTransitionError when plan is in Execute phase Given a plan that is already in execute phase When I try to execute the plan from execute phase Then an InvalidPhaseTransitionError should be raised for the coverage boost Scenario: execute_plan raises InvalidPhaseTransitionError when plan is in Apply phase Given a plan that is already in apply phase When I try to execute the plan from apply phase Then an InvalidPhaseTransitionError should be raised for the coverage boost # --------------------------------------------------------------- # Lines 829-846: constrain_apply method — happy path and wrong phase # Branches 831:832,836 # --------------------------------------------------------------- Scenario: constrain_apply marks an Apply-phase plan as constrained Given a plan in apply phase with processing state for coverage boost When I constrain the apply with reason "invariant violated" for coverage boost Then the plan processing state should be "constrained" for coverage boost And the plan error message should be "invariant violated" for coverage boost Scenario: constrain_apply raises PlanError when plan is not in Apply phase Given a plan in strategize phase for coverage boost When I try to constrain the apply with reason "should fail" Then a PlanError should be raised for coverage boost # --------------------------------------------------------------- # Line 959: auto_progress final return — plan doesn't match either # auto-progress condition. # Branch 948:959 — the else/fallback in auto_progress # --------------------------------------------------------------- Scenario: auto_progress returns plan unchanged when neither auto-progress condition matches Given a plan in strategize queued state with full automation for coverage boost When I call auto_progress on the plan for coverage boost Then the plan should be returned unchanged in strategize queued state