{"schema_version":1,"page_version":"mp-office-page-v1","slug":"harpreet-uppal-huddersfield","generated":"2026-04-30","rollout":"generated","purpose":"Generated LLM-friendly public-data index for MP office workflows. Fetch this file first, then follow the source index links needed for the task.","member":{"member_id":5289,"name":"Harpreet Uppal","party":"Labour","party_slug":"labour","tracker_party_slug":"labour","constituency":"Huddersfield","constituency_id":4112,"tracker_has_full_history":false,"tracker_coverage_start":"2026-04-21","tracker_coverage_end":"2026-05-01"},"theme":{"accent":"#D50000","accent_dark":"#8F0000","accent_tint":"#F6D6D6","accent_soft":"#FFF4F4"},"coverage":{"own_activity_start":"2026-02-03","own_activity_end":"2026-04-28","own_activity_history_scope":"current office-data window","own_activity_counts_are_since_2024_election":false,"local_mentions_start":"2024-07-04","local_mentions_end":"2026-04-30","office_snapshot_start":"2026-01-30","office_snapshot_end":"2026-04-30"},"count_scopes":{"own_activity":{"scope":"current office-data window","start":"2026-02-03","end":"2026-04-28","count_keys":["votes_available","spoken_contributions_available","edms_available","written_questions_available"]},"constituency_mentions":{"scope":"post-2024-election constituency mention extract","start":"2024-07-04","end":"2026-04-30","count_keys":["constituency_mentions_available","constituency_mentions_since_2024_election"]},"current_office_reference_data":{"scope":"current office snapshot","start":"2026-01-30","end":"2026-04-30","count_keys":["awaiting_written_question_answers","registered_interests","committees","bills"]},"selected_party_voting_context":{"scope":"tracker voting-pattern dataset","status":"available","count_key":"party_majority_different_votes_available","count_semantics":"recorded votes where this MP's vote differed from the selected party majority among party MPs who voted"}},"counts":{"constituency_mentions_since_2024_election":151,"votes_available":75,"spoken_contributions_available":13,"edms_available":0,"written_questions_available":2,"constituency_mentions_available":151,"awaiting_written_question_answers":0,"registered_interests":1,"committees":2,"bills":0,"party_majority_different_votes_available":0},"constituency_mention_facets":{"own_member":41,"other_speakers":110,"constituency_name":151,"mapped_place":41,"review_matches":28},"constituency_mention_facets_are_non_exclusive":true,"selected_party_voting_context":{"status":"available","count":0,"count_semantics":"recorded votes where this MP's vote differed from the selected party majority among party MPs who voted","selected_party_slug":"labour","selected_party_label":"Labour","tracker_href":"/mp-tracker?party=labour&mp=5289&view=patterns","party_dataset_pattern_count":2177,"party_dataset_recent_pattern_count":50,"party_dataset_first_pattern_date":"2024-07-23","party_dataset_last_pattern_date":"2026-04-28","divisions_checked":23,"mixed_divisions":92,"source":"commonsvotes-api","meaning":"Recorded votes where this MP's vote differed from the Labour majority in the tracker voting-pattern dataset.","does_not_mean":["A zero count does not mean the MP has no votes.","This is descriptive context, not a score, ranking, or judgement of intent."]},"links":{"html":"/mps/harpreet-uppal-huddersfield","llm_markdown":"/mps/harpreet-uppal-huddersfield/llm.md","data_json":"/mps/harpreet-uppal-huddersfield/data.json","search_manifest":"/mps/harpreet-uppal-huddersfield/search-manifest.json","topics_index":"/mps/harpreet-uppal-huddersfield/topics/index.json","places_index":"/mps/harpreet-uppal-huddersfield/places/index.json","raw_office_data":"/office-data/datasets/office-data-v1-wpc-2024/offices/harpreet-uppal-huddersfield/index.json","tracker":"/mp-tracker?party=labour&mp=5289","tracker_profile":"/mp-tracker?party=labour&mp=5289&view=profile","tracker_briefing":"/mp-tracker?party=labour&mp=5289&view=newsletter","tracker_voting":"/mp-tracker?party=labour&mp=5289&view=patterns","raw_tracker_party_data":"/mp-tracker/data/labour.json"},"source_indexes":{"votes":{"label":"Votes","description":"Commons divisions recorded for the MP in this page's own-activity coverage.","href":"/mps/harpreet-uppal-huddersfield/votes/index.json","count":75,"count_semantics":"records in this generated source index","first_date":"2026-02-03","last_date":"2026-04-28","coverage":{"start":"2026-02-03","end":"2026-04-28","scope":"current office-data window"},"source_note":"Compact division records show this MP's recorded vote and official division URL; open the official source for full division context.","attribution_keys":["uk_parliament"],"preview":{"month_previews":[{"month":"2026-04","count":41,"href":"2026-04.json"},{"month":"2026-03","count":23,"href":"2026-03.json"},{"month":"2026-02","count":11,"href":"2026-02.json"}],"topic_hints":[{"term":"crime and policing bill","count":15},{"term":"crime policing bill","count":15},{"term":"young people","count":10},{"term":"pension schemes bill","count":9},{"term":"victims courts bill","count":6},{"term":"victims and courts bill","count":6},{"term":"children s wellbeing schools bill","count":5},{"term":"national insurance contributions (employer pensions contributions) bill","count":5},{"term":"english devolution community empowerment bill","count":4},{"term":"opposition day","count":4},{"term":"to disagree 5","count":3},{"term":"to disagree 1","count":3}],"vote_counts":{"Aye":61,"No":14}},"months":[{"month":"2026-04","count":41,"href":"2026-04.json"},{"month":"2026-03","count":23,"href":"2026-03.json"},{"month":"2026-02","count":11,"href":"2026-02.json"}]},"spoken-contributions":{"label":"Spoken contributions","description":"Hansard spoken contributions by the MP in this page's own-activity coverage.","href":"/mps/harpreet-uppal-huddersfield/spoken-contributions/index.json","count":13,"count_semantics":"records in this generated source index","first_date":"2026-02-03","last_date":"2026-04-21","coverage":{"start":"2026-02-03","end":"2026-04-28","scope":"current office-data window"},"source_note":"Compact records include a short summary and Hansard URL; do not treat the summary as the full contribution text.","attribution_keys":["uk_parliament"],"preview":{"month_previews":[{"month":"2026-04","count":1,"href":"2026-04.json"},{"month":"2026-03","count":5,"href":"2026-03.json"},{"month":"2026-02","count":7,"href":"2026-02.json"}],"topic_hints":[{"term":"middle east: economic update","count":2},{"term":"middle east","count":2},{"term":"economic update","count":2},{"term":"health","count":2},{"term":"business of the house","count":2},{"term":"business of house","count":2},{"term":"young people","count":2},{"term":"knife crime","count":2},{"term":"money laundering: high street businesses","count":2},{"term":"money laundering","count":2},{"term":"high street businesses","count":2},{"term":"topical questions","count":1}]},"months":[{"month":"2026-04","count":1,"href":"2026-04.json"},{"month":"2026-03","count":5,"href":"2026-03.json"},{"month":"2026-02","count":7,"href":"2026-02.json"}]},"edms":{"label":"Early Day Motions","description":"Early Day Motions signed by the MP in this page's own-activity coverage.","href":"/mps/harpreet-uppal-huddersfield/edms/index.json","count":0,"count_semantics":"records in this generated source index","first_date":"","last_date":"","coverage":{"start":"2026-02-03","end":"2026-04-28","scope":"current office-data window"},"source_note":"Compact EDM records include title, date, signature context where available, and official URL; open the official source for motion text.","attribution_keys":["uk_parliament"],"preview":{},"months":[]},"written-questions":{"label":"Written questions","description":"Written questions tabled by the MP in this page's own-activity coverage.","href":"/mps/harpreet-uppal-huddersfield/written-questions/index.json","count":2,"count_semantics":"records in this generated source index","first_date":"2026-02-20","last_date":"2026-03-09","coverage":{"start":"2026-02-03","end":"2026-04-28","scope":"current office-data window"},"source_note":"Compact records include question text, status, department, answer date/member where available, and official URL; full written answers are not embedded.","attribution_keys":["uk_parliament"],"preview":{"month_previews":[{"month":"2026-03","count":1,"href":"2026-03.json"},{"month":"2026-02","count":1,"href":"2026-02.json"}],"topic_hints":[{"term":"social care","count":2},{"term":"health","count":2},{"term":"pregnancy: temperature","count":1},{"term":"pregnancy","count":1},{"term":"young people","count":1},{"term":"hospices: children","count":1}],"top_departments":[{"department":"Department of Health and Social Care","count":2}],"status_counts":{"Answered":2}},"months":[{"month":"2026-03","count":1,"href":"2026-03.json"},{"month":"2026-02","count":1,"href":"2026-02.json"}]},"constituency-mentions":{"label":"Constituency mentions","description":"Hansard contributions matched to the constituency name or mapped local places.","href":"/mps/harpreet-uppal-huddersfield/constituency-mentions/index.json","count":151,"count_semantics":"records in this generated source index","first_date":"2024-07-10","last_date":"2026-04-21","coverage":{"start":"2024-07-04","end":"2026-04-30","scope":"post-2024-election constituency mention extract"},"source_note":"Evidence-ranked Hansard matches include match basis, confidence, signals, matched terms, and official URL; check context before reuse.","attribution_keys":["ons_wpc_2024","os_open_names_2026_04","osni_gazetteer_2025_10_14","project_common_place_collision_words","uk_parliament"],"preview":{"month_previews":[{"month":"2026-04","count":2,"href":"2026-04.json"},{"month":"2026-03","count":4,"href":"2026-03.json"},{"month":"2026-02","count":7,"href":"2026-02.json"},{"month":"2026-01","count":5,"href":"2026-01.json"},{"month":"2025-12","count":4,"href":"2025-12.json"},{"month":"2025-11","count":11,"href":"2025-11.json"}],"topic_hints":[{"term":"huddersfield","count":142},{"term":"young people","count":14},{"term":"health","count":13},{"term":"humanitarian situation in sudan","count":13},{"term":"renters’ rights bill","count":9},{"term":"renters rights bill","count":9},{"term":"income tax (charge)","count":9},{"term":"income tax charge","count":9},{"term":"youth provision: universal and targeted support","count":6},{"term":"youth provision","count":6},{"term":"universal targeted support","count":6},{"term":"engagements","count":5}],"confidence_band_counts":{"high":123,"medium":28}},"months":[{"month":"2026-04","count":2,"href":"2026-04.json"},{"month":"2026-03","count":4,"href":"2026-03.json"},{"month":"2026-02","count":7,"href":"2026-02.json"},{"month":"2026-01","count":5,"href":"2026-01.json"},{"month":"2025-12","count":4,"href":"2025-12.json"},{"month":"2025-11","count":11,"href":"2025-11.json"},{"month":"2025-10","count":9,"href":"2025-10.json"},{"month":"2025-09","count":4,"href":"2025-09.json"},{"month":"2025-07","count":21,"href":"2025-07.json"},{"month":"2025-06","count":13,"href":"2025-06.json"},{"month":"2025-05","count":9,"href":"2025-05.json"},{"month":"2025-04","count":2,"href":"2025-04.json"},{"month":"2025-03","count":11,"href":"2025-03.json"},{"month":"2025-02","count":12,"href":"2025-02.json"},{"month":"2025-01","count":12,"href":"2025-01.json"},{"month":"2024-12","count":2,"href":"2024-12.json"},{"month":"2024-11","count":15,"href":"2024-11.json"},{"month":"2024-10","count":1,"href":"2024-10.json"},{"month":"2024-09","count":6,"href":"2024-09.json"},{"month":"2024-07","count":1,"href":"2024-07.json"}]},"geography":{"label":"Geography terms","description":"Constituency name and source-derived place terms used for Constituency Mentions.","href":"/mps/harpreet-uppal-huddersfield/geography/index.json","count":58,"mapped_place_term_count":57,"mapped_place_term_counts_by_type":{"hamlet":2,"suburban area":51,"town":1,"village":3},"source_note":"Constituency name and public source-derived place terms used to find Constituency Mentions; no boundary geometry is embedded.","attribution_keys":["ons_wpc_2024","os_boundary_line_2025_10","os_open_names_2026_04","osni_gazetteer_2025_10_14","project_common_place_collision_words"]},"open-follow-ups":{"label":"Open follow-ups","description":"Canonical awaiting-answer written-question queue reconciled from current office data and generated own-activity records.","href":"/mps/harpreet-uppal-huddersfield/open-follow-ups/index.json","count":0,"count_semantics":"canonical awaiting-answer written-question records","coverage":{"start":"2026-01-30","end":"2026-04-30","scope":"current office snapshot reconciled against generated own-activity records"},"source_note":"Canonical public follow-up queue for written questions still awaiting answer; open the official question URL for live status and answer text.","attribution_keys":["uk_parliament"]},"current-snapshot":{"label":"Current office reference data","description":"Awaiting written-question answers, registered interests, committee records, and bill records from the current office snapshot.","href":"/mps/harpreet-uppal-huddersfield/current-snapshot/index.json","count":3,"record_count":3,"section_count":2,"count_semantics":"underlying records across current office reference-data components","component_counts":{"awaiting_written_question_answers":0,"registered_interests":1,"committees":2,"bills":0},"coverage":{"start":"2026-01-30","end":"2026-04-30","scope":"current office snapshot"},"source_note":"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.","attribution_keys":["uk_parliament"]}},"retrieval_indexes":{"search_manifest":{"href":"/mps/harpreet-uppal-huddersfield/search-manifest.json","count":93,"source_counts":{"committees":2,"interests":1,"spoken-contributions":13,"votes":75,"written-questions":2},"bytes":79724,"sharded":false,"attribution_keys":["uk_parliament"]},"topics":{"href":"/mps/harpreet-uppal-huddersfield/topics/index.json","count":7,"topic_slugs":["young-people","health","crime-and-policing-bill","artificial-intelligence","social-care","send","registered-interests"],"attribution_keys":["ons_wpc_2024","os_open_names_2026_04","uk_parliament"]},"places":{"href":"/mps/harpreet-uppal-huddersfield/places/index.json","count":58,"mentioned_place_count":7,"attribution_keys":["ons_wpc_2024","os_open_names_2026_04","uk_parliament"]},"open_follow_ups":{"href":"/mps/harpreet-uppal-huddersfield/open-follow-ups/index.json","count":0,"description":"Canonical awaiting-answer written-question queue reconciled from current office data and generated own-activity records.","attribution_keys":["uk_parliament"]}},"licences":[{"key":"ons_wpc_2024","label":"ONS Westminster Parliamentary Constituency boundaries","licence":"Open Government Licence v3.0","licence_url":"https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/","notice":"Contains public sector information licensed under the Open Government Licence v3.0; source: Office for National Statistics.","source_version":"WPC July 2024 Boundaries EW BFE"},{"key":"os_boundary_line_2025_10","label":"OS Boundary-Line","licence":"Open Government Licence v3.0","licence_url":"https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/","notice":"Contains OS data © Crown copyright and database right.","source_version":"OS Boundary-Line 2025-10 enrichment-only"},{"key":"os_open_names_2026_04","label":"OS Open Names","licence":"Open Government Licence v3.0","licence_url":"https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/","notice":"Contains OS data © Crown copyright and database right.","source_version":"OS Open Names 2026-04"},{"key":"osni_gazetteer_2025_10_14","label":"OSNI Place Names Gazetteer","licence":"Open Government Licence compatible OSNI attribution","licence_url":"https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/","notice":"Contains Ordnance Survey of Northern Ireland data.","source_version":"OSNI Place Names Gazetteer 2025-10-14"},{"key":"project_common_place_collision_words","label":"Project common place-collision terms","licence":"project-reviewed term list; no external wordlist package","notice":"Used for deterministic dictionary-collision detection in the generated ambiguous register.","source_version":"project-common-place-collision-terms-v1"},{"key":"uk_parliament","label":"UK Parliament public data","licence":"Open Parliament Licence v3.0","licence_url":"https://www.parliament.uk/site-information/copyright-parliament/open-parliament-licence/","notice":"Contains Parliamentary information licensed under the Open Parliament Licence v3.0."}],"limitations":["This is a descriptive index of public parliamentary data, not a performance score.","Current office snapshot data is reference data. Own MP activity uses full post-2024-election tracker or office-data history where available, otherwise the current office-data window.","Constituency Mentions are evidence-ranked matches and should be checked against the linked Hansard source before reuse."]}
