Cost control plane
Estate burn, per-resource accountability, budgets, forecast, and agent tools, hosted on Cloudflare by default, never always-on paid Databricks.
TechFabric Radar's cost plane answers the questions a postmortem Teams thread should not have to:
- What is burning money right now, by resource?
- Who owns it (product first, person second)?
- Are we on plan vs declared budgets?
- What should an agent do when reality deviates?
Hosting (family standard)
| Surface | Placement |
|---|---|
| Cost docs + public agent API | Cloudflare public-edge |
| Console cost UI (seeded demo) | Local pnpm console:dev or customer install |
Live system.billing ingest | Not the paid TechFabric workspace by default, Free Edition (fabric-free) or the customer's workspace only |
Follow the cost-control runbook in the TechFabric vault:
FABRIC_DATABRICKS_COST_CONTROL_AND_FREE_EDITION_RUNBOOK.md and
FABRIC_FAMILY_HOSTING_STANDARD.md.
Do not deploy Radar Apps, warehouses, or cert resources to fabric-harness (paid)
while Canvass is the only production workload.
Capabilities
- Estate KPIs: MTD, today, run-rate $/day, forecast EOM, unattributed share
- Charts: burn over time, spend by product
- Resources table: kind, owner, product, state, MTD, recommended action (
stop_warehouse,stop_app, …) - Accountability: by product and by owner; unattributed queue
- Budgets: daily/monthly plans with warn/critical thresholds
- Agent tools: read-only JSON tools; mutations stay on governed Platform interventions
Agent API
Local console:
curl -s http://localhost:3105/api/cost/tools | jq '.tools[].name'
curl -s -X POST http://localhost:3105/api/cost/tools \
-H 'content-type: application/json' \
-d '{"tool":"radar_cost_summary"}' | jq '.data.summary.mtdUsd'Public edge on radar.techfabric.com (same Cloudflare worker as docs):
curl -s https://radar.techfabric.com/v1/health
curl -s https://radar.techfabric.com/v1/tools
curl -s -X POST https://radar.techfabric.com/v1/tools \
-H 'content-type: application/json' \
-d '{"tool":"radar_cost_by_resource","runningOnly":true}'Tool catalog
| Tool | Purpose |
|---|---|
radar_cost_summary | Estate summary + budget health |
radar_cost_by_resource | Per-resource MTD / last day / recommended action |
radar_cost_by_dimension | Group by owner, product, kind, env, lifecycle |
radar_cost_unattributed | Low-confidence ownership queue |
radar_budget_list / radar_budget_status | Plan vs actual |
radar_cost_forecast | EOM + series for charts |
radar_resource_inventory | Control-plane inventory with remediation hints |
radar_cost_plan_status | On-plan check vs monthly budget |
Agents propose interventions via radar.intervention_request (non-prod). They do
not approve or execute. Prod remains human-gated.
Control loop (P0)
- Governed budgets,
radar.budget_declare/update/retire(state: active ↔ paused → retired). - Cost control sweep. Worker activity
runCostControlSweepevaluates budgets against the cost estate and raisesradar.anomaly_raisewithsloName: budget:<id>on the Workspace Cost Estate monitor (dev env). - Remediation interventions,
stop_warehouse,stop_app,pause_job(plus existing cancel/pause/quarantine). Effector stubs work offline; live Databricks stop uses Free Edition profile only. - Cost-triage agent plan,
planCostTriageAgent/planCostTriageRemediationspropose non-prod stops when budgets are critical; never auto-stopsfabric-gtm-brain-prod.
Dogfood residual checklist
From the repo root (Cloudflare-first; never starts paid compute):
pnpm cost:dogfoodWhat it checks:
- Guards. Paid profile cannot enable live ingest without emergency override; paid deploy override off
- Agent API,
radar.techfabric.com/v1summary + ingest status + running resources - Optional paid inventory, if
databricksCLI is authed asfabric-harness, lists Apps/warehouses and fails on non-GTM active residual - Prints the operator checklist (+24h bill lag, Free Edition drill rules)
pnpm cost:dogfood:offline # guards only
RADAR_DOGFOOD_SKIP_DBX=1 pnpm cost:dogfood # API only
RADAR_COST_API_BASE=http://localhost:3105 pnpm cost:dogfoodConsole routes
| Path | View |
|---|---|
/[org]/cost | Estate KPIs + charts + budget cards |
/[org]/cost/resources | Full resource table |
/[org]/cost/accountability | Product / owner / unattributed |
/[org]/budgets | Budget detail |
pnpm console:dev
# open http://localhost:3105/acme-data/costWhy not only Databricks usage dashboards?
Native charts show totals. Radar adds ownership, lifecycle, budgets, agent contracts, and governed response, the gap that turned a July warehouse into a $3k surprise.
Architecture
The concepts behind TechFabric Radar (monitors and SLOs, the anomaly lifecycle, and governed interventions) and the loop that connects them.
Customer cost-plane install
Install Radar cost control without always-on paid Databricks, Cloudflare edge, Free Edition certification, customer workspace ingest.