How TagDrishti runs itself

We didn’t hire an ops team. We wrote one.

Sixteen scheduled autonomous agents run TagDrishti. Three feed the SOC 2 Type II evidence binder directly. Four watch revenue health (MRR, overage, churn, trial-conversion). Five guard product reliability (deploy regressions, dependency CVEs, cron-race bugs, marketing-copy drift, tier-gating drift). Two run competitive and regulatory intel. Two more shepherd customer onboarding. The same engineering discipline you’re buying when you monitor your tags with us.

# 16 shipped · 2 scaffolded · 7 planned for M3 · ~$50/mo Claude API
# fleet_at_a_glance

Operational maturity, numbered.

Each number below is a production agent — code committed, schedule wired, output reviewed every week. Not a roadmap deck.

17
production agents
3
feed SOC 2 evidence
7
planned for M3
$50
monthly Claude API spend
# the_schedule

The full schedule, UTC.

Every cron is listed. Mondays at 06:00 UTC are the busy slot — four reliability agents run together. We monitor agent_runs latency on Monday mornings; we’d stagger if it ever spiked.

When (UTC)AgentDomain
02:00 UTC · dailyaudit-log-completeness-checkerCompliance & SOC 2 evidence
03:30 UTC · dailychurn-signal-detectorRevenue & billing
03:30 UTC · dailycustomer-onboarding-watcherCustomer success
04:00 UTC · dailyoverage-billing-watcherRevenue & billing
05:00 UTC · dailybackup-verificationCompliance & SOC 2 evidence
06:00 UTC · Mondaysmfa-and-access-reviewCompliance & SOC 2 evidence
06:00 UTC · Mondaysdependency-watcherProduct reliability
06:00 UTC · Mondayscron-race-snifferProduct reliability
06:00 UTC · Mondaysmarketing-driftProduct reliability
06:00 UTC · Mondaystier-driftProduct reliability
06:00 UTC · Thursdaysindustry-trendCompetitive & market intel
06:00 UTC · Wednesdayscompetitor-signalCompetitive & market intel
06:30 UTC · Mondaysactivation-funnel-trackerCustomer success
06:30 UTC · Mondaysfeature-usage-trackerFeature usage
07:00 UTC · dailymrr-trackerRevenue & billing
09:00 UTC · dailytrial-conversion-predictorRevenue & billing
after deploy · or manualdeploy-sentinelProduct reliability
# the_full_fleet

Every agent, by domain.

For each agent: what it watches, when it runs, what it does on a finding. We expose this because enterprise prospects ask — and because transparency is the only honest answer to “who’s watching the watcher.”

# compliance

Compliance & SOC 2 evidence

Three agents directly feed the Sprinto / Vanta / Drata audit binder. The evidence pipeline runs without a human in the loop.

audit-log-completeness-checker

02:00 UTC · daily

Verifies every privileged action across the platform lands in the canonical audit_logs table. The agent that feeds the Sprinto Q3 2026 evidence binder.

Watches
Clerk webhook events, Paddle webhook events, api_keys table, tenant_impersonation_sessions
On finding
Findings into agent_runs + agent_findings. P0 on any gap between source-row count and audit_logs count in the 24h window. Slack page to ops-alerts.

mfa-and-access-review

06:00 UTC · Mondays

Verifies every Clerk superadmin has MFA, every GCP service account role matches inventory, every GitHub collaborator is active within 90 days, every Vercel team member has 2FA.

Watches
Clerk user records (MFA enrollment), GCP IAM bindings, GitHub org collaborators, Vercel team members
On finding
Weekly evidence summary + per-control findings stored to agent_runs. The legal evidence trail for SOC 2 access-review controls.

backup-verification

05:00 UTC · daily

Verifies every expected backup ran within the last 30 hours, with tolerance. Daily SOC 2 control CC7.1.

Watches
Supabase PITR timestamps, Google Cloud Storage snapshot timestamps, Postgres replica lag
On finding
P0 on missing backup (RPO violation), P1 on stale. Slack alert + agent_runs row proves CC7.1 compliance.
# revenue

Revenue & billing

MRR, overage, churn, trial-conversion. The continuous founder dashboard, routed through Slack.

mrr-tracker

07:00 UTC · daily

Signed-up / cancelled / refunded / upgrade-delta MRR from Paddle, with trend-line context. No page unless something material moved.

Watches
Paddle subscription events from the last 24 hours
On finding
Daily MRR digest in Slack. P0 on ≥5% net drop, P1 on ≥1% drop, info on quiet days.

overage-billing-watcher

04:00 UTC · daily

Chronic overages flag upsell candidates. Spikes are usually a customer bug. Downgrade-then-spike is denial-of-service abuse and pages immediately.

Watches
BigQuery event volume per workspace (24h), plan_tiers table
On finding
P0 on downgrade abuse (80%+ usage post tier-drop), P1 on chronic overage (≥3 days >120%), P2 on spike (>200%). Slack pings on P0/P1. Dashboard for upsell candidates.

trial-conversion-predictor

09:00 UTC · daily

Scores trial tenants in their final 7 days. High-intent cohort gets warm outreach. At-risk gets a retention offer suggestion. M5 will add the LLM classifier.

Watches
Workspace signup_date + trial_ends_at; BigQuery event volume + Clerk login sessions (7-day window)
On finding
Info findings bucketed into high-intent (score ≥60) or at-risk (≤30) cohorts. No Slack noise — feeds the founder dashboard for warm outreach.

churn-signal-detector

03:30 UTC · daily

Weighted churn-risk score: event drop 30%+ in 7d, stale login 14d+, recent downgrade 7d. Surfaces the at-risk account before it cancels.

Watches
BigQuery usage + Clerk login activity (7/14 day windows), Paddle downgrade events
On finding
P0 (score ≥80), P1 (50–79), P2 (25–49). Slack ping with tenant email + dollar weight for founder outreach.
# onboarding

Customer success

Activation-funnel and onboarding-watch agents. Stuck signups get the right intervention at the right hour-bucket.

activation-funnel-tracker

06:30 UTC · Mondays

Weekly scan of 7–30 day-old signups. Detects cohorts that didn't cross the activation threshold (1K events in first 7d, site connected in 14d, first alert rule in 14d).

Watches
Workspace created_at, tag_events ingest API, workspace_sites table, alert_rules
On finding
P1 on activation window closed without threshold. Slack digest (no spam on healthy weeks). Info digest with cohort ratio.

customer-onboarding-watcher

03:30 UTC · daily

Detects stuck onboarding: no events sent, no second login, no workspace created. Buckets by hours-since-signup so the right intervention runs at the right time.

Watches
Workspace signup activity, Clerk session history, workspace_sites table
On finding
P2 <48h stuck (founder emails), P1 <7d stuck (suggest call), info 7d+ (no Slack).
# reliability

Product reliability

Deploy sentinel, dependency health, cron-race detection, marketing-copy drift, tier-gating drift. The platform watches its own seams.

deploy-sentinel

after deploy · or manual

Post-deploy regression watcher. Validates the deploy didn't break the four production regions before the next push lands.

Watches
Cloud Run /health endpoint (all 4 regions), Sentry error count, BigQuery row ingestion rate
On finding
P0 on 5xx spike (3%+ in 5 min) → Slack page with the pre-filled rollback `gcloud` command. P1 on BQ ingest drop >50%.

dependency-watcher

06:00 UTC · Mondays

Weekly `npm audit` + `npm outdated` sweep. Ignores allowlisted pins, evaluates upgrades, runs tests, proposes the PR.

Watches
`package.json` + `package-lock.json` across frontend, backend, admin, dashboard, e2e
On finding
Slack pings per advisory. Opens a draft PR with the npm update + test results. agent_findings track high-risk deps.

cron-race-sniffer

06:00 UTC · Mondays

Catches backend cron callbacks missing the `isControlPlaneRegion()` gate. Prevents the bug class where four regions all fire the same cron and produce duplicate Paddle charges.

Watches
`backend/server.js` + `backend/routes/*.js` for setInterval / setTimeout / cron patterns
On finding
P0 on write-global cron without guard (Paddle charges, Supabase writes that could fire 4× in parallel). Slack page + proposed fix PR.

marketing-drift

06:00 UTC · Mondays

Blocks shipping false ads. The agent that should have caught the $49 → $99 pricing drift before it shipped.

Watches
Frontend pricing copy (`frontend/app/page.tsx`, `pricing/PricingContent.tsx`) vs `backend/lib/pricing.js` + `trial-lifecycle.js`
On finding
P1 on mismatch (e.g. "$49" in homepage copy vs "$99" in backend pricing). Slack alert with line-number context.

tier-drift

06:00 UTC · Mondays

Prevents a Starter-tier user from accessing a Pro-tier feature because a developer forgot the auth gate. Static analysis, not runtime.

Watches
`backend/routes/*.js` + `backend/server.js` for routes guarded by `requireFeature()`
On finding
P1 on route missing the gate. Slack alert + suggested fix PR.
# intel

Competitive & market intel

Competitor pricing changes and regulatory shifts surface within hours of publication.

competitor-signal

06:00 UTC · Wednesdays

Content-hash monitor on seven competitor pricing + changelog pages. We know when ObservePoint changes a tier before our sales team does.

Watches
Datadog docs, Sentry changelog, Amplitude pricing, TrackingPlan, ObservePoint, FullStory, New Relic — 7 competitor URLs
On finding
P2 on content-hash change → Slack digest with diff context. LLM-classified for materiality (e.g. pricing drop = P1).

industry-trend

06:00 UTC · Thursdays

Tracks the regulatory floor under the product. DPDP Act updates land in Slack the same week the gazette publishes them.

Watches
DPDP India, GDPR EDPB, CCPA, EU AI Act, AICPA SOC 2, Anthropic API, Google Cloud, Paddle, Clerk — 9 regulatory + product changelogs
On finding
P1 on regulatory change, P2 on vendor product change. Slack digest reviewed for compliance and product impact.
# feature_usage

Feature usage

Zero-usage features get sunset; over-indexed features get tier-elevated. The product self-curates.

feature-usage-tracker

06:30 UTC · Mondays

Surfaces which features nobody uses (kill candidates) and which features get disproportionate usage from a lower tier than expected (tier-elevation candidates).

Watches
feature_usage_telemetry table (28d window), tier expectations from backend/lib/pricing.js
On finding
P2 on zero-usage features (removal candidates). P1 on elevation candidates (5×+ baseline usage on a lower tier — upsell signal).
# roadmap_m3

Seven more designed and queued.

The M3 milestone moves selected agents from GitHub Actions cron to Cloud Run, with a continuous-listening surface for customer signals. ETAs are next quarter; design specs live in docs/superpowers/specs/.

health-watchdog

Every 5 minutes: /health on all four production regions, latency baseline tracking, version drift detection. Cloud Run, not cron.

M3

sla-auditor

Daily 02:00 UTC: region-by-region uptime, p95 latency vs SLAs, ingest backlog depth. Feeds the public status page.

M3

customer-signal-listener

Slack webhook → Cloud Run. Aggregates customer complaints, LLM-categorises, cross-tenant pattern detection. Stops a Magecart-tier issue from being a one-off ticket.

M3

customer-bug-bounty

Hourly Sentry fingerprint clustering. ≥3 customers affected = P0. New error class = P2. The agent that catches the bug before three customer-success threads do.

M3

inventory-curator

Weekly Friday 18:00 UTC. Meta-agent: reads every other agent’s findings + recent merges, proposes inventory updates via PR comments.

M3

+ two more

Two specialised watchers under design review. Public spec drops alongside each launch. The roadmap target is a 25-agent fleet by Q4 2026.

M3
# what_agents_don_t_replace

Agents handle the routine. Humans handle the rest.

A trust page that pretends agents replace everything reads as marketing. Three places they don’t.

Novel incidents.

A first-time-seen failure pattern requires human judgement. Agents triage, group, and surface; an engineer still owns the decision. The on-call rotation is real.

human-in-the-loop

Customer-facing judgement calls.

An at-risk tenant flagged by churn-signal-detector still gets a human outreach email, not an LLM-drafted one. The agent surfaces; the founder writes the message.

human-in-the-loop

SOC 2 control-design review.

audit-log-completeness-checker generates evidence. It doesn’t decide which controls matter. The actual control design comes from the security review with the auditor.

human-in-the-loop
the same discipline, watching your tags

Buy the toolkit that runs us.

Sixteen agents run TagDrishti. The same engineering discipline ships in the product that monitors your tags. 30-day free trial, no credit card. Starter from $99/mo.

30-day free trialno credit cardSOC 2 Type II by Q3 2026EU · US · APAC · AU regions