What this pack is

2 contests, 275 people, 5 poll response rows, 3,405 result rows and 0 money edges, built 2026-09-03.

The cycle phase shown on every contest is computed from the election date and how well that date is known. The corpus carries its own status column; it disagrees with the derived phase on 20 of the 61 contests across all twenty-two countries, so it is carried through but never read.

Money rows and result rows are held off the site at their full grain: the staged corpus is 156 MB. What is published here is the aggregate computed once at build time, and every aggregate states the number of rows it stands for.

Everything known to be wrong or limited

licence · grain · method
  • No date: Const. Art.85(1) sets a five-year term whose start date is genuinely unfixed in Nepali law. Window 2031-03-05 to 2031-04-02.
  • vote_share in this pack is a FRACTION of 1 (largest observed 0.839124), not a percentage. India and Nigeria file percentages; the rest file fractions.

The pack's own record

every URL fetched, every inclusion and exclusion
SOURCES.md
# Nepal elections pack — sources

Pack date: 2026-09-03. ISO3=`npl`. No Wikipedia used. Amounts, vote counts, poll percentages and bios were not invented.

## Elections / calendar

- Election Commission Nepal bulletin confirming the House election for **2082 Falgun 21 / 2026-03-05** and the final PR candidate list: https://ebulletin.election.gov.np/2026/02/2672/
- Election Commission Nepal main site / electoral body: https://election.gov.np/
- Election Commission candidate-list page (checked while locating official 2082 material): https://election.gov.np/np/page/candidate-list-hor
- ECN election code of conduct / expenditure rules: https://election.gov.np/admin/public/storage/HoR/LAw/Election%20Code%20of%20Conduct%20final%20.pdf
- ECN call-centre bulletin confirming where 2082 candidate information and spending-account requirements are published: https://ebulletin.election.gov.np/2026/02/2945/

## People

- Official Federal Parliament roster page: https://hr.parliament.gov.np/en/members
- Official bulk roster endpoint used: https://hr.parliament.gov.np/api/v1/members?getAllMemberDownload=true&show_member=active
- Exactly 275 rows with `parliament_type=hr` and `registered_date=2082` were written. `person_id=hrp-{API id}`. Photos and profile URLs come from the same official payload/site.
- Parliament home and publication pages checked while validating the roster: https://hr.parliament.gov.np/en and https://hr.parliament.gov.np/en/publication/1708442099
- No explicit open reuse licence was located on the Federal Parliament site; rows say so.

## Results

- Official ECN results portal: https://result.election.gov.np/FPTPWLChartResult2082.aspx
- Official constituency UI: https://result.election.gov.np/MapElectionResult2082.aspx
- Official PR summary page checked: https://result.election.gov.np/PRVoteChartResult2082.aspx
- The portal's own scripts disclose the official JSON structure: https://result.election.gov.np/JSLibrary/Common.js?v=1.3 and https://result.election.gov.np/Scripts/MapElectionResult.js?v=2.9
- `results.csv` uses all 165 official FPTP constituency payloads at the portal pattern `https://result.election.gov.np/Handlers/SecureJson.ashx?file=JSONFiles/Election2082/HOR/FPTP/HOR-{district}-{constituency}.json` (3,405 candidate rows). Votes are copied; `vote_share` is calculated within each constituency; `seats=1` only where ECN says `Remarks=Elected`.
- ECN `CandidateID` is preserved in `result_id`; `person_id` is blank because it does not join the Parliament API roster namespace.

## Polls

- People’s Pulse 2026 methodology / fieldwork: https://kathmandupost.com/national/2026/02/25/people-s-pulse-2026
- Published voting-factor toplines used: https://kathmandupost.com/national/2026/02/26/people-s-pulse-2026-voters-look-beyond-manifestos-prioritise-delivery-and-candidate-competence
- Companion report printing ±5-point MoE for the same survey: https://kathmandupost.com/national/2026/02/27/citizens-link-corruption-to-service-delays-and-institutional-effectiveness-survey-finds
- These pages were reviewed but not ingested: `polls.csv` is header-only per the requested thin-pack treatment.

## Money

- ECN notice index checked: https://election.gov.np/np/notice
- ECN reporting directory checked: https://ieims.election.gov.np/Reporting/ELECTIONMANAGEMENT/Reports/
- Publicly discoverable 2082 expenditure material was notices/forms and Nepali-language/PDF-style disclosure, not a bulk machine-readable transaction table carrying stable Parliament member ids. `money-edges.csv` is therefore header-only.

## Probe log / failures

- A prior box probe of `https://election.gov.np/` timed out. The required single retry encountered TLS certificate verification failure (`curl` error 60); a public-page fallback with certificate verification disabled returned HTTP 200.
- `https://hr.parliament.gov.np/` likewise failed strict TLS verification; the public roster/API fallback succeeded with HTTP 200.
- Direct unauthenticated calls to the ECN `SecureJson.ashx` handler returned HTTP 403. The official portal flow subsequently exposed the same official constituency JSON payloads used in `results.csv`.

## 2026-09-03 update — established npl-hor-2026 identity + forward row (npl-hor-2031)

Per audit instruction, first re-established what the existing `npl-hor-2026` row actually represents
(it was ambiguous given Nepal's 2025 political crisis), then added a genuine forward-looking row.

### What npl-hor-2026 is (verified independently, not assumed)

- Nepal's Office of the President dissolved the previous (6th) House of Representatives effective
  11:00 PM, Friday, 12 September 2025 (Bhadra 27, 2082 BS), on the recommendation of interim PM
  Sushila Karki, and fixed the new House of Representatives election for Thursday, 5 March 2026
  (Falgun 21, 2082 BS). This followed the September 2025 "Gen Z" anti-corruption protests that forced
  PM K.P. Sharma Oli's resignation. Official ECN confirmation already cited in this file:
  https://ebulletin.election.gov.np/2026/02/2672/ ; ECN portal: https://election.gov.np/
- The 5 March 2026 election (275 seats) produced a Rastriya Swatantra Party landslide (182 seats).
  Newly elected members took the oath of office 26 March 2026; the House's first formal session
  convened 2 April 2026; Balendra "Balen" Shah (RSP) was sworn in as Prime Minister 27 March 2026.
  Cross-checked against IFES's non-partisan election snapshot (international elections NGO, used for
  cross-checking only, not as source_url for any row):
  https://www.ifes.org/tools-resources/election-snapshots/elections-nepal-2026-general-elections
- Conclusion: `npl-hor-2026` is the completed snap House of Representatives general election of
  5 March 2026, held under Art. 76(7)/85 following the September 2025 dissolution — not a leftover
  reference to the dissolved 2022 House, and not related to the concurrently-run National Assembly
  (upper house) election of 25 January 2026 (a routine one-third rotation of 18 of 59 seats, unrelated
  dissolution-wise, already completed before the pack date and not a forward contest).

### Legal basis for the forward row (npl-hor-2031)

- Constitution of Nepal, official English text, Nepal Law Commission (Government of Nepal):
  https://lawcommission.gov.np/content/13437/nepal-s-constitution/ (PDF asset served from the
  Commission's official CDN, gov.np domain). Art. 85(1): "Unless dissolved earlier ... the term of the
  House of Representatives shall be five years." The article does not specify the date from which the
  five years is counted.
- Kathmandu Post reporting (background only, not used as source_url for the legal basis) documents
  that this start-date question is genuinely unresolved in Nepali law: officials, MPs and legal experts
  have variously proposed polling day, the day the Election Commission certifies results, or the day
  the House holds its first sitting; a 2022 government bill to fix it at "first sitting" was tabled and
  then withdrawn after Election Commission objection.
  https://kathmandupost.com/national/2022/03/20/when-does-the-term-of-current-house-expire-no-one-actually-knows
  https://kathmandupost.com/national/2022/09/07/government-backs-off-from-plan-to-keep-the-lower-house-and-provincial-assemblies-alive-until-the-new-houses-replace-them
- Because every candidate start-date for the House elected 5 March 2026 (poll day 2026-03-05, oath
  2026-03-26, first session 2026-04-02) is known, the five-year term is due to lapse somewhere between
  2031-03-05 and 2031-04-02 absent an earlier dissolution. `election_date` left blank;
  `date_confidence=constitutional_due`.
- Checked and explicitly NOT added: (a) the next National Assembly rotation — no date has been
  officially scheduled (the 25 Jan 2026 vote already filled the only seats currently due); (b) the 2027
  local-level election — ECN has only informally signalled April/May 2027 (terms expire 13/14 May
  2027) and has not issued an official election-day notification as of 2026-09-03, so it does not meet
  the "officially scheduled" bar for this layer. No Wikipedia used anywhere in this update.
HANDOFF.md
# NPL elections pack handoff

Written 2026-09-03 to `/workspace/elections-ingest/npl/`.

## Files / counts

| File | Rows (excl. header) | Path |
|---|---:|---|
| elections.csv | 1 | /workspace/elections-ingest/npl/elections.csv |
| people.csv | 275 | /workspace/elections-ingest/npl/people.csv |
| money-edges.csv | 0 | /workspace/elections-ingest/npl/money-edges.csv |
| polls.csv | 0 | /workspace/elections-ingest/npl/polls.csv |
| results.csv | 3405 | /workspace/elections-ingest/npl/results.csv |
| SOURCES.md | — | /workspace/elections-ingest/npl/SOURCES.md |
| STATS.json | — | /workspace/elections-ingest/npl/STATS.json |
| HANDOFF.md | — | /workspace/elections-ingest/npl/HANDOFF.md |

## Cycle status

- `npl-hor-2026` **sitting** — completed **2026-03-05**, `date_confidence=confirmed_official`; about 182 days before the pack date.
- There is deliberately **no future Nepal election row**. Do not reinterpret flood/monsoon coverage as polling or a new election call.

## People / join keys

- 275 sitting House members from the official Federal Parliament bulk API, filtered to `parliament_type=hr` and `registered_date=2082`.
- `person_id=hrp-{Federal Parliament API id}`. Incumbents attach to `npl-hor-2026`.
- `bio_text` is empty rather than authored. Photos and profile links are official.
- ECN candidate IDs remain embedded in stable `result_id` values; `results.person_id` is blank because ECN candidate IDs do not join the Parliament roster IDs. **No name-based crosswalk** was made.

## Money

Header-only. ECN publishes expenditure notices, forms and statements primarily as Nepali-language/PDF material; no bulk machine-readable transaction table with stable Parliament member ids was located. No NPR amount was transcribed or invented.

## Polls

Header-only per the requested thin-pack treatment. A media survey was located but not ingested because this pack was instructed to leave Nepal polling empty; monsoon/flood reporting is not polling.

## Last-cycle returns

`results.csv` contains **3,405** candidate rows from all **165** official ECN 2082 FPTP constituency JSON payloads. Vote counts are official; vote share is calculated per constituency. This does not add the 110 PR allocation as candidate-return rows.

## Licences / caveats

- Federal Parliament and ECN did not state an explicit open reuse licence on the fetched pages; preserve source attribution and review reuse rights before redistribution.
- Nepal names/parties in `results.csv` are official Nepali-script strings; they were not translated.
- Do not fuzzy-join `ecn-*` result ids to `hrp-*` roster ids.

## 2026-09-03 — clarified npl-hor-2026 identity + added forward row npl-hor-2031

Audit found npl had zero forward-looking rows. Before adding anything, re-verified from official/
independent sources exactly what the sole existing row represents, since Nepal's 2025–26 political
sequence (Gen Z protests → dissolution → snap election) made the previous HANDOFF's one-line
description worth double-checking rather than assuming.

### What npl-hor-2026 actually is

Confirmed: the House of Representatives (6th, elected Nov 2022) was dissolved by the President
effective 11 PM on **12 September 2025** on interim PM Sushila Karki's recommendation, following the
September 2025 "Gen Z" anti-corruption protests that forced PM K.P. Sharma Oli's resignation. A fresh
275-seat House of Representatives general election was set for and held on **5 March 2026** (2082
Falgun 21) — this is `npl-hor-2026`. Rastriya Swatantra Party won a landslide (182/275 seats); members
took the oath of office 26 March 2026; the House's first session convened 2 April 2026; Balendra Shah
was sworn in as PM 27 March 2026. This is **not** related to the separately-held National Assembly
(upper house) election of 25 January 2026, which was a routine biennial one-third rotation (18 of 59
seats) unaffected by the HoR dissolution and already complete before the pack date — correctly not a
forward contest and correctly not folded into `npl-hor-2026`. See `SOURCES.md` for full citations.

### Row added: npl-hor-2031 (next House of Representatives election)

- **Date:** left **blank**, `date_confidence=constitutional_due`. Constitution of Nepal Art. 85(1)
  fixes the House's term at five years unless dissolved earlier, but — confirmed via the Nepal Law
  Commission's official text and corroborating Kathmandu Post reporting — **Nepali law does not fix
  the date the five years is counted from**. This has been a live, unresolved dispute since at least
  2022 (candidates floated: polling day, EC result-certification day, or first-sitting day; a 2022 bill
  to legislate "first sitting" was withdrawn after EC objection). Rather than invent a single date, the
  row's `notes` state the honest window: using the current House's actual dates (elected 2026-03-05,
  oath 2026-03-26, first session 2026-04-02), the five-year term is due to lapse somewhere between
  **2031-03-05 and 2031-04-02**, absent an earlier dissolution.
- **cycle_status:** `sitting` — Nepal's HoR is a live sitting legislature (275-member roster already in
  `people.csv`) and the next vote is unscheduled/>365 days out, matching the schema's `sitting`
  definition (mirrors the Canada/Ireland/Netherlands treatment of their own next-cycle rows).
- **Considered and explicitly not added:**
  - National Assembly — no further rotation is officially scheduled; the one due seat set was just
    filled on 2026-01-25.
  - 2027 local-level election — ECN has only informally signalled April/May 2027 (local-body terms
    expire 13–14 May 2027); no official election-day notification exists yet, so it doesn't meet this
    layer's "officially scheduled" bar. Can be added later once ECN issues a real date.
- **Sources:** Nepal Law Commission official constitution text (Art. 85), ECN's own bulletin already
  on file for the 2026-03-05 vote, and corroborating official-statement quotes and Nepali press for the
  2025-09-12 dissolution / 2026-03-26 oath / 2026-04-02 first-session dates. No Wikipedia anywhere.
- **STATS.json:** `counts.elections` recomputed to **2** directly from the file on disk;
  `cycle_status` map extended with `npl-hor-2031: sitting`.

Licences on the rows

  • No explicit reuse license stated3,680
  • © The Kathmandu Post / Sharecast Initiative; topline as published5