diff --git a/harness/tests/test_column_decisions.py b/harness/tests/test_column_decisions.py new file mode 100644 index 00000000..9539e26b --- /dev/null +++ b/harness/tests/test_column_decisions.py @@ -0,0 +1,17 @@ +from tht.decisions import DecisionType +import typing + + +def test_column_decision_types_exist(): + allowed = set(typing.get_args(DecisionType)) + assert "column_promoted" in allowed + assert "column_excluded" in allowed + + +def test_f4_emits_column_types(): + import yaml + from pathlib import Path + wf = yaml.safe_load(Path("workflow.yaml").read_text()) + f4 = next(p for p in wf["phases"] if p["id"] == "F4") + assert "column_promoted" in f4["emits"] + assert "column_excluded" in f4["emits"] diff --git a/harness/tht/decisions.py b/harness/tht/decisions.py index 0b2cb090..2f1d75c6 100644 --- a/harness/tht/decisions.py +++ b/harness/tht/decisions.py @@ -14,6 +14,8 @@ DecisionType = Literal[ "question_rewritten", "table_promoted", "table_excluded", + "column_promoted", + "column_excluded", "column_corrected", "join_modified", "evidence_accepted", diff --git a/harness/workflow.yaml b/harness/workflow.yaml index 5fb9cd12..366e4d41 100644 --- a/harness/workflow.yaml +++ b/harness/workflow.yaml @@ -34,7 +34,7 @@ phases: advance: reviewer_decide prerequisites: [] artifacts_out: [schema_linking.json] - emits: [table_promoted, table_excluded, column_corrected, join_modified, + emits: [table_promoted, table_excluded, column_promoted, column_excluded, column_corrected, join_modified, evidence_accepted, evidence_rejected, value_grounded, concept_formula_approved, concept_formula_rejected] - id: F5