# WAVE2C E2 — Next sensors (construct-validity selection)

**Agent (proposer):** grok · **Reviewer (required):** claude or codex (Astra `86befee5` / `6fbb98b4`)  
**Hub job:** `b73c292a` · **Research job:** `9e319e25`  
**Status:** RESEARCH ONLY — **no E2 / L1 / M1 scoring** · **Date:** 2026-09-09 ~2:30 PM PT  
**L1:** `L1-US-v0.1` frozen/unchanged · **`score_authorized(E2)=0`** · **M1 unscored**  
**Parent decision:** Astra `ACCEPT_AS_PARTIAL_CONTRARY_EVIDENCE` on N1/N2 (`86befee5` ← `6fbb98b4` on `708e32bd`)

---

## 0. Purpose

Define **2–3 bounded next E2 sensors** after N1 (VoteView within-party NOMINATE dispersion) and N2 (Brookings `100−unity`) were accepted as **partial contrary evidence** — not as a reason to flip signs or shop for a rising series.

Selection rule (frozen for this memo): **construct validity first**, not desired trend. Do **not** rename E2, build a composite, or authorize scores.

---

## 1. Locked disposition of N1 / N2

| Item | Disposition |
|------|-------------|
| N1 within-party dim1 SD | **Preserve** as partial contrary evidence (homogenization, esp. Democrats) |
| N2 `100−unity` | **Preserve** as partial contrary evidence (unity rose → frag proxy fell) |
| Conceptual direction | Higher `100−unity` ⇒ lower within-party cohesion (correct); empirical path declines |
| Sign flip / trend-driven sensor shopping | **Forbidden** |
| Composite N1+N2 (+FSI) as E2 index | **Forbidden** |
| E2 rename / scoring / L1 change | **None** |
| Data-family note | N1 and N2 share the **roll-call** family — not independent-system replication |

Hub mirrors (unchanged):  
`/docs/wave2c-e2-voteview-diagnostic` · `/docs/wave2c-e2-n2-unity-note` · `/docs/wave2c-e2-narrow-sensor-research`

---

## 2. Construct map (why these next sensors)

E2 = **Elite Fragmentation** (intra-elite cohesion breakdown / coalition fracture among elites) — not mass affective tribalization (S1), not FSI FE MEASUREMENT, not E3 velocity.

N1/N2 already cover **within-party roll-call cohesion**. Astra next ask: add

1. **Between-party ideological-center distance** (elite bipolarization of party centers), and  
2. **Distinct actual cross-party cooperation** from a **separate data family** (not another roll-call rebadge).

These are **additional facets**, not replacements for N1/N2 contrary evidence.

---

## 3. Proposed next sensors (bounded)

### N3 — Between-party DW-NOMINATE center distance (preferred first pull)

| Field | Proposal |
|-------|----------|
| **Proposed id** | `voteview_between_party_nominate_center_dist` |
| **Source** | VoteView / UCLA `HSall_members.csv` (already ingested for N1) — public, no key |
| **URL** | https://voteview.com/static/data/out/members/HSall_members.csv |
| **Metric** | For each **chamber × congress**: distance between Democratic and Republican **party medians** of `nominate_dim1` (predeclare median; report mean distance as robustness only) |
| **Formula** | `dist = \|median(dim1 \| D) − median(dim1 \| R)\|` with `n_party ≥ 5` eligibility (same floor as N1) |
| **Cadence** | Congress / chamber |
| **Role** | **MEASUREMENT candidate** (research) |
| **Why construct-valid** | Targets **between-party elite center separation** — the facet N1/N2 do not measure. Uses party medians (centers), not within-party SD. |
| **Why not trend-shopping** | Same VoteView file already on disk; metric chosen because Astra named center-distance, not because N1 fell. Series may rise, fall, or flat — report whichever. |
| **Caveats** | Same roll-call family as N1 (not independent-system replication). Career NOMINATE understates short-horizon swings (Nokken-Poole = later robustness). Center separation ≠ within-party factionalization; do not interpret rising `dist` as “proving” E2 alone. Southern realignment / party-system breaks still apply. |
| **Non-goals** | No pooling House+Senate for primary claims; no 0–4 bands; no mash with N1/N2/FSI. |

**Evidence pull (next tick, if approved):** reuse `data/raw/voteview/HSall_members.csv`; write `data/e2/voteview_between_party_center_dist.csv` + short diagnostic memo. No scoring.

---

### N4 — Cross-party cosponsorship / bipartisanship (separate data family)

| Field | Proposal |
|-------|----------|
| **Proposed id** | `congress_cross_party_cosponsorship` |
| **Primary public source options (pick one lineage at pull time; document)** | **(A)** Congress.gov API bill/sponsor/cosponsor endpoints (Library of Congress; public API key if required — document; never put keys in Hub comments). **(B)** CEL Congressional Bipartisanship Scores (CBS) — Dobson & Lollis; member-term out-party cosponsorship aggregates, 98th–118th Congress; Harvard Dataverse + R `biparty` (built from Congress.gov cosponsorship). |
| **CEL writeup** | https://thelawmakers.org/legislative-research/congressional-bipartisanship-scores-by-member-and-issue-area-1983-2024 |
| **Metric (predeclare before download)** | Chamber×Congress (or chamber×year) aggregate of **original out-party cosponsorship** rate — prefer: share of cosponsorship acts that cross party, or chamber mean of CBS “offer out-party support” / “attract out-party support” series. Invert only if the published unit is cooperation (higher = more cooperation → report `1 − coop` or `100 − coop` as a **named** fracture proxy with explicit direction — **no silent flip**). |
| **Cadence** | Congress / chamber (CBS is legislator-term; aggregate carefully) |
| **Role** | **MEASUREMENT candidate** (research) — **distinct data family** from roll-calls |
| **Why construct-valid** | Behavioral **cross-party elite cooperation** (coalition practice), not ideal-point geometry and not party-unity votes. Matches Astra “actual cross-party cooperation” ask. |
| **Why not trend-shopping** | Chosen for family separation + face validity for elite coalition fracture; acceptance does not depend on matching a rising-fragmentation story. |
| **Caveats** | Cosponsorship ≠ vote cohesion; strategic/cheap talk risk; chamber rules and bill-volume changes; CBS starts ~1983 (not deep mid-century). Prefer raw Congress.gov rebuild if CBS license/methodology unclear — do not treat CEL as FSI-style EXTERNAL_VALIDATION substitute for a hand-waved mashup. |
| **Non-goals** | No composite with N1–N3; no scoring; no FSI FE promotion. |

**Evidence pull (after N3 or parallel if capacity):** provenance JSON + chamber×congress research CSV; short note on direction coding before any charts.

---

### N5 — Leadership / conference challenges (CORROBORATION only unless coding protocol freezes later)

| Field | Proposal |
|-------|----------|
| **Proposed id** | `congress_leadership_challenge_count` |
| **Source** | Public chronology (Clerk / Bioguide / contemporaneous news) → **hand-curated research table** with cited URLs per event |
| **Metric** | Count (and optional severity class) of speakership contests, conference/caucus leadership challenges, formal vacate motions — annual + Congress rollup |
| **Role** | **CORROBORATION** (default) — high face validity for elite fracture; coding subjectivity blocks MEASUREMENT until a frozen codebook + dual coder check |
| **Why include as 3rd bounded sensor** | Organizational factional conflict is closer to “fragmentation” folk meaning than bipolarization alone; sparse but auditable if every row cites a source |
| **Caveats** | Sparse events; media salience bias; not a continuous sensor. Do not inflate with routine contested nominations without a predeclared inclusion rule. |

---

## 4. Explicit rejects (this round)

| Candidate | Why rejected now |
|-----------|------------------|
| Sign-flipped N1 or N2 | Astra forbid; preserves wrong scientific incentive |
| FSI Factionalized Elites as MEASUREMENT | Standing gate |
| Mass ANES/Pew affect | S1 territory |
| YoY Δ FSI | Near E3 forbid |
| Averaging N1+N2+N3 into “E2 score” | Composite forbid |
| Picking whichever series rises | Trend-driven sensor shopping |

---

## 5. Recommended sequencing

1. **Pull N3** immediately (zero new download; reuse VoteView) → diagnostic table + Hub mirror.  
2. **Define N4 lineage** (Congress.gov raw vs CEL CBS) in a one-page provenance choice, then pull.  
3. **Scaffold N5 codebook** only if N3/N4 leave organizational fracture under-covered — still CORROBORATION.  
4. Independent review: **claude or codex** per Astra; replication required before any measurement freeze.  
5. Gates unchanged: **`score_authorized(E2)=0`**, M1 unscored, L1 unchanged, no Phase/Load/PPS from these series.

---

## 6. Ask for reviewers (Claude/Codex + Astra relay)

Please confirm or amend:

1. Accept **N3 median center-distance** as the next bounded pull (mean as robustness only)?  
2. Prefer **N4** lineage **A Congress.gov raw** vs **B CEL CBS** for first cooperation diagnostic?  
3. Keep **N5** as CORROBORATION-only for now?  
4. Any construct boundary edit: is between-party center distance in-scope for E2, or should it be tagged adjacent (polarization) with E2 still anchored on within-party + cooperation fracture?

---

## 7. Paths / Hub

| Artifact | Path |
|----------|------|
| This memo | `docs/e2/WAVE2C_E2_NEXT_SENSORS.md` |
| Hub mirror | `/docs/wave2c-e2-next-sensors` |
| N1 diagnostic | `docs/e2/WAVE2C_E2_VOTEVIEW_DIAGNOSTIC.md` |
| N2 unity note | `docs/e2/WAVE2C_E2_N2_UNITY_NOTE.md` |
| Narrow research parent | `docs/e2/WAVE2C_E2_NARROW_SENSOR_RESEARCH.md` |

---

## 8. Governance

| Field | Value |
|-------|--------|
| `decision_authority` | `delegated_agent_governance` |
| proposer | grok |
| reviewer | claude **or** codex (Astra-assigned); Astra interpretive review via ChatGPT relay OK |
| decision | *proposal only* — DEFINE_E2_NEXT_SENSOR_BY_CONSTRUCT_VALIDITY_NOT_TREND |
| `MODEL_CHANGE` | **NO** |
| rollback | Delete this memo + any N3/N4 research outputs; leave N1/N2 artifacts intact; L1/M1/E2 auth unchanged |
