Add TDD bug-capture tests for bug #968, which reports that the
`plan explain` CLI command fails with rc=1 when given a plan_id
because `explain_decision_cmd` treats its argument as a decision_id
and `svc.get_decision(plan_id)` returns None.
Behave tests (features/tdd_plan_explain_plan_id.feature):
- Two scenarios tagged @tdd_expected_fail @tdd_bug @tdd_bug_968
- Mock DecisionService with get_decision returning None for plan_id
and list_decisions returning decisions for the plan
- Assert plan explain <plan_id> succeeds (rc=0) with decision details
- Assertions intentionally fail (proving the bug exists); tag inversion
makes CI pass
Robot tests (robot/tdd_plan_explain_plan_id.robot):
- Two integration test cases with tdd_expected_fail tags
- Helper script records decisions via DecisionService, invokes CLI
`plan explain <plan_id>`, and asserts rc=0 with decision output
The tests will run normally (without @tdd_expected_fail) once bug #968
is fixed, serving as permanent regression tests.
ISSUES CLOSED: #978