fix(detail): banded admissions + plain-English Progress 8 (Batch C) #66

Merged
tudor merged 1 commits from fix/detail-inclusion-admissions into main 2026-07-20 11:11:39 +00:00
Owner

Batch C (points 7-10): inclusion/admissions framing on the detail page.

  • Point 7 — banded admissions. The admissions section showed the first-choice offer rate as a bare percentage. It now carries the compare screen's banded interpretation as a line under the tiles — "More than half of first choices missed out" (<50%), "About 1 in 3…" (50-66%), "Over 1 in 4…" (67-74%) — by reusing summariseAdmissions. (Selective/faith framing was already present via admissionsTag.)
  • Point 8 — plain-English Progress 8. Replaced the jargon banner ("not used for accountability purposes following the KS2 assessment disruption · Treat with caution") with the compare wording: "Progress 8 isn't published for 2024/25: this GCSE year group sat no KS2 tests (COVID), so DfE has no starting point to measure their progress from."
  • Points 9 & 10 don't apply to the detail page. It shows disadvantaged composition (% of pupils who are disadvantaged), not disadvantaged attainment, so there's no small-cohort figure needing a "~N pupils" caveat; and it has no FSM-vs-benchmark comparison, so no cross-definition fallback to fix. Both were compare-specific.
  • Also fixed a stray lowercase "national avg" provenance string that Batch B's rename missed.

Copy/logic reuse only; 105 frontend tests green. The banding logic is already unit-tested in compareLogic.test.ts.

🤖 Generated with Claude Code

https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB

Batch C (points 7-10): inclusion/admissions framing on the detail page. - **Point 7 — banded admissions.** The admissions section showed the first-choice offer rate as a bare percentage. It now carries the compare screen's banded interpretation as a line under the tiles — "More than half of first choices missed out" (<50%), "About 1 in 3…" (50-66%), "Over 1 in 4…" (67-74%) — by reusing `summariseAdmissions`. (Selective/faith framing was already present via `admissionsTag`.) - **Point 8 — plain-English Progress 8.** Replaced the jargon banner ("not used for accountability purposes following the KS2 assessment disruption · Treat with caution") with the compare wording: "Progress 8 isn't published for 2024/25: this GCSE year group sat no KS2 tests (COVID), so DfE has no starting point to measure their progress from." - **Points 9 & 10 don't apply to the detail page.** It shows disadvantaged *composition* (% of pupils who are disadvantaged), not disadvantaged *attainment*, so there's no small-cohort figure needing a "~N pupils" caveat; and it has no FSM-vs-benchmark comparison, so no cross-definition fallback to fix. Both were compare-specific. - Also fixed a stray lowercase "national avg" provenance string that Batch B's rename missed. Copy/logic reuse only; 105 frontend tests green. The banding logic is already unit-tested in `compareLogic.test.ts`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB
tudor added 1 commit 2026-07-20 11:03:41 +00:00
fix(detail): banded first-choice interpretation + plain-English P8 absence copy
PR Checks / Frontend Typecheck + Tests (pull_request) Successful in 1m2s
PR Checks / Backend Smoke (pull_request) Successful in 7s
PR Checks / Build Backend (no push) (pull_request) Successful in 10s
PR Checks / Build Frontend (no push) (pull_request) Successful in 46s
PR Checks / Build Pipeline (no push) (pull_request) Successful in 10s
PR Checks / AI Code Review (Claude) (pull_request) Successful in 24s
4e6be0ce65
Batch C (points 7-10):
- Point 7: the admissions section shows the first-choice offer rate but no
  sense of how severe a low rate is. Reuse the compare screen's banded
  summariseAdmissions ('More than half of first choices missed out' etc.)
  as an interpretive line under the tiles. (Selective/faith framing was
  already present via admissionsTag.)
- Point 8: replace the jargon P8-suspended banner ('not used for
  accountability purposes ... treat with caution') with the compare
  screen's plain-English 'no KS2 baseline (COVID)' explanation.
- Points 9 (disadvantaged cohort sizes) and 10 (FSM benchmark) don't apply
  to the detail page: it shows disadvantaged composition, not disadvantaged
  attainment, and no FSM-vs-benchmark comparison — so there's no small-cohort
  caveat or cross-definition fallback to fix here.
- Also fixed a stray lowercase 'national avg' provenance string Batch B
  missed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0146VHeLAWjDVE2B5uU67jCB

🤖 AI Code Review (Claude Code)

This PR adds a banded plain-English admissions summary chip to the primary school detail view (reusing summariseAdmissions from lib/compareLogic, same logic as the compare screen), renames a 'national avg' label to 'England avg' for provenance clarity, and rewords the Progress 8 suspension banner for 2024/25 to explain the COVID KS2 cause in plain English. All changes are additive/textual, the new function handles null admissions safely, and the referenced CSS class already exists.

No issues found.

## 🤖 AI Code Review (Claude Code) This PR adds a banded plain-English admissions summary chip to the primary school detail view (reusing summariseAdmissions from lib/compareLogic, same logic as the compare screen), renames a 'national avg' label to 'England avg' for provenance clarity, and rewords the Progress 8 suspension banner for 2024/25 to explain the COVID KS2 cause in plain English. All changes are additive/textual, the new function handles null admissions safely, and the referenced CSS class already exists. ✅ No issues found.
tudor merged commit 31ae13451a into main 2026-07-20 11:11:39 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tudor/school_compare#66