Civicord · UK · Browse / Labour Party / Greenwich and Woolwich / Matthew Pennycook

Campaign site for Matthew Pennycook (Labour Party — Greenwich and Woolwich), scraped April 2025, audited September 2026.

Matthew Pennycook

View evidenceBefore and afterPropose a correctionIs this your record? Claim itReply if this is wrongMore change stories ↗See what you followQuery The Graph

Snapshot audit, not a current availability check. HTTP success and surname matches do not prove campaign content survived. On-chain fields are on Sepolia testnet; full content is not stored on-chain.

URLs responding — Matthew Pennycook's recorded URLs returned successful HTTP responses at the 2026-09-07 audit. This does not establish that campaign content survived.

Labour Party: 61% responding across the party · this candidate: responding.See the cohort ↗

Stood in Greenwich and Woolwich — 1 of 1 sites responding (100%) · 0 unreachable · 1 redirected

E14001257 · Greater London · England · 69,824 electorate · Halftone: more / larger paper dots = lower response rate.

  1. Apr 2025scraped
  2. Sep 2026audited
  3. PendingSepolia

Before and after

April site-wide text vs the 2026-09-21 homepage fetch of https://www.matthewpennycook.com: 2 sentences still present, 3 no longer found, 3 new. These are candidates for review, not proof a sentence was withdrawn.The April text covers the whole scraped site; the later text is one homepage fetch. A sentence can be missing from that homepage and still exist on another page. A missing sentence is not matched to a replacement.

Before · April 2025

Matthew Pennycook MP The latest from Matthew My constituency: Greenwich and Woolwich I represent the parliamentary constituency of Greenwich and Woolwich (which covers parts but not all of the Royal Borough of Greenwich).

After · 21 September 2026

Not found on the homepage fetch.

https://www.matthewpennycook.com

Gap: no replacement sentence is matched. The April text covers the whole scraped site; the later text is one homepage fetch. A sentence can be missing from that homepage and still exist on another page.

Before · April 2025

The constituency is made up of the communities of Woolwich, Charlton, Greenwich and parts of Blackheath and Plumstead, each of which retain their own distinct character and community spirit.

After · 21 September 2026

Not found on the homepage fetch.

https://www.matthewpennycook.com

Gap: no replacement sentence is matched. The April text covers the whole scraped site; the later text is one homepage fetch. A sentence can be missing from that homepage and still exist on another page.

Before · April 2025

Dear constituents, Being the MP for Greenwich and Woolwich is the biggest responsibility I will ever have.

After · 21 September 2026

Not found on the homepage fetch.

https://www.matthewpennycook.com

Gap: no replacement sentence is matched. The April text covers the whole scraped site; the later text is one homepage fetch. A sentence can be missing from that homepage and still exist on another page.

New on the later homepage, not matched to a removed sentence

Propose a correction

If a URL, name, or sentence on this record is wrong, send a sourced request. It is queued for a person to review. It does not change the audit, the April scrape, the sentence comparison, or the Sepolia record.What is verified, and what is not.

Review queue

Requests stored for this record. A request is not an edit.

    Is this your record?

    If you are Matthew Pennycook or work on their campaign, you can claim this record. Say how a reviewer could verify it — a campaign-domain email, a link on the live site, or your Democracy Club profile. A claim is queued for a person to check; it grants no edit access and changes nothing until verified.

    Websites

    Source evidence and excerpts

    These are short excerpts from the April 2025 scrape, not the later wording and not complete archived pages. Original filenames identify the stored extracts. Browse the Campaign Lab source dataset ↗

    Scrape excerpts — April 2025 · 1 shown
    PageCharsOpening excerpt
    content_1.html807
    Dear constituents,
    Being the MP for Greenwich and Woolwich is the biggest responsibility I will ever have.
    As your MP, m…
    Agent viewInspect the data and verify the recordGraph live

    The audit ledger above is a static snapshot. The buttons below run live queries against The Graph and the ledger JSON — only when you click them. Nothing fetches automatically and nothing here is mocked.

    1 Free ledger JSON

    /api/candidates/4343.json

    Static audit record — websites, status, ENS hint.

    2 WebMCP join

    Preferred agent tool — live Graph + ledger verdict.

    compare_onchain_to_ledger(id="4343")
    -> { onchain, ledger, verdict[] }

    3 The Graph (live)

    On-chain p4343.civicord.eth via/api/graph (Studio proxy) — person id, not seat slug.

    {
      candidate(id: "4343") {
        id ensName status url personName textRecordCount
        registeredAt registeredAtBlock owner
      }
      _meta { block { number } hasIndexingErrors }
    }

    Live queries run on demand; a failure is shown honestly, never replaced with a cached response. Verify independently: ENS ·resolver ·Subgraph Studio ·/api/graph ·openapi.yaml ·source

    Jurisdiction

    Reading…

    Reading the public record…

    Reading /api/… — the same static JSON an agent pays for.

    ↑↓ move · ↵ open · Esc close