Changelog

What shipped, phase by phase — summarized from the build history.

  1. UI-2

    Unreleased

    App-shell polish — one nav, no emoji icons, premium pass on every page.

    • Shared <AppNav/> (sticky, backdrop-blur, active-page state) replaces 11 duplicated per-page headers, mounted once via an app/(app) route-group layout
    • ⌘K hint chip in the nav opens the existing command palette
    • Command palette, empty states, and artifact chips: emoji glyphs replaced with hand-inlined SVG icons
    • Consistent page headers, card hover states, and focus-visible rings across Chat, Documents, Missions, Agents, Templates, Evals, Usage, Automations, Playground, and Voice
    • Chat page: hue-tinted avatar tiles per agent, refined message bubbles, compact mono tool-call cards
  2. UI-1

    2026-07-18

    Premium landing redesign — product-forward bento grid + display hero.

    • New display hero with a live agent-trace animation and gradient headline
    • Six-pillar bento feature grid with hue-tinted icon tiles and hand-built product vignettes (chat, mission board, sparkline)
    • Honest stats strip (9 agents, 2 runtimes, 106 backend tests, 21 E2E, 94ms p95) and an ops-layer section
    • Shared hue tokens, dot texture, and reveal-on-scroll primitives added to globals.css for reuse across the app shell
  3. Phase 12

    2026-07-16

    Production hardening — auth, rate limiting, deploy safety. Phase 12 complete.

    • Bearer JWT auth + per-resource ownership across all 15 routers; pages gated via proxy.ts, / and /changelog stay public
    • Per-user (JWT email, else IP) rate limiting with a Redis-backed store and a memory fallback
    • Deploy safety: one-shot DB migration job, /health/ready readiness check, background embedding-model pre-warm
    • 98 → 106 backend tests across the phase; 21/21 E2E with the new auth flow
  4. Phase 11

    2026-07-16

    Quality pass — E2E coverage, pagination, error monitoring, a real load test.

    • Playwright E2E suite: 20 tests across two projects (deterministic + LLM-dependent), skippable via E2E_SKIP_LLM=1
    • Uniform limit/offset pagination + deterministic ordering on every DB-backed list endpoint
    • DSN-gated Sentry error monitoring, backend and frontend, no-op until a key is configured
    • k6 load test: lists p95 94ms at ~414 rps, writes p95 96ms, 0% errors over 48.6k requests
  5. Phase 10 N

    2026-07-16

    Voice agent via Vapi — keys-optional scoped demo.

    • New /voice page: live call via the Vapi web SDK when a key is configured, a designed not-configured state otherwise
    • GET /api/v1/voice/config gates on VAPI_PUBLIC_KEY server-side — the API key itself is never exposed to the browser
  6. Phase 10 M

    2026-07-16

    Second agent runtime — Pydantic AI alongside LangGraph.

    • New pydantic-ai-slim runtime with real delta streaming, wrapped web_search + search_documents tools, and budget checks
    • Per-agent runtime selection (default: LangGraph); new built-in Fact Checker agent runs on the Pydantic AI path
  7. Phase 10 L

    2026-07-16

    Prompt Playground — side-by-side model/temperature A/B testing.

    • New /playground page: run the same prompt against two model configs in parallel, compare cost, latency, and output
    • Load a variant's model + system prompt straight from an existing agent; save and reload comparisons as experiments
  8. Phase 10 K

    2026-07-12

    Command palette, designed empty states, and this changelog.

    • ⌘K / Ctrl+K command palette for jumping to any page without the mouse
    • Shared EmptyState component — replaces bare "No X yet" text across Chat, Documents, Missions, Agents, Evals, Automations, and Templates
    • This changelog page
  9. Phase 10 J

    2026-07-12

    Sandboxed artifacts side panel.

    • Agent replies can render code, markdown, and Vega-Lite charts as clickable chips that open in a resizable side panel
    • Streaming-safe fence parser and an escape-then-transform markdown renderer with a URL allowlist
    • Chart rendering (vega-embed) is lazily imported so it never bloats the main bundle
  10. Phase 10 I

    2026-07-11

    Scheduled runs + inbound webhooks — the automation platform half of Phase 10.

    • Cron-scheduled mission runs (Automations page) backed by an arq worker poller
    • Inbound webhook triggers with bearer-secret auth and {payload} template substitution
    • Both surfaced in a new /automations page
  11. Phase 10 H

    2026-07-11

    Roster expansion — four new built-in agents.

    • SQL Analytics agent — natural language to read-only SQL over a demo schema
    • Competitor Monitor, Meeting-Notes→CRM, and Outreach agents, each with an eval case
    • send_slack and push_to_crm tools that degrade gracefully without keys configured
  12. Phase 9

    2026-07-11

    Reliability pass — durability, web access, and ops hygiene.

    • Pluggable web search (Tavily / Exa / SearXNG) plus a trafilatura-based fetch_url tool
    • Durable Postgres LangGraph checkpointer, replacing the in-memory saver
    • Durable arq/Redis orchestration — mission runs survive an API restart
    • Seeded golden eval cases as a real CI regression gate
    • Structured JSON logging, request-ID middleware, env-configurable CORS
  13. Phase 8

    2026-07-11

    LangGraph runtime, landing page, and production packaging.

    • LangGraph agent runtime promoted to the default execution path
    • Premium landing page with a live agent-trace hero and feature grid
    • Interview-grade README, DEMO.md, and LICENSE
    • Local production packaging — Dockerfiles, one-command compose, Kubernetes manifests