Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions scripts/verify-article-canon.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ import { readFile } from 'node:fs/promises';
// === END MODULE_BUILD ===
// Usage: run `node scripts/verify-article-canon.mjs` after `npm run refresh:canon`.
// Limits: exactness covers quoted canon and notes; companion interpretation remains editorial.
// Footnote-marker notation (superscript digits vs bracketed [n]) is presentation and is
// normalized out of both sides before comparison; word-level drift still fails.

// === BOUNDARIES ===
// id: article_canon_verification_boundary
Expand Down Expand Up @@ -61,11 +63,23 @@ function canonicalBody(unit) {
const body = [];
for (const line of lines) {
if (/^\s*>?\s*(?:\[[^\]]+\]|[⁰¹²³⁴⁵⁶⁷⁸⁹]+|\d+)\s+/.test(line)) break;
if (/^\s*\*\*\[Notes/.test(line)) break;
if (/^\s*---\s*$/.test(line)) break;
if (/^\s*#{2,}\s/.test(line)) break;
if (line.trim()) body.push(line.trim());
}
return body.join(' ').replace(/\s+/g, ' ').trim();
}

function stripFootnoteMarkers(value) {
return value
.replace(/\s*\[\d+\]/g, '')
.replace(/[⁰¹²³⁴⁵⁶⁷⁸⁹]+/g, '')
.replace(/\s+/g, ' ')
.trim();
}

const failures = [];
for (const [word, slug] of articles) {
const title = `Article ${word}`;
const unit = canon.units.find(candidate => candidate.title === title && candidate.section === rightsSection.id);
Expand All @@ -75,18 +89,22 @@ for (const [word, slug] of articles) {
const blockquote = /<blockquote class="reading">([\s\S]*?)<\/blockquote>/.exec(source);
if (!blockquote) throw new Error(`${title} page missing canonical reading blockquote`);

const expected = canonicalBody(unit);
const actual = plainHtml(blockquote[1]);
const expected = stripFootnoteMarkers(canonicalBody(unit));
const actual = stripFootnoteMarkers(plainHtml(blockquote[1]));
if (actual !== expected) {
throw new Error(`${title} canonical excerpt drift\nexpected: ${expected}\nactual: ${actual}`);
failures.push(`${title} canonical excerpt drift\nexpected: ${expected}\nactual: ${actual}`);
}

const pageText = plainHtml(source);
for (const note of unit.notes) {
if (!pageText.includes(note.text.replace(/\s+/g, ' ').trim())) {
throw new Error(`${title} missing complete canon note ${note.marker}: ${note.text}`);
failures.push(`${title} missing complete canon note ${note.marker}: ${note.text}`);
}
}
}

if (failures.length > 0) {
throw new Error(`${failures.length} canon drift finding(s)\n\n${failures.join('\n\n')}`);
}

console.log('verified complete canon excerpts and notes for all eight rights articles');
63 changes: 63 additions & 0 deletions src/_data/research/claims.yml
Original file line number Diff line number Diff line change
Expand Up @@ -187,3 +187,66 @@
source_ids:
- solove-2013-consent-dilemma
limitation: "The analysis concerns information privacy; it does not negate informed consent in medicine or research or establish that consent is irrelevant in other domains."

- id: article-one-sanctioned-contribution-norms
article: rights-and-definitions-of-the-way.article-one
stance: support
status: evidence-informed
claim: "Shared provision is more likely to be sustained when a community can visibly sanction free riding, and people will bear personal cost to enforce contribution norms."
source_ids:
- fehr-gachter-2000-cooperation-punishment
limitation: "Laboratory evidence about monetary sanctions; it supports the existence of a contribution-enforcement instinct, not the specific act of withholding food or safety."

- id: article-one-exclusion-clause-harms
article: rights-and-definitions-of-the-way.article-one
stance: dissent
status: defended-risk
claim: "Where sanctions withdrawing material support have been studied at scale, they moved people into worse and less stable work while producing material hardship, health problems, and poorer child wellbeing."
source_ids:
- pattaro-et-al-2022-benefit-sanctions
limitation: "The evidence concerns state benefit-sanction regimes; the article's exclusion clause operates at a different scale and the analogy is a bounded inference."

- id: article-four-teaching-law-works
article: rights-and-definitions-of-the-way.article-four
stance: support
status: evidence-informed
claim: "Legal empowerment interventions that teach law to laypeople — legal literacy education, community paralegals — most commonly increase legal knowledge and people's willingness and ability to act."
source_ids:
- goodwin-maru-2017-legal-empowerment
limitation: "The mapped evidence base is uneven in rigor; it supports the duty to teach the law without validating any particular teaching mechanism the article implies."

- id: article-four-honest-violence-risk
article: rights-and-definitions-of-the-way.article-four
stance: dissent
status: defended-risk
claim: "Public-health evidence treats violence as a preventable cause of death, injury, and lasting psychological harm, which weighs against framing 'honestly violent' resolution as preferable to nonviolent alternatives."
source_ids:
- who-2002-world-report-violence
limitation: "The report addresses population-level violence; it does not directly study supervised, consensual, parity-matched contests between willing adults."

- id: article-five-maturity-gap
article: rights-and-definitions-of-the-way.article-five
stance: dissent
status: defended-risk
claim: "Cognitive capacity reaches adult levels years before psychosocial maturity, so demonstrated competence in a field can be present while impulse control and resistance to peer influence are still developing — an empirical basis for the age-based lines the article replaces."
source_ids:
- icenogle-et-al-2019-maturity-gap
limitation: "The study supports caution about competence-only adulthood tests; it does not evaluate the article's portfolio process, which may capture more than cognitive capacity."

- id: article-seven-deliberation-polarization
article: rights-and-definitions-of-the-way.article-seven
stance: dissent
status: defended-risk
claim: "Deliberating groups tend to shift toward more extreme versions of their members' initial leanings, so a jury convened to settle a disputed definition may polarize rather than converge, and a thirteenth decider inherits the group's amplified tendency."
source_ids:
- sunstein-2002-group-polarization
limitation: "Polarization is strongest in like-minded groups; requiring heterogeneous jurors and structured procedure can mitigate the mechanism the claim warns about."

- id: article-eight-harm-principle-indeterminacy
article: rights-and-definitions-of-the-way.article-eight
stance: dissent
status: defended-risk
claim: "Because competing harm claims have proliferated on all sides of morals debates, 'what action harms none is a right' cannot function as a self-executing test without an explicit account of which harms count and who decides."
source_ids:
- harcourt-1999-collapse-harm-principle
limitation: "A legal-theory argument about the principle's determinacy, not empirical measurement; the canon's own footnote ('Without debate, freedom is dead') anticipates exactly this contestation."
83 changes: 83 additions & 0 deletions src/_data/research/sources.yml
Original file line number Diff line number Diff line change
Expand Up @@ -243,3 +243,86 @@
reviewed_on: "2026-07-23"
relevance: "Explains how cognitive limits, information volume, aggregation, downstream uses, and collective effects make notice-and-consent insufficient as the sole governance mechanism for personal data."
boundary: "Addresses information privacy; it does not negate informed consent in medicine or research and does not establish that consent is irrelevant in other domains."

- id: fehr-gachter-2000-cooperation-punishment
title: "Cooperation and Punishment in Public Goods Experiments"
authors: "Ernst Fehr; Simon Gächter"
year: 2000
publication: "American Economic Review 90(4):980-994"
type: peer-reviewed experimental study
doi: "10.1257/aer.90.4.980"
url: "https://doi.org/10.1257/aer.90.4.980"
reviewed_on: "2026-07-28"
relevance: "Shows that contributors will pay to sanction free riders, and that the availability of such sanctions raises and sustains cooperation in public-goods experiments where standard theory predicts none."
boundary: "Laboratory monetary sanctions among anonymous players; it does not test excluding people from food or safety, and it does not license any specific real-world sanction."

- id: pattaro-et-al-2022-benefit-sanctions
title: "The Impacts of Benefit Sanctions: A Scoping Review of the Quantitative Research Evidence"
authors: "Serena Pattaro; Nick Bailey; Evan Williams; Marcia Gibson; Valerie Wells; Mark Tranmer; Chris Dibben"
year: 2022
publication: "Journal of Social Policy 51(3):611-653"
type: peer-reviewed scoping review
doi: "10.1017/S0047279421001069"
url: "https://doi.org/10.1017/S0047279421001069"
reviewed_on: "2026-07-28"
relevance: "Reviews quantitative evidence that welfare benefit sanctions raise short-term exits into work but into lower-quality, less stable jobs, while producing material hardship, health problems, and poorer child wellbeing."
boundary: "Studies state welfare-conditionality regimes; it does not directly evaluate the article's community-scale provision or its specific exclusion clause."

- id: goodwin-maru-2017-legal-empowerment
title: "What Do We Know about Legal Empowerment? Mapping the Evidence"
authors: "Laura Goodwin; Vivek Maru"
year: 2017
publication: "Hague Journal on the Rule of Law 9(1):157-194"
type: peer-reviewed evidence review
doi: "10.1007/s40803-016-0047-5"
url: "https://doi.org/10.1007/s40803-016-0047-5"
reviewed_on: "2026-07-28"
relevance: "Maps 199 studies of legal empowerment interventions such as legal literacy education and community paralegals, most commonly reporting increased legal knowledge and stronger agency."
boundary: "A mapping of an uneven evidence base, not a meta-analysis; it supports teaching law to laypeople without establishing any single program's effectiveness."

- id: who-2002-world-report-violence
title: "World report on violence and health"
authors: "Etienne G. Krug; Linda L. Dahlberg; James A. Mercy; Anthony B. Zwi; Rafael Lozano (eds.)"
year: 2002
publication: "World Health Organization"
type: global public-health report
isbn: "92-4-154561-5"
url: "https://www.who.int/publications/i/item/9241545615"
reviewed_on: "2026-07-28"
relevance: "Frames violence as a preventable public-health problem with documented physical, psychological, and social sequelae across settings, and recommends prevention over normalization."
boundary: "Addresses population-level violence and prevention; it does not directly study consensual, regulated contests between willing adults."

- id: icenogle-et-al-2019-maturity-gap
title: "Adolescents' cognitive capacity reaches adult levels prior to their psychosocial maturity: Evidence for a \"maturity gap\" in a multinational, cross-sectional sample"
authors: "Grace Icenogle; Laurence Steinberg; Natasha Duell; Jason Chein; et al."
year: 2019
publication: "Law and Human Behavior 43(1):69-85"
type: peer-reviewed empirical study
doi: "10.1037/lhb0000315"
url: "https://doi.org/10.1037/lhb0000315"
reviewed_on: "2026-07-28"
relevance: "Finds across eleven countries that cognitive capacity reaches adult levels around age sixteen while psychosocial maturity — impulse control, resistance to peer influence — continues developing past eighteen."
boundary: "Cross-sectional self-report and task measures; it identifies a maturity gap but does not evaluate the article's specific portfolio-and-proclamation process."

- id: sunstein-2002-group-polarization
title: "The Law of Group Polarization"
authors: "Cass R. Sunstein"
year: 2002
publication: "Journal of Political Philosophy 10(2):175-195"
type: peer-reviewed theoretical article
doi: "10.1111/1467-9760.00148"
url: "https://doi.org/10.1111/1467-9760.00148"
reviewed_on: "2026-07-28"
relevance: "Synthesizes evidence that deliberating groups tend to move toward more extreme versions of their members' pre-deliberation tendencies rather than converging on moderate consensus."
boundary: "Polarization is strongest in like-minded groups; heterogeneous membership and structured procedure can mitigate it, so the risk is conditional, not fatal."

- id: harcourt-1999-collapse-harm-principle
title: "The Collapse of the Harm Principle"
authors: "Bernard E. Harcourt"
year: 1999
publication: "Journal of Criminal Law and Criminology 90(1):109-194"
type: peer-reviewed law review article
url: "https://scholarlycommons.law.northwestern.edu/jclc/vol90/iss1/3/"
reviewed_on: "2026-07-28"
relevance: "Argues that competing harm claims have proliferated on all sides of morals debates, so the bare harm principle no longer does determinate gatekeeping work without an explicit account of which harms count."
boundary: "A legal-theory analysis of United States debates, not an empirical measurement; it challenges the principle's determinacy, not the value of harm-based reasoning."
Loading