Private
Public Access
refactor(src): Phase 10.2 batch 1 - session_logger + file_cache Result[T] migration
Migrates 5 SILENT_SWALLOW sites to full Result[T] pattern: session_logger.py (4 sites): 1. log_api_hook - returns Result[bool] (was None) 2. log_comms - returns Result[bool] (was None) 3. log_tool_call - returns Result[Optional[str]] (was Optional[str]) 4. log_cli_call - returns Result[bool] (was None) file_cache.py (1 site): - L98: removed dead code (try/except StopIteration around next(iter(_ast_cache)) is unreachable because we just checked len(_ast_cache) >= 10) Updates tests/test_session_logger_optimization.py to extract result.data from the new Result-based API. All callers of these log_* functions previously ignored the return value; they continue to ignore the new Result return value (backwards-compatible).
This commit is contained in:
@@ -51,19 +51,21 @@ def test_log_tool_call_saves_in_session_scripts(temp_session_setup: tuple[Path,
|
||||
script_content = "Write-Host 'Hello from test'"
|
||||
result_content = "Success"
|
||||
|
||||
# Call log_tool_call with script_path=None
|
||||
ps1_path_str = session_logger.log_tool_call(script_content, result_content, None)
|
||||
assert ps1_path_str is not None
|
||||
|
||||
ps1_path = Path(ps1_path_str)
|
||||
# Call log_tool_call with script_path=None. Returns Result[Optional[str]].
|
||||
ps1_result = session_logger.log_tool_call(script_content, result_content, None)
|
||||
assert ps1_result.ok, f"log_tool_call failed: {ps1_result.errors}"
|
||||
assert ps1_result.data is not None
|
||||
|
||||
ps1_path = Path(ps1_result.data)
|
||||
assert ps1_path.parent == scripts_subdir
|
||||
assert ps1_path.name == "script_0001.ps1"
|
||||
assert ps1_path.read_text(encoding="utf-8") == script_content
|
||||
|
||||
|
||||
# Verify second call increments sequence
|
||||
ps1_path_str_2 = session_logger.log_tool_call("Get-Date", "2026-03-08", None)
|
||||
assert ps1_path_str_2 is not None
|
||||
assert Path(ps1_path_str_2).name == "script_0002.ps1"
|
||||
ps1_result_2 = session_logger.log_tool_call("Get-Date", "2026-03-08", None)
|
||||
assert ps1_result_2.ok, f"log_tool_call failed: {ps1_result_2.errors}"
|
||||
assert ps1_result_2.data is not None
|
||||
assert Path(ps1_result_2.data).name == "script_0002.ps1"
|
||||
|
||||
def test_log_tool_output_saves_in_session_outputs(temp_session_setup: tuple[Path, Path]) -> None:
|
||||
log_dir, _ = temp_session_setup
|
||||
|
||||
Reference in New Issue
Block a user