Address reviewer blocking issues on PR #11003:
1. Remove unused `import os` and inner `MagicMock` re-import from the
gemini fallback step definitions (ruff F401).
2. Remove `@tdd_expected_fail` from the TDD feature now that the
registry fix makes the scenario pass; keep `@tdd_issue` /
`@tdd_issue_4750` as permanent regression markers.
3. Rewrite three feature step texts to use the env-var step defs that
already exist in `provider_registry_steps.py` instead of duplicating
them (drops the `env var` phrasing the original feature used and that
had no matching step def).
4. Add `"gemini"` to `FallbackSelector.DEFAULT_FALLBACK_ORDER` after
`"google"` so the actor-configured fallback chain mirrors the
registry-level fix.
5. Rename three of the new feature/step pairs to avoid ambiguous-step
collisions that crashed every behave-parallel worker at module-load
time (the root cause of the "8 features errored, 0 scenarios"
pattern):
- `the result should be ProviderType "GEMINI"` collided with
`cli_steps.py:138`'s `@then("the result should be {expected}")`;
renamed to `the gemini fallback default should be
ProviderType "GEMINI"`.
- `the result should be None` had the same collision; renamed to
`the clean gemini registry default should be None`.
- `@given("I have the ProviderRegistry class")` was duplicated in
`provider_registry_steps.py:186`; the duplicate is removed and the
existing definition is reused.
ISSUES CLOSED: #10906
The provider registry's FALLBACK_ORDER was missing ProviderType.GEMINI,
which meant Gemini-only configured installations could not select the
Gemini provider as default via the fallback chain.
This fix adds GEMINI right after GOOGLE in the priority order, consistent
with how it appears in DEFAULT_CAPABILITIES, DEFAULT_MODELS, and
PROVIDER_KEY_ATTRS - all of which already support Gemini.
Includes BDD regression coverage in features/fallback_gemini_provider.feature.
ISSUES CLOSED: #10906
Signed-off-by: HAL 9000 <hal9000@cleverthis.com>