1---2name: adaptive3description: Adaptive subsystem in TTA.dev: get_fallback_stats and related code. 156 symbols | 11 files | Cohesion: 80%4---56# Adaptive78156 symbols | 11 files | Cohesion: 80%910## When to Use1112- Working on `adaptive`-related functionality in TTA.dev13- Modifying `get_fallback_stats`14- Navigating `ttadev/primitives/adaptive/retry.py`, `ttadev/primitives/adaptive/cache.py`1516## Key Files1718| File | Symbols |19|------|---------|20| `tests/primitives/adaptive/test_adaptive_retry.py` | _ctx, test_execute_retry_success_on_first_attempt, test_execute_retry_succeeds_after_failures, test_execute_retry_exhaustion_returns_failure_dict, test_execute_retry_no_sleep_after_last_attempt (+32) |21| `tests/primitives/adaptive/test_adaptive_cache.py` | _ctx, _make_cache, test_cache_default_strategy_params, test_cache_miss_calls_target_primitive, test_cache_hit_returns_cached_value_without_calling_target (+26) |22| `tests/primitives/adaptive/test_adaptive_fallback.py` | _ctx, _make_fallback, test_get_default_strategy_returns_baseline, test_primary_succeeds_returns_primary_result, test_primary_success_increments_primary_attempts (+21) |23| `tests/primitives/adaptive/test_adaptive_timeout.py` | _ctx, _make_timeout, test_execute_success_records_latency, test_execute_success_tracks_context_latency, test_execute_multiple_successes_accumulate (+18) |24| `ttadev/primitives/adaptive/retry.py` | _execute_retry_with_tracing, _consider_error_specific_strategy, _context_extractor, _consider_reducing_retries, to_dict (+7) |25| `ttadev/primitives/adaptive/cache.py` | _get_default_strategy, _consider_new_strategy, get_cache_stats, evict_expired, _execute_with_strategy (+2) |26| `tests/unit/test_primitives_adaptive.py` | test_consider_error_specific_strategy_for_timeout_error, test_context_extractor_embeds_environment_and_priority, test_consider_reducing_retries_creates_strategy, test_max_strategies_limit_prevents_new_creation, test_from_dict_round_trip_preserves_values (+1) |27| `ttadev/primitives/adaptive/base.py` | record_usage, _execute_impl, _select_strategy, _execute_with_strategy, _get_default_strategy (+1) |28| `ttadev/primitives/adaptive/fallback.py` | _get_default_strategy, _consider_new_strategy, get_fallback_stats |29| `ttadev/primitives/adaptive/exceptions.py` | AdaptiveError, LearningError, StrategyValidationError |3031## Entry Points3233Start here when exploring this area:3435- **`get_fallback_stats`** (Function) — `ttadev/primitives/adaptive/fallback.py:395`36- **`test_get_default_strategy_returns_baseline`** (Function) — `tests/primitives/adaptive/test_adaptive_fallback.py:135`37- **`test_primary_succeeds_returns_primary_result`** (Function) — `tests/primitives/adaptive/test_adaptive_fallback.py:167`38- **`test_primary_success_increments_primary_attempts`** (Function) — `tests/primitives/adaptive/test_adaptive_fallback.py:183`39- **`test_primary_fail_first_fallback_succeeds`** (Function) — `tests/primitives/adaptive/test_adaptive_fallback.py:202`4041## Key Symbols4243| Symbol | Type | File | Line |44|--------|------|------|------|45| `AdaptiveError` | Class | `ttadev/primitives/adaptive/exceptions.py` | 35 |46| `LearningError` | Class | `ttadev/primitives/adaptive/exceptions.py` | 45 |47| `StrategyValidationError` | Class | `ttadev/primitives/adaptive/exceptions.py` | 61 |48| `get_fallback_stats` | Function | `ttadev/primitives/adaptive/fallback.py` | 395 |49| `test_get_default_strategy_returns_baseline` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 135 |50| `test_primary_succeeds_returns_primary_result` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 167 |51| `test_primary_success_increments_primary_attempts` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 183 |52| `test_primary_fail_first_fallback_succeeds` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 202 |53| `test_primary_fail_second_fallback_succeeds_when_first_fails` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 219 |54| `test_fallback_latency_recorded_on_success` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 236 |55| `test_all_fail_raises_last_exception` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 256 |56| `test_all_fail_primary_failure_counted` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 268 |57| `test_unknown_fallback_key_skipped_and_next_tried` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 290 |58| `test_unknown_fallback_key_all_unknown_raises` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 308 |59| `test_context_stats_initialized_on_first_access` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 328 |60| `test_context_stats_failure_tracked` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 346 |61| `test_get_fallback_stats_empty` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 380 |62| `test_get_fallback_stats_with_data` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 399 |63| `test_get_fallback_stats_best_order_by_success_rate` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 422 |64| `test_get_fallback_stats_strategies_included` | Function | `tests/primitives/adaptive/test_adaptive_fallback.py` | 440 |6566## Connected Areas6768| Area | Connections |69|------|-------------|70| Unit | 9 calls |7172## How to Explore73741. `gitnexus_context({name: "get_fallback_stats"})` — see callers and callees752. `gitnexus_query({query: "adaptive"})` — find related execution flows763. Read key files listed above for implementation details