kshitij
c015663b21
fix(models): corrupt-at cache rows degrade to live fetch in cached_provider_model_ids
...
Surfaced during the post-merge review pass on our own #81113 follow-up:
cached_fetch_api_models gained _cache_entry_valid (numeric-'at'
validation) but its sibling cached_provider_model_ids still did
float(entry.get('at', 0)), which raises ValueError/TypeError on a
hand-edited or corrupted provider_models_cache.json row and propagates
uncaught into the /model picker call sites. Same fix, same helper:
corrupt rows are now a cache miss (live fetch), never an exception.
Both wrappers now share the identical validity predicate, closing the
divergence the 'mirrors' docstring promised away.
Also two test nits from the same review: unused OrderedDict import
dropped and the drain-order assertion strengthened to pin LRU-first
FIFO order in tests/gateway/test_agent_cache_pressure.py.
Mutation-checked: restoring the raising float() form makes the new
corrupt-at tests fail.
2026-08-07 23:00:28 +05:30
..
2026-07-29 11:53:39 -07:00
2026-08-04 15:10:41 -07:00
2026-08-07 10:11:05 -07:00
2026-08-07 17:45:06 +05:30
2026-08-03 09:57:23 -07:00
2026-07-29 21:30:53 -07:00
2026-08-01 16:09:56 -05:00
2026-07-31 22:34:28 -07:00
2026-08-02 21:13:12 +05:30
2026-08-04 17:33:36 -07:00
2026-07-28 12:11:52 -05:00
2026-08-02 14:55:32 +05:30
2026-08-07 09:44:21 -07:00
2026-07-26 21:13:03 -07:00
2026-08-07 08:57:39 -07:00
2026-08-07 08:57:39 -07:00
2026-08-07 19:47:40 +05:30
2026-08-03 23:48:55 +05:30
2026-07-31 21:21:20 -07:00
2026-08-01 15:34:16 -07:00
2026-08-07 17:45:06 +05:30
2026-07-29 23:16:18 -07:00
2026-08-02 20:21:59 -07:00
2026-07-24 16:01:06 -07:00
2026-08-07 19:44:35 +05:30
2026-07-29 11:53:39 -07:00
2026-08-07 19:44:35 +05:30
2026-07-29 08:42:16 -07:00
2026-08-05 22:40:51 -07:00
2026-08-07 09:07:55 -07:00
2026-07-29 16:44:31 -07:00
2026-08-07 09:07:55 -07:00
2026-08-05 11:48:03 +05:30
2026-08-01 10:52:34 -07:00
2026-08-03 21:16:09 +05:30
2026-08-07 08:57:48 -07:00
2026-07-25 19:27:17 -07:00
2026-07-26 21:22:40 -07:00
2026-07-29 10:59:54 -07:00
2026-08-04 11:53:32 -06:00
2026-08-01 21:17:51 -04:00
2026-08-07 09:07:48 -07:00
2026-08-07 09:07:48 -07:00
2026-08-02 16:16:36 -07:00
2026-08-02 18:21:58 -07:00
2026-07-26 23:41:54 -07:00
2026-07-31 22:35:26 -07:00
2026-07-26 18:10:34 -07:00
2026-07-29 11:53:39 -07:00
2026-07-26 17:50:54 -07:00
2026-08-07 06:55:27 +05:30
2026-08-05 22:32:39 -07:00
2026-08-05 11:47:05 -04:00
2026-08-05 22:32:55 -07:00
2026-08-02 15:01:11 -07:00
2026-07-26 17:46:29 -07:00
2026-07-28 03:52:33 -05:00
2026-08-07 08:58:20 -07:00
2026-07-29 11:53:39 -07:00
2026-07-27 21:10:51 -07:00
2026-08-05 11:47:05 -04:00
2026-08-07 10:11:05 -07:00
2026-08-01 23:06:47 -05:00
2026-08-03 22:55:36 +05:30
2026-07-28 00:53:16 -05:00
2026-08-07 09:44:21 -07:00
2026-08-02 22:44:38 +05:30
2026-07-28 22:40:33 -07:00
2026-07-29 11:53:39 -07:00
2026-08-01 14:52:18 -07:00
2026-08-04 19:35:57 +00:00
2026-07-26 21:22:40 -07:00
2026-07-31 17:26:42 +05:30
2026-08-07 21:02:40 +05:30
2026-08-07 23:00:28 +05:30
2026-08-07 19:47:40 +05:30
2026-07-29 10:13:50 -07:00
2026-07-29 11:53:39 -07:00
2026-08-01 21:27:26 -05:00
2026-07-29 10:14:11 -07:00
2026-08-01 12:27:31 +05:30
2026-07-29 17:51:40 -05:00
2026-08-07 09:44:21 -07:00
2026-08-07 09:44:21 -07:00
2026-07-28 22:42:19 -07:00
2026-08-06 05:00:17 +05:30
2026-08-05 11:59:33 +05:30
2026-08-03 23:23:39 +05:30
2026-07-31 21:21:16 -07:00
2026-08-05 14:08:32 -07:00
2026-07-29 11:53:39 -07:00
2026-07-30 03:39:26 -05:00
2026-07-29 10:14:11 -07:00
2026-07-29 17:13:48 +05:30
2026-08-05 14:08:32 -07:00
2026-07-29 10:14:11 -07:00
2026-07-29 11:53:39 -07:00
2026-08-01 10:47:20 -07:00
2026-08-02 15:08:45 -07:00
2026-07-27 19:19:01 +05:30
2026-07-29 11:53:39 -07:00
2026-07-26 19:30:21 -07:00
2026-07-31 22:36:55 -07:00
2026-08-03 20:37:17 +05:30
2026-08-04 11:26:15 +05:30
2026-07-26 08:43:24 -07:00
2026-08-01 21:17:51 -04:00
2026-08-02 13:31:16 +05:30
2026-08-05 11:59:33 +05:30
2026-07-29 09:33:48 -07:00
2026-07-29 12:11:24 -07:00
2026-07-24 16:00:03 -07:00
2026-07-31 23:18:12 -07:00
2026-08-07 08:58:14 -07:00
2026-08-07 17:45:06 +05:30
2026-08-02 16:16:36 -07:00
2026-08-03 09:57:58 +05:30
2026-08-03 16:07:16 +05:30
2026-07-29 11:53:39 -07:00
2026-08-06 05:00:17 +05:30
2026-08-05 10:34:18 -06:00
2026-07-31 22:28:46 -07:00
2026-07-29 19:48:37 -07:00
2026-08-07 10:11:05 -07:00
2026-07-29 08:24:00 -07:00
2026-07-29 16:21:54 -07:00
2026-07-28 17:34:21 -07:00
2026-08-04 12:07:29 -06:00
2026-08-07 09:07:48 -07:00
2026-07-29 10:14:11 -07:00
2026-08-01 14:30:16 -07:00
2026-08-06 05:00:17 +05:30