Feature: Decision DI Wiring
  As a developer
  I want DecisionService wired into the DI container
  So that decision recording is automatic during plan lifecycle transitions

  @phase1
  Scenario: DI container resolves DecisionService
    Given decdi- the application container is initialized
    When decdi- I request a DecisionService from the container
    Then decdi- the container should return a valid DecisionService instance

  @phase1
  Scenario: DecisionService records decision during plan strategize
    Given decdi- a PlanLifecycleService with a DecisionService
    And decdi- an action and plan exist in strategize phase
    When decdi- I start the strategize phase
    Then decdi- a strategy_choice decision should be recorded for the plan

  @phase1
  Scenario: DecisionService records decision during plan execute
    Given decdi- a PlanLifecycleService with a DecisionService
    And decdi- an action and plan exist in execute phase
    When decdi- I start the execute phase
    Then decdi- an implementation_choice decision should be recorded for the plan

  @phase1
  Scenario: DecisionRepository is accessible via DI
    Given decdi- the application container is initialized
    When decdi- I open a UnitOfWork transaction from the container
    Then decdi- the transaction context should expose a DecisionRepository

  @phase1
  Scenario: DecisionService scoping is correct
    Given decdi- the application container is initialized
    When decdi- I request two DecisionService instances from the container
    Then decdi- the instances should be different objects because it is a Factory
