v0.2.53
LATESTTHE APP SUITE, CERTIFIED
The ring proved the engine; this release proves the cockpit. Every app on the suite port — hub and settings, catalog, explorer, profiling, scheduler, API portal, Chat with Martin, dashboards, executions — was walked through a functional battery against a real project on live engines: connections tested on both layers, a grid edit applied through the previewed-DML lane and verified on the warehouse, a scheduler job created, fired and deleted, an API endpoint enabled, keyed and called live, Martin answering with federated results and proposing parse-verified files, a Martin asset landing on a dashboard tile and refreshing live, and a real run watched heartbeat-by-heartbeat into history. Alongside the battery, Martin's grounding got materially smarter — and a standing law now keeps it that way: docs are release-notes-equal, and the expert corpus that ships inside every wheel is refreshed and re-verified before any release is tagged.
ADDED
- ▸Martin knows your default target. The chat prompt now names the default target and its engine, so when Martin proposes a native model (view/table/incremental) it writes that engine's dialect — and DuckDB SQL for federated models — instead of having to infer the engine from connection names. The two-dialect rule was always the law; now Martin holds both halves of it.
- ▸A new Retries & Resilience docs page states the transient-failure contract in full: the named crash classes that retry once, the 60s/120s warehouse wake clock for cloud engines that suspend themselves, what never retries and why a closed list is the honest design.
- ▸The docs grew the ring's operational truth: retract's every-spelling drops and full sweep of local incremental state, the bulk-load accelerator law under dvt sync, Databricks column-mapping for special-character names, the ClickHouse FETCH-to-LIMIT and Oracle dummy-ORDER-BY compensations, and Trino's one-casing rule.
CHANGED
- ▸Martin's multi-chart ceiling is gone. The number of charts is the user's: a named count is delivered exactly, and an open-ended ask — 'all the analytics charts for X' — now makes Martin analyze the data first (column types, cardinalities, date columns) and deliver every chart the data genuinely supports, one per real insight, executed live in parallel through a bounded worker pool.
- ▸The expert corpus riding in the wheel — Martin's grounding — is re-verified against this release: the ring-era engine behavior folded in, retract and transient-retry semantics current, and honest limitations updated. A stale claim was killed on the way: the corpus still called the MySQL family and StarRocks pushdown-only, long after they became full federation citizens.
- ▸The limitations page traded a dead wall for a live truth: Databricks special-character columns moved off the page (engineered away in 0.2.52), and the local-incremental-state honesty note took its place — if something outside DVT drops a landed relation, dvt retract --select is the reset.
FIXED
- ▸The hub's hosting table told two small lies: it omitted the /executions app entirely, and still described the explorer as read-only — stale since the grid's previewed-DML lane shipped. Both rows now match the running suite.
Get it: pip install dvt-core==0.2.53 · wheels on PyPI for macOS (arm64 + x86_64) and Linux x86_64, Python 3.10–3.14 — the full platform matrix.