SilverElixir commited on
Commit
93dda70
·
1 Parent(s): acf7d8f

Cover Oct 2026 paid cutover of three free models in router tests

Browse files
Files changed (1) hide show
  1. tests/test_lumen_router_config.py +24 -2
tests/test_lumen_router_config.py CHANGED
@@ -591,7 +591,7 @@ def test_sept_2026_new_light_models_after_proven_head_before_reserve():
591
  assert order[0] == "nvidia/nemotron-3.5-lightning:free"
592
  assert order[-1] == "openrouter/free"
593
  for model_id in (
594
- "inclusionai/ling-3.0-flash-sante:free", "inclusionai/ling-3.0-flash-fin:free",
595
  "liquid/lfm-2.5-2.6b:free",
596
  ):
597
  assert model_id in order
@@ -619,6 +619,27 @@ def test_nex_mini_excluded_after_paid_tier_cutover():
619
  assert [m for _, m in route] == ["nvidia/nemotron-3.5-lightning:free"]
620
 
621
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
622
  def test_nemotron_super_demoted_below_ultra_after_second_mush_incident():
623
  # Вечер 17.09.2026: super выдал "кашу" прямо в проде (второй инцидент после
624
  # калибровочного) — понижен под ultra без инцидентов, но не исключён.
@@ -635,7 +656,8 @@ def test_sept_2026_new_heavy_and_vision_models_placed():
635
  assert heavy.index("thinkingmachines/inkling:free") < heavy.index("dots-studio/dots-3-note-preview:free")
636
  vision = lumen_router_config._OR_VISION_ORDER
637
  assert vision[0] == "google/gemma-4-31b-it:free"
638
- assert "inclusionai/ling-3.0-flash-vl:free" in vision
 
639
 
640
 
641
  def test_gemini_3_8_flash_heads_heavy_chain_and_default():
 
591
  assert order[0] == "nvidia/nemotron-3.5-lightning:free"
592
  assert order[-1] == "openrouter/free"
593
  for model_id in (
594
+ "inclusionai/ling-3.0-flash-sante:free",
595
  "liquid/lfm-2.5-2.6b:free",
596
  ):
597
  assert model_id in order
 
619
  assert [m for _, m in route] == ["nvidia/nemotron-3.5-lightning:free"]
620
 
621
 
622
+ def test_oct_2026_paid_cutover_excludes_ling_vl_fin_and_qwen():
623
+ # Прод 05–07.10.2026: та же платная отсечка "unavailable for free", что у
624
+ # nex-mini выше — три модели разом. Мёртвые вне цепочек, но ID остаются
625
+ # в детекте утечек (их дословно нельзя в ответ).
626
+ for model_id in (
627
+ "inclusionai/ling-3.0-flash-vl:free",
628
+ "inclusionai/ling-3.0-flash-fin:free",
629
+ "qwen/qwen3.8-27b:free",
630
+ ):
631
+ assert model_id in lumen_router_config._OR_MODEL_HEALTH
632
+ assert model_id in lumen_router_config._ROUTER_EXCLUDED_OR_MODELS
633
+ assert model_id not in lumen_router_config._OR_LIGHT_ORDER
634
+ assert model_id not in lumen_router_config._OR_VISION_ORDER
635
+ assert model_id in lumen_router_config._KNOWN_MODEL_IDS_FOR_LEAK_DETECTION
636
+ route = lumen_router_config._or_route([
637
+ "inclusionai/ling-3.0-flash-fin:free",
638
+ "inclusionai/ling-3.0-flash-sante:free",
639
+ ])
640
+ assert [m for _, m in route] == ["inclusionai/ling-3.0-flash-sante:free"]
641
+
642
+
643
  def test_nemotron_super_demoted_below_ultra_after_second_mush_incident():
644
  # Вечер 17.09.2026: super выдал "кашу" прямо в проде (второй инцидент после
645
  # калибровочного) — понижен под ultra без инцидентов, но не исключён.
 
656
  assert heavy.index("thinkingmachines/inkling:free") < heavy.index("dots-studio/dots-3-note-preview:free")
657
  vision = lumen_router_config._OR_VISION_ORDER
658
  assert vision[0] == "google/gemma-4-31b-it:free"
659
+ # ling-vl снят 08.10.2026 (платная отсечка) — вне цепочки, но в детекте утечек.
660
+ assert "inclusionai/ling-3.0-flash-vl:free" not in vision
661
 
662
 
663
  def test_gemini_3_8_flash_heads_heavy_chain_and_default():