1. How the Navigator was built
The Navigator is a typed decision graph, authored in TypeScript and compiled to a single graph.json. Each node carries the verbatim policy text, the facts or planning judgements the step needs, and a query into the decisions database. A small pure evaluation engine derives the visible route, the next question, the triggers and harms, and an indicative outcome from the answers entered — it makes no judgement silently; where the Framework leaves a question to the decision-maker, the tool asks it and shows how others have answered.
- Every policy quotation is verified against the published NPPF (August 2026) text at build time. The build fails if any quote cannot be found. This build: 75 nodes and 74 quotations verified.
- Neutral, inspector-style register. Contested readings are shown both ways. Nothing application-specific is in the graph — it is the Framework, not a case for any one site.
- Case matching is by canonicalised policy code against the database below, grouped by finding, with a selection-bias note. Counts show how a test has been applied, never the odds of an outcome.
| Measure | Count | Source |
|---|---|---|
| Decisions read and summarised | 971 | cases.json |
| by inspectors | 899 | cases.json |
| by the Secretary of State | 2 | cases.json |
| by councils (committee + delegated) | 70 | cases.json |
| Applying the 2026 Framework | 858 | nppf_applied = 2026-08 |
| Transitional (2024 Framework) | 47 | nppf_applied = 2024-12 |
| No Framework version cited | 66 | nppf_applied = not-cited |
| Decision letters in the corpus | 1400 | state.json |
| Awaiting distillation into the database | 0 | state.json |
| Newest decision | 30 September 2026 | state.json |
| Last harvest of new decisions | 30 September 2026 | manifest.json |
2. External cross-references
Independent sources our notes have been checked against, and the outcome. This list will grow.
| Source | Outcome | Notes & watch-points |
|---|---|---|
| Planning Geek — "Presumption in favour of sustainable development" Page updated 17 Sep 2026; written for the 2026 Framework (cites policies S3–S6). |
Consistent | Agrees with our S3–S6 notes (principle-and-balance.md) and the NPPF text: the tilted balance / 2024 paragraph 11(d) is replaced by the location-based S3–S6 structure. Two watch-points:
|
3. Inconsistencies found
Two strands of work. The first tests every appeal decision in the database against the Framework. The second compares Stratford-on-Avon District Council's own decisions — both against each other and against appeal decisions.
Across all appeal decisions
Every appeal in the database — 899 Planning Inspectorate and 2 Secretary of State decisions — was tested against six issues drawn from the Stratford note. All 879 quotations in the per-case tables were machine-checked against the letters, and all matched. "Differs" mostly means a different route to the same result; it changes the outcome only where the appeal was allowed. Full detail: the Council-decisions review page.
| Issue | Arises | Applies the test | Differs (borderline) | Differs & allowed |
|---|---|---|---|---|
| 1. DP3(3) design as a "should be refused" policy | 232 | 96 (41%) | 136 (121 reach the same result another way) | 8 |
| 2. Heritage harm method (HE6, HE4, HE7) | 199 | 166 (83%) | 33 (13) | 4 |
| 3. Weight given to plan policies (Annex A(2)) | 96 | 72 (75%) | 24 (10) | 8 |
| 4. Location shortcuts in the Green Belt | 122 | 95 (78%) | 27 (14) | 9 |
| 5. Walking routes, stations, access (TR3) | 130 | 101 (78%) | 29 (18) | 18 |
| 6. Which Framework is applied (Annex A(1)) | 820 | 733 (89%) +45 immaterial 2024 wording | 42 applied 2024 | 14 |
Borderline cases are marked where the required step is missing but the result would plainly be the same (e.g. Lydiard Millicent 6001260 on TR3, issue 5).
Issue 1 — DP3(3), broken down
DP3(3) makes a proposal "should be refused" if, without clear justification, it conflicts with any one of three things:
- DP3(1) context — the history, character and features of the site and its setting, and integration with its surroundings.
- The relevant DP3(2) principles — (a) liveability, (b) climate, (c) nature and green infrastructure (tree cover), (d) movement, (e) built form, (f) public space, (g) identity and local character.
- An explicit design standard in the development plan — a Village Design Statement, design guide, code or masterplan; DP3(3) gives substantial weight to compliance (the clearest dataset example is 6010826).
Of the 232 appeals where design harm arose, the numbers split by type of inconsistency as follows. Only the last two rows change an outcome; the middle two reach the same result by another route and are not errors.
| How DP3(3) was handled | Appeals | Outcome |
|---|---|---|
| Named DP3(3) and asked the clear-justification question | 96 | the test applied as written |
| Differed — weighed the design harm as ordinary harm | 81 | all dismissed (same result) |
| Differed — dismissed on the local plan (s38(6)) | 40 | all dismissed (same result) |
| Differed — used 2024 design wording | 9 | 2 allowed |
| Differed in substance — conflict found, clear justification never asked | 6 | all allowed: Burnett 6005916 (borderline), Cople 6011253, Watlington 6007871 (borderline), Highbury 6005904, Buntingford 6008238 (borderline), West Wickham 6007183 (borderline) |
| Total | 232 | 8 allowed where it differed |
What "clear justification" means is unsettled; inspectors read it two ways, and no Secretary of State or court decision has settled which is right:
- Necessity — the conflict is justified only if it is unavoidable to deliver the development (Polegate 6008314 ¶43; at a hearing, Bilsborrow 6007133 ¶59 refused on this reading).
- Level balance — the conflict is justified if the benefits outweigh the harm (Didcot 6009340 ¶22; at a hearing, Aston Clinton 6008253 ¶86 allowed on this reading).
Either reading is stricter than the S4/S5 "substantially outweighed" test, which favours approval. The Navigator now takes this in two steps — a checklist of what the scheme conflicts with, then the clear-justification call — mirroring this breakdown.
Stratford-on-Avon District Council's own decisions
The Stratford note works through six issues, each looked at two ways: whether the Council is consistent with itself, and whether it matches how inspectors decide the same question. The sharpest contrast is on walking routes: Alcester ✓ treated a policy failure as a "should be refused" trigger and refused, while Snitterfield ✗ found character harm but granted without asking whether there was clear justification.
| Issue | Within the Council | vs appeal decisions | What is at stake |
|---|---|---|---|
| 1. DP3(3) as a "should be refused" policy | Reasoning gap | Inconsistent | Alcester refused on a flood trigger; Snitterfield (granted) found "significant harm to the character of the area" but cited DP3(3) only for weight, never asking whether there was clear justification. Inspectors (Kings Langley, Hook-a-Gate, Ware) treat a DP3 design conflict as engaging DP3(3) and refuse. |
| 2. Heritage harm at Forest Farm | Hard to reconcile | Differs in method | Forest Farm found HE6 and 1990 Act conflict then granted in the S4 balance; Ilmington weighed the harm and refused. Inspectors (Hunmanby, Bagnall, Smarden) weigh heritage harm on its own terms. |
| 3. Reason given for discounting CS.8 | Reasoning gap | Differs in method | Three reports declared CS.8 "materially inconsistent" without saying which part conflicts, then relied on CS.8 anyway. Annex A(2) reduces weight only for the conflicting part. |
| 4. Location shortcuts in the Green Belt | Reasoning gap | Differs in method | Tanworth ran the S5(1)(j) "well-related to a settlement" test on a washed-over village; Earlswood passed GB7(1)(g)(iii) on a boundary line. S5 does not decide Green Belt cases (S5(5)); Annex B excludes washed-over villages from "settlement". |
| 5. Walking routes and stations | Reasoning gap | Differs in method | None of the reports uses the Connectivity Tool or tests the actual route; both lean on Local Service Village status as proof of sustainability. Inspectors decide on the route: a 350 m station did not save Hatton, a named service village did not save Findon. |
| 6. Reports written under the 2024 Framework | Reasoning gap | Differs in method | Coverwell Farm applied the 2024 Framework on 17 August; Kineton and Oxhill kept the 2024 balance. Annex A(1): the 2026 policies apply from the day of publication. |
What the labels mean. Inconsistent: comparable facts, opposite answers to the same Framework question. Hard to reconcile: the conclusion does not follow from the decision's own findings. Reasoning gap: a required step is missing or the stated reason is wrong (the result may still be defensible). Differs in method: the Council applies a different test from the one inspectors apply — refusals reasoned this way risk being overturned at appeal; grants are open to challenge.