ОРРКЕСТРАЦИЯ - Усилить agent loop object-centric аудитом и добить pronoun follow-up по документам закупки
This commit is contained in:
@@ -9,6 +9,7 @@ sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
|
||||
from scripts.domain_case_loop import (
|
||||
build_scenario_acceptance_matrix,
|
||||
carry_forward_analysis_context,
|
||||
derive_pack_final_status,
|
||||
load_scenario_pack,
|
||||
merge_scenario_date_scope,
|
||||
)
|
||||
@@ -148,7 +149,7 @@ def test_build_scenario_acceptance_matrix_marks_green_edge_when_covering_scenari
|
||||
{
|
||||
"node_id": "N03_selected_item_supplier",
|
||||
"covers_question_ids": ["Q19"],
|
||||
"required_wording_families": ["canonical", "ui_selected_object_colloquial"],
|
||||
"required_wording_families": ["canonical"],
|
||||
}
|
||||
],
|
||||
"critical_edges": [
|
||||
@@ -168,8 +169,18 @@ def test_build_scenario_acceptance_matrix_marks_green_edge_when_covering_scenari
|
||||
"scenario_id": "inventory_selected_item_provenance",
|
||||
"question_ids": ["Q01", "Q19"],
|
||||
"steps": [
|
||||
{"step_id": "step_01_snapshot", "question_id": "Q01", "node_id": "N01_stock_snapshot"},
|
||||
{"step_id": "step_02_supplier", "question_id": "Q19", "node_id": "N03_selected_item_supplier"},
|
||||
{
|
||||
"step_id": "step_01_snapshot",
|
||||
"question_id": "Q01",
|
||||
"node_id": "N01_stock_snapshot",
|
||||
"paraphrase_family": "canonical",
|
||||
},
|
||||
{
|
||||
"step_id": "step_02_supplier",
|
||||
"question_id": "Q19",
|
||||
"node_id": "N03_selected_item_supplier",
|
||||
"paraphrase_family": "canonical",
|
||||
},
|
||||
],
|
||||
}
|
||||
],
|
||||
@@ -188,3 +199,96 @@ def test_build_scenario_acceptance_matrix_marks_green_edge_when_covering_scenari
|
||||
assert "E01_snapshot_to_selected_item_supplier" in matrix
|
||||
assert "| E01_snapshot_to_selected_item_supplier | green |" in matrix
|
||||
assert "| P01_snapshot_to_supplier | green |" in matrix
|
||||
|
||||
|
||||
def test_build_scenario_acceptance_matrix_marks_partial_when_wording_family_is_missing() -> None:
|
||||
pack = {
|
||||
"pack_id": "inventory_active_contract_smoke",
|
||||
"domain": "inventory_stock",
|
||||
"source_contract": {"domain_id": "inventory_stock_supplier_provenance", "title": "Warehouse domain"},
|
||||
"question_pool": {
|
||||
"questions": [
|
||||
{"question_id": "Q19", "node_id": "N03_selected_item_supplier"},
|
||||
]
|
||||
},
|
||||
"scenario_tree": {
|
||||
"critical_nodes": [
|
||||
{
|
||||
"node_id": "N03_selected_item_supplier",
|
||||
"covers_question_ids": ["Q19"],
|
||||
"required_wording_families": ["canonical", "ui_selected_object_colloquial"],
|
||||
}
|
||||
]
|
||||
},
|
||||
"scenarios": [
|
||||
{
|
||||
"scenario_id": "inventory_selected_item_provenance",
|
||||
"question_ids": ["Q19"],
|
||||
"steps": [
|
||||
{
|
||||
"step_id": "step_01_supplier",
|
||||
"question_id": "Q19",
|
||||
"node_id": "N03_selected_item_supplier",
|
||||
"paraphrase_family": "canonical",
|
||||
}
|
||||
],
|
||||
}
|
||||
],
|
||||
}
|
||||
scenario_results = [
|
||||
{
|
||||
"scenario_id": "inventory_selected_item_provenance",
|
||||
"final_status": "accepted",
|
||||
"session_id": "asst-demo",
|
||||
"artifact_dir": "artifacts/domain_runs/demo",
|
||||
}
|
||||
]
|
||||
|
||||
matrix = build_scenario_acceptance_matrix(pack, scenario_results)
|
||||
|
||||
assert "| N03_selected_item_supplier | partial |" in matrix
|
||||
|
||||
|
||||
def test_derive_pack_final_status_downgrades_accepted_when_matrix_contains_partial_coverage() -> None:
|
||||
pack = {
|
||||
"pack_id": "inventory_active_contract_smoke",
|
||||
"domain": "inventory_stock",
|
||||
"scenarios": [
|
||||
{
|
||||
"scenario_id": "inventory_selected_item_provenance",
|
||||
"question_ids": ["Q19"],
|
||||
"steps": [
|
||||
{
|
||||
"step_id": "step_01_supplier",
|
||||
"question_id": "Q19",
|
||||
"node_id": "N03_selected_item_supplier",
|
||||
"paraphrase_family": "canonical",
|
||||
}
|
||||
],
|
||||
},
|
||||
],
|
||||
"scenario_tree": {
|
||||
"critical_nodes": [
|
||||
{
|
||||
"node_id": "N03_selected_item_supplier",
|
||||
"covers_question_ids": ["Q19"],
|
||||
"required_wording_families": ["canonical", "ui_selected_object_colloquial"],
|
||||
}
|
||||
]
|
||||
},
|
||||
"question_pool": {
|
||||
"questions": [
|
||||
{"question_id": "Q19", "node_id": "N03_selected_item_supplier"},
|
||||
]
|
||||
},
|
||||
}
|
||||
scenario_results = [
|
||||
{
|
||||
"scenario_id": "inventory_selected_item_provenance",
|
||||
"final_status": "accepted",
|
||||
"session_id": "asst-demo",
|
||||
"artifact_dir": "artifacts/domain_runs/demo",
|
||||
}
|
||||
]
|
||||
|
||||
assert derive_pack_final_status(pack, scenario_results) == "partial"
|
||||
|
||||
Reference in New Issue
Block a user