fire-planner/fire_planner
Viktor Barzin 472acd5804
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
app: catch starlette.HTTPException in SPA fallback
StaticFiles is a Starlette primitive — its 404 raises
starlette.exceptions.HTTPException, NOT fastapi.HTTPException
(which subclasses Starlette's). My initial except clause caught the
subclass and let the base class propagate, so /scenarios still 404'd.

Switch to except StarletteHTTPException so both the parent and any
FastAPI subclass are caught. Verified end-to-end via chrome-service
in the next deploy.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-09 23:00:58 +00:00
..
api engine+api: plumb life events into the simulator 2026-05-09 22:30:33 +00:00
ingest ingest: switch wealthfolio to pg-sync mirror reads 2026-05-09 21:33:48 +00:00
reporters Initial extraction from monorepo 2026-05-07 17:06:19 +00:00
returns Initial extraction from monorepo 2026-05-07 17:06:19 +00:00
strategies Initial extraction from monorepo 2026-05-07 17:06:19 +00:00
tax Initial extraction from monorepo 2026-05-07 17:06:19 +00:00
__init__.py Initial extraction from monorepo 2026-05-07 17:06:19 +00:00
__main__.py ingest: switch wealthfolio to pg-sync mirror reads 2026-05-09 21:33:48 +00:00
app.py app: catch starlette.HTTPException in SPA fallback 2026-05-09 23:00:58 +00:00
db.py schema: add life_event, retirement_goal; extend scenario with kind/parent 2026-05-09 21:36:58 +00:00
fx.py Initial extraction from monorepo 2026-05-07 17:06:19 +00:00
glide_path.py Initial extraction from monorepo 2026-05-07 17:06:19 +00:00
life_events.py engine+api: plumb life events into the simulator 2026-05-09 22:30:33 +00:00
scenarios.py Initial extraction from monorepo 2026-05-07 17:06:19 +00:00
simulator.py engine+api: plumb life events into the simulator 2026-05-09 22:30:33 +00:00