L04

W02 & W05 · 6 hours · complete online handout

Claim–Evidence–Source graph

Research question

Which claims are supported, contradicted, merely cited, or source-distinctively absorbed?
Download offline package
01

Contract

What this lab must demonstrate

  • Segment atomic claims.
  • Label entailment, coverage, source quality, contradiction, and absorption.
  • Measure and adjudicate disagreement.

Prerequisites

  • W02 evidence ceilings.
  • W05 attribution definitions.
Equivalent low-compute route

Manual annotation and deterministic validation are the complete core route.

02

Milestones

Four reviewable checkpoints

The windows are planning budgets, not hidden grading criteria. Pause at every gate; do not compress a failed check into the final submission.

  1. 01

    Freeze text and codebook

    Work
    Freeze five approved responses, lawful source snapshots or resolvable identities, and operational labels before judgment.
    Checkpoint evidence
    Versioned response/source manifest and annotation guide.
    Advance only when
    Stop when a source identity or lawful evidence locator cannot be resolved.
  2. 02

    Segment and label claims

    Work
    Create at least 25 atomic claims with offsets; label relation, entailment, correctness, source quality, contradiction, and absorption independently.
    Checkpoint evidence
    Primary annotation table with stable claim and source edges.
    Advance only when
    A visible citation is never silently converted into support.
  3. 03

    Double-code and inspect disagreement

    Work
    Have a second annotator code the predeclared subset without the first labels; calculate agreement and inspect the complete disagreement log.
    Checkpoint evidence
    Second-coder table, agreement summary, and unresolved disagreement set.
    Advance only when
    Pre-adjudication labels and class distribution remain visible.
  4. 04

    Adjudicate and publish the graph

    Work
    Apply written rule changes or case rationales, generate the CES graph, and expose unsupported and contradicted claims.
    Checkpoint evidence
    Graph, diagnostic table, adjudication log, and unsupported-claim report.
    Advance only when
    Every public claim has a resolvable evidence edge or explicit unsupported status.
03

Validation

Checks, pass gate, and assessment

Stable IDs and valid edges.

Every supported label has an exact passage.

Every public claim has a resolvable edge or unsupported status.

Double-coded subset and agreement rule are declared.

Unresolved disagreements remain visible.

Pass gate

Every public claim has a resolvable evidence edge or explicit unsupported status, and agreement/adjudication is reported.

L04 Rubric — 100 points

Rendered from the canonical package rubric. Source SHA-256: 5502bbbd945b3f42609906301d05fc770b362129adba7a98d68618fd7a698319.

L04 canonical 100-point assessment rubric
CriterionPointsFull-credit evidence
Claim atomization15At least 25 independently judgeable claims preserve response identity and wording.
Source resolution15Every non-empty source edge resolves to a lawful snapshot or locator with stable identity.
Multi-axis annotation25Relation, entailment, correctness, quality, contradiction, and absorption are not collapsed.
Graph and unsupported report15Every public claim has a valid evidence edge or explicit unsupported state; outputs pass invariants.
Double coding and adjudication20A predeclared subset is independently coded; agreement and all disagreements are reported and adjudicated.
Boundary and ethics10Reliability/sample limits, licensing, privacy, and absorption uncertainty are explicit.

Hard fail pending remediation: fabricated source edge, hidden disagreement deletion, copyrighted snapshot redistribution without permission, exposed personal data, or treating citation display as automatic support/absorption.

Pass threshold: 70/100 and no hard-fail condition.

04

Handout

Complete browser-readable lab handout

Generated from the same controlled README shipped in the offline package. Source SHA-256: 5bd3cde92ca7fde1b3f02d6637187dfb495ac08925b07d313a8d61a3c7e44090.

On this page 10 sections

Linked course weeks: W02 and W05
Expected effort for the full assignment: 6 hours
Core path: offline, deterministic, Python standard library only

Research question

Which answer claims are supported, contradicted, merely cited, unsupported, or plausibly source-distinctive?

Learning objectives

You will learn to:

  1. segment compound answer text into atomic, auditable claims;
  2. keep citation presence, entailment, citation correctness, source quality, and absorption as separate labels;
  3. represent support, contradiction, merely-cited, and unsupported states as an explicit CES graph;
  4. double-code a subset, compute agreement, and preserve disagreements before adjudication; and
  5. produce an unsupported-claim report with a defensible evidence ceiling.

Input contract

  • data/responses.jsonl contains five frozen synthetic responses with stable IDs and visible-source lists.
  • data/annotations_coder_a.csv contains 25 atomic claims and follows ../shared/schemas/ces-edge.schema.json.
  • data/annotations_coder_b.csv independently double-codes a ten-claim subset.
  • ../shared/fixtures/source_registry.csv and source_snapshots.jsonl resolve every non-empty source_id.

Key invariants:

  • unsupported claims have no source edge and use not_applicable source/citation labels;
  • contradiction requires entailment=contradicted;
  • support requires a resolvable source and entailed or partial entailment;
  • a merely visible citation is not silently converted into support; and
  • each claim ID is unique within the primary annotation table.

Run

python3 scripts/build_ces_graph.py \
  --responses data/responses.jsonl \
  --annotations data/annotations_coder_a.csv \
  --second-coder data/annotations_coder_b.csv \
  --sources ../shared/fixtures/source_registry.csv \
  --snapshots ../shared/fixtures/source_snapshots.jsonl \
  --output /tmp/geo-l04

Output contract

Table from the controlled L04 lab handout
ArtifactContract
ces_graph.jsontyped response, claim, and source nodes plus containment/evidence edges
annotation_summary.jsonrelation counts, support coverage, source-quality counts, agreement, and evidence ceiling
unsupported_claims.csvunsupported, contradicted, and merely-cited claims requiring review
disagreement_log.csvevery differing double-coded dimension before adjudication
relation_matrix.csvrelation × citation-correctness counts for a static diagnostic figure/table
run_manifest.jsonhashed inputs and offline/deterministic flags

Raw agreement and Cohen's kappa are descriptive diagnostics for the double-coded subset. Ten claims are too few for a strong reliability claim; report the sample size and class distribution.

Full assignment procedure

  1. Freeze five approved responses and lawful source snapshots or links plus hashes.
  2. Segment at least 25 atomic claims before judging them.
  3. Resolve source identity, then label relation, entailment, correctness, source quality, and absorption independently.
  4. Have a second annotator code a predeclared subset without seeing the first labels.
  5. Run the graph builder and inspect contract failures.
  6. Review every row in the disagreement log; preserve pre-adjudication labels.
  7. Adjudicate with a written rule change or case-specific rationale.
  8. Submit the graph, annotation table, disagreement log, unsupported-claim report, and one diagnostic figure.

Low-compute and no-network route

All response and source snapshots are synthetic and checked in. Graph construction, agreement, and diagnostics use no model, browser, database, or graph package. Students may draw the diagnostic figure from relation_matrix.csv with any offline tool; the table itself is the accessible alternative.

Negative results and interpretation

  • Low agreement is a valid indication that the codebook or claim boundary needs revision.
  • Many unsupported claims may reveal an answer-quality problem or an overly coarse segmentation rule.
  • A source can entail a statement yet remain low-authority evidence for a scientific conclusion.
  • A cited source can contradict the claim it is attached to.
  • Absorption cannot be established merely from citation presence or lexical overlap; plausible remains weaker than source_distinctive.

Ethics and stop conditions

Do not redistribute source snapshots without permission. If redistribution is not lawful, store a resolvable link, access date, and content hash rather than the text. Redact personal data before annotation. Do not ask annotators to infer protected attributes or adjudicate brand accusations without source and legal review. Stop when source identity cannot be resolved.

Acceptance

python3 scripts/build_ces_graph.py --responses data/responses.jsonl --annotations data/annotations_coder_a.csv --second-coder data/annotations_coder_b.csv --sources ../shared/fixtures/source_registry.csv --snapshots ../shared/fixtures/source_snapshots.jsonl --output /tmp/geo-l04
python3 -c 'import json; s=json.load(open("/tmp/geo-l04/annotation_summary.json")); assert s["claim_count"] == 25 and s["double_coded_count"] == 10'

See RUBRIC.md.

05

Execute

Use one source of executable truth

Ethics and stop condition

Redistribute source snapshots only where permitted; otherwise retain URLs, bibliographic identity, locators, and hashes.

Optional extension

Compare a model-assisted draft against human labels and report errors without treating automation as ground truth.

The page is the complete reading and planning surface. The versioned package README and scripts remain authoritative for exact local commands, filenames, fixtures, and validation behavior.