Capture and safely recover shared LLM responses with bounded field repairs

This commit is contained in:
Nico committed 2026-10-19 20:26:22 +02:00
1 parent c6f4ea9877
commit da1ea9c3a3
25 files changed
+1002 -46

No files matched your search

+4 -2
View File
@@ -65,7 +65,7 @@ def test_old_contexts_and_other_error_paths_get_no_new_prompt_text():
'validation_path':'/next/arguments','expected_types':['object']}})==''
def test_bootstrap_schema_feedback_survives_package_resume_and_repairs_once(tool_case,tmp_path):
def test_bootstrap_schema_feedback_survives_package_resume_and_repairs_once(tool_case,tmp_path,caplog):
from test_investigation_hybrid import HybridAdapter
from test_working_brief import service_for
from test_investigator import CASE,state
@@ -97,7 +97,9 @@ def test_bootstrap_schema_feedback_survives_package_resume_and_repairs_once(tool
'expected_types':['object'],'actual_type':'string',
'requirement':'match_expected_type_at_validation_path'}
assert call['outcome']['diagnostics']['validation_path']==feedback['validation_path']
assert 'PRIVATE_RESPONSE_VALUE' not in json.dumps(call)
assert 'PRIVATE_RESPONSE_VALUE' not in json.dumps(call['outcome']['diagnostics'])
assert 'PRIVATE_RESPONSE_VALUE' not in caplog.text
assert call['outcome']['rejected_document']['update']['working_brief']['findings']==['PRIVATE_RESPONSE_VALUE']
portable=CheckpointStore(Workspace(tmp_path/'portable'));portable.intake(first.package)
result=asyncio.run(Investigator(portable,gateway(adapter),router=router).step(*CASE))
assert result.status=='PROGRESSED' and len(adapter.sent)==2