// Methodology page — values disclosure rendered well function Methodology({ go }) { return (
{/* Hero */}
Methodology · v1 · May 2026

Not
neutral.

No serious policy tracker is. We measure what legislatures are doing against an explicit framework of human rights, public health, and democratic norms — and we say so.

{/* What this is / is not */}
What this is

A measurement of legislative motion.

What's being introduced, what's passing, which direction those bills move policy, and at what magnitude. Not a snapshot of current effective law — for that, see the watchdog organizations we cite per lens.

What this is not
    {[ ["Not neutral.", "We take positions. The values disclosure is below."], ["Not predictive.", "We measure what has been introduced and what has passed."], ["Not exhaustive.", "Executive orders, agency rules, and court decisions are not measured here."], ["Not partisan in design.", "But reflective of partisan reality. See the partisan correlation note."], ].map(([k, v]) => (
  • {k} {v}
  • ))}
{/* Editorial position — values block (the alarm-color section) */}
Editorial position · explicit values disclosure

Score moves up when the state moves toward these.

{[ ["Reproductive autonomy", "Access to abortion, contraception, IVF, pregnancy and maternal care, menstrual health."], ["Equal civil rights for LGBTQ+ people", "Including trans rights as a non-negotiable sub-component."], ["Worker protections", "Collective bargaining, livable wages, workplace safety, paid leave."], ["Public-health infrastructure", "Medicaid expansion, drug pricing, mental health parity."], ["Environmental protection", "Climate action, pollution reduction, conservation, environmental justice."], ["Education access and equity", "Funding, curriculum, accessibility."], ["Voting access", "Registration ease, mail/early voting, polling adequacy, freedom from racial gerrymandering."], ["Criminal justice reform", "Reduced carceral reach, sentencing fairness, reentry support, police accountability."], ["Anti-corruption / transparency", "Campaign finance disclosure, ethics enforcement, public records strength."], ["Dispersed economic and political power", "Opposed to wealth concentration, executive overreach, state preemption of local governance."], ].map(([k, v], i) => (
{String(i+1).padStart(2,"0")}
{k}
{v}
))}
{/* Why these values */}
Why these values

Three converging sources.

{[ ["01", "International human-rights consensus.", "Reproductive autonomy, LGBTQ+ equality, voting access, freedom from arbitrary detention, and labor protections all align with the UDHR (1948), the ICCPR, the WHO frameworks, and the UN Sustainable Development Goals. These are not fringe positions — they're the mainstream global framework."], ["02", "Empirical scientific consensus.", "Environmental destruction harms human health (WHO, EPA, IPCC). Healthcare access reduces mortality. Mass incarceration without crime reduction produces social harm. Wealth concentration reduces economic mobility. These have empirical baselines."], ["03", "Constitutional values.", "The framers were explicitly concerned with concentration of power (Federalist No. 10), equal protection (14th Amendment), individual liberty (Bill of Rights), and democratic accountability. Authoritarianism, Corruption, Democracy, and Greed lenses trace directly to founding values."], ].map(([n, k, v]) => (
{n}
{k}

{v}

))}
{/* How scores are calculated */}
How scores are calculated

The pipeline.

Four steps. Bill text in, signed score out, sigmoid-normalized to 0–100.

{[ ["Step 1", "Bill-level scoring", "Bill text → Claude Haiku with structured prompt → direction, magnitude, confidence, evidence quotes, legislative_character, plain-English summary."], ["Step 2", "Per-bill contribution", "direction_sign × magnitude × tier × status_weight × character_weight × confidence_weight."], ["Step 3", "Three composite modes", "composite_passed (became law) · composite_pressure (introduced) · composite_all (activity weighted)."], ["Step 4", "0–100 normalization", "Sigmoid with K=20. 50 = no net activity. >50 protective. <50 restrictive. Raw signed score also exposed."], ].map(([n, k, v], i) => (
{n}
{k}
{v}
))}
{/* Weights table */}
Component weights

The constants.

{[ { title: "direction_sign", rows: [["expand", "+1"], ["restrict", "−1"], ["mixed / neutral", "0"]] }, { title: "magnitude_value", rows: [["high", "3"], ["medium", "2"], ["low", "1"]] }, { title: "status_weight", rows: [["passed", "1.0"], ["enrolled", "0.9"], ["engrossed", "0.5"], ["introduced", "0.15"], ["vetoed", "0.1"], ["failed", "0"]] }, { title: "character_weight", rows: [["substantive", "1.0"], ["mixed", "0.7"], ["symbolic_partisan", "0.4"], ["symbolic_ceremonial", "0.15"]] }, { title: "confidence_weight", rows: [["high", "1.0"], ["medium", "0.7"], ["low", "0.4"]] }, { title: "tier_weight (Reproductive)", rows: [["T1 direct access", "1.0"], ["T2 maternal", "0.6"], ["T3 menstrual", "0.3"]] }, ].map(t => (
{t.title}
{t.rows.map(([k, v], i) => (
{k} {v}
))}
))}
{/* Limitations honestly disclosed */}
Limitations · honestly disclosed

What we get wrong, and where.

{[ ["Single-session snapshot.", "Initially we measure only the current session per state. Historical trends require pulling prior sessions."], ["LLM variance.", "Claude's scoring is consistent ~95% of the time, but identical bill text can produce slightly different magnitude or confidence calls between runs."], ["Title-and-text scope.", "We score from bill title, description, and full text. We do not currently scan the amendments tree for rider-style insertions in unrelated bills."], ["Watchdog calibration is asymmetric.", "Watchdogs surface the most-prominent bills only. \"Bills we flagged that the watchdog didn't\" usually means the bill is legitimate but less prominent."], ["No measurement of executive action.", "Governor signing, vetoes, and state agency rulemaking are partially captured (via bill status) but executive orders are not."], ["No measurement of court rulings.", "State supreme court decisions can override or invalidate enacted statutes; we do not currently surface this."], ].map(([k, v]) => (
{k}
{v}
))}
{/* Sources */}
Data sources

Where it comes from.

Bills, sponsors, votes, history, and full text from LegiScan {" "}(CC BY 4.0, credited on every page). Bill-level scoring against the lens rubric runs through Anthropic Claude Haiku. Calibration via Perplexity against watchdog-compiled lists.

{[ ["Reproductive", "Center for Reproductive Rights · Guttmacher Institute"], ["LGBTQ", "Movement Advancement Project · Equality Federation · HRC"], ["Democracy", "Brennan Center · Princeton Gerrymandering Project · V-Dem"], ["Workers", "ITUC Global Rights Index · EPI · Oxfam"], ["Healthcare", "Commonwealth Fund · KFF · Families USA"], ["Environment", "Ember · Climate Action Tracker · state environmental councils"], ["Criminal Justice", "Sentencing Project · Vera Institute · Prison Policy"], ["Guns", "Giffords Law Center · Everytown · Brady United"], ].map(([k, v]) => (
{k}
{v}
))}
); } window.PL_Methodology = Methodology;