Commit Graph

  • e872ba0204 fix(tests): resolve all CI test failures (verified locally, 218 pass) master Deeman 2026-02-28 02:10:06 +01:00
  • 8d1dbace0f fix(analytics): add _conn module-level override for test patching Deeman 2026-02-28 02:00:11 +01:00
  • cddcd4463e docs: update CI/CD references from GitLab to Gitea Deeman 2026-02-28 01:58:09 +01:00
  • efb5a165e7 fix(billing): add missing hook infrastructure (_billing_hooks, on_billing_event, _fire_hooks) Deeman 2026-02-28 01:57:48 +01:00
  • d58fa67238 fix(tests): update test assertions to match refactored function signatures Deeman 2026-02-28 01:56:13 +01:00
  • 66d484955d fix: correct Gitea repo name materia → beanflows Deeman 2026-02-27 18:19:18 +01:00
  • 2e928de156 chore: migrate from GitLab to self-hosted Gitea Deeman 2026-02-27 18:05:54 +01:00
  • 1de5d69906 fix(supervisor): use sqlmesh plan prod --auto-apply instead of run Deeman 2026-02-27 15:49:38 +01:00
  • dd07b0218b fix(infra): chown -R APP_DIR so service user owns full tree Deeman 2026-02-27 15:23:20 +01:00
  • a5d2a61cfb fix(billing): add missing helper functions and fix upsert_subscription signature Deeman 2026-02-27 14:43:14 +01:00
  • 3faa29d8e5 fix(ci): move .gitlab-ci.yml to repo root so GitLab picks it up Deeman 2026-02-27 14:26:37 +01:00
  • 2d79627ca9 fix(infra): change host port to 5001 to avoid conflict with padelnomics Deeman 2026-02-27 14:12:45 +01:00
  • 33c8b4edbd update kyes Deeman 2026-02-27 13:51:56 +01:00
  • 5e22f2e1ae update secrets Deeman 2026-02-27 13:30:53 +01:00
  • 37b48d8f1c chore: use git remote for copier _src_path Deeman 2026-02-27 11:03:18 +01:00
  • dee0600ee8 chore: delete stale web/ deployment files (now at repo root) Deeman 2026-02-27 10:26:26 +01:00
  • 3a8dd6ba00 refactor: add .copier-answers.yml at root + feature flags + .env.example Deeman 2026-02-27 10:25:28 +01:00
  • c4cb263f18 refactor: move deployment files from web/ to repo root Deeman 2026-02-27 10:24:52 +01:00
  • 128c177401 feat(ci): add Gitea Actions workflow Deeman 2026-02-27 08:20:28 +01:00
  • 7c5235ff39 feat(admin): flat sidebar + horizontal subnav navigation Deeman 2026-02-27 07:53:07 +01:00
  • 2b2a7274ca fix(ci): always run tests, remove needs:[] so tag waits for passing tests Deeman 2026-02-27 07:47:02 +01:00
  • 54dbb296dd fix(secrets): add secrets-updatekeys-prod target, use --input-type dotenv Deeman 2026-02-27 07:40:03 +01:00
  • 7d3263a39c chore: add server age key Deeman 2026-02-27 07:37:36 +01:00
  • fd164ca66a chore: add server age key Deeman 2026-02-27 07:31:56 +01:00
  • a3ce707a5b fix(infra): fix setup_server.sh summary — correct bootstrap command + sops format Deeman 2026-02-27 07:31:14 +01:00
  • d14b45f7d6 fix(infra): guard SSH config write, add ROTATE_KEYS for key rotation Deeman 2026-02-27 07:12:09 +01:00
  • c778903264 merge(infra): consolidate tool installs in setup, strip bootstrap to essentials Deeman 2026-02-27 06:57:09 +01:00
  • cf65fa16b6 refactor(infra): consolidate tool installs in setup, strip bootstrap to essentials Deeman 2026-02-26 22:25:31 +01:00
  • 0317cb885f feat(infra): use beanflows_service for supervisor Deeman 2026-02-26 21:33:31 +01:00
  • b27f06d811 chore: remove stale ralph-loop session file Deeman 2026-02-26 20:28:31 +01:00
  • ba3994a63b chore: add secrets-encrypt-dev/prod targets to match template Deeman 2026-02-26 20:27:35 +01:00
  • 6d4921d1a6 chore: align Makefile with padelnomics (pinned tailwind version, help target, dev target, .PHONY) Deeman 2026-02-26 20:23:31 +01:00
  • c469f585eb docs: add PROJECT.md with backlog (retry/backoff for ICE + yfinance) Deeman 2026-02-26 20:08:12 +01:00
  • 8f97c6b0c9 fix(positioning): prevent canvas collapse on type/range toggle Deeman 2026-02-26 20:04:19 +01:00
  • d3c9d95386 fix(analytics): wrap max_date in ANY_VALUE() in get_weather_stress_latest Deeman 2026-02-26 19:50:27 +01:00
  • 6461c58957 fix(web): fix Chart.js sizing after HTMX swaps on all dashboard pages Deeman 2026-02-26 15:16:13 +01:00
  • 411aea3954 merge: SOPS migration + Python supervisor + docs (3 repos) Deeman 2026-02-26 12:15:35 +01:00
  • 518b50d0f5 docs(claude+infra): expand CLAUDE.md + infra/readme.md for full architecture Deeman 2026-02-26 12:04:55 +01:00
  • 95f881827e feat(infra): replace Pulumi ESC with SOPS in bootstrap + setup scripts Deeman 2026-02-26 12:03:11 +01:00
  • 5d7d53a260 feat(supervisor): port Python supervisor from padelnomics + workflows.toml Deeman 2026-02-26 11:59:55 +01:00
  • 64687d192c merge: CFTC COT combined (futures+options) report — extractor, transform, web toggle Deeman 2026-02-26 11:29:20 +01:00
  • 0326e5c83d feat(web): add F+O Combined toggle to positioning dashboard Deeman 2026-02-26 11:25:05 +01:00
  • b884bc2b4a feat(cot): add combined (futures+options) COT extractor and transform models Deeman 2026-02-26 11:24:56 +01:00
  • 520da2c920 feat(ci): switch to pull-based deploy via git tags Deeman 2026-02-26 11:10:06 +01:00
  • 4c7e520804 fix(deploy): add analytics.duckdb bind-mount to docker-compose.prod.yml Deeman 2026-02-26 10:59:33 +01:00
  • f253e39c2c feat(deploy): port padelnomics deploy.sh improvements to web/deploy.sh Deeman 2026-02-26 10:59:07 +01:00
  • 643c0b2db9 feat(secrets): update core.py dotenv to load from repo root .env Deeman 2026-02-26 10:47:34 +01:00
  • 6d716a83ae feat(secrets): rewrite secrets.py for SOPS, update cli.py Deeman 2026-02-26 10:44:25 +01:00
  • 9d0e6843f4 feat(secrets): add SOPS+age secret management infrastructure Deeman 2026-02-26 10:36:14 +01:00
  • b25b8780a7 docs: update inventory with ICE options research findings Deeman 2026-02-26 10:16:50 +01:00
  • 70415e23b8 docs: add data sources inventory Deeman 2026-02-26 09:57:46 +01:00
  • 4fae358f97 fix(extract,transform): fix COT/prices column name mismatches + OWM rate limit skip Deeman 2026-02-26 09:46:34 +01:00
  • 611a4af966 fix(dev): restore execute permission on dev_run.sh Deeman 2026-02-26 02:56:49 +01:00
  • a9fb0d38c1 merge: weather data integration — serving layer + web app + browser auto-open Deeman 2026-02-26 02:55:19 +01:00
  • 8628496881 feat(dev): open browser automatically on dev server ready Deeman 2026-02-26 02:52:45 +01:00
  • 3ab0cd122f claude Deeman 2026-02-26 02:45:09 +01:00
  • 302ba07851 add untracked Deeman 2026-02-26 02:44:48 +01:00
  • 3629783bbf feat: add CMS/pSEO engine, feature flags, email log (template v0.17.0 backport) ... Deeman 2026-02-26 02:43:10 +01:00
  • 494f7ff1ee feat(web): integrate crop stress into Pulse page Deeman 2026-02-26 02:39:29 +01:00
  • 89c9f89c8e feat(web): add weather API endpoints (locations, series, stress, alerts) Deeman 2026-02-26 02:39:24 +01:00
  • a8cfd68eda feat(web): add Weather dashboard page with Leaflet map, location cards, and stress charts Deeman 2026-02-26 02:39:19 +01:00
  • 127881f7d8 feat(web): add weather analytics query functions to analytics.py Deeman 2026-02-26 02:39:12 +01:00
  • 07b813198a feat(transform): add serving.weather_daily with rolling analytics and crop stress index Deeman 2026-02-26 02:39:07 +01:00
  • 3ae8c7e98a merge: SQL fixes (cot_positioning SELECT *, fct_weather_daily src ref) Deeman 2026-02-26 01:32:19 +01:00
  • 690691ea36 fix(transform): expand SELECT * in cot_positioning, fix src ref in fct_weather_daily Deeman 2026-02-26 01:32:16 +01:00
  • 8285daaa17 merge: Open-Meteo weather extractor (replaces OpenWeatherMap) Deeman 2026-02-26 01:01:29 +01:00
  • 9de3a3ba01 feat(extract): replace OpenWeatherMap with Open-Meteo weather extractor Deeman 2026-02-26 00:59:54 +01:00
  • 32c9d7ae07 merge: expand weather locations to 12 regions Deeman 2026-02-26 00:12:33 +01:00
  • 4817f7de2f feat(extract): add 4 weather locations (ES, PE, UG, CI) Deeman 2026-02-26 00:12:29 +01:00
  • 99055caaa2 merge: OpenWeatherMap daily weather extractor Deeman 2026-02-25 22:40:32 +01:00
  • 08e74665bb feat(extract): add OpenWeatherMap daily weather extractor Deeman 2026-02-25 22:40:27 +01:00
  • 817d9c16b7 ci: enable deploy stage with SSH-based blue/green deployment Deeman 2026-02-22 23:09:32 +01:00
  • c3c8333407 refactor(transform): remove raw layer, read landing zone directly Deeman 2026-02-22 17:30:18 +01:00
  • 1814a76e74 legal: add imprint page, upgrade privacy policy to GDPR-proper Deeman 2026-02-22 15:54:26 +01:00
  • 9a67617f6a infra: fix CRLF line endings in setup_server.sh Deeman 2026-02-22 15:24:22 +01:00
  • 7153be899c infra: rename app user to beanflows_service Deeman 2026-02-22 15:14:44 +01:00
  • 8d6d79345c infra: add setup_server.sh for one-time server provisioning Deeman 2026-02-22 15:12:21 +01:00
  • 930ebec259 fix: ADMIN_EMAIL → ADMIN_EMAILS, add default admin emails Deeman 2026-02-22 14:59:52 +01:00
  • 80c1163a7f feat: extraction framework overhaul — extract_core shared package + SQLite state tracking Deeman 2026-02-22 14:37:50 +01:00
  • fc4121183c fix: replace stale analytics._conn checks with _db_path Deeman 2026-02-22 13:04:32 +01:00
  • 9ee7a3d9d3 fix: export_serving — Arrow-based copy, rename to analytics.duckdb Deeman 2026-02-22 12:54:39 +01:00
  • ac8ab47448 feat: dev_run.sh — auto-run pipeline on first startup Deeman 2026-02-22 11:15:34 +01:00
  • cb799ff019 fix: analytics fetch_analytics returns [] when DB not configured Deeman 2026-02-22 11:10:36 +01:00
  • b899bcbad4 feat: DuckDB two-file architecture — resolve SQLMesh/web-app lock contention Deeman 2026-02-22 11:06:55 +01:00
  • ca7b2ab18b settings: remove Write scope, add billing portal error handling Deeman 2026-02-22 01:38:51 +01:00
  • c92e5a8e07 ice_stocks: add backfill extractor for historical daily stocks Deeman 2026-02-22 01:35:57 +01:00
  • 090fcb4fdb dashboard: JTBD-driven restructure — Pulse, Supply, Positioning, Warehouse Deeman 2026-02-22 01:27:44 +01:00
  • 0d78a22023 changelog: bring up to date through Feb 2026 Deeman 2026-02-21 23:22:04 +01:00
  • 6d18a4a7c2 vision: update current state to reflect ICE overhaul + dashboard work shipped Deeman 2026-02-21 23:00:03 +01:00
  • fb8c6cdb3d overview: add missing axis labels to supply/demand, STU, and top-producers charts Deeman 2026-02-21 22:55:16 +01:00
  • 3f31e33d12 countries: show metric label on chart Y-axis and table value column Deeman 2026-02-21 22:53:34 +01:00
  • 8af7d5e189 rename Countries nav item to Origins Deeman 2026-02-21 22:48:34 +01:00
  • 32e54f0381 countries: HATEOAS + HTMX — click origin to update chart instantly Deeman 2026-02-21 22:40:59 +01:00
  • 91a9fb83be redesign Countries page: commodity intelligence terminal aesthetic Deeman 2026-02-21 22:30:37 +01:00
  • 493ce64fde fix ice_stocks XLS date parsing: handle 'Feb 20, 2026' format Deeman 2026-02-21 22:18:17 +01:00
  • 562e2d1847 Add extract_all meta-pipeline: runs all four data source extractors in sequence Deeman 2026-02-21 22:00:10 +01:00
  • ff896685d2 Add extract_ice_all command to run all three ICE extractors in sequence Deeman 2026-02-21 21:59:08 +01:00
  • 6ba1afd8c3 Merge worktree-ice-extraction-overhaul: ICE aging + by-port app integration Deeman 2026-02-21 21:52:39 +01:00
  • ff956b0138 ICE aging + by-port: serving models, API endpoints, dashboard integration Deeman 2026-02-21 21:52:35 +01:00
  • 04f8df88fe Merge worktree-ice-extraction-overhaul: ICE extraction overhaul Deeman 2026-02-21 21:13:21 +01:00