What shipped

Kognite is under active development. Every entry below maps to a real change in the running system — including the ones that corrected something we had previously got wrong.

  1. ProductSecurity

    A landing page that shows the system instead of describing it

    • The home page now renders a live memory graph rather than a stock illustration — entities, relationships, and the edges Kognite actually builds between them.
    • /benchmarks gained a dumbbell plot that puts every measured configuration on one axis, so the spread between retrieval recall and end-to-end answer accuracy is visible at a glance instead of buried in a table.
    • /docs gained a surface map: every tool, endpoint, and MCP capability on one page, so you can see the whole API before reading any of it.
    • Patched Next.js from 15.0.4 to 15.5.21, closing the advisories accumulated across that gap, and repaired the ESLint config that had been silently passing everything.
  2. DeveloperBenchmarksPlatform

    Official SDKs, nightly backups, and an end-to-end benchmark

    • TypeScript and Python SDKs. `@kognite/sdk` (zero dependencies) and `kognite` (stdlib only) cover memories add/search/list/get/forget/ingest, context.assemble, graph.query, and health — with retry, backoff, and typed errors. Every method was verified against the live API before release.
    • End-to-end benchmark published. Earlier numbers measured retrieval in isolation. The new run ingests the LoCoMo corpus through the real formation pipeline and answers all 1,542 questions using only what the live API returns: 71.4% accuracy, and 70.0% when re-judged by GPT-4o — the same judge behind Mem0's published band, so the two are directly comparable.
    • The grader is decoupled from the system under test. The benchmark harness can now be pointed at a judge model that has nothing to do with the one answering, which is what let us re-score the identical run with GPT-4o — the judge behind Mem0's published numbers — instead of only with our own. That is why the 70.0% figure is comparable to theirs rather than to itself. The harness is not published yet, so for now you are still taking our word for the run; making it reproducible outside our infrastructure is the obvious next step.
    • Nightly backups with a proven restore. A pg_dump runs at 03:15 UTC on the database host and is pulled off-box at 03:45, keeping 7 and 14 days respectively. The restore was drilled, not assumed: 15,867 memories were restored into a scratch database and verified.
    • Rate limiting fixed at the edge. The limiter was keying on the CDN's IP rather than the caller's, so every request behind the CDN shared one bucket. It now keys on the forwarded client IP.
    • Closed the P0 findings from the 9 July load audit.
  3. PlatformSecurity

    Billing, admin, and the end of the mock database

    • Production refuses to start on a mock database. The API and MCP gateway could previously fall back to an in-memory stub in production if a connection string was missing — failing silently instead of loudly. That path is now a hard refusal.
    • Checkout was broken for everyone. An invalid Stripe API version rejected every checkout session. Fixed, and plan changes now route through the Stripe customer portal with rank-aware upgrade and downgrade buttons.
    • Pricing ladder reworked and migrated to Stripe `lookup_key`s, so plan pricing can change without redeploying.
    • Trash for memories. Soft-deleted memories are now browsable and restorable rather than invisible until purge.
    • Deleting a memory cleans up its graph. Knowledge-graph entities left orphaned by a delete are now cascaded.
    • Personal access token permissions are enforced, `/metrics` is gated, and the per-scope quota check fails closed instead of open.
    • Deploy smoke tests actually test something — they previously passed on a dead deployment, and now fail the deploy when they fail.
    • Marketplace purchases are idempotent (unique index plus ON CONFLICT), so a retried request cannot double-charge.
    • Sitemap, robots.txt, and canonical URLs onto the apex domain.
  4. SecurityRetrievalBenchmarks

    Cross-tenant leak closed, four broken MCP tools implemented, honest benchmarks

    • Cross-tenant audit-log leak closed. The audit-log endpoint did not require authentication or filter by scope, so one tenant could read another's audit trail. It now requires auth and filters by scope. This was the most serious finding of the security audit and is fixed.
    • Four MCP tools that were advertised but not implemented now work, and upstream failures surface as errors instead of empty results. The gateway also stopped advertising a `logging` capability it never had.
    • Cross-encoder reranking is on by default for `memory_search`, with normalized scores, deterministic graph ordering, and dedup at ingest.
    • The 91.8% benchmark chart was wrong and has been replaced. The published comparison against Mem0 was not measured on the same harness. The new numbers run both systems over the identical LoCoMo corpus with the same embedder, the same judge, and the same recall method — only the retrieval engine differs. Kognite's number went down and it is now true.
    • Admin control plane. User management, a global audit view, an admin action trail, first-party visitor analytics, and durable API usage accounting.
    • Cost and abuse controls: input bounds, per-scope quotas, and rate limiting.
    • GDPR export now includes episodes; OAuth failures report the real error; the retention-policies list no longer 500s.

Subscribe via RSS. The numbers behind the benchmark entries are on /benchmarks, and they are re-run rather than restated.