Skip to content

Releases

v0.26.0 — Proofreading design system, navigation shell, global Copilot & team claim speedup

Choose a tag to compare

@chaw1 chaw1 released this 13 Nov 18:07

v0.26.0 — Proofreading design system, navigation shell, global Copilot & team claim speedup

Highlights since v0.25.0:

🧭 Global Proofreading Copilot & Action-Chain Replanning

  • Global right-side proofreading Copilot drawer (⌘J / Ctrl+J, topbar CopilotTrigger, and CommandPalette handoff) with toggleable live PageContext chips (CopilotContextBar), zero background requests while closed, lazy session creation on first send, and inline ChainReplanBar actions inside IntentCard / ChainCard.
  • Action-chain continuation and live-DB replanning (POST /api/intents/chains/{chain_id}/replan, datakeel intents replan, replan_chain), compiling state-dependent deferred_steps after succeeded prerequisite steps and replanning unexecuted suffix steps on failed chains while substituting completed step $ref outputs without re-running finished work.

🎨 Proofreading Design System v2 & Palette Switcher

  • Structural radius, control-height, border, elevation, layer, and motion tokens (web/src/styles/tokens.css, web/src/styles/ui.css) plus zero-dependency UI primitives (Button, Select, Input, Badge, Surface, PageHeader, SegmentedTabs, EmptyState), adopted across the topbar, StateBadge, WorkbenchPage, LibraryPage, DatasetWorkspace, ApprovalsPage, and RunsPage.
  • Runtime proofreading palette switcher (PaletteControl) in the topbar across all three contrast-verified palettes (pencil, ochre, graphite) scoped via [data-palette] and persisted in datakeel.palette.
  • Expanded semantic icon library from 18 to 34 icons (web/src/components/Icon.tsx) with distinct icons across all 19 sidebar navigation destinations.

🗂️ Collapsible Sidebar, Breadcrumbs & Identity Badge

  • Collapsible navigation sidebar rail (⌘B / Ctrl+B) and per-group collapse state persisted in localStorage, auto-expanding on hash route changes (Sidebar, useSidebarState).
  • Compact sticky 48px topbar with multi-level clickable breadcrumbs (Breadcrumbs) and server-verified actor/role badge (ActorBadge, useActorIdentity).

⚡ Team-Tier Claim Speedup & Caddy Proxy Recipe Fix

  • Persisted production_tasks.display_rank covered by the claim-order index (SQLite schema v3 + PostgreSQL startup convergence) so team-tier task claiming is a single ordered SKIP LOCKED query instead of sorting open tasks inside the write lock. Re-measured B8 (50 annotators, 10 min): SQLite save p95 2,841 → 188 ms and next-task p95 548 → 33 ms, PostgreSQL 113 → 73 ms and 254 → 77 ms; both stacks meet every target with zero duplicate claims.
  • Fixed deployment guide Caddy recipes to inject X-Datakeel-Actor with a single header_up set instead of a delete-then-set pair, verified end-to-end against a live Caddy + basic-auth deployment.

Validation

Full make check green on the release commit: 16,869 Python tests, 96.70% coverage, 1,075 frontend tests, style/token/contrast gates, license audit 0 findings. CI runs both database stacks on push.

Full changelog: CHANGELOG.md · 中文说明 · Ten-minute tour · Deployment guide

v0.25.0 — Vector evidence chain, versioned migrations, small-team deployment

Choose a tag to compare

@chaw1 chaw1 released this 11 Nov 09:28

v0.25.0 — Vector evidence chain, versioned migrations, small-team deployment

First GitHub release for Datakeel. Highlights since v0.24.1:

🔍 Vector evidence (fake kernel, end to end)

  • Signed vector pipelines with semantic duplicate detection, DBSCAN clusters/noise and relative coverage-gap candidates — frozen snapshots, atomic publication, replayable evidence.
  • Read-only vector evidence queries with signed cursors, typed failure reports and a bilingual Evidence view; reviewed gaps can be added manually to an ObjectSet selection without executing actions.
  • Development-only offline FAISS exact-comparison campaign with reproducible cold/hot/incremental measurements.
  • Honest boundary: the chain runs on a controlled fake encoder. Real encoder quality and cloud latency are untested; real egress and budget remain disabled.

🗄️ SQLite versioned migrations & recovery

  • Versioned migration registry with frozen baselines, transactional forward steps and resumable committed prefixes.
  • datakeel db status/upgrade with stable JSON/exit classifications.
  • Hash-verified local recovery packages (database/WAL facts, referenced objects, non-secret configuration); restores stay isolated from running services.
  • PostgreSQL/S3 versioned maintenance is not yet supported.

🧱 Storage architecture

  • Task and dataset persistence split into worker_store / dataset_store adapters with explicit typed schema composition (102 tables).
  • API, worker, CLI and MCP startup refuse non-current SQLite stores.

🚀 Small-team deployment guide

  • New bilingual guide for the supported authenticating-proxy boundary: loopback defaults, shared-operator and registered per-user modes, Caddy/nginx + oauth2-proxy and basic-auth recipes that strip client-supplied actor headers, plus a forged-header/revocation/audit verification checklist.
  • No application authentication change — deployment-level auth remains a separate layer by design.

📊 Capacity evidence refreshed

  • 18 sequential runs on the current tree (B1–B8 M on both stacks plus B1 L), one identical source fingerprint.
  • B5 completed with zero errors on both stacks; B4/B7 re-measured after the storage split.
  • B8 team tier: PostgreSQL 50 annotators meets every target (save p95 113 ms). SQLite 50 did not meet the latency targets in this campaign — flagged for investigation; use PostgreSQL for the team tier meanwhile.
  • The 0.13.0 matrix is retained as a labelled historical appendix.

Validation

Full make check green on the release commit: 16,829 Python tests, 97% coverage, 1,055 frontend tests, license audit 0 findings. CI runs both database stacks on push.

Full changelog: CHANGELOG.md · 中文说明 · Ten-minute tour · Deployment guide