Rowset Weekly #5: AI Agent Content Library Expands, Analytics Infrastructure Matures
- Commits summarized
- 31
- Period
- Jul 20 - Jul 26, 2026
- Published
- Jul 27, 2026
Rowset Weekly #5
July 20–26, 2026 · LVTD-LLC/rowset
If you're building AI agents that need structured storage, observability, or self-hosted deployment, this was a busy week in the Rowset repo. Major pushes across SEO content, analytics instrumentation, testing infrastructure, and self-hosting simplification — all covered below.
🧠 AI Agent Content Library
Six new or retargeted guides landed this week for builders looking to pair agents with structured datasets.
- How to Choose a Database for AI Agents — Decision framework for picking storage for agent workloads. (+315 lines, 9 files)
- AI for Data Cleaning: A Safe Agent Workflow — Walkthrough of a production-safe agent pipeline for cleaning datasets. (+400 lines)
- Spreadsheet Database for AI Agents: What to Use — Compares spreadsheet-like backends for agent use cases. (+504 lines)
- AI Agent CRM: How to Build One with Structured Datasets — End-to-end guide to building a CRM on top of Rowset datasets. (+460 lines)
- AI Agent Task Management: Build a Durable Task Board — Durable task board implementation using structured storage. (+495 lines)
- AI Agent for Inventory Management: A Safe Workflow — Inventory agent pattern with safety guardrails. (+563 lines)
SEO Infrastructure
- SEO Phase 9: Retarget MCP Database Guide — Updated targeting for the MCP decision guide (+354 / -40 lines across 11 files).
- Fix Canonical Route Drift & Simplify Page Titles — Repaired broken canonical redirects, unified title strategy (+242 lines).
- Clarify AI Agent Backend Positioning — Documentation polish across 24 files aligning Rowset's marketing with agent-backend narrative.
📊 Analytics & Observability
The analytics pipeline saw major maturation: traffic classification, PostHog integration, and privacy-safe MCP tracking.
- Track Public Dataset Impressions — New event tracking for public dataset views (+786 lines across 16 files).
- Separate Human & Automated Traffic — Classification layer to distinguish robot vs. human requests, persists across HTMX navigation.
- Privacy-Safe MCP Usage Tracking — MCP tool usage tracking with privacy protections in place.
- Capture Personless Request Traffic — Handles traffic without identifiable user context (+542 lines).
- PostHog AI Observability — Added PostHog for AI-specific observability + stabilized MCP setup completion tests.
- Route Browser Events Through PostHog Proxy — Events now proxied through Rowset's own PostHog proxy, not sent directly.
- Capture Consented Page-Leave Events — page-leave/exit intent signals now fire only after consent.
🧪 Testing & CI
- Speed Up Django Test Suite — Minor but immediate CI speed improvement (+9 / -2 lines).
- Split Legacy CSV Test Suite — Large legacy test file broken apart (+7678 / -7556 lines across 14 files).
- PGSandbox-Backed Host Runner — New test runner using PGSandbox for isolated Postgres-backed integration tests (+230 lines).
- Report Slowest pytest Phases — CI now surfaces slowest test phases to aid optimization.
🚀 Self-Hosting & Infrastructure
- Optional Qdrant Deployment — Optional vector-store (Qdrant) container included in self-hosted Compose stack. Included in restore drills.
- Reduce Deployment to Compose + Guide — Major refactor: removed complex deployment tooling in favor of plain Docker Compose + a single getting-started guide (–6791 lines net).
- Self-Hosting Getting Started Guide — Fresh guide walking through the simplified self-host setup.
🧹 Bug Fixes & UI Improvements
- Ignore Expected Request Cancellations in Sentry — Reduces noise from cancelled requests.
- Improve Error Recovery Guidance — Better messaging and recovery paths for users hitting errors (+199 lines).
- Repoint Feedback Submissions — Feedback now routes to the recreated dataset destination.
- Persist Sidebar Preferences — Sidebar state (collapse/expand) now remembers user choice (+210 lines).
- Apply Sidebar Preferences Before Paint — Eliminates flicker by applying sidebar state before first paint.
- Add Public Content Search — Full-text search over public documentation and pages, with guards against stale selections (+596 lines).
🧽 Chores & Housekeeping
- Remove Unused Benchmark Scaffold — Cleaned out 1475 lines of dead evaluation scaffolding.
- Attribute OpenRouter Requests to Rowset — Vector-search requests to OpenRouter now carry Rowset attribution headers (+36 lines).
Shipped 31 commits this week by Greg and Rasul. See the full commit log for details.