LVTD-LLC/rowset · Monthly · Jul 01, 2026 - Jul 31, 2026

Rowset Monthly Update — July 2026: Self-Hosting GA, Analytics Overhaul, and Content Engine Accelerates

Commits summarized
65
Period
Jul 01 - Jul 31, 2026
Published
Aug 01, 2026

Period: July 1–31, 2026

Commits highlighted: 65 of 65

Who should read this: developers deploying Rowset self-hosted, teams building AI agents on structured datasets, and anyone integrating Rowset's analytics or MCP tooling.

Highlights

July was a packed month across every layer of Rowset. The self-hosting path reached a credible beta with backup/restore, health diagnostics, a simplified Compose-based deploy, and a daily release train. Analytics was rewritten to be privacy-safe and campaign-aware, separating human vs. automated traffic and adding PostHog AI observability. The content engine published seven new guides on AI agent patterns. And the agent interface itself gained topic-selective capability discovery and permission-aware tool routing.

Self-Hosting Matures

Backup, Restore, and Release Contracts

  • Backup and restore shipping — b61df4d introduced full backup/restore with isolated restore drills.
  • Immutable releases — bf2c5d1 publishes coherent, immutable release bundles.
  • Daily release train — e5bffec enforces release contracts and adds a daily train.
  • Preflight & doctor commands — 34c622b adds diagnostic commands to validate deployment health.
  • Tested sizing requirements — 6a03d53 publishes reproducible sizing benchmarks and hardware profiles.
  • Minimum disk preflight fix — 092065c defines a cost-first minimum profile and corrects the disk check.
  • Optional Qdrant deployment — 46e2138 adds Qdrant as an optional vector-store sidecar with restore-drill support.
  • Simplified deployment surface — 72981a3 refactors self-hosting down to a single Compose file and a guide, removing 6.5k lines of cruft.
  • Getting started guide — adba214 adds a dedicated self-hosting quickstart.

SEO & Security for Self-Hosted Instances

  • Prevent search indexing — a32a566 blocks self-hosted instances from appearing in search results.
  • Disable Django admin in production — 29c1824 removes the Django admin surface for self-hosted deploys.

Analytics Overhaul (Privacy-First, Campaign-Aware)

Core Infrastructure

  • Privacy-safe pageviews — fcfdaa9 captures pageviews without exposing personal data.
  • Campaign attribution — 467f559 syncs consent-gated first/current touch across PostHog and backend events.
  • Campaign sync fix — 000a46d (RMA-004) synchronises attribution consistently.
  • Login & account deletion lifecycle events — ac12805 tracks these events while preserving privacy.
  • Public dataset impressions — d1867e5 tracks views of public datasets.
  • Human vs. automated traffic separation — a00b044 (RMA-009) classifies request traffic so you can filter bots.
  • Personless request traffic — 1a5a73d captures traffic without associating it with a person record.
  • PostHog AI observability — eb967c5 wires PostHog's AI observability into Rowset.
  • Privacy-safe MCP usage tracking — f97d94 tracks MCP tool usage without leaking identity.
  • Browser events through PostHog proxy — fdc0492 routes browser events through Rowset's own PostHog proxy.
  • Consented page-leave events — 0fe3368 captures page-leave (beforeunload) events only when consent is given.
  • Anonymous identity preservation — c13a7d7 prevents anonymous identity from being reset across page views.

Measurement Contract

  • Public measurement contract documented — 06ffcce defines what Rowset measures and why, in the open.

Agent Interface & MCP

Capability Discovery & Permissions

  • Topic-selective capability discovery — a75056e lets agents advertise capabilities filtered by topic. Exposed via CLI and documented.
  • Progressive Rowset discovery — f076296 makes the agent use this progressive, selective discovery instead of dumping everything.
  • Permission-aware tool discovery — 6f640f8 ensures tools are advertised only when the caller has permission.
  • Essential server safety instructions — 22eacee adds critical safety instructions to the MCP server context.

Benchmarking & Testing

  • Agent interface benchmark harness — be99095 introduces a harness for evaluating agent behavior.
  • Clean context-budget tests — c7345ea enforces that context-budget boundaries are tested and clean.
  • Legacy benchmark scaffold removed — 221238b clears out the unused benchmark scaffold.

Admin & UX

Product Health Dashboard

  • Product-health-first admin panel — acd1cb5 replaces the inventory-heavy admin with a health overview, including growth, attention, operations, and recent activity. HTMX period switching included.
  • Mutation metrics removed — 296128f removes stale mutation metrics from the dashboard.
  • Staff-owned data excluded — dashboard now filters out staff traffic from aggregate stats.

API & Auth

  • Bearer API keys required — 2fbd573 enforces bearer-based authentication for API access.
  • Agent collection pagination — 49a10ab bounds agent listing endpoints to prevent unbounded responses.
  • GitHub social button polish — b4266fe fixes button rendering.

CLI

  • Nested help and compact JSON output — 79bf5aa improves CLI ergonomics with nested help views and compact JSON serialization.

Datasets & Pages

  • Multi-choice column filters — 94a3338 adds multi-select filter support to dataset views.
  • Public content search — b954b6e adds full-text search across pages and documentation, with stale-selection protection.
  • Comparison article redesign — 3f2d04b refreshes the comparison article layout.
  • Blog article actions aligned — f9480b7 aligns article CTA actions with comparison posts.
  • Sidebar preferences persisted — 935d176 fixes sidebar state persistence.
  • Sidebar preferences applied before paint — b14df3a ensures sidebar state is set before the first render to avoid flash-of-wrong-layout.
  • Vector-search attribution — 5829dd2 attributes OpenRouter requests so usage is trackable to Rowset.

Content Engine (7 New Guides)

The team published seven developer-facing guides this month: - Human-in-the-Loop AI Agents (#310) — 3bbb210 - AI Agent Audit Trail (#316) — a7b8413 - Choosing a Database for AI Agents (#328) — 95e2a5d - AI for Data Cleaning (#334) — 335020e - Spreadsheet Database for AI Agents (#349) — 7bacb35 - AI Agent CRM with Structured Datasets (#352) — fbba42b - AI Agent Task Management (#354) — 52e009b - AI Agent for Inventory Management (#356) — ff1d4a7

All guides are SEO-led, registered in the content ledger, and incorporate peer-review feedback from Greptile.

SEO & Infrastructure

SEO Fixes

  • Canonical route drift repaired — 90702fd fixes canonical URL drift and simplifies page titles.
  • MCP database decision guide retargeted — 4382900 (Phase 9) retargets the MCP guide for better search alignment.

CI & Testing

  • Slowest pytest phases reported — be67ca9 adds --durations to CI output.
  • Test suite speed-up — 0909f34 accelerates the Django test suite.
  • Legacy CSV test suite split — 6084a70 splits a monolithic CSV test suite (~15k lines diff) into manageable chunks.
  • PGSandbox-backed host runner — 2d479b6 adds a test runner backed by PGSandbox.
  • Feedback submission repointed — 6025bcc fixes a broken feedback dataset submisson.
  • Greptile review depth pinned — 0e7376e pins review depth for consistency.
  • UV setup version pinned — included in several commits.
  • Sentry ignores expected cancellations — 6f989eb reduces noise from aborted requests.
  • Error recovery guidance improved — 81518cd provides more actionable error messages.

Marketing & Docs

  • AI agent backend positioning clarified — 377e1e9 updates marketing docs to clearly position Rowset as an AI agent backend.

Chore & Housekeeping

  • 221238b — Remove unused evaluation benchmark scaffold.
  • 377e1e9 — Clarify AI agent backend positioning in docs.

Next issue: August 2026 highlights.

Repository updates

Follow future updates

Get generated LVTD-LLC/rowset development summaries without adding another panel to your dashboard.

Sign in to choose an email address and delivery schedule.

Sign in to subscribe