Compact interpretation storage metadata without summarizing evidence

This commit is contained in:
Nico committed 2026-10-15 11:29:30 +02:00
1 parent 82238ed213
commit 2fb81ef4af
11 files changed
+331 -20

No files matched your search

+6 -6
View File
@@ -81,7 +81,7 @@ class Model:
document["resolutions"][0]["candidate_id"] = "K9999"
else:
document = payload()
if version in {"case_interpretation_resolved_v3", "case_interpretation_resolved_v4", "case_interpretation_resolved_v5"}:
if version in {"case_interpretation_resolved_v3", "case_interpretation_resolved_v4", "case_interpretation_resolved_v5", "case_interpretation_resolved_v6"}:
document.update(described_behavior=[],provisional_behavior_gap=None)
data = json.loads(request["messages"][1]["content"])["input"]
selected = [(k,v) for k,v in data["sources"].items() if v["kind"] == "entity" and v["case_pointer"].startswith("/entity_resolution/")]
@@ -95,7 +95,7 @@ class Model:
if self.omit_resolved:
self.omit_resolved -= 1
document["relevant_entities"] = payload()["relevant_entities"]
if version in {'case_interpretation_resolved_v4','case_interpretation_resolved_v5'}:
if version in {'case_interpretation_resolved_v4','case_interpretation_resolved_v5','case_interpretation_resolved_v6'}:
from viano_bug_analysis.analysis.quality import unnamed_entity_reasons
reasons = unnamed_entity_reasons(data)
for entity in document['relevant_entities']:
@@ -132,7 +132,7 @@ def test_resolves_unrecorded_subject_preserves_case_and_portable_replay(built_ca
model = Model(); service = service_for(store)
result = run(store, model, service)
assert result.status == "COMPLETED" and PackageValidator().validate(result.package).valid
assert [r["prompt_version"] for r in model.requests] == ["entity_resolution_plan_v3","entity_resolution_assessment_v3","case_interpretation_resolved_v5"]
assert [r["prompt_version"] for r in model.requests] == ["entity_resolution_plan_v3","entity_resolution_assessment_v3","case_interpretation_resolved_v6"]
assert len(service.database.calls) == 1
assert service.database.calls[0]["filters"] == [{"column":"name","operator":"contains","value":"switch"}]
with PackageReader(result.package) as reader:
@@ -247,7 +247,7 @@ def test_search_cannot_be_grounded_in_a_capture_filename(built_case):
def test_empty_plan_still_supports_descriptive_quality_contract(built_case):
store=built_case[0];model=Model(plan={'searches':[]});service=service_for(store)
assert run(store,model,service).status=='COMPLETED'
assert model.requests[-1]['prompt_version']=='case_interpretation_resolved_v5' and not service.database.calls
assert model.requests[-1]['prompt_version']=='case_interpretation_resolved_v6' and not service.database.calls
def test_trial_phase_stop_includes_resolution_and_is_idempotent(built_case):
@@ -403,7 +403,7 @@ def test_third_assessment_can_use_lower_reasoning_without_resetting_history(buil
assert len(service.database.calls) == 1
assert model.efforts == [('entity_resolution_plan_v3','medium'),
('entity_resolution_assessment_v3','medium'),('entity_resolution_assessment_v3','medium'),
('entity_resolution_assessment_v3','low'),('case_interpretation_resolved_v5','medium')]
('entity_resolution_assessment_v3','low'),('case_interpretation_resolved_v6','medium')]
with PackageReader(result.package) as reader:
saved = json.loads(reader.read_bytes('analysis/interpretations/0001/entity-resolution/assessment.json'))
assert saved['payload']['attempt'] == 3
@@ -411,7 +411,7 @@ def test_third_assessment_can_use_lower_reasoning_without_resetting_history(buil
assert len(model.efforts) == 5
@pytest.mark.parametrize("version", [3,4])
@pytest.mark.parametrize("version", [3,4,5])
def test_completed_interpretation_keeps_its_historical_contract(built_case, version):
from viano_bug_analysis.analysis.entity_resolution import EntityResolver
store=built_case[0]