fin-hub/.claude/rules/architecture.md
tegwick 29dbaf1c2d Implement FIN-WP-0001-T06 HTTP runway read surface
Add create_runway_router() following the hub-core factory pattern,
expose GET /runway/summary and /runway/monthly-burn via create_app,
and add finhub serve for local operation.
2026-07-08 22:46:24 +02:00

1.4 KiB

Architecture

Fin-hub extends hub-core with financial models and operator surfaces. Generic hub primitives (domains, repos, messages, progress) come from hub-core; fin-specific models and services live here.

Modules

Module Role
models/ Budget, commitment, service cost, burn rate dataclasses
ingest/ CSV parsers for cloud, Anthropic billing, HostEurope invoices
services/runway.py Runway projection from balance + monthly burn series
services/alerts.py Threshold evaluation (runway months, budget overrun)
coupling/ FOS §9 signals: fin→dev (resource pressure), fin→ops (cost attribution), fin→canon (viability)
services/ledger.py SQLite cost ledger with monthly rollups
services/evaluate.py Ledger-driven runway evaluation for cron
services/evidence.py Non-secret dogfood evidence generation
routers/runway.py create_runway_router() read factory (hub-core pattern)
app.py FastAPI app factory (create_app)
cli.py Operator CLI (finhub entrypoint)

Data flow

CSV exports → ingest parsers → cost models → runway/alerts → coupling emit → State Hub progress

v0.1 uses manual CSV import into a local SQLite ledger. HTTP read surface: GET /runway/summary and GET /runway/monthly-burn via finhub serve.

Quick Reference

~/state-hub/mcp_server/TOOLS.md — MCP tool reference