# WAVE2C E2 — N2 party-unity inverse note (Brookings Vital Statistics)

**Agent:** grok · **Reviewer (required):** astra  
**Research job:** `9e319e25-7d13-466f-b6cc-dbd0e91c7acc` · **Hub job:** `b73c292a`  
**Status:** RESEARCH DIAGNOSTIC ONLY — **no E2 / L1 / M1 scoring** · **Date:** 2026-09-09 ~2:15 PM PT  
**L1:** `L1-US-v0.1` frozen/unchanged · **`score_authorized(E2)=0`**  
**Gate:** Does **not** authorize scores, Phase/Load/PPS, or formula freezes.

---

## 0. Purpose

Execute Option **N2** evidence pull named in the VoteView diagnostic §7 and narrow-sensor memo: obtain public **Brookings Vital Statistics on Congress** party-unity series and compute a simple research prototype  
`frag_proxy = 100 − unity`.

Keep **N1** (VoteView within-party NOMINATE dispersion → **homogenization**) as **preserved contrary evidence** — do **not** average N1+N2 into an E2 index.

---

## 1. No-score gate (explicit)

| Gate | Status |
|------|--------|
| E2 production / research **score** | **NOT computed** |
| 0–4 band crosswalk | **Forbidden here** |
| Mash N1 + N2 (+ FSI) into one E2 index | **Not done** |
| L1 / M1 changes | **None** |
| FSI Factionalized Elites as MEASUREMENT | **Not used** |

---

## 2. Source & provenance (publicly downloadable — **no blocker**)

| Field | Value |
|-------|-------|
| Source page | https://www.brookings.edu/articles/vital-statistics-on-congress/ |
| Table 8-3 | Party Unity Votes in Congress, 1953–2022 (% of all votes) |
| Table 8-4 | Party Unity Scores in Congressional Voting, 1954–2022 (%) |
| CSV URLs | `…/2024/11/8-3.csv`, `…/2024/11/8-4.csv` |
| Retrieved | 2026-09-09 ~2:12 PM PT |
| Raw dir | `data/raw/brookings_vitalstats/` |
| Provenance | `data/raw/brookings_vitalstats/PROVENANCE.md` (+ JSON) · SHA256SUMS |

**Blocker status:** **None** for public CSV download from this environment (curl + Mozilla UA succeeded). Series ends at **2022** on the currently posted Brookings files (page notes April 2026 Vital Statistics update elsewhere; Ch.8 unity tables linked here still show through 2022).

### What the tables measure (from Brookings notes)

- **8-3:** % of roll calls on which a majority of voting Democrats opposed a majority of voting Republicans (party-unity *votes*).  
- **8-4:** % of members voting with a majority of their party on those party-unity votes (party-unity *scores*), absences normalized. Source lineage: CQ Almanac / VoteView tabulations per Brookings notes.

---

## 3. N2 prototype method (predeclared)

1. Read Table **8-4** long CSV (`Year,Chamber,Party,Score`).  
2. Keep `Party ∈ {All Democrats, Republicans}`; **drop Southern Democrats** (historical subset; n.a. dense in recent decades).  
3. Parse `Score` to float; treat `n.a.` as missing.  
4. Compute `frag_proxy_100_minus_unity = 100 − unity`.  
5. Report by **chamber × party × year** — no pooling for primary claims.  
6. **No** scoring / weighting / band map.

Derived: `data/e2/brookings_party_unity_100minus_prototype.csv` (**272** rows with non-null unity).  
Companion 8-3 copy: `data/e2/brookings_party_unity_votes_pct.csv`.

---

## 4. Landmark `100 − unity` table (research diagnostic)

| Year | Chamber | Party | Unity % | `100−unity` |
|------|---------|-------|---------|-------------|
| 1954 | House | Democrat | 80 | 20 |
| 1954 | House | Republican | 84 | 16 |
| 1954 | Senate | Democrat | 77 | 23 |
| 1954 | Senate | Republican | 89 | 11 |
| 1970 | House | Democrat | 71 | 29 |
| 1970 | House | Republican | 72 | 28 |
| 1970 | Senate | Democrat | 71 | 29 |
| 1970 | Senate | Republican | 71 | 29 |
| 1990 | House | Democrat | 86 | 14 |
| 1990 | House | Republican | 78 | 22 |
| 1990 | Senate | Democrat | 82 | 18 |
| 1990 | Senate | Republican | 77 | 23 |
| 2000 | House | Democrat | 86 | 14 |
| 2000 | House | Republican | 90 | 10 |
| 2000 | Senate | Democrat | 90 | 10 |
| 2000 | Senate | Republican | 91 | 9 |
| 2010 | House | Democrat | 93 | 7 |
| 2010 | House | Republican | 94 | 6 |
| 2010 | Senate | Democrat | 93 | 7 |
| 2010 | Senate | Republican | 92 | 8 |
| 2016 | House | Democrat | 96 | 4 |
| 2016 | House | Republican | 96 | 4 |
| 2016 | Senate | Democrat | 92 | 8 |
| 2016 | Senate | Republican | 86 | 14 |
| 2020 | House | Democrat | 98 | 2 |
| 2020 | House | Republican | 95 | 5 |
| 2020 | Senate | Democrat | 93 | 7 |
| 2020 | Senate | Republican | 97 | 3 |
| 2022 | House | Democrat | 98 | 2 |
| 2022 | House | Republican | 94 | 6 |
| 2022 | Senate | Democrat | 98 | 2 |
| 2022 | Senate | Republican | 86 | 14 |

### Window means of `100−unity` (eligible cells)

| Chamber | Party | 1954–1980 | 1990–2005 | 2010–2022 |
|---------|-------|-----------|-----------|-----------|
| House | Democrat | 23.3 | 12.8 | 5.0 |
| House | Republican | 22.3 | 10.9 | 5.5 |
| Senate | Democrat | 24.4 | 13.2 | 5.9 |
| Senate | Republican | 24.5 | 12.2 | 10.1 |

---

## 5. Key diagnostic finding (1 line)

**Brookings party-unity scores rose (so `100−unity` fell) for both parties/chambers into the 2010s–2020s — N2’s behavioral cohesion inverse therefore trends toward *less* roll-call fragmentation, aligning with VoteView N1’s within-party homogenization rather than a rising elite-fragmentation narrative.**

Implication: N2 is a usable **cohesion** sensor, but treating rising `100−unity` as rising E2 would be directionally wrong on this series. Preserve N1 homogenization as contrary evidence; seek other fragmentation sensors (e.g. leadership challenges) if the construct requires a rising path.

---

## 6. Preserve N1 contrary evidence (do not overwrite)

From `docs/e2/WAVE2C_E2_VOTEVIEW_DIAGNOSTIC.md`:

> Within-party dim1 SD fell sharply for Democrats (House/Senate) from mid-20th c. to recent congresses, while Republicans stayed flatter and often more dispersed than Democrats lately — so **N1 alone trends toward intra-party homogenization, not rising elite fragmentation.**

N1 paths remain:

| Artifact | Path |
|----------|------|
| Dispersion CSV | `data/e2/voteview_within_party_nominate_disp.csv` |
| Cong≥100 slice | `data/e2/voteview_within_party_nominate_disp_cong100plus.csv` |
| Summary JSON | `data/e2/voteview_dispersion_summary.json` |
| Diagnostic memo | `docs/e2/WAVE2C_E2_VOTEVIEW_DIAGNOSTIC.md` |
| Hub | `/docs/wave2c-e2-voteview-diagnostic` |

---

## 7. Caveats

- Unity is **party-line cohesion on party-unity votes**, not organizational faction counts.  
- High unity can coexist with intense **inter-party** conflict (8-3 unity-*vote* share also rose in many recent years) — different construct facet.  
- Career NOMINATE (N1) vs annual unity (N2) are different time grains; correlation diagnostic only if done later.  
- Series currently ends **2022** on downloaded CSVs.  
- FSI FE remains EXTERNAL_VALIDATION only.

---

## 8. Paths

| Artifact | Path |
|----------|------|
| This note | `docs/e2/WAVE2C_E2_N2_UNITY_NOTE.md` |
| Raw 8-3/8-4 | `data/raw/brookings_vitalstats/` |
| `100−unity` prototype | `data/e2/brookings_party_unity_100minus_prototype.csv` |
| 8-3 votes % copy | `data/e2/brookings_party_unity_votes_pct.csv` |
| Parent research | `docs/e2/WAVE2C_E2_NARROW_SENSOR_RESEARCH.md` |
| N1 diagnostic (preserved) | `docs/e2/WAVE2C_E2_VOTEVIEW_DIAGNOSTIC.md` |
| Hub mirror | `/docs/wave2c-e2-n2-unity-note` |

---

## 9. Governance

| Field | Value |
|-------|--------|
| `decision_authority` | `delegated_agent_governance` |
| proposer | grok |
| reviewer | astra (required; no self-approval) |
| decision | *pending Astra review* — N2 diagnostic pull only |
| rollback | Ignore/delete brookings raw + `100−unity` CSV + this note; leave N1 artifacts intact; L1/M1/E2 auth unchanged |
