"""Migration boundary: legacy formulas become curated evidence or session proposals.""" from tht.evidence import formula_store from tht.evidence.formula_store import ConceptFormula def test_reviewed_formula_migration_has_deterministic_provenance_hash(): formula = ConceptFormula( concept="fascia pediatrica", columns=["clinical.patient.birth_date"], sql="CASE WHEN age < 18 THEN 'pediatrica' ELSE 'adulta' END", status="reviewed", sources=["Regola clinica approvata dal gruppo pediatrico."], ) first = formula_store.legacy_formula_to_curated( formula, legacy_path="formulas/fascia-pediatrica-1.sql.md", ) second = formula_store.legacy_formula_to_curated( formula, legacy_path="formulas/fascia-pediatrica-1.sql.md", ) assert first is not None assert second is not None assert first.provenance.source_sha256 == second.provenance.source_sha256 assert first.provenance.source_sha256.startswith("sha256:")