@@ -25,6 +25,27 @@ def _fixture_path(name: str) -> str:
2525 return os .path .join (FIXTURES_DIR , name )
2626
2727
28+ def _overlap_tool_result_from_all_tool_types_fixture () -> dict :
29+ """Last toolUseResult in real_session_all_tool_types (task_message overlap blob)."""
30+ path = _fixture_path ("real_session_all_tool_types.jsonl" )
31+ overlap : dict | None = None
32+ with open (path , encoding = "utf-8" ) as f :
33+ for line in f :
34+ line = line .strip ()
35+ if not line or line .startswith ("#" ):
36+ continue
37+ entry = json .loads (line )
38+ tr = entry .get ("toolUseResult" )
39+ if isinstance (tr , dict ) and tr .get ("agentId" ) == "agent-sanitized-overlap" :
40+ overlap = tr
41+ if overlap is None :
42+ pytest .fail (
43+ "overlap toolUseResult (agent-sanitized-overlap) missing from "
44+ "real_session_all_tool_types.jsonl"
45+ )
46+ return overlap
47+
48+
2849def _assert_session_shape (session : dict ) -> None :
2950 assert isinstance (session ["session_id" ], str ) and session ["session_id" ]
3051 assert isinstance (session ["title" ], str ) and session ["title" ] not in (
@@ -61,12 +82,12 @@ def test_real_fixture_parses_with_expected_message_count(
6182
6283def test_real_session_minimal_has_bash_tool_result () -> None :
6384 session = parse_session (_fixture_path ("real_session_minimal.jsonl" ))
64- parsed_types = [
65- m [ "tool_result_parsed " ]["result_type " ]
66- for m in session [ "messages" ]
67- if m . get ( "tool_result_parsed" )
68- ]
69- assert "bash" in parsed_types
85+ assert len ( session [ "messages" ]) == _FIXTURE_MESSAGE_COUNTS [ "real_session_minimal.jsonl" ]
86+ parsed = session [ "messages " ][2 ][ "tool_result_parsed " ]
87+ assert parsed is not None
88+ assert parsed [ "result_type" ] == "bash"
89+ assert parsed [ "stdout" ] == "sanitized output \n "
90+ assert parsed [ "exit_code" ] == 0
7091
7192
7293def test_real_session_all_tool_types_covers_dispatch_predicates () -> None :
@@ -152,12 +173,7 @@ def test_task_completed_with_message_key_matches_task_message_first() -> None:
152173
153174
154175def test_overlap_blob_from_all_tool_types_fixture_locks_task_message_order () -> None :
155- tr = {
156- "agentId" : "agent-sanitized-overlap" ,
157- "totalDurationMs" : 500 ,
158- "status" : "completed" ,
159- "message" : "status update sanitized" ,
160- }
176+ tr = _overlap_tool_result_from_all_tool_types_fixture ()
161177 result = _parse_tool_result (tr )
162178 assert result is not None
163179 assert result ["result_type" ] == "task"
0 commit comments