Skip to content

fix(health,argus): restore cost_health + drop stripe test-mode events#27

Open
stackbilt-admin wants to merge 1 commit intomainfrom
fix/health-cost-livemode
Open

fix(health,argus): restore cost_health + drop stripe test-mode events#27
stackbilt-admin wants to merge 1 commit intomainfrom
fix/health-cost-livemode

Conversation

@stackbilt-admin
Copy link
Copy Markdown
Member

Summary

Two Co-Founder Brief regressions surfaced during 2026-04-11 triage, both landing in aegis-core (active code path — daemon shadow is dead code).

1. cost_health regression (closes #26)
`/health?format=json` lost its `cost_health` field during the kernel shadow collapse. Re-added `loadCostHealth()` which reads `cost_budgets` + latest `cost_snapshot` per provider and shapes the response per the original CHANGELOG #373 contract (`spend_usd`, `monthly_budget`, `threshold_tier`, `projected_depletion_days`, `burn_rate_per_hour`). Safe against fresh installs — returns `null` if tables don't exist.

2. Stripe livemode filter (closes #25)
`argus-notify` was queueing test-mode Stripe events into `digest_sections`, causing the daily brief to fire "Revenue is flowing" against fake MRR. `argus-actions` already had the livemode check (line 330) but `argus-notify` didn't — the two layers disagreed. Fixed pre-classification so rows still mark `notified=1` and don't re-scan.

Test plan

  • `curl /health?format=json | jq .cost_health` returns per-provider object after deploy
  • Each entry has all 5 CHANGELOG-documented fields
  • Queue a test-mode `checkout.session.completed` webhook → event does NOT land in `digest_sections` (marked notified=1 and skipped)
  • Queue a `livemode: true` event → normal flow
  • Daily Co-Founder Brief no longer reports "Revenue is flowing" while real MRR is $0

Closes #26
Closes #25

🤖 Generated with Claude Code

Two Co-Founder Brief regressions surfaced 2026-04-11 triage:

1. /health?format=json no longer exposed cost_health (lost during
   kernel shadow collapse). Re-added loadCostHealth() which reads
   cost_budgets + latest cost_snapshot per provider and shapes the
   per-provider response per the original CHANGELOG #373 contract
   (spend_usd, monthly_budget, threshold_tier, projected_depletion_days,
   burn_rate_per_hour). Safe against fresh installs where cost tables
   don't yet exist (returns null).

2. argus-notify queued Stripe test-mode events (livemode: false) into
   digest_sections, causing the daily brief to trip the "Revenue is
   flowing" take against fake MRR. argus-actions already had this check
   (line 330) but argus-notify didn't — the two layers disagreed. Now
   filtered pre-classification; rows still get marked notified=1 so we
   don't re-scan them.

Closes #26, #25.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cost_health field regression: missing from /health endpoint response Co-Founder Brief 'Revenue is flowing' line ignores Stripe livemode flag

1 participant