The _validate_fix BDD scenario "Validate fix handles LLM invocation
failure gracefully" was asserting fix_validated=True (fail-open), but
the code already sets is_valid=False on LLM exception (fail-safe).
Update the scenario step to "the fix should not be marked as validated"
and remove the pragma: no cover comment since this branch is now
exercised by the test.
ISSUES CLOSED: #10496
- Format auto_debug.py per ruff to fix CI / lint failure
- Revert registry.py provider/model model-field change that conflicts with TDD test assertions from issue #10926 (models must use bare identifiers without provider prefix)
- Fix CHANGELOG entry: replace non-existent update_node()/set_active_node() with
actual method names (_analyze_error, _generate_fix, _validate_fix, _finalize)
and clarify LangGraph node contract reference (HAL9000 observation #1).
- Add inline comment explaining shallow-copy semantics in _analyze_error's
immutability pattern (HAL9000 observation #2): list is new but inner dicts
are shared refs — safe because messages are immutable-after-creation.
- Document return-asymmetry in _validate_fix docstring: both fix_validated and
attempted_fixes keys when invalid, only fix_validated when valid. This is
intentional LangGraph behavior (omitted keys are not reset) (HAL9000 obs #4).
Addresses review comments from peer review #8822 (HAL9000).
The feature file for auto-debug state mutation tests was missing required
TDD tags (@tdd_issue, @tdd_issue_10496). This caused CI / tdd_quality_gate
to fail the tag validation check. Added minimal tagging to pass CI while
keeping the fix PR's scenarios passing (no @tdd_expected_fail needed since
the underlying bug is being fixed).