-
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