All Posts
February 15, 20260.1.31Jugg.ai

v0.1.31 — feat(billing): add billing guard to competitorMonitor cron

Release v0.1.31: Billing Guard for Competitor Monitor Cron

February 15, 2026

What changed

  • The competitorMonitor daily cron now checks billing status via canRunPipelineForProject before triggering competitor analysis for each project
  • Projects with no_balance, suspended, cancelled, or project_not_found billing status are skipped
  • The function now returns { projectsTriggered: triggered } reflecting only successfully triggered projects, not total active projects
  • Added test suite covering all rejection reasons and mixed scenarios

Why it matters

Previously, the competitor monitor would fire off analysis pipelines for all active projects regardless of billing status. This wasted resources and could cause downstream billing errors. The cron now follows the same billing guard pattern already used by autoBuilder and manualAutoBuildRunner.

Technical notes

  • Change is in src/inngest/pipeline.ts inside the competitorMonitor function
  • No new dependencies — reuses the existing canRunPipelineForProject import
  • Tests added at tests/inngest/competitor-monitor-billing.test.ts

Release Notes

Successfully merged PR #83 and published release v0.1.31.

PR #83: "feat(billing): add billing guard to competitorMonitor cron"

  • Merged via squash merge (SHA: 702f1dad)
  • Adds billing status checks to the daily competitorMonitor cron, preventing competitor analysis pipelines from being triggered for projects with insufficient credits or billing issues (no_balance, suspended, cancelled, project_not_found)
  • Follows the same billing guard pattern already used by autoBuilder and manualAutoBuildRunner
  • Includes comprehensive test coverage for all rejection scenarios

Release: v0.1.31