@@ -186,16 +186,17 @@ def cli(*args: str) -> tuple[int, dict]:
186186 from loopx .control_plane .quota import monitor_poll as monitor_runtime
187187 native = monitor_runtime ._native_result
188188
189- def actor_optional_request (request ):
190- request = {** request , "observation" : {** request ["observation" ], "actor_agent_id" : None }}
191- return native (request )
192-
193189 # The native compatibility request permits an omitted actor;
194- # provider and settlement admission must use the same agent fallback.
195- with monkeypatch .context () as context :
196- context .setattr (monitor_runtime , "_native_result" , actor_optional_request )
197- rc , missing_actor = cli (* poll_args , "--execute" )
198- assert rc != 0 and missing_actor ["error_code" ] == "monitor_poll_admission_rejected" , missing_actor
190+ # provider actor metadata cannot rebind the Turn's accounting Agent.
191+ for actor in (None , "other-synthetic-actor" ):
192+ def actor_metadata_request (request ):
193+ request = {** request , "observation" : {** request ["observation" ], "actor_agent_id" : actor }}
194+ return native (request )
195+
196+ with monkeypatch .context () as context :
197+ context .setattr (monitor_runtime , "_native_result" , actor_metadata_request )
198+ rc , actor_reply = cli (* poll_args , "--execute" )
199+ assert rc != 0 and actor_reply ["error_code" ] == "monitor_poll_admission_rejected" , actor_reply
199200 rc , after_late = cli ("todo" , "list" , "--goal-id" , GOAL_ID )
200201 assert rc == 0 , after_late
201202 monitor = next (todo for todo in after_late ["todos" ] if todo ["todo_id" ] == MONITOR_ID )
0 commit comments