01 / USAGE
How the intended workflow fits together
- 01
Runs entirely against your billing exports — no cloud API write permissions, no data leaves your account.
- 02
Anomaly detection is statistical; the AI step only explains and prioritizes. If the numbers are ambiguous, the digest says so instead of inventing a cause.
- 03
Every line links to the exact CUR rows behind it, so finance can audit any claim in one click.
02 / CONFIGURATION
Read the configuration contract
Point it at your billing exports. The allowlist is how you teach it about planned spend.
Illustrative configuration. Adapt only after verifying the implementation, schema and service permissions.
# digest.yaml
schedule: '0 7 * * *' # IST
sources:
aws_cur: s3://acme-cur/
gcp_billing: bq://acme-billing.export
baseline: 30d
known_events:
- match: 'project: ml-training'
until: 2026-08-01 # planned GPU burn
report:
slack: '#finops'
top_n: 303 / EVIDENCE
What an output could look like
This authored example describes the intended result format. It is not evidence that a live run occurred.
── COST DIGEST · Jul 06 ──────────────
1. NAT gateway egress +38% ($214/day)
cause: new pod pulling images cross-AZ
fix: add ECR pull-through cache
2. gpu-node-7 idle 22h/day ($187/day)
fix: taint + scale-to-zero after 30m
3. S3 replication spike — expected (DR drill)
no other movers above threshold ✓04 / IMPLEMENTATION REFERENCE
Review the setup sketch
The original command sketch is preserved for design context. It is not a verified installation recipe. Confirm that the package or repository exists and review its implementation before running anything.
Show illustrative setup commands
brew install supraj/tap/cost-digest
cost-digest init --cur s3://acme-cur --gcp bq://acme-billing