Commit graph

  • 4bf1aaa96a ci: drop mypy from GHA lint job — strict-mypy drifted while unmonitored master Viktor Barzin 2026-06-13 00:48:40 +00:00
  • 6af612c06f ci: move image build off-infra to GHA -> ghcr (ADR-0002) Viktor Barzin 2026-06-13 00:44:24 +00:00
  • 25c948c933 examples: disable qwen3 thinking output in llama-swap requests Viktor Barzin 2026-06-05 08:40:25 +00:00
  • 2e38934010 ci: build-triggers-deploy — set image after build-and-push Viktor Barzin 2026-06-02 20:25:40 +00:00
  • 9d308c36dc examples: serialize LLM calls via Semaphore (default 1) to dodge CAS busy-lock Viktor Barzin 2026-06-02 13:54:15 +00:00
  • c1c1e2202b examples: send 'haiku' to claude-agent-service (bare alias, auto-roll-forward) Viktor Barzin 2026-06-01 19:55:47 +00:00
  • 536f432a46 examples: LLM_MODEL env var (default qwen3-8b; swap to qwen3vl-4b in K8s) Viktor Barzin 2026-06-01 19:07:32 +00:00
  • 9b32247fea examples: simulator response gains examples_overlay block Viktor Barzin 2026-05-28 22:45:15 +00:00
  • 249991557b examples: /api/examples + /api/examples/summary router Viktor Barzin 2026-05-28 22:39:47 +00:00
  • 9e14909ca6 examples: 5 hand-curated fixtures + parametrized regression suite Viktor Barzin 2026-05-28 22:36:49 +00:00
  • eb53f6dbb6 examples: document deferred follow-ups (metrics, fixtures, pushshift) Viktor Barzin 2026-05-28 22:34:24 +00:00
  • 2271d7d5e5 examples: orchestrator + click CLI (ingest sub-command) Viktor Barzin 2026-05-28 22:33:41 +00:00
  • a10d7fe2a6 examples: service.upsert_example + summary_for_country Viktor Barzin 2026-05-28 22:28:53 +00:00
  • 0d442de918 examples: to_gbp currency normalisation helper Viktor Barzin 2026-05-28 22:24:47 +00:00
  • e75a635d25 examples: Tier 2 claude-agent-service fallback Viktor Barzin 2026-05-28 22:22:24 +00:00
  • d1a5da1008 examples: primary qwen3-8b extractor Viktor Barzin 2026-05-28 22:19:32 +00:00
  • 8fc0fd7646 examples: async PRAW wrapper → RawPost Viktor Barzin 2026-05-28 22:16:53 +00:00
  • a378c7256e examples: regex pre-filter (MONEY_RE + LOCATION_RE) Viktor Barzin 2026-05-28 22:14:59 +00:00
  • c9bdf537ac examples: RawPost + ExtractedExample + Summary Pydantic schemas Viktor Barzin 2026-05-28 22:12:01 +00:00
  • 8f2a80f563 examples: FireExample ORM class + round-trip test Viktor Barzin 2026-05-28 22:09:23 +00:00
  • b5bfe8b73c examples: alembic 0006 — fire_example table Viktor Barzin 2026-05-28 22:06:37 +00:00
  • 82d1e80ab9 examples: add asyncpraw dependency (constrain aiosqlite to ^0.17 for asyncpraw compat) Viktor Barzin 2026-05-28 22:03:27 +00:00
  • 1fac475ba2 fire-planner: implementation plan — Reddit FIRE examples Viktor Barzin 2026-05-28 21:42:46 +00:00
  • 0907a31e0c fire-planner: design — Reddit FIRE examples ingest Viktor Barzin 2026-05-28 21:32:32 +00:00
  • 4a0ef1faf6 fire-planner: filterable date range on the home-page history chart Viktor Barzin 2026-05-28 09:04:58 +00:00
  • 4da58fe56e fire-planner: lazy-refresh /networth from wf_sync (default TTL 1d) Viktor Barzin 2026-05-27 18:21:12 +00:00
  • e72fd22a17 col: simulator auto-adjusts spending to local prices via Numbeo+Expatistan Viktor Barzin 2026-05-22 14:14:57 +00:00
  • 70101c836c fire-planner: What-If gains the chart-first scenario editor Viktor Barzin 2026-05-12 19:35:28 +00:00
  • eb0dd3ddbf fire-planner: life-event spending bumps now reflected in fan + auto- refresh on scenario edits Viktor Barzin 2026-05-10 19:17:57 +00:00
  • f9084d1a15 EventGantt: suppress click-on-bar that fires right after drag Viktor Barzin 2026-05-10 18:12:04 +00:00
  • 9fd8389c26 fire-planner: UX review pass 2 — health URL, Progress in shell, Gantt single-year drag, Settings highlight, Dashboard empty state Viktor Barzin 2026-05-10 17:49:05 +00:00
  • cd1fc37f25 fire-planner: UX review pass 1 — fix sidebar/route/PATCH/badges issues Viktor Barzin 2026-05-10 17:17:55 +00:00
  • 2f95c891fa fire-planner: SPA cache headers — index.html no-cache, hashed assets immutable Viktor Barzin 2026-05-10 17:01:11 +00:00
  • 727e0bed08 fire-planner: copy frontend/.npmrc before npm ci in Dockerfile Viktor Barzin 2026-05-10 16:54:25 +00:00
  • 705ad0fdbb frontend: .npmrc with legacy-peer-deps=true so npm ci works in Docker Viktor Barzin 2026-05-10 16:51:32 +00:00
  • 64eb90c3dc fire-planner: Wave 2 chart-first — flex spending, categorised life events, interactive Visx Gantt + spending-profile chart Viktor Barzin 2026-05-10 16:49:04 +00:00
  • 9cc781a8d6 fire-planner: ProjectionLab parity Wave 1 — tabbed shell, year stats, goals, income streams, Sankey cashflow, progress overlay, settings sub-pages Viktor Barzin 2026-05-10 12:49:44 +00:00
  • e12e8f9290 whatif: live data refresh, inflation-adjusted spending, legend fix Viktor Barzin 2026-05-10 11:27:22 +00:00
  • 3bfa46ad4f spending: prefill annual £ from actualbudget trailing 12mo Viktor Barzin 2026-05-10 11:11:51 +00:00
  • 2c51954790 whatif: widen number fields so 7-digit GBP doesn't clip Viktor Barzin 2026-05-10 10:50:37 +00:00
  • 1d347ff65b whatif: drop glide-path, compact form into 4 sections Viktor Barzin 2026-05-10 01:51:24 +00:00
  • f43322e5ce strategies: spending input is honoured + new "Custom" preset with guardrails Viktor Barzin 2026-05-10 01:21:55 +00:00
  • 00ec874889 returns: 3 models — Shiller bootstrap (default), manual %, Wealthfolio history Viktor Barzin 2026-05-10 01:04:25 +00:00
  • f2c36bc4a3 whatif: contextual hints + collapsible "About the model" panel Viktor Barzin 2026-05-10 00:43:59 +00:00
  • 7602f9040e ui: drop restrictive step on monetary inputs + round NW autofill Viktor Barzin 2026-05-10 00:34:09 +00:00
  • b40defacf0 engine+ui: tax drains the portfolio + Wealthfolio-seeded NW default Viktor Barzin 2026-05-10 00:21:14 +00:00
  • f781afe3fa api: drop bearer-token gate from /api/* CRUD + simulate Viktor Barzin 2026-05-09 23:56:37 +00:00
  • 2efd1edad0 whatif: relax MC-paths step from 500 to 100 Viktor Barzin 2026-05-09 23:46:45 +00:00
  • 472acd5804 app: catch starlette.HTTPException in SPA fallback Viktor Barzin 2026-05-09 23:00:58 +00:00
  • d91473a018 app: SPA fallback for arbitrary client routes Viktor Barzin 2026-05-09 22:56:37 +00:00
  • 95b4b4ddd7 frontend: Recompute all button on /scenarios + live queue depth Viktor Barzin 2026-05-09 22:32:34 +00:00
  • 2fc92c12f5 engine+api: plumb life events into the simulator Viktor Barzin 2026-05-09 22:30:33 +00:00
  • b82770b5c4 deploy: combined Dockerfile — FastAPI serves the SPA in prod Viktor Barzin 2026-05-09 22:25:52 +00:00
  • cb79118da7 frontend: run-now + save-as-scenario + edit form (CRUD complete) Viktor Barzin 2026-05-09 22:20:21 +00:00
  • 18981459b3 frontend: life events + retirement goals sections on scenario detail Viktor Barzin 2026-05-09 22:17:04 +00:00
  • b2af5c5893 frontend: compare mode (overlay 2-5 scenarios on one fan chart) Viktor Barzin 2026-05-09 22:14:51 +00:00
  • 60c275cd05 frontend: scenario create + delete (CRUD loop closes) Viktor Barzin 2026-05-09 22:11:54 +00:00
  • d2fd765fe0 frontend: scenarios list + detail pages with persisted fan chart Viktor Barzin 2026-05-09 22:09:43 +00:00
  • bb74bc0add frontend: What-If page with fan chart driven by /simulate Viktor Barzin 2026-05-09 22:08:00 +00:00
  • 5d2b9e931a frontend: stacked-area NW history chart on the dashboard Viktor Barzin 2026-05-09 21:55:30 +00:00
  • f4539f9e6d frontend: scaffold Vite + React 19 + TS + Tailwind v4 + TanStack Query Viktor Barzin 2026-05-09 21:53:59 +00:00
  • ee6ed1d3c4 api: expand FastAPI surface for scenarios, networth, life-events, goals, simulate Viktor Barzin 2026-05-09 21:48:36 +00:00
  • 31193faf08 schema: add life_event, retirement_goal; extend scenario with kind/parent Viktor Barzin 2026-05-09 21:36:58 +00:00
  • 23d11bdf6d ingest: switch wealthfolio to pg-sync mirror reads Viktor Barzin 2026-05-09 21:33:48 +00:00
  • 8880bd377f Phase 4: drop registry.viktorbarzin.me, Forgejo only Viktor Barzin 2026-05-07 23:17:46 +00:00
  • f7ef7ca4ab Initial extraction from monorepo Viktor Barzin 2026-05-07 17:06:19 +00:00