DEV Community

Cover image for Tell your AI to set up billing drift detection
Matthew
Matthew

Posted on • Originally published at prodverdict.com

Tell your AI to set up billing drift detection

User paid. Stripe looked fine. The app still gated them.

They had an active subscription. Checkout worked. Tests passed — because Stripe is mocked in CI. But has_paid_access in Postgres stayed false.

This is billing drift. The bug lives where billing and your database disagree. Nothing in a unit test checks both systems at once.

v0.13: agent-first setup

ProdVerdict v0.13 ships non-interactive bootstrap for AI agents. One command (or one skill install) wires config, scheduled drift detection, Cursor MCP, and team skills.

See the bug first — no credentials:

npx prodverdict demo
Enter fullscreen mode Exit fullscreen mode

You want FAIL. Active sub, has_paid_access false.

Install the skill:

npx skills add prodv-dev/prodverdict-sdk@prodverdict-setup -g -y
Enter fullscreen mode Exit fullscreen mode

Tell Cursor: "Set up ProdVerdict for this repo."

Or bootstrap directly:

npx prodverdict setup --yes --format agent --from-env
Enter fullscreen mode Exit fullscreen mode

Writes prodverdict.yml, hourly GitHub Actions workflow, .cursor/mcp.json, and copies prodverdict-setup / prodverdict-verify skills into .cursor/skills/ for the team. Wires env from .env.local when present.

Scheduled drift, not PR gates

Drift happens after deploy — when webhooks fire in production. Access is a scheduled monitor:

npx prodverdict scheduled --frequency hourly --install
Enter fullscreen mode Exit fullscreen mode

Set read-only STRIPE_SECRET_KEY, read-only DATABASE_URL, and SLACK_WEBHOOK_URL as repo secrets. Slack alert on FAIL.

Config, migration, boundary, and webhook contracts still run on PRs. Access catches the handler that broke three Tuesdays ago.

Deterministic, fail-closed

No LLM in the evaluation path. Missing Stripe key = fail, not silent pass. Billing secrets stay on your runner.

Free CLI + GitHub Action on private repos.

Stuck after the demo? DM @xiamep on Discord (link on prodverdict.com/study).

What billing mismatch did you ship last month?


Publish

# From repo root after Dev.to account is linked:
# Paste body into Dev.to editor or use their API.
# Set canonical URL to https://prodverdict.com/blog/agent-first-billing-drift-setup
Enter fullscreen mode Exit fullscreen mode

Cross-post to X thread (see internal/marketing/PRODUCTHUNT-v0.13.md first comment for copy).

Top comments (0)