A second education-accuracy audit, this time of the Rankings and Admissions pages (companion to #73, which covered the homepage). All findings from the audit are fixed.
Admissions guide
Offer-day timing corrected. National Offer Day no longer claims offers publish "from 12:01 am" — release times are set per-council (Waltham Forest after 5pm, some email overnight), so it now tells parents to check their council's page rather than refresh at midnight.
Preference count de-London-centred. "Up to six schools" was the London/Pan-London figure; most LAs allow three to six. Now hedged, matching the primary step which already did.
Two common pitfalls added (completeness): selective/grammar schools require separate entrance-test registration months earlier (often by September, well before the 31 Oct CAF deadline); faith schools often require a supplementary information form sent directly to the school. Both criteria steps updated.
Equal-preference tip made precise: order is the tie-break among schools you qualify for (you're offered the highest-ranked one), not irrelevant — while keeping the correct "you can't game it" advice.
Rankings
Subtitle "Top-performing schools by X" → "Schools ranked by X", so it isn't nonsensical for the School Context / Equity / Absence categories (ranking "top-performing schools by % disadvantaged" doesn't parse).
KS2 progress dead-end fixed. KS2 progress isn't published for 2023/24 or 2024/25 (no post-COVID key stage 1 baseline — same fact behind #73). Selecting a primary progress metric on a recent year used to drop into a bare "No rankings found". Added a scoped caveat to the progress hint and an explanatory empty-state. Scoped to primary only — secondary Progress 8 is published, so its hint is untouched.
Testing
npx tsc --noEmit — clean
npm run build — compiles, TypeScript + static generation pass
Added an admissions smoke journey to e2e/ (the page had none). It asserts the guide and its statutory milestones render — stable invariants, not data-refresh-sensitive. Existing rankings journeys are unaffected (they assert the heading, which is unchanged). Didn't add an e2e for the progress empty-state: it depends on which years hold progress data, and staging carries only partial history, so it would be flaky.
What's intentionally unchanged
All four statutory dates, the appeals/waiting-list rules, and the honest gap-aware admissions trend chart were already correct and were left as-is.
## Summary
A second **education-accuracy audit**, this time of the Rankings and Admissions pages (companion to #73, which covered the homepage). All findings from the audit are fixed.
## Admissions guide
- **Offer-day timing corrected.** National Offer Day no longer claims offers publish *"from 12:01 am"* — release times are set per-council (Waltham Forest after 5pm, some email overnight), so it now tells parents to check their council's page rather than refresh at midnight.
- **Preference count de-London-centred.** "Up to six schools" was the London/Pan-London figure; most LAs allow three to six. Now hedged, matching the primary step which already did.
- **Two common pitfalls added** (completeness): selective/grammar schools require **separate entrance-test registration months earlier** (often by September, well before the 31 Oct CAF deadline); faith schools often require a **supplementary information form sent directly to the school**. Both criteria steps updated.
- **Equal-preference tip made precise**: order *is* the tie-break among schools you qualify for (you're offered the highest-ranked one), not irrelevant — while keeping the correct "you can't game it" advice.
## Rankings
- **Subtitle** "Top-performing schools by X" → **"Schools ranked by X"**, so it isn't nonsensical for the School Context / Equity / Absence categories (ranking "top-performing schools by % disadvantaged" doesn't parse).
- **KS2 progress dead-end fixed.** KS2 progress isn't published for 2023/24 or 2024/25 (no post-COVID key stage 1 baseline — same fact behind #73). Selecting a *primary* progress metric on a recent year used to drop into a bare "No rankings found". Added a scoped caveat to the progress hint and an explanatory empty-state. Scoped to primary only — secondary **Progress 8 is published**, so its hint is untouched.
## Testing
- `npx tsc --noEmit` — clean
- `npm run build` — compiles, TypeScript + static generation pass
- Added an **admissions smoke journey** to `e2e/` (the page had none). It asserts the guide and its statutory milestones render — stable invariants, not data-refresh-sensitive. Existing rankings journeys are unaffected (they assert the heading, which is unchanged). Didn't add an e2e for the progress empty-state: it depends on which years hold progress data, and staging carries only partial history, so it would be flaky.
## What's intentionally unchanged
All four statutory dates, the appeals/waiting-list rules, and the honest gap-aware admissions trend chart were already correct and were left as-is.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB
Follow-up audit of the rankings and admissions pages.
Admissions (AdmissionsView.tsx):
- National Offer Day no longer claims offers publish "from 12:01 am";
release times are set per-council (often late afternoon, some
overnight), so it now tells parents to check their council's page.
- Secondary preference count no longer states a flat "up to six"
(that's London/Pan-London); most LAs allow three to six. Mirrors the
hedge the primary step already used.
- Added the two deadlines that most often catch parents out: selective
schools' separate entrance-test registration (months earlier), and
faith schools' supplementary information form sent direct to the
school. Covered in both the primary and secondary criteria steps.
- Reworded the equal-preference tip so it's precise: order is the
tie-break among schools you qualify for (you get the highest-ranked
one), not irrelevant.
Rankings (RankingsView.tsx):
- Subtitle "Top-performing schools by X" -> "Schools ranked by X", so
it isn't nonsensical for context/equity/absence metrics.
- KS2 progress isn't published for 2023/24 or 2024/25 (no KS1
baseline). Selecting a primary progress metric on a recent year used
to dead-end on a generic "No rankings found". Added a scoped caveat
to the progress hint and an explanatory empty-state (primary only —
secondary Progress 8 is published).
Added an admissions smoke journey (static content, stable milestones).
Verified with tsc --noEmit and next build.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB
This PR is a content-accuracy pass on the admissions guide and rankings pages (aligned with the prior education-accuracy audit commits), correcting factual claims about UK admissions deadlines, National Offer Day timing, and the equal-preference rule, plus adding a disclaimer for KS2 progress scores being unavailable in recent years. No logic changes; a new e2e test covers the admissions guide content.
🟡 Minor
nextjs-app/components/RankingsView.tsx: The '2023/24 or 2024/25' years are hardcoded in two separate message strings (progress hint and empty-state message) rather than derived from the metrics/filters data. As new academic years pass (and if the missing-KS1-baseline issue persists for later cohorts), this text will silently become stale/incorrect without any code signal to update it.
## 🤖 AI Code Review (Claude Code)
This PR is a content-accuracy pass on the admissions guide and rankings pages (aligned with the prior education-accuracy audit commits), correcting factual claims about UK admissions deadlines, National Offer Day timing, and the equal-preference rule, plus adding a disclaimer for KS2 progress scores being unavailable in recent years. No logic changes; a new e2e test covers the admissions guide content.
### 🟡 Minor
- **nextjs-app/components/RankingsView.tsx**: The '2023/24 or 2024/25' years are hardcoded in two separate message strings (progress hint and empty-state message) rather than derived from the metrics/filters data. As new academic years pass (and if the missing-KS1-baseline issue persists for later cohorts), this text will silently become stale/incorrect without any code signal to update it.
tudor
merged commit 5981916b82 into main2026-07-21 11:16:15 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
A second education-accuracy audit, this time of the Rankings and Admissions pages (companion to #73, which covered the homepage). All findings from the audit are fixed.
Admissions guide
Rankings
Testing
npx tsc --noEmit— cleannpm run build— compiles, TypeScript + static generation passe2e/(the page had none). It asserts the guide and its statutory milestones render — stable invariants, not data-refresh-sensitive. Existing rankings journeys are unaffected (they assert the heading, which is unchanged). Didn't add an e2e for the progress empty-state: it depends on which years hold progress data, and staging carries only partial history, so it would be flaky.What's intentionally unchanged
All four statutory dates, the appeals/waiting-list rules, and the honest gap-aware admissions trend chart were already correct and were left as-is.
🤖 Generated with Claude Code
https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB
🤖 AI Code Review (Claude Code)
This PR is a content-accuracy pass on the admissions guide and rankings pages (aligned with the prior education-accuracy audit commits), correcting factual claims about UK admissions deadlines, National Offer Day timing, and the equal-preference rule, plus adding a disclaimer for KS2 progress scores being unavailable in recent years. No logic changes; a new e2e test covers the admissions guide content.
🟡 Minor