What This Page Is For
This generated page is the office workflow hand-off for local LLMs such as Copilot or Claude. It is not an official MP website or an endorsement. The page explains the available sources, and the data links split votes, spoken contributions, written questions, EDMs, constituency mentions, geography terms, and current office reference data into smaller JSON files.
The intended use is: read llm.md, fetch data.json, then open only the source index and month file relevant to the user request.
Coverage Summary
Own MP activity covers 2 Feb 2026 to 28 Apr 2026 where available. Constituency mentions cover 4 Jul 2024 to 30 Apr 2026.
Coverage Scope
current office-data window. Own MP activity counts use the current office-data window, not a full since-2024 election total. Use date filters in the tracker or official source links for older own-MP activity.
For older own-MP votes, speeches, written questions, and EDMs, the tracker can run bounded live lookups against public Parliament sources.
Current Office Reference Data
Open current-snapshot/index.json for the underlying awaiting-answer written questions, registered interests summary, committee records, and bill records.
Broader Tracker Workflows
Review date-filtered activity
Open John Cooper in the broader tracker for profile panels, date filters, and tracker-backed older-history tools where available.
Build source-backed briefing
Use the tracker briefing builder for draft blocks from tracker-held speeches, written questions, votes, and EDMs. Constituency-mention JSON on this page is separate; open it from the LLM Data Map when local evidence is needed.
Votes differing from Conservative majority
0 recorded votes where John Cooper's vote differed from the Conservative majority in the tracker voting-pattern dataset. This does not mean zero votes; total votes in this page's own-activity scope: 77. This is descriptive context, not a score.
LLM Data Map
| Open this | Use it for | Records |
|---|---|---|
| Search manifest | Fast topic, status, source, and official-URL triage before opening source shards. | 139 records |
| Topic bundles | Deterministic cross-source evidence bundles with official-source deepening guidance. | 5 topics |
| Places index | Place-first routing for Constituency Mentions with ambiguity and confidence signals. | 198 places |
| Open follow-ups | Canonical awaiting-answer written-question queue reconciled from current office data and generated own-activity records.Scope: current office snapshot reconciled against generated own-activity records. Coverage dates: 2026-01-30 to 2026-04-30.Canonical public follow-up queue for written questions still awaiting answer; open the official question URL for live status and answer text. | 1 record |
| Written questions | Written questions tabled by the MP in this page's own-activity coverage.Scope: current office-data window. Coverage dates: 2026-02-02 to 2026-04-28.Compact records include question text, status, department, answer date/member where available, and official URL; full written answers are not embedded. | 18 records |
| Spoken contributions | Hansard spoken contributions by the MP in this page's own-activity coverage.Scope: current office-data window. Coverage dates: 2026-02-02 to 2026-04-28.Compact records include a short summary and Hansard URL; do not treat the summary as the full contribution text. | 37 records |
| Votes | Commons divisions recorded for the MP in this page's own-activity coverage.Scope: current office-data window. Coverage dates: 2026-02-02 to 2026-04-28.Compact division records show this MP's recorded vote and official division URL; open the official source for full division context. | 77 records |
| Early Day Motions | Early Day Motions signed by the MP in this page's own-activity coverage.Scope: current office-data window. Coverage dates: 2026-02-02 to 2026-04-28.Compact EDM records include title, date, signature context where available, and official URL; open the official source for motion text. | 2 records |
| Constituency mentions | Hansard contributions matched to the constituency name or mapped local places.Scope: post-2024-election constituency mention extract. Coverage dates: 2024-07-04 to 2026-04-30.Evidence-ranked Hansard matches include match basis, confidence, signals, matched terms, and official URL; check context before reuse. | 155 records |
| Geography terms | Constituency name and source-derived place terms used for Constituency Mentions.Constituency name and public source-derived place terms used to find Constituency Mentions; no boundary geometry is embedded. | 199 terms |
| Current office reference data | Awaiting written-question answers, registered interests, committee records, and bill records from the current office snapshot.Scope: current office snapshot. Coverage dates: 2026-01-30 to 2026-04-30.Current office reference data from the office snapshot. The count is the sum of component records: awaiting written-question answers, registered interests, committee records, and bill records. | 7 records across components |
Constituency Mentions
Constituency Mentions are not just searches for the constituency name. The generator also uses mapped place terms for Dumfries and Galloway, keeps match evidence such as matched terms and confidence, and links back to the Hansard contribution so the office can check context before reuse.
Mapped place terms used for matching (198)
These constituency place terms are searched alongside the constituency name. Open geography/index.json for the machine-readable list with source metadata. Check matched mentions against the linked Hansard context before reuse.
Hamlet
- Anwothhamlet
- Auchenmalghamlet
- Bankendhamlet
- Barnbarrochhamlet
- Barrachanhamlet
- Blackshawhamlet
- Braehamlet
- Braeheadhamlet
- Burnfoothamlet
- Carty Porthamlet
- Caulkerbushhamlet
- Causeway Endhamlet
- Challochhamlet
- Clachanmorehamlet
- Clanyardhamlet
- Clarebrandhamlet
- Damnaglaurhamlet
- Dromorehamlet
- Dundeughhamlet
- East Cludenhamlet
- Elrighamlet
- Erviehamlet
- Gatesidehamlet
- Girthonhamlet
- Glenlocharhamlet
- Glenstockdalehamlet
- Innermessanhamlet
- Islestepshamlet
- Keltonhamlet
- Kendoonhamlet
- Killywhanhamlet
- Kirkandrewshamlet
- Kirkmaidenhamlet
- Knockbrexhamlet
- Lamachan Viewhamlet
- Lime Kilnhamlet
- Loch Headhamlet
- Mainsriddlehamlet
- Mansegatehamlet
- Mid Keltonhamlet
- Millhallhamlet
- Miltonhamlet
- Miltonhamlet
- Mossdalehamlet
- Mutehillhamlet
- Old Bridge of Urrhamlet
- Overtonhamlet
- Palnurehamlet
- Partonhamlet
- Penninghamehamlet
- Port o' Warren Bayhamlet
- Portyerrockhamlet
- Prestonmillhamlet
- Rerrick High Rowhamlet
- Sandgreenhamlet
- Shearingtonhamlet
- Spittalhamlet
- Squarepointhamlet
- St Mary's Islehamlet
- Stairhavenhamlet
- Stronordhamlet
- The Lakehamlet
- Throughgatehamlet
- Townheadhamlet
- Townhead of Greenlawhamlet
- Wallacetonhamlet
Other Settlement
- Airdother settlement
- Balmaeother settlement
- Bargrennanother settlement
- Cairngarrochother settlement
- Craigengillanother settlement
- Dinduffother settlement
- Duncan Parkother settlement
- Glassertonother settlement
- Holmheadother settlement
- Holy Croftother settlement
- Kirkdaleother settlement
- Kirklandother settlement
- Knoweother settlement
- Lochanheadother settlement
- Mull of Gallowayother settlement
- North Balfernother settlement
- Penkiln Mewsother settlement
- Sawmill Cottagesother settlement
- Wierstonother settlement
Suburban Area
- Bishop Burnsuburban area
- Bloomfieldsuburban area
- Creebridgesuburban area
- Culhornsuburban area
- Dick's Hillsuburban area
- Dunreggansuburban area
- Gasstownsuburban area
- Gateside of Trenchsuburban area
- Georgetownsuburban area
- Greenbraesuburban area
- Greystonesuburban area
- Kingholm Quaysuburban area
- Larchfieldsuburban area
- Laurieknowesuburban area
- Lincludensuburban area
- Lochfieldsuburban area
- Lochsidesuburban area
- Marchmountsuburban area
- Maxwelltownsuburban area
- Milldamheadsuburban area
- Minnigaffsuburban area
- Nithsidesuburban area
- Noblehillsuburban area
- Ochtreluresuburban area
- Sheuchan Parkssuburban area
- Stoopsuburban area
- Stranraer Townsuburban area
- Suffolk Hillsuburban area
- Summervillesuburban area
- The Grovesuburban area
- Troqueersuburban area
- West Endsuburban area
Town
- Castle Douglastown
- Dalbeattietown
- Dumfriestown
- Gatehouse of Fleettown
- Kirkcudbrighttown
- New Gallowaytown
- Newton Stewarttown
- Stranraertown
- Whithorntown
- Wigtowntown
Village
- Ardwellvillage
- Auchencairnvillage
- Balmaclellanvillage
- Beeswingvillage
- Bladnochvillage
- Borguevillage
- Bridge of Deevillage
- Cairnryanvillage
- Cargenbridgevillage
- Carrick Shorevillage
- Carsethornvillage
- Carsluithvillage
- Carsphairnvillage
- Castle Kennedyvillage
- Colvendvillage
- Corsockvillage
- Creetownvillage
- Crocketfordvillage
- Crossmichaelvillage
- Drummorevillage
- Dundrennanvillage
- Dunragitvillage
- Dunscorevillage
- Garliestonvillage
- Gelstonvillage
- Glencaplevillage
- Glenlucevillage
- Glentrool Villagevillage
- Hardgatevillage
- Haugh of Urrvillage
- Heathhallvillage
- Holywoodvillage
- Isle of Whithornvillage
- Kelton Hillvillage
- Kippfordvillage
- Kirkbeanvillage
- Kirkcolmvillage
- Kirkcowanvillage
- Kirkgunzeonvillage
- Kirkinnervillage
- Kirkpatrick Durhamvillage
- Lauriestonvillage
- Leswaltvillage
- Lochansvillage
- Locharbriggsvillage
- Lochfootvillage
- Mochrumvillage
- Moniaivevillage
- Monreithvillage
- New Abbeyvillage
- New Lucevillage
- Newbridgevillage
- Palnackievillage
- Port Loganvillage
- Port Williamvillage
- Portlingvillage
- Portpatrickvillage
- Ringfordvillage
- Rockcliffevillage
- Sandheadvillage
- Sandyhillsvillage
- Shawheadvillage
- Sorbievillage
- Southernessvillage
- Springholmvillage
- St John's Town of Dalryvillage
- Stoneykirkvillage
- Terreglesvillage
- Tonglandvillage
- Twynholmvillage
- Whauphillvillage
Facet counts overlap: one contribution can be counted in more than one match category.
Recent Examples
These are not a separate date-range sample. Each panel shows up to four most recent records from that source index. Open the relevant source index for the full coverage dates and month files.
Written Questions
- Genetically Modified Organisms: Crops21 Apr 2026 | Answered | Department for Environment, Food and Rural Affairs
- Genetically Modified Organisms: Crops21 Apr 2026 | Answered | Department for Environment, Food and Rural Affairs
- Agriculture: UK Trade with EU21 Apr 2026 | Answered | Department for Environment, Food and Rural Affairs
- Research: International Cooperation14 Apr 2026 | Answered | Department for Science, Innovation and Technology
Spoken Contributions
- Draft Conservation of Habitats and Species (Offshore Wind) (Amendment etc.) Regulations 202627 Apr 2026
- Topical Questions23 Apr 2026
- Defence Sector22 Apr 2026
- Apprenticeships20 Apr 2026
Constituency Mentions
- Middle East23 Mar 2026
- Marriage Regulations12 Mar 2026
- Marriage Regulations12 Mar 2026
- Social Cohesion Action Plan9 Mar 2026
Important Limits
This is descriptive public-data infrastructure for an office workflow. It is not a score, a ranking, or a judgement of parliamentary performance. Constituency Mention matches should be checked against the linked source before being used in casework, newsletters, or public copy.
Compact JSON records are retrieval pointers, not complete source transcripts. Open the official URLs before quoting written answers, Hansard wording, EDM motion text, or register details.