Commit Graph

  • cec7941b44 feat(api): computed state-school benchmarks TudorandClaude Fable 5 2026-07-13 18:45:30 +01:00
  • dbaa15c099 feat(api): expose progress CIs, KS4 banding/gaps, admissions detail, report-card labels TudorandClaude Fable 5 2026-07-13 18:44:29 +01:00
  • b5b47ca135 feat(api): Ofsted report-card labels and provider-page URL TudorandClaude Fable 5 2026-07-13 18:42:08 +01:00
  • 0c89b2c34e feat(api): map compare-foundation mart columns TudorandClaude Fable 5 2026-07-13 18:40:55 +01:00
  • 4bf90b5f09 feat(pipeline): thread compare-foundation columns through fact_performance TudorandClaude Fable 5 2026-07-13 15:46:43 +01:00
  • 17b4498c80 docs: plan for compare API enrichment TudorandClaude Fable 5 2026-07-13 15:46:04 +01:00
  • 3754947fd6 Merge pull request 'feat(pipeline): compare-screen data foundation — raw→marts promotions, national averages, Ofsted report cards' (#32) from feat/compare-data-foundation into main tudor 2026-07-13 12:52:11 +00:00
  • 9799ad9b43 Merge pull request 'ci: two-stage deploy — staging automatic, production behind a manual approval' (#33) from chore/staged-prod-promotion into main tudor 2026-07-13 12:30:19 +00:00
  • d5cd0abfee ci: re-run PR checks (AI review job errored without posting findings) TudorandClaude Fable 5 2026-07-13 13:15:52 +01:00
  • 6877abedeb fix(ci): harden promote workflow — env-isolated untrusted input, main-ancestry check, concurrency guard TudorandClaude Fable 5 2026-07-13 13:14:28 +01:00
  • 436ec6151b fix(pipeline): thread KS2 progress CI columns through the legacy union and lineage model TudorandClaude Fable 5 2026-07-13 08:42:40 +01:00
  • 2b563cc0bf docs: two-stage deploy model (staging auto, production manual) TudorandClaude Fable 5 2026-07-13 08:38:37 +01:00
  • 75e92dc7f5 ci: manual production promotion workflow with e2e-gate verification TudorandClaude Fable 5 2026-07-13 08:36:25 +01:00
  • 7499e7f557 ci: stop deploy pipeline at staging; production promotion becomes manual TudorandClaude Fable 5 2026-07-13 08:35:39 +01:00
  • dd0ff7d0c2 docs: plan for staged production promotion TudorandClaude Fable 5 2026-07-13 08:34:32 +01:00
  • 6f925abf6b fix(pipeline): harden banding against EES sentinels; diagnostic cleanups TudorandClaude Fable 5 2026-07-13 08:22:34 +01:00
  • 03518520f8 fix(pipeline): unknown safeguarding values parse to NULL, not "not met" TudorandClaude Fable 5 2026-07-12 22:17:11 +01:00
  • c2ed002118 docs(pipeline): record Task 7 report-card grade value sample + collision check TudorandClaude Fable 5 2026-07-12 22:13:03 +01:00
  • 02084e427c feat(pipeline): extract Ofsted report-card judgements (rc_* columns) TudorandClaude Fable 5 2026-07-12 22:12:33 +01:00
  • bee63a7836 docs(spec): 2021/22 school-level KS2 is a permanent DfE source gap, not a pipeline task TudorandClaude Fable 5 2026-07-12 22:10:05 +01:00
  • fc21783298 chore(pipeline): verify 2021/22 legacy KS2 archive compatibility TudorandClaude Fable 5 2026-07-12 22:08:36 +01:00
  • ccd8e73fe8 fix(pipeline): include 2015/16 national averages TudorandClaude Fable 5 2026-07-12 22:02:28 +01:00
  • 5f1b6adb44 fix(pipeline): align SEN column order across KS4 union branches TudorandClaude Fable 5 2026-07-12 22:00:15 +01:00
  • 34a5de2687 feat(pipeline): Progress 8 banding and KS4 disadvantage gaps in marts TudorandClaude Fable 5 2026-07-12 21:55:34 +01:00
  • af43b291e7 feat(pipeline): KS2 progress confidence intervals and writing working-towards Tudor 2026-07-12 21:34:59 +01:00
  • 5a94f470e1 feat(pipeline): admissions preference breakdown and cross-LA demand in marts Tudor 2026-07-12 21:30:50 +01:00
  • 0fe1ea0d6a chore(pipeline): diagnostic for compare-screen data gaps Tudor 2026-07-12 21:25:00 +01:00
  • 297bdbd12e docs: compare-screen redesign spec, expert review, and data-foundation plan TudorandClaude Fable 5 2026-07-12 21:19:53 +01:00
  • 493ea39c29 Updating the number of schools Tudor 2026-07-09 22:53:42 +01:00
  • 58e90fef61 Merge pull request 'fix(api): blank-name GIAS sentinel codes map to empty string, not Unknown(n)' (#27) from fix/gias-blank-name-codes into main tudor 2026-07-09 21:21:08 +00:00
  • 3710529e49 fix(api): map blank-name GIAS sentinel codes to empty string, not Unknown TudorandClaude Fable 5 2026-07-09 22:04:53 +01:00
  • 159207c6f5 Merge pull request 'fix(pipeline): add the missing backend cache-invalidation step to the data DAGs' (#26) from fix/daily-dag-cache-invalidation into main tudor 2026-07-09 20:41:42 +00:00
  • d677b54533 fix(pipeline): cache invalidation for IDACI DAG too; curl timeouts TudorandClaude Fable 5 2026-07-09 21:26:45 +01:00
  • c353e36072 fix(pipeline): actually invalidate the backend cache after data rebuilds TudorandClaude Fable 5 2026-07-09 21:12:01 +01:00
  • d9223a6d6e Merge pull request 'fix(api): legacy name-column fallback when marts predate the GIAS code migration' (#25) from fix/gias-legacy-fallback into main tudor 2026-07-09 19:13:55 +00:00
  • 74ca76d150 fix(api): match missing-column fallbacks on the DBAPI error, not the statement TudorandClaude Fable 5 2026-07-09 19:29:58 +01:00
  • 4b75152ee0 fix(api): fall back to legacy name-column query when marts predate code migration TudorandClaude Fable 5 2026-07-09 14:44:27 +01:00
  • b44fca902f fix(api): fall back to legacy name-column query when marts predate code migration feat/gias-code-dictionaries TudorandClaude Fable 5 2026-07-09 14:44:27 +01:00
  • 84dfc6c1bb Merge pull request 'feat: GIAS classification fields stored as codes, translated in code' (#24) from feat/gias-code-dictionaries into main tudor 2026-07-09 13:32:43 +00:00
  • c26755750d docs: mark GIAS code dictionaries spec implemented TudorandClaude Fable 5 2026-07-09 14:12:52 +01:00
  • 254a19eb42 fix(pipeline): run gias_code_names seed + drift test in the daily DAG TudorandClaude Fable 5 2026-07-09 14:11:31 +01:00
  • 4f6b2b0edc feat(pipeline): typesense sync translates GIAS codes before indexing TudorandClaude Fable 5 2026-07-09 10:51:40 +01:00
  • f1a013ec01 feat(api): translate GIAS codes to names at the query boundary TudorandClaude Fable 5 2026-07-09 10:48:53 +01:00
  • fa6c929a3a feat(pipeline): dim_school/dim_location store GIAS codes; seed drift test TudorandClaude Fable 5 2026-07-09 10:45:15 +01:00
  • d898e6279b feat(pipeline): ingest GIAS code columns; staging exposes codes not names TudorandClaude Fable 5 2026-07-09 10:41:52 +01:00
  • e188c2ff4b feat: GIAS code->name dictionaries generated from live bulk CSV TudorandClaude Fable 5 2026-07-09 10:38:19 +01:00
  • 08bd86db05 docs: implementation plan for GIAS code dictionaries TudorandClaude Fable 5 2026-07-09 10:10:26 +01:00
  • 1ae5762a0a docs: design spec for GIAS code dictionaries (codes in marts, names in code) TudorandClaude Fable 5 2026-07-09 09:55:53 +01:00
  • bc87e56545 Merge pull request 'fix(ui): shorten proposed-to-close notice copy' (#23) from fix/proposed-to-close-copy into main tudor 2026-07-08 21:52:56 +00:00
  • 4522cbf645 fix(ui): shorten proposed-to-close notice copy TudorandClaude Fable 5 2026-07-08 22:51:32 +01:00
  • 7370712888 Merge pull request 'feat: include and mark 'Open, but proposed to close' schools' (#22) from feat/proposed-to-close-schools into main tudor 2026-07-08 21:23:23 +00:00
  • 45ab479062 feat(ui): mark proposed-to-close schools in listings and detail pages TudorandClaude Fable 5 2026-07-08 22:05:55 +01:00
  • 6f602f4a9e feat(api): expose GIAS establishment status on school payloads TudorandClaude Fable 5 2026-07-08 22:05:55 +01:00
  • de81e9cdbd feat(pipeline): include 'Open, but proposed to close' schools in dims TudorandClaude Fable 5 2026-07-08 21:54:08 +01:00
  • 45c68b60b4 Merge pull request 'feat: drive sixth-form separation from GIAS OfficialSixthForm flag' (#21) from feat/gias-sixth-form-flag into main tudor 2026-07-07 13:48:12 +00:00
  • f1388ff5bd fix(pipeline): normalize GIAS OfficialSixthForm comparison with lower(trim()) TudorandClaude Fable 5 2026-07-07 14:05:10 +01:00
  • 4d226fd616 test: drop unused fake exception helper TudorandClaude Fable 5 2026-07-07 13:36:01 +01:00
  • a524cdc591 fix(api): survive missing has_sixth_form column and numpy bool serialization TudorandClaude Fable 5 2026-07-07 13:33:25 +01:00
  • 3fcb1340d4 docs: mark sixth-form flag pipeline change implemented TudorandClaude Fable 5 2026-07-07 10:43:08 +01:00
  • 0934c8f38c feat(ui): sixth-form badge, note and filter labels use GIAS flag TudorandClaude Fable 5 2026-07-07 10:40:42 +01:00
  • 1d149ffc48 feat(api): drive has_sixth_form filter and payloads from GIAS flag TudorandClaude Fable 5 2026-07-07 10:36:39 +01:00
  • d11faefebd feat(pipeline): derive dim_school.has_sixth_form from GIAS flag TudorandClaude Fable 5 2026-07-07 10:30:39 +01:00
  • 3b35849bb3 feat(pipeline): ingest GIAS OfficialSixthForm into staging TudorandClaude Fable 5 2026-07-07 10:28:08 +01:00
  • 87f4c6dd40 docs: implementation plan for GIAS sixth-form flag TudorandClaude Fable 5 2026-07-07 10:21:02 +01:00
  • 0309b27c84 docs: exam results phase taxonomy and sixth-form separation spec TudorandClaude Fable 5 2026-07-07 10:02:21 +01:00
  • 85484a80c4 Merge pull request 'fix(api): school detail 500s for schools with no performance rows' (#20) from fix/school-detail-nan-500 into main tudor 2026-07-07 08:56:23 +00:00
  • 536832a524 chore: drop committed .pyc files, ignore __pycache__ everywhere TudorandClaude Opus 4.8 2026-07-07 09:37:17 +01:00
  • 87642b7b06 fix(api): serialize schools that have no performance rows TudorandClaude Opus 4.8 2026-07-07 09:22:54 +01:00
  • 929748d014 Merge pull request 'feat(home): move "use my location" beside the hero search box' (#19) from feat/near-me-by-search into main tudor 2026-07-06 17:56:58 +00:00
  • 4e8df006d7 feat(home): move "use my location" beside the hero search box TudorandClaude Opus 4.8 2026-07-06 17:01:45 +01:00
  • 1f8284adfc Merge pull request 'fix(map): results map fullscreen falls back to an overlay on iOS' (#18) from fix/results-map-ios-fullscreen into main tudor 2026-07-06 13:33:16 +00:00
  • b2dc4d0779 fix(map): results map fullscreen falls back to an overlay on iOS TudorandClaude Fable 5 2026-07-06 14:09:37 +01:00
  • 1cdcd85e41 Merge pull request 'fix(search): stop the mobile sort dropdown overflowing the viewport' (#17) from fix/mobile-sort-select-overflow into main tudor 2026-07-06 12:46:48 +00:00
  • a00cbe9161 fix(search): stop the mobile sort dropdown overflowing the viewport TudorandClaude Fable 5 2026-07-06 13:23:29 +01:00
  • 64121592fd Merge pull request 'feat(compare): lay mobile chart chips two per row' (#16) from feat/compare-chips-two-per-row into main tudor 2026-07-06 12:16:26 +00:00
  • 6828f6cd44 feat(compare): lay mobile chart chips two per row TudorandClaude Fable 5 2026-07-06 12:17:41 +01:00
  • 331ae8d89f Merge pull request 'fix(e2e): compare-chips test must compare schools in one phase' (#15) from fix/e2e-compare-chips-phase into main tudor 2026-07-06 11:01:22 +00:00
  • 3adea73ee0 fix(e2e): compare-chips test must use schools in one phase TudorandClaude Fable 5 2026-07-06 11:42:11 +01:00
  • 47335fcda0 Merge pull request 'fix(frontend): proxy /api and /sitemap.xml at runtime, not via baked rewrites' (#14) from fix/runtime-api-proxy into main tudor 2026-07-06 10:11:39 +00:00
  • 95a5783da1 fix(frontend): proxy /api and /sitemap.xml at runtime, not via baked rewrites TudorandClaude Fable 5 2026-07-06 10:00:42 +01:00
  • 5c39131b50 Merge pull request 'chore: remove the Ofsted Parent View feature end to end' (#13) from chore/remove-parent-view into main tudor 2026-07-06 08:31:00 +00:00
  • 95081d38bd chore: remove the Ofsted Parent View feature end to end TudorandClaude Fable 5 2026-07-06 09:01:26 +01:00
  • 694b6013b3 Merge pull request 'fix(compare): keep chart data when a client refetch fails' (#12) from fix/compare-chart-refetch-resilience into main tudor 2026-07-06 07:27:03 +00:00
  • 9f8dba227c fix(compare): keep chart data when a client refetch fails TudorandClaude Fable 5 2026-07-05 23:07:52 +01:00
  • 7b5f4fdd62 fix(compare): keep chart data when a client refetch fails feat/compare-chart-mobile-readability TudorandClaude Fable 5 2026-07-05 23:07:52 +01:00
  • 18cd805c6c Merge pull request 'feat(compare): readable comparison chart on mobile' (#11) from feat/compare-chart-mobile-readability into main tudor 2026-07-05 21:26:01 +00:00
  • 22769b6295 feat(compare): readable comparison chart on mobile TudorandClaude Fable 5 2026-07-05 22:02:26 +01:00
  • 90f2a02e75 Merge pull request 'fix(school): make hero map fullscreen work on iOS Safari' (#10) from fix/hero-map-ios-fullscreen into main tudor 2026-07-05 20:52:32 +00:00
  • d52d384cf2 fix(school): make hero map fullscreen work on iOS Safari TudorandClaude Fable 5 2026-07-05 21:27:41 +01:00
  • ff606dad71 Merge pull request 'fix(e2e): pick the latest explicit year in the rankings year test' (#8) from fix/e2e-rankings-year-pick into main tudor 2026-07-05 13:54:55 +00:00
  • acec8135e1 fix(e2e): pick the latest explicit year in the rankings year test TudorandClaude Fable 5 2026-07-05 14:29:43 +01:00
  • 0a370e3b63 Merge pull request 'fix(api): accept academic-year codes in rankings year filter' (#7) from fix/rankings-year-validation into main tudor 2026-07-05 10:46:04 +00:00
  • 6c872ce726 fix(api): accept academic-year codes in rankings year filter TudorandClaude Fable 5 2026-07-04 22:13:56 +01:00
  • d0100cce69 feat(ci): comment-triggered PR fix-ups via @claude feat/pr-comment-agent TudorandClaude Fable 5 2026-07-03 16:26:09 +01:00
  • 23b4e1c453 Merge pull request 'fix(e2e): scroll detail-page chart into view before asserting' (#5) from fix/e2e-detail-chart-scroll into main tudor 2026-07-03 13:56:00 +00:00
  • deeef23131 fix(e2e): assert on a visible canvas — the first canvas is hidden by design TudorandClaude Fable 5 2026-07-03 14:40:13 +01:00
  • 4ece55b031 fix(e2e): scroll the detail-page chart into view before asserting visibility TudorandClaude Fable 5 2026-07-03 14:34:17 +01:00
  • 515494dbf0 Merge pull request 'fix(analytics): restrict Umami to production hostnames' (#4) from fix/umami-prod-domains-only into main tudor 2026-07-03 13:17:53 +00:00
  • 5772c54ccd fix(ci): use the documented GITHUB_TOKEN name for the run-scoped token TudorandClaude Fable 5 2026-07-03 13:53:57 +01:00
  • c62ba0ca25 fix(ci): post AI review comments with the run-scoped Gitea token TudorandClaude Fable 5 2026-07-03 13:39:59 +01:00