feat(harness): SQL formula evidence -- concept->formula units + retrieval (D14b)
New evidence/formula_store.py: ConceptFormula (concept, columns, sql, status, sources) as a frontmatter-YAML + SQL-body unit, stored one-file-per-formula under <formulas>/<slug>-<n>.sql.md. save_formula is append-only (competing drafts and reviewed versions coexist); retrieve_formula(concept) returns all of them so the gate can surface candidates and let the reviewer choose. concept_formula_approved / concept_formula_rejected added to DecisionType (records the reviewer's choice; approved formulas travel with schema-linking). L1: test_formula (7 tests) -- retrieval by concept, save/reload roundtrip (SQL body preserved, frontmatter well-formed), multiple formulas per concept, empty on no-match / missing dir, decision-type existence, default draft status. Deferred: --kind formula on nsp search (needs search_cmd porting) wires retrieve_formula into the CLI; lands with the search command.
This commit is contained in:
@@ -39,6 +39,11 @@ DecisionType = Literal[
|
||||
# "phase:4", detail = il valore (es. "ablazione"), rationale = la/e colonna/e scelta/e
|
||||
# dal reviewer (aggregate_lsh_multi le espone tutte senza collassare al miglior match).
|
||||
"value_grounded",
|
||||
# D14b: formula di concetto approvata/rifiutata dal reviewer. subject = "phase:4",
|
||||
# detail = il concetto (es. "fascia pediatrica"), rationale = la/e colonna/e o il motivo.
|
||||
# retrieve_formula restituisce i candidati; queste decisioni registrano la scelta.
|
||||
"concept_formula_approved",
|
||||
"concept_formula_rejected",
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user