Commit Graph

  • 77ca817925 feat(logging): convert scripts and migrations from print() to logging Deeman 2026-02-24 11:00:07 +01:00
  • ac4ad3179d feat(logging): convert planner/routes.py nurture warning to logging Deeman 2026-02-24 10:52:16 +01:00
  • 39181ba452 feat(logging): convert worker.py print() to logging Deeman 2026-02-24 10:51:37 +01:00
  • b4b486e908 feat(logging): add setup_logging() to core.py, wire into app startup Deeman 2026-02-24 10:50:10 +01:00
  • f0c041a00c merge: fix datetime.utcnow() deprecation warnings across all files Deeman 2026-02-24 10:36:26 +01:00
  • d9de9e4cda fix(planner): replace alert() error popups with inline error banner Deeman 2026-02-24 10:36:01 +01:00
  • c5176d7d17 fix(admin): center confirm dialog with fixed position + transform Deeman 2026-02-24 10:34:38 +01:00
  • bd79617851 feat(admin): replace browser confirm() dialogs with native <dialog> modal Deeman 2026-02-24 10:33:38 +01:00
  • d42c4790b4 chore: update CHANGELOG for datetime deprecation fix Deeman 2026-02-24 10:30:31 +01:00
  • e33b28025e fix: use SQLite-compatible space format in utcnow_iso(), fix credits ordering Deeman 2026-02-24 10:30:18 +01:00
  • 6bd92c69ce fix(admin): use task_name column (not task_type) in _is_generating query Deeman 2026-02-24 10:24:53 +01:00
  • a05c230ce3 fix(tests): replace datetime.utcnow() with utcnow_iso() in test files Deeman 2026-02-24 10:24:16 +01:00
  • ff170d94ff merge: add padelnomics Market Score methodology page Deeman 2026-02-24 10:23:03 +01:00
  • 5644a1ebf8 fix: replace datetime.utcnow() with utcnow()/utcnow_iso() across all source files Deeman 2026-02-24 10:22:42 +01:00
  • abc8be12c3 docs: update CHANGELOG and PROJECT.md with Market Score page Deeman 2026-02-24 10:16:15 +01:00
  • b7485902e6 test: add Market Score methodology page tests Deeman 2026-02-24 10:15:36 +01:00
  • 4033e13e05 feat(admin): live-poll Articles and Scenarios tabs during generation Deeman 2026-02-24 10:14:21 +01:00
  • 815edf3cef feat(seo): link first Market Score mention to methodology page Deeman 2026-02-24 10:13:40 +01:00
  • f76d2889e5 fix(core): add utcnow()/utcnow_iso() helpers, migrate core.py usages Deeman 2026-02-24 10:12:50 +01:00
  • 2a038e48be feat(seo): add Market Score to sitemap and footer Deeman 2026-02-24 10:12:29 +01:00
  • 39fe025e5b feat(template): create Market Score methodology page Deeman 2026-02-24 10:12:03 +01:00
  • 33aa705ef9 feat(routes): add /market-score route + legacy redirect Deeman 2026-02-24 10:11:07 +01:00
  • c2bf82917a feat(i18n): add Market Score methodology page keys (EN + DE) Deeman 2026-02-24 10:10:39 +01:00
  • 3d99b8c375 fix(cms): change articles unique constraint to (url_path, language) Deeman 2026-02-24 09:53:58 +01:00
  • a35036807e merge: lazy-import duckdb to fix CI hang + mount analytics.duckdb in prod Deeman 2026-02-24 04:27:06 +01:00
  • d5e99eead1 fix(ci): lazy-import duckdb to prevent pytest hang Deeman 2026-02-24 04:26:22 +01:00
  • c2fc54b297 merge: mount analytics.duckdb in prod containers + fix CI pytest hang Deeman 2026-02-24 04:19:51 +01:00
  • 8c03b16e61 fix(ci): disable faulthandler to prevent pytest hang Deeman 2026-02-24 04:19:24 +01:00
  • a27bf77e99 fix(infra): mount analytics.duckdb into prod containers Deeman 2026-02-24 04:17:40 +01:00
  • 0e2c1e19e6 merge: ci gate deploys on passing tags + fix markets feature flag test Deeman 2026-02-24 03:52:20 +01:00
  • 6c1dc90a8d fix(ci): gate deploys on passing tags + fix markets feature flag test Deeman 2026-02-24 03:36:59 +01:00
  • ebc944a6d3 fix(cms): open analytics DB in worker + fix per-language article upsert Deeman 2026-02-24 03:04:01 +01:00
  • 7f3bde56b6 fix(infra): guard chown calls to make setup_server.sh fully idempotent Deeman 2026-02-24 02:53:50 +01:00
  • 619d1570ef fix(infra): run services as padelnomics_service user instead of root Deeman 2026-02-24 02:51:09 +01:00
  • 189f04cc47 fix(infra): run rclone installer with sudo Deeman 2026-02-24 02:37:50 +01:00
  • 7fb6dd9b6f fix(pseo): escape double quotes in YAML meta_description_pattern Deeman 2026-02-24 02:32:19 +01:00
  • 140b4f2c70 feat(pseo): rebrand market score to "padelnomics Market Score" with wordmark styling Deeman 2026-02-24 02:28:42 +01:00
  • ed7c667419 Merge branch 'worktree-pseo-template-improvements' Deeman 2026-02-24 02:15:49 +01:00
  • c574fe7e62 docs: update CHANGELOG and PROJECT.md for pSEO template improvements Deeman 2026-02-24 02:14:14 +01:00
  • 71b003cb49 feat(pseo): add German language + expanded content + FAQPage schema to country-overview Deeman 2026-02-24 02:13:06 +01:00
  • 02fcfae0ae feat(pseo): add German language + expanded content to city-pricing template Deeman 2026-02-24 02:08:22 +01:00
  • fb18d5a387 feat(pseo): add German language + expanded content to city-cost-de template Deeman 2026-02-24 02:03:25 +01:00
  • ffe4b111eb fix: remove double language prefix from article URLs Deeman 2026-02-24 02:01:33 +01:00
  • 90a5ab0451 docs: move data-sources-inventory to docs/ Deeman 2026-02-24 01:36:08 +01:00
  • 8bb00ea9b0 docs(inventory): pipeline tracker, scores, impl notes, FX section Deeman 2026-02-24 01:33:32 +01:00
  • 86539e72b9 research: expand competitor pricing & pSEO analysis Deeman 2026-02-24 01:23:28 +01:00
  • 48e9169a4c Merge branch 'worktree-cms-admin-improvement' Deeman 2026-02-24 01:22:55 +01:00
  • 5808ba6490 fix: scenario preview rendering and double-encoded ampersands Deeman 2026-02-24 01:22:25 +01:00
  • a555331729 docs: update CHANGELOG and PROJECT.md for CMS admin improvement Deeman 2026-02-24 01:20:37 +01:00
  • a59c670e43 feat: HTMX-ify article publish/delete actions for inline updates Deeman 2026-02-24 01:20:02 +01:00
  • 8ae5aa1935 feat: write markdown to disk during generation for admin editing Deeman 2026-02-24 01:18:48 +01:00
  • f0f6e7542f feat: move article generation to background worker queue Deeman 2026-02-24 01:17:59 +01:00
  • 81b361859d feat: invalidate sitemap cache on article publish/delete/create Deeman 2026-02-24 01:15:44 +01:00
  • 0c69d9e1a0 feat: HTMX articles list with filter, search, pagination, and view links Deeman 2026-02-24 01:14:40 +01:00
  • 566c578770 fix: correct broken status display and source column in articles list Deeman 2026-02-24 01:13:22 +01:00
  • 1762188f08 docs(inventory): document population pipeline implementation findings Deeman 2026-02-24 01:01:10 +01:00
  • 06cbdf80dc fix(extract): correct Eurostat + ONS response parsers against live APIs Deeman 2026-02-24 00:26:13 +01:00
  • bd1d29468a fix(content): handle None values in template pattern rendering Deeman 2026-02-24 00:21:00 +01:00
  • 093c4c5d36 merge: data foundation + calculator v2 Deeman 2026-02-24 00:17:36 +01:00
  • 2be54b1c88 fix(content): add missing datetimeformat filter; move preview column first Deeman 2026-02-24 00:13:05 +01:00
  • 194100c577 fix(calculator): 10 financial model fixes — IRR, NPV, OPEX growth, value bridge Deeman 2026-02-24 00:11:52 +01:00
  • 0960990373 feat(data): Sprint 1-5 population pipeline — city labels, US/UK/Global extractors Deeman 2026-02-24 00:07:08 +01:00
  • e76b6b4715 fix: grant admin role in seed_dev_data so dev-login works immediately Deeman 2026-02-23 23:49:51 +01:00
  • c795ccfa48 fix(makefile): extract inline Python to script to fix parse error Deeman 2026-02-23 23:40:58 +01:00
  • 13adbb06ef chore: update test screenshots Deeman 2026-02-23 22:26:42 +01:00
  • b5de3e0681 feat: integrate ntfy.sh push notifications for supervisor Deeman 2026-02-23 22:02:57 +01:00
  • ebba46f700 refactor: align transform layer with template methodology Deeman 2026-02-23 21:17:04 +01:00
  • 4006d47a79 docs: update CHANGELOG and PROJECT.md for visual test overhaul Deeman 2026-02-23 21:11:34 +01:00
  • 042fe35777 Merge branch 'worktree-visual-test-overhaul' — add J-N tests, fix WAITLIST_MODE Deeman 2026-02-23 21:08:59 +01:00
  • 611f938d52 fix(tests): add sections J-N, force WAITLIST_MODE=false in visual server Deeman 2026-02-23 21:08:09 +01:00
  • 137d34d51b fix(makefile): add init-landing-seeds target for SQLMesh staging seed files Deeman 2026-02-23 18:52:34 +01:00
  • e3a6b91bc0 fix(transform+content): unblock SQLMesh plan — three pipeline fixes Deeman 2026-02-23 18:51:53 +01:00
  • dd1daaad1e Merge branch 'worktree-visual-test-overhaul' Deeman 2026-02-23 18:50:09 +01:00
  • 777333e918 refactor(tests): overhaul visual tests — single server, mock emails, fix init_db Deeman 2026-02-23 18:40:11 +01:00
  • 3667616f3d feat(content): improve city-cost-de template; add country-overview + city-pricing templates Deeman 2026-02-23 18:38:06 +01:00
  • cb95ecc9e6 feat(web): add .stats-strip CSS component for pSEO article hero metrics Deeman 2026-02-23 18:37:58 +01:00
  • b3afd414a4 feat(transform): add three pSEO serving models — city costs, country overview, city pricing Deeman 2026-02-23 18:37:50 +01:00
  • b517e3e58d feat(transform): add country_name_en + country_slug to dim_cities, pass through city_market_profile Deeman 2026-02-23 18:37:43 +01:00
  • 1c195f3c05 fix: run_shell returns bool, not tuple Deeman 2026-02-23 18:36:46 +01:00
  • e35e01edb1 test: add 18 e2e tests for billing, checkout, supplier signup/dashboard, export Deeman 2026-02-23 18:34:39 +01:00
  • 8558fd6b40 feat: no-root deploy, remove CI deploy stage, deploy alerts Deeman 2026-02-23 18:23:19 +01:00
  • e4bd9378f5 feat: self-provisioning deploy.sh — auto-installs sops+age, generates key Deeman 2026-02-23 18:13:06 +01:00
  • dcc1c15d05 Merge branch 'worktree-sops-secrets' Deeman 2026-02-23 17:21:01 +01:00
  • 18fab02d1e docs: add SOPS secrets section to CLAUDE.md Deeman 2026-02-23 17:19:58 +01:00
  • 4ff0a0cce8 docs: update CHANGELOG and PROJECT.md for SOPS secrets migration Deeman 2026-02-23 17:19:09 +01:00
  • 5b074b8508 chore: delete .env.example, clarify .gitignore for sops files Deeman 2026-02-23 17:18:39 +01:00
  • fcf66104cb feat: install sops + age in setup_server.sh Deeman 2026-02-23 17:15:22 +01:00
  • 5abd67aca5 Merge branch 'master' into worktree-sops-secrets Deeman 2026-02-23 17:14:52 +01:00
  • 944131535e refactor: remove CI heredoc — secrets now in encrypted sops files Deeman 2026-02-23 17:04:41 +01:00
  • d91fd40cd2 feat: decrypt sops secrets in deploy.sh before docker compose Deeman 2026-02-23 17:04:17 +01:00
  • 9dcf237f6f feat: add encrypted prod secrets (.env.prod.sops) Deeman 2026-02-23 17:03:59 +01:00
  • f4a8ca7a74 fix: update waitlist tests for email i18n + audience restructuring Deeman 2026-02-23 17:03:21 +01:00
  • 04ef8deaa1 feat: add encrypted dev secrets (.env.dev.sops) and Makefile targets Deeman 2026-02-23 17:01:28 +01:00
  • f735e36522 chore: add .sops.yaml for age-encrypted secrets Deeman 2026-02-23 16:53:07 +01:00
  • 84229e50f7 Merge branch 'worktree-supervisor-flags' Deeman 2026-02-23 15:29:43 +01:00
  • 8b7d474ede docs: update CHANGELOG and PROJECT.md for supervisor + feature flags Deeman 2026-02-23 15:27:23 +01:00
  • b5c9a4e573 test: e2e + unit tests for supervisor, proxy, and feature flags Deeman 2026-02-23 15:26:40 +01:00
  • 024feeaac4 feat: SEO/GEO admin hub — GSC, Bing, Umami sync + search/funnel/scorecard views Deeman 2026-02-23 15:23:03 +01:00
  • 36b90eb4df docs: update CHANGELOG and PROJECT.md for SEO/GEO hub Deeman 2026-02-23 15:09:25 +01:00
  • 4bdccb65e9 test: add 41 tests for SEO/GEO hub — sync, queries, admin routes Deeman 2026-02-23 15:08:13 +01:00