You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Run make clean-local (or delete .dcc_workspace.duckdb) if you have an existing
workspace from 0.1.0—the layout and profile cache format changed.
Re-open datasets so profiles rebuild (first GET /profile may return PROFILE_NOT_READY; the UI polls jobs until ready).
Custom Ask integrations must use POST /api/agent/ask/stream only (sync ask removed).
Breaking
Workspace DB: removed versioned migrations and DCC_WORKSPACE_BACKUP_BEFORE_MIGRATE; existing .dcc_workspace.duckdb files with incompatible dcc_* layouts require make clean-local (or manual delete).
Profile API: removed legacy fields potential_id_columns, potential_key_columns, primary_date_column; only structure_version: "v4" cache entries are served (stale cache is auto-deleted).
Agent Ask: removed synchronous POST /api/agent/ask; clients must use POST /api/agent/ask/stream (frontend: askAgentStream only).
Frontend: removed api.getProfile, exported api.waitForJob, and api.askAgent.
Added
docs/user-guide.md for product usage (data ingestion, profiles/jobs, SQL, Ask, shortcuts).
Root .env.example with commented high-signal DCC_* variables.
Frontend API type conformance tests (types.test.ts + src/api/__fixtures__/).
make check-ci for clean-room CI-parity validation (npm ci then make check).
useDatasetProfile hook and api.fetchDatasetProfile for async first-open profiling (PROFILE_NOT_READY + job polling).
Registry RLock coverage for concurrent count/unregister paths.
Hook unit tests for useDatasetProfile, useColumnsTable, useSqlResultsGrid, and useSqlHistory.
Changed
Frontend: removed the Overview tab; the app opens on Columns by default (/ redirects to /columns).
Frontend: removed the Quality tab; the header still shows the quality score, column flags and filters live on Columns, /quality redirects to /columns, and the profile-diff dialog was removed from the UI (API unchanged).
Frontend Columns: default table sort is column name ascending; distribution stats label standard deviation as STDEV (not σ).
Frontend Ask: focused chat workspace with hero on empty threads, context bar, collapsible history, compact composer, and tighter turn layout.
Frontend Ask agent: DCC_AGENT_SUMMARIZE_WITH_LLM defaults to true; summarization prompts request direct answers with deterministic fallbacks when the second LLM call fails.
Frontend Ask composer: compact sticky bar, Options popover (model, row limit, dataset scope by name), always-on suggested prompts, real turn timing summary, conversation list polish.
Frontend SQL workspace: active-dataset chip, consolidated toolbar, run selection, resizable editor/results split, collapsible schema rail, snippet templates, run timer chip, and editor shortcuts (⌘+Shift+F, ⌘+S).
Primary tab navigation uses route transitions; Columns and Samples tables use sticky headers.
Profiler histogram bins and column summary formatting improvements.
GET /api/datasets/{id}/profile no longer blocks on build_profile; returns PROFILE_NOT_READY with job_id when the cache is empty.
Datasets API split into datasets_upload, datasets_profile, datasets_inspect, and datasets_jobs modules (URLs unchanged).
Ask persistence aligned with Workspace.ask (AskStore); agent workflow split into persistence/run modules.
Query tab: SqlEditor, SchemaDatasetBlock, and useSqlHistory extracted from QueryPage.
Sample rows API returns structured DuckDB error codes.
Backend tests reorganized under tests/api/, tests/profiler/, and tests/workspace/.
Frontend coverage baseline raised to 92% (lines/statements); types.ts excluded from v8 coverage (still validated via types.test.ts).
Workspace startup drops a legacy schema_version table when the current dcc_* schema validates (avoids requiring make clean-local after the migration removal).