Feature: Plan CLI spec alignment As a developer I want the plan CLI commands aligned to the v3 spec So that plan use/list/status flags are consistent with the specification Background: Given a plan spec alignment CLI runner And a plan spec alignment mocked lifecycle service # ---- plan use: multiple projects (positional) ---- Scenario: Plan use with multiple positional projects Given a plan spec alignment action exists When I run plan use with positional projects "proj-a" and "proj-b" Then the plan spec use should succeed And the plan spec use should link projects "proj-a" and "proj-b" # ---- plan use: --automation-profile ---- Scenario: Plan use with --automation-profile Given a plan spec alignment action exists When I run plan use with automation profile "trusted" Then the plan spec use should succeed And the plan spec output should contain "Automation Profile" # ---- plan use: --invariant (repeatable) ---- Scenario: Plan use with repeatable --invariant Given a plan spec alignment action exists When I run plan use with invariants "No warnings" and "Keep compat" Then the plan spec use should succeed And the plan spec use should pass invariants to service # ---- plan use: actor override flags ---- Scenario: Plan use with strategy-actor override Given a plan spec alignment action exists When I run plan use with strategy actor "openai/gpt-4" Then the plan spec use should succeed And the plan spec output should contain "Strategy Actor" Scenario: Plan use with execution-actor override Given a plan spec alignment action exists When I run plan use with execution actor "anthropic/claude-3" Then the plan spec use should succeed And the plan spec output should contain "Execution Actor" Scenario: Plan use with estimation-actor override Given a plan spec alignment action exists When I run plan use with estimation actor "openai/gpt-4" Then the plan spec use should succeed And the plan spec output should contain "Estimation Actor" Scenario: Plan use with invariant-actor override Given a plan spec alignment action exists When I run plan use with invariant actor "openai/gpt-4" Then the plan spec use should succeed And the plan spec output should contain "Invariant Actor" # ---- plan use: --arg name=value ---- Scenario: Plan use with --arg name=value Given a plan spec alignment action exists When I run plan use with arg "target_coverage=80" Then the plan spec use should succeed And the plan spec use should pass argument "target_coverage" with value 80 # ---- plan list: filter combinations ---- Scenario: Plan list with --phase filter Given plan spec alignment plans exist When I run plan list with phase "strategize" Then the plan spec list should succeed Scenario: Plan list with --state filter Given plan spec alignment plans exist When I run plan list with state "queued" Then the plan spec list should succeed Scenario: Plan list with --processing-state filter Given plan spec alignment plans exist When I run plan list with processing-state "complete" Then the plan spec list should succeed Scenario: Plan list with --project filter Given plan spec alignment plans exist When I run plan list with project "proj-a" Then the plan spec list should succeed Scenario: Plan list with --action filter Given plan spec alignment plans exist When I run plan list with action "local/test-action" Then the plan spec list should succeed Scenario: Plan list with --namespace filter Given plan spec alignment plans exist When I run plan list with namespace "myteam" Then the plan spec list should succeed Scenario: Plan list with regex filter Given plan spec alignment plans exist When I run plan list with regex "test-action" Then the plan spec list should succeed Scenario: Plan list with combined filters Given plan spec alignment plans exist When I run plan list combining phase "strategize" with project "proj-a" Then the plan spec list should succeed # ---- plan status: output fields ---- Scenario: Plan status renders all required fields Given a plan spec alignment plan exists for status When I run plan status for the plan Then the plan spec status should succeed And the plan spec status should contain "Action" And the plan spec status should contain "Phase" And the plan spec status should contain "Processing State" And the plan spec status should contain "Projects" And the plan spec status should contain "Arguments" And the plan spec status should contain "Automation Profile" And the plan spec status should contain "Created" And the plan spec status should contain "Updated" # ---- plan cancel: --reason ---- Scenario: Plan cancel with --reason Given a plan spec alignment plan exists for cancel When I run plan cancel with reason "Requirements changed" Then the plan spec cancel should succeed And the plan spec cancel output should contain "Requirements changed" # ---- plan list: required column rendering ---- @tdd_issue @tdd_issue_4252 Scenario: Plan list rich output includes Name column Given plan spec alignment plans exist When I run plan list with no filters Then the plan spec list should succeed And the plan spec list output should contain "Name" @tdd_issue @tdd_issue_4252 Scenario: Plan list rich output includes Updated column Given plan spec alignment plans exist When I run plan list with no filters Then the plan spec list should succeed And the plan spec list output should contain "Updat" And the plan spec list output should contain the current year-month timestamp @tdd_issue @tdd_issue_4252 Scenario: Plan list rich output includes Invariants column Given plan spec alignment plans exist When I run plan list with no filters Then the plan spec list should succeed And the plan spec list output should contain "Invar"