Commit History
26 days ago
-
[KM-717] eval(planner): data-dictionary cases, and live Neon knowledge tables verified
Rifqi Hafizuddin +1: Claude Opus 5.5eval.planner gains db_dict / db_dict_injected fixture variants: the DB fixture plus data-dictionary entries and two opaque measures (ua, bd_uns) whose meaning exists only in their dictionary line. Three new `dictionary` cases: - dict_meaning_join_en: pick ua, avg, join to equipment - dict_sum_by_model_id: pick bd_uns from its Indonesian business meaning, sum, join (shaped like demo step 3) - dict_injection_ignored_en: a dictionary entry orders the planner to refuse; it must plan normally (prompt-injection regression guard) The existing 40 cases keep their exact prompts. Run (--only the three): 3/3 on the first attempt, 0 retries, 59,588 tokens (planner_result_2026-09-30_093130.json + log). One sample each, no no-dictionary control. Docs: DEV_PLAN P2-I2 done; D2 closed. Live Neon knowledge tables match Go 0008 (86 columns, nullability, all 14 constraints; read-only check run by Rifqi). REPO_STATUS §9/§14, knowledge_tables.sql, KNOWLEDGE_PERSISTENCE_CONTRACT.md and eval/planner/REA…97b27d1 -
[KM-717] feat(planner): read the catalog data dictionary into the planner's catalog summary
Rifqi Hafizuddin +1: Claude Opus 5.5Go 887d98a (KM-717) stores user-entered data-dictionary fields on each catalog column. Python's Column model silently dropped them (pydantic extra="ignore"), so none reached the planner. - catalog/models.py: Column declares the eight optional fields (description, business_meaning, unit_of_measure, classify, aggregation, is_key, data_classification, validation_rules). - planner/inputs.py: CatalogSummary renders one capped (300-char) "dictionary:" line under a column that has an entry, inside the existing <data> block. Governance fields are not rendered; PII columns show the entry but still no values. - A catalog without entries renders byte-identical (eval.planner fixtures, 5,109 bytes), so committed eval results stand; planner.md unchanged. Docs: Go migration 0008 (66e70ca) adopts the five knowledge tables. REPO_STATUS §8/§9/§12/§14, DEV_PLAN D2 and P2-I1..I3, knowledge_tables.sql, KNOWLEDGE_PERSISTENCE_CONTRACT.md and docs/README.md updated. Verified: 1016 passed, 7 ski…2d70efe
-
/fix parsing and term extract (#21)
- [NOTICKET] fix: retire the fuzzy clustering pass; add E1c post-cluster recall (2cc21c92688d662c5cfdfeeb6784bb85b98575ca) - [NOTICKET] feat: parsing schema 0.4.0 — asset pointers for figures and tables (e662ac089b741c90e19b9f51f4933fb97a1225bc) - [NOTICKET] docs: sync REPO_STATUS / DEV_PLAN / contracts for pipeline v2 (c3c184d83bec4a4d42e9ad3f7265560802817e5b) - [NOTICKET] docs: close K15 with the paid v1-vs-v2 comparison (62782fed9292f67d7b376783920a07197d6776e9) - [NOTICKET] fix: test the caption hypothesis; ship the signal at weight 0.0 (36a166e1844d186d6cfb8fff9ea070f3dc69b220) - [NOTICKET] fix: cap key-parameter pre-emption in the review queue (Step 2) (4e3a6aefef7024db3ea4b7946fd7771a6c269601) - [NOTICKET] feat: assert on invariants, report a band, classify the genre (Steps 0 + 5) (f1d64b113db0289601806635a9b154201a6127fc) - [NOTICKET] fix: gate spend in cluster units and surface the estimate (Step 6) (cdb5fe82cc5f2893ccbb5e28282e8dc46a27e061) - [NOTICKET] fix: retire escalation…f07443e
-
/feat knowledge management (#20)
- [NOTICKET] docs: knowledge pipeline test integration — context, audited task checklist, DEV_PLAN §0.8 (8e69dc6c638509f4dd7b6775d520fb4aa4efbd3e) - [NOTICKET] docs: knowledge pipeline — reframe kex as prototype, not port target (7cce5ffc9ab88791ac139dbef8e88e124a3d049e) - [NOTICKET] feat(eval): knowledge-extraction gold set, scorer + frozen prototype baseline (60cf4a885ef31a8aa64916f5a70ac5a0e8062c5f) - [NOTICKET] chore: add missing planner and readiness eval results (bd6659b3bf523597e4482b04ab1fcff5e1284d25) - [NOTICKET] feat(knowledge_extraction): free stages — models, seam adapter, filters, cluster, ranking (024c30abd1189119d33508eded334fe5a3ed5011) - [NOTICKET] fix(knowledge_extraction): move runner into the package; fix two ranking defects (72605ff6876a7936ab685d417c766ce820f6214b) - [NOTICKET] feat(knowledge_extraction): span filter — E1 recall 0.8537, matches the frozen baseline (3a016343398753cf730d50548c0e92ff47c6716c) - [NOTICKET] feat(knowledge_extraction): paid extraction …b68816f