@@ -720,6 +720,34 @@ def test_a_relayed_run_names_both(self):
720720 assert out ["backend" ] == "antigravity → codex"
721721 assert out ["model" ] == "gemini → gpt-5.5"
722722
723+ def test_a_failed_run_still_names_who_answered (self , enabled , monkeypatch ):
724+ """**落ちた回にも頼んだ相手を残す。** 既定の名前のままだと、控えを見た人は
725+ 「claude が壊れた答えを返した」と読む —— 実際に返したのは別の相手だった。
726+ """
727+ import fastapi
728+
729+ from app import collect , main
730+
731+ monkeypatch .setenv ("CHIEZO_NOTES_DIR" , str (enabled / "corpus" ))
732+ workers .save ([workers .Worker ("精査" , (workers .Step ("antigravity" , "gemini" ),))])
733+ _quota ("antigravity" , 10.0 )
734+
735+ async def garbage (_asked , _messages ):
736+ return "背景の仕事を待っています"
737+
738+ monkeypatch .setattr (main , "_ask_for_collection" , garbage )
739+ collect .create ("news" , prompt = "p" , interval_minutes = 60 ,
740+ sweeps = [{"name" : "ざっと" , "worker" : "精査" }])
741+
742+ used : list = []
743+ with pytest .raises ((ValueError , fastapi .HTTPException )):
744+ asyncio .run (main ._collect_items (
745+ collect .get ("news" ), {}, {}, [], collect .sweeps_of (collect .get ("news" ))[0 ],
746+ None , None , None , used ,
747+ ))
748+
749+ assert main ._who_ran (used )["backend" ] == "antigravity"
750+
723751 def test_nothing_ran_leaves_the_record_alone (self ):
724752 """AI を呼ばない回では書き換えない(既定の相手が並ぶのを防ぐ)。"""
725753 from app import main
0 commit comments