Syllabus

A 15-week course meeting twice weekly, ~28 sessions, structured to be taught by an instructor or self-paced by an individual reader. Each session is either a lecture (one chapter) or a lab (one runnable exercise set).

Calendar

Wk Sessions Chapters Deliverable
1 The crisis · Falsifiability 1–2 Reading reflection
2 FRE primer · Canon 3–4 Worked-attestation walk-through
3 Hashing · Lab 5 5 Hand-computed SHA-256 chain
4 Signatures · Lab 6 6 Ed25519 keygen + sign + verify
5 Canonicalization · Lab 7 7 RFC 8785 round-trip; DSSE PAE signing; cross-impl interop
6 Schemas · Lab 8 8 Pydantic Canon validator
7 Embeddings · Hybrid retrieval 9–10 RRF over BM25 + nomic-embed; pgvectorscale diskann; ParadeDB BM25
8 LLM extraction · Adversarial validation 11–12 Tri-model harness over toy corpus; Outlines constrained decoding; Langfuse observability
9 The seven-layer pipeline · Postgres substrate 13–14 Local pgvector + PostGIS instance
10 Idempotent ingest · Procedural primitives 15–16 Matter / parties / acquisition / hold
11 TARG · Epistemic Neutrality Masking 17–18 Identity resolution exercise; Presidio PII masking lab
12 Five challenges · Four attestation kinds 19–20 EnrichmentAttestation over a real email
13 Schemas/migrations · Local-first chunking · Keys 21–23 Unstructured.io section-aware partitioning; production-grade key rotation; cross-platform keyring (keyrings.alt for headless)
14 Audit log · Reference verifier · Admissibility Auditor 24–26 DSSE verifier; Rekor/Sigstore transparency log; standalone verifier published to PyPI
15 Capstone presentations 27–30 Domain Meridian, end-to-end demo; Dagster pipeline; WeasyPrint/Typst PDF output

Grading (instructor-led variant)

Component Weight
Weekly labs (12) 30%
Two written midterm exercises 15%
Conformance test suite contribution 10%
Capstone artifact (sealed corpus) 30%
Capstone defense (oral, 30 min) 15%

Prerequisites

  • One semester of data structures and algorithms.
  • Comfortable Python (decorators, generators, type hints).
  • Familiarity with SQL.
  • Has used git for at least a small project.
  • Has read and understood at least one RFC end-to-end (any RFC).

A short diagnostic in front/03_prerequisites.md lets the reader self-assess before starting.

Lab environment

  • macOS, Linux, or WSL2. Windows-native is supported with keyrings.alt as the keyring backend (Chapter 23); macOS Keychain and Linux SecretService are used on their respective platforms.
  • Python ≥ 3.10 (CI matrix: 3.10, 3.12, 3.13).
  • Postgres ≥ 16 with pgvector, pg_trgm, and postgis extensions. Optional: pg_search (ParadeDB BM25, Chapter 9–10), pgvectorscale (StreamingDiskANN, Chapter 9–10).
  • ~50 GB free disk for the optional reference corpus.
  • A GPU or rented GPU access for the enrichment/refutation labs (chapters 11–12, 19); the lab manual documents how to substitute a smaller-model workflow on CPU at a precision cost.
  • Optional extras install additional tooling per chapter; see front/03_prerequisites.md for the full extras list.

Capstone deliverable

The student submits, by the end of week 15:

  1. A working corpus ingester for a domain other than the reference personal-data corpus. (Examples: open court records, a journalistic FOIA pull, a research archive, a non-profit’s internal records.)
  2. A sealed EnrichmentAttestation and SearchAttestation over that corpus, both passing the standalone verifier.
  3. A 4–8 page design memo identifying the corpus’s domain-specific challenges and how the customizations addressed them.
  4. A 30-minute oral defense.

The capstone is the assessment. Everything before it is preparation.

What the course does not attempt to teach

  • The internal mathematics of cryptographic primitives. Pointers to primary sources are provided; this course teaches their use.
  • Trial advocacy. Counsel will have a different course for that.
  • Machine-learning research. The models are components, not subjects of research, in this course.
  • Any specific jurisdiction’s evidentiary doctrine beyond the federal baseline and a Wisconsin-specific appendix.