Commit History
4 days ago
-
[NOTICKET] fix(planner): EMA dry-run fixes — analysis scope, site-code lookup, in-query aggregation, NULLS LAST
Rifqi Hafizuddin +1: Claude Opus 5.5From a 9-turn replay of a real EMA session on maintenance views (Neon): - compiler: ORDER BY ... NULLS LAST (a NULL group ranked first under DESC) - the analysis objective/business questions reach the planner as a `# Analysis context` section inside <data>; today's date (WIB) in `# Question` - planner.md: aggregate in the IR, relative periods, site codes via the lookup (never a typed id, bare codes matched to lookup values), "why" uses the cause table, driver questions compare groups in the IR, rankings return 10 not 1, "infeasible is about columns, never rows"; client codes replaced by placeholders - examples: A/E aggregate in the IR, D asks for a median, P notes its row count, new X (ranking without N), Y (driver on a large table), Z (code lookup) - validator: 8i capped-slice importance, 8j typed lookup ids (code columns only), 8k top-1 rankings, check 11 rejects handoffs from metadata steps - assembler: shared top values, correct cell labels, period per row - eval/planne…a0e68ee -
[NOTICKET] feat(catalog): infer star-schema joins to same-named dimension keys
Rifqi Hafizuddin +1: Claude Opus 5.5fk_inference now also links `<base>_id` to a dimension table named with a dim_/vw_dim_/vw_/tbl_ prefix whose key has the same name (e.g. fact.site_id -> vw_dim_site.site_id), as in BUMA's EMA views. Safeguards: single unambiguous candidate only, identical data types, same-name keys refused when catalog stats show duplicates, a table's own key is never treated as a FK, fact tables sharing a key are not linked, declared FKs still win. Composite keys remain unsupported. Verified: ruff clean; 1029 passed, 7 skipped (baseline 1016/7 + 13 new local tests); import main OK. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>8c74a3d
-
/feat ds tools (#22)
- feat(tools): analytical-tools foundation — spec_builder + ml executor (ee1a76a466c6ea6dc52f337d0fd9534ca0271a86) - feat(tools): shared chart kit + auto-chart builders (535f17340950e070556441140276c47d074606e2) - feat(tools,spine): wire tool auto-charts to chart persistence (522e582bab372b645577789cbbd59d5105a66632) - build(deps): add statsmodels + explicit scikit-learn pin (4d76bd0e57f5f7b1bbb0b77e49970063d1898a1b) - [NOTICKET] docs: analytical-tools foundation — conventions, DEV_PLAN 0.9, status sync (a7f0bca51ed8ff08784cca3fd4179dce56ef7622) - [NOTICKET] eval(planner): skip cases whose tool is withheld, don't fail them (845284b4a3b32df142565de23386dee739d0f733) - [NOTICKET] feat(tools): analyze_forecast (ETS) — first ML tool, DEFERRED (dae102f68fc36cf755e7d53df10affb4ec7edaa6) - [NOTICKET] planner: rebalance few-shot exemplars EN/ID, demo the reply-language rule (fb30aec99586daf12a4799087ae538e5e862451c) - [NOTICKET] feat(tools): analyze_anomaly (Isolation Forest) — second ML tool,…e201ae4