feat: add active rectification questionnaire

This commit is contained in:
732642856
2026-07-08 17:16:39 +08:00
parent f5606a933b
commit 9e46a4814a
4 changed files with 147 additions and 0 deletions
@@ -0,0 +1,18 @@
from __future__ import annotations
from scripts.active_rectification_questions import build_questionnaire
def test_active_rectification_questions_generate_choice_based_workflow() -> None:
report = build_questionnaire("1955-02-24 19:15", uncertainty_minutes=30)
assert report["scope"] == "active_birth_time_rectification_questionnaire"
assert report["candidate_scan"]["start"] == "1955-02-24 18:45"
assert report["candidate_scan"]["end"] == "1955-02-24 19:45"
assert report["candidate_scan"]["candidate_count"] == 61
assert "high_information_question_generation" in report["workflow"]
assert {"D9", "D10", "D24", "D30", "UL", "A10", "KP_cusp"} <= set(report["sensitivity_layers"])
assert len(report["questions"]) >= 8
assert {q["round"] for q in report["questions"]} == {1, 2, 3}
assert all({option["key"] for option in q["options"]} == {"A", "B", "C", "D"} for q in report["questions"])
assert all("scoring_map" in q for q in report["questions"])
@@ -21,6 +21,8 @@ def test_rectification_decision_tree_doc_exists_and_covers_priority_layers() ->
assert "D60" in text
assert "不是所有分盘一股脑上" in text
assert "Dasha 定框,D9/D10 定核心" in text
assert "主动问询" in text
assert "scripts/active_rectification_questions.py" in text
def test_rectification_decision_tree_doc_maps_event_groups_to_vargas() -> None: