@tdd_issue @tdd_issue_647 @tdd_issue_4178 Feature: Container.resolve() crash in plan tree/explain/correct commands Regression guard for bug #647, where these CLI commands previously crashed when resolving DecisionService from the DI container. These tests use a REAL DI container (not MagicMock). Existing M3 tests missed this class of bug because they mock get_container() with MagicMock, which auto-creates any attribute. NOTE: Bug #647 is fixed; these scenarios serve as permanent regression guards. `plan correct` is intentionally exercised with `--dry-run` in this real-container path so no live LLM execution is triggered. Background: Given cr647- a real DI container with seeded decisions @tdd_issue @tdd_issue_4242 Scenario: plan tree command regression guard for container.resolve() crash When cr647- I invoke the plan tree CLI command with a real container Then cr647- plan tree output should include seeded decision id Scenario: plan explain command regression guard for container.resolve() crash When cr647- I invoke the plan explain CLI command with a real container Then cr647- plan explain output should include seeded decision details @tdd_issue @tdd_issue_4242 Scenario: plan correct command regression guard for container.resolve() crash When cr647- I invoke the plan correct CLI command with a real container Then cr647- plan correct output should reference seeded decision