Select phase-specific working context and retain auditable source evidence

This commit is contained in:
Nico committed 2026-10-16 01:25:19 +02:00
1 parent 3ea7cd5000
commit d6749001bb
36 files changed
+599 -60

No files matched your search

+5 -5
View File
@@ -82,7 +82,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", "case_interpretation_resolved_v6", "case_interpretation_resolved_v7"}:
if version in {"case_interpretation_resolved_v3", "case_interpretation_resolved_v4", "case_interpretation_resolved_v5", "case_interpretation_resolved_v6", "case_interpretation_resolved_v7","case_interpretation_resolved_v8"}:
document.update(described_behavior=[],provisional_behavior_gap=None)
data = restore(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/")]
@@ -96,7 +96,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','case_interpretation_resolved_v6','case_interpretation_resolved_v7'}:
if version in {'case_interpretation_resolved_v4','case_interpretation_resolved_v5','case_interpretation_resolved_v6','case_interpretation_resolved_v7','case_interpretation_resolved_v8'}:
from viano_bug_analysis.analysis.quality import unnamed_entity_reasons
reasons = unnamed_entity_reasons(data)
for entity in document['relevant_entities']:
@@ -133,7 +133,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_v4","entity_resolution_assessment_v4","case_interpretation_resolved_v7"]
assert [r["prompt_version"] for r in model.requests] == ["entity_resolution_plan_v4","entity_resolution_assessment_v4","case_interpretation_resolved_v8"]
assert len(service.database.calls) == 1
assert service.database.calls[0]["filters"] == [{"column":"name","operator":"contains","value":"switch"}]
with PackageReader(result.package) as reader:
@@ -248,7 +248,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_v7' and not service.database.calls
assert model.requests[-1]['prompt_version']=='case_interpretation_resolved_v8' and not service.database.calls
def test_trial_phase_stop_includes_resolution_and_is_idempotent(built_case):
@@ -409,7 +409,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_v4','medium'),
('entity_resolution_assessment_v4','medium'),('entity_resolution_assessment_v4','medium'),
('entity_resolution_assessment_v4','low'),('case_interpretation_resolved_v7','medium')]
('entity_resolution_assessment_v4','low'),('case_interpretation_resolved_v8','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