diff --git a/docs/orchestration/address_truth_harness_phase70_document_to_contracts_pronoun_pivot.json b/docs/orchestration/address_truth_harness_phase70_document_to_contracts_pronoun_pivot.json new file mode 100644 index 0000000..3c02be8 --- /dev/null +++ b/docs/orchestration/address_truth_harness_phase70_document_to_contracts_pronoun_pivot.json @@ -0,0 +1,41 @@ +{ + "schema_version": "domain_truth_harness_spec_v1", + "scenario_id": "address_truth_harness_phase70_document_to_contracts_pronoun_pivot", + "domain": "address_phase70_document_to_contracts_pronoun_pivot", + "title": "Phase 70 document to contracts pronoun pivot", + "description": "Replay for a human follow-up where the user first asks for documents by counterparty and then pivots with 'А по нему договоры?', expecting the same counterparty to survive and the contour to switch to contracts.", + "bindings": {}, + "steps": [ + { + "step_id": "step_01_documents_by_counterparty", + "title": "Open documents for the counterparty", + "question": "Покажи документы по Жуковке 51.", + "allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)жуковк", + "(?i)документ|сч[её]т|акт|накладн|строк" + ], + "criticality": "critical", + "semantic_tags": ["documents_by_counterparty", "pronoun_pivot_seed", "integrity_guard"] + }, + { + "step_id": "step_02_contracts_by_pronoun_followup", + "title": "Pivot to contracts via pronoun follow-up", + "question": "А по нему договоры?", + "allowed_reply_types": ["factual", "factual_with_explanation", "partial_coverage"], + "required_answer_patterns_all": [ + "(?i)жуковк|контрагент", + "(?i)договор|контракт|соглаш" + ], + "forbidden_answer_patterns": [ + "(?i)метадан", + "(?i)схем", + "(?i)объект[а-я]* 1с", + "(?i)регистр", + "(?i)уточните .* контрагент" + ], + "criticality": "critical", + "semantic_tags": ["contracts_followup", "counterparty_pronoun_resolution", "integrity_guard"] + } + ] +}