L08

W16 · 18–30 hours across the course · complete online handout

Capstone evidence release

Research question

Can an independent reviewer trace, reproduce, challenge, and revise every headline claim?
Download offline package
01

Contract

What this lab must demonstrate

  • Assemble a complete evidence dossier.
  • Pass independent release checks.
  • Defend and revise bounded conclusions.

Prerequisites

  • Approved question and pre-analysis plan.
  • Required labs complete.
  • All authorization, privacy, safety, and licensing gates resolved.
Equivalent low-compute route

The supplied synthetic capstone supports the complete release workflow without paid APIs or model downloads.

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 the release question

    Work
    Approve the question and pre-analysis plan; assign stable IDs to data, code, results, figures, limitations, deviations, and decisions.
    Checkpoint evidence
    Research brief, pre-analysis plan, and artifact skeleton.
    Advance only when
    Outcome inspection does not precede the frozen plan.
  2. 02

    Build the evidence chain

    Work
    Complete upstream artifacts, reproduce the primary result, retain negative results, and connect every headline claim to sufficient evidence edges.
    Checkpoint evidence
    Data/code/result bundle, claim ledger, figures, and limitations.
    Advance only when
    A broken claim-to-artifact edge removes or weakens the public claim.
  3. 03

    Audit the clean release

    Work
    Rebuild in a clean environment; verify missingness, deviations, checksums, privacy, authorization, license, redistribution, accessibility, and figure-data consistency.
    Checkpoint evidence
    Clean-run output, audit report, computed checksums, and reviewer instructions.
    Advance only when
    Any unresolved human gate blocks external release regardless of result strength.
  4. 04

    Defend, revise, and freeze

    Work
    Deliver the 8-minute defense and 7-minute challenge, answer review points, revise affected artifacts, regenerate checksums last, and freeze the response note.
    Checkpoint evidence
    Defense record, response to reviewers, change log, and final manifest.
    Advance only when
    READY_FOR_HUMAN_REVIEW is never represented as accepted, replicated, safe, lawful, or publishable.
03

Validation

Checks, pass gate, and assessment

No broken claim-to-artifact edge.

Primary result rebuilds or dependency limits are verifiable.

All figures have data, caption, type label, source, and alt text.

Deviations and negative results remain present.

Release version, checksums, and change log agree.

Pass gate

No broken claim-to-artifact edge; a reviewer reproduces the primary result or verifies the documented non-redistributable dependency boundary.

L08 Rubric — 100 points

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

L08 canonical 100-point assessment rubric
CriterionPointsFull-credit evidence
Research brief and pre-analysis plan10Question, estimand, outcomes, exclusions, deviations, and decision rules were frozen before analysis.
Claim-to-artifact traceability25Every public claim connects to sufficient data/code/result/figure/limitation evidence with no broken edge.
Reproduction and integrity20Clean-run primary result matches; environment, hashes, dictionary, and figure-data lineage are verified.
Negative results and limitations15Null/adverse results, missingness, deviations, alternatives, and construct/generalization limits remain visible.
Authorization, privacy, license, safety, accessibility20Each release artifact has reviewed status; any failed gate blocks external release.
Defense and response10Clear 8-minute result, 7-minute defense, and evidence-linked revision/response within 48 hours.

Hard fail pending remediation: broken headline edge, unreproducible primary result, checksum mismatch, hidden deviation/negative result, unauthorized or personal data, license/safety/accessibility failure, or overstated claim ceiling.

Pass threshold: 75/100, no hard-fail condition, and completed human defense/revision. Automated PASS is necessary but insufficient.

04

Handout

Complete browser-readable lab handout

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

On this page 11 sections

Linked course week: W16
Expected effort: 18–30 hours across the course
Core path: self-contained synthetic dossier, offline, deterministic, Python standard library only

Research question

Can an independent reviewer trace, reproduce, challenge, and revise every headline claim?

Learning objectives

You will learn to:

  1. connect every public claim to data, code, result, figure, limitation, and provenance artifacts;
  2. reproduce a primary result from a frozen input and compare it to a declared expected result;
  3. verify checksums, authorization, license, privacy, redistribution, and figure accessibility;
  4. preserve protocol deviations and negative results in the release rather than only the successful headline;
  5. distinguish software/package readiness from scientific, safety, legal, editorial, and publication approval; and
  6. produce a reviewer-oriented release that can be challenged and revised.

Bundled dossier

data/dossier/ is a complete synthetic release fixture. Its primary result is a transparent 12-event difference in proportions. A secondary citation-correctness result moves in the adverse direction and remains in the claim ledger and negative-results record. Neither value is evidence about a real intervention or answer engine.

The bundle contains:

  • release README and research brief;
  • pre-analysis plan and frozen observations;
  • analysis script, expected result, environment lock, and data dictionary;
  • claim ledger and artifact manifest;
  • SVG figure with source mapping, caption, title/description, and alt text;
  • protocol deviations, limitations, ethics/privacy/license note, negative-results record, and response note;
  • release checklist/manifest and SHA-256 checksum inventory.

Run

python3 data/dossier/analysis.py \
  --input data/dossier/observations.csv \
  --output /tmp/geo-l08-primary-result.json

python3 scripts/validate_release.py \
  --dossier data/dossier \
  --analysis-result /tmp/geo-l08-primary-result.json \
  --output /tmp/geo-l08

Input contract

  • release_manifest.json declares the dossier ID, required paths, primary claim IDs, human gates, and analysis contract.
  • artifact_manifest.csv follows ../shared/schemas/release-artifact.schema.json; every artifact has stable ID, path, hash, role, redistribution status, license, authorization, and personal-data flag.
  • claim_ledger.csv records evidence status, semicolon-delimited artifact edges, claim ceiling, and public-headline status.
  • checksums.sha256 covers every required file except itself.
  • The supplied analysis result must byte-semantically match expected_result.json after JSON parsing.

Output contract

Table from the controlled L08 lab handout
ArtifactContract
release_audit.jsoncontract status, exact counts, reproducibility comparison, errors, and bounded decision
claim_traceability.csvone row per claim–artifact edge with path, role, and integrity result
computed_checksums.sha256independently recomputed hashes for required dossier paths
reviewer_instructions.mdminimal reproduction and challenge sequence plus remaining human gates
run_manifest.jsonhashes of the release inputs and generated result

READY_FOR_HUMAN_REVIEW means only that the synthetic package passed the automated dossier contract. It does not mean accepted, replicated, safe, lawful, accessible in all environments, publishable, or ready for public deployment.

Full assignment procedure

  1. Freeze an approved question and pre-analysis plan before outcome inspection.
  2. Complete upstream labs and assign stable IDs to data, code, results, figures, limitations, and decisions.
  3. Link every headline claim to sufficient artifacts; remove or weaken claims with broken edges.
  4. Reproduce the primary result in a clean environment and retain the exact command/output.
  5. Audit missingness, deviations, negative results, alternative analyses, and figure-data consistency.
  6. Verify privacy, authorization, license, redistribution, accessibility, and source/version refresh.
  7. Generate checksums last and validate the release from a clean copy.
  8. Defend for 8 minutes, answer questions for 7 minutes, then submit a response/revision within 48 hours.

Low-compute and no-network route

The sample result is computed from 12 CSV rows in milliseconds. Validation uses JSON/CSV, hashing, and path checks only. No notebook server, model, package install, API, browser, account, or network access is required.

Negative results and interpretation

  • A broken claim-to-artifact edge blocks the claim even when other checks pass.
  • A checksum mismatch is an integrity failure, not a harmless formatting change.
  • A non-redistributable dependency requires lawful retrieval instructions and may prevent full reproduction.
  • An adverse secondary metric remains part of the release.
  • Reproducing arithmetic does not independently validate data generation, construct validity, or generalization.
  • An elegant primary figure cannot override privacy, license, safety, authorization, or accessibility failure.

Ethics and release rule

Do not include personal data, confidential records, unauthorized screenshots, copyrighted snapshots without permission, deceptive attribution, or live harmful tests. Any unresolved authorization, privacy, licensing, safety, accessibility, or evidence-lineage issue blocks external release regardless of result strength.

Acceptance

python3 data/dossier/analysis.py --input data/dossier/observations.csv --output /tmp/geo-l08-primary-result.json
python3 scripts/validate_release.py --dossier data/dossier --analysis-result /tmp/geo-l08-primary-result.json --output /tmp/geo-l08
python3 -c 'import json; a=json.load(open("/tmp/geo-l08/release_audit.json")); assert a["status"] == "PASS" and a["decision"] == "READY_FOR_HUMAN_REVIEW"'

See RUBRIC.md.

05

Execute

Use one source of executable truth

Ethics and stop condition

An elegant result fails if evidence lineage, authorization, privacy, licensing, accessibility, or safety fails.

Optional extension

Prepare an archival metadata record and anonymous review bundle after all release gates pass.

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.