Skip to content

v0.31.0

Choose a tag to compare

@howznguyen howznguyen released this 23 Aug 16:15
· 48 commits to main since this release
193ab83

Reworked web app, audit analytics, and the Chat UI removal

Knowns v0.31.0 is a minor release that rebuilds the web app on shared page components, adds audit analytics with rotated-segment coverage, and removes the embedded OpenCode Chat UI. The graph now renders through Sigma, /kanban is folded into a unified Tasks page, and the runtime monitor gets its own page.

This release also fixes four crashes and races that had been hiding behind failing tests: a duplicated task detail sheet, a graph page that died without WebGL, a config page that intermittently crashed on a hook-order violation, and an unbounded runtime daemon rescan.

Added

  • Configurable Task ID prefixes: Task IDs can now carry a project-specific prefix.
  • Audit Analytics API: GET /api/audit/analytics returns daily buckets, per-tool aggregates and retained-window coverage, so the charts can tell "no activity" apart from "history rotated away". Rotated audit segments are read too, not just the live file.
  • Runtime Page: A dedicated /runtime page replaces the docked runtime monitor panel, with error and refresh state exposed.
  • Grouped Sidebar: Navigation is grouped into sections, with connection status and the theme toggle moved into the sidebar.
  • Baseline Regeneration Path: A manual workflow_dispatch input regenerates the pinned retrieval baselines inside CI's pinned runtime, which is the only environment where those numbers are reproducible.

Changed

  • Unified Page Shell: Docs, memory, decision, tasks and graph pages were rebuilt on shared FeatureHeader and preview components, and moved onto PageShell and design tokens.
  • Sigma Graph: The knowledge graph renders through Sigma with a constellation layout. Memory sources are linked into the graph, matching how decisions already treat theirs.
  • Typography: Self-hosted Geist replaces the previous font loading.
  • Faster Init: knowns init is quicker and the setup wizard rendering is fixed.
  • Faster Memory Review: Building the review inbox no longer runs a live semantic search per candidate entry, which took minutes across a few hundred memories. Full semantic duplicate detection still runs on memory create and review resolve.

Fixed

  • Duplicate Task Detail: Opening a Task from the board rendered the whole detail sheet twice, so mentions, timer controls and labels each resolved to two DOM nodes.
  • Graph Without WebGL: The graph page crashed into a blank error boundary when the browser refused a WebGL context. It now explains the likely causes and leaves the rest of the page usable.
  • Config Page Crash: /config intermittently died with React error #310 because seven hooks sat below an early return.
  • Runtime Daemon Rescan: Dead letters counted as pending work so idle shutdown never fired, the project registry kept every store root ever registered, and retained dead letters were unbounded.
  • Doc History Drift: Doc history stays aligned with the files on disk.
  • CLI Escape Sequences: Literal \n and \t in flag values are no longer rewritten.
  • Test Data Race: Removed a race on os.Args between test setup and the daemon goroutine.

Breaking Changes

  • The embedded OpenCode Chat UI is removed. The chat frontend, the internal/agents/opencode runtime, its server proxy, WebSocket and SSE forwarder, and the /api/chats endpoints are all gone. The enableChatUI, opencodeServer and opencodeModels settings no longer exist and are ignored if left in config.json. Knowns now requires the opencode binary in PATH before writing runtime hooks, like every other runtime. OpenCode as an AI agent platform is untouched: OPENCODE.md, opencode.json, MCP config, skills and the platforms setting all still work.
  • knowns init no longer generates KNOWNS.md.
  • knowns doctor dropped --online. Network checks always run.
  • /kanban is folded into the Tasks page, pinned to the board view. Existing /kanban and /kanban/<id> links keep working.

Contributors

@howznguyen

Included pull request: #141

Full Changelog: v0.30.0...v0.31.0