Skip to content

Capstone Architecture

Guide Maps

graph LR
  family["Reproducible Research"]
  program["Deep Dive DVC"]
  guide["Capstone docs"]
  section["Docs"]
  page["Capstone Architecture"]
  proof["Proof route"]

  family --> program --> guide --> section --> page
  page -.checks against.-> proof
flowchart LR
  orient["Read the guide boundary"] --> inspect["Inspect the named files, targets, or artifacts"]
  inspect --> run["Run the confirm, demo, selftest, or proof command"]
  run --> compare["Compare output with the stated contract"]
  compare --> review["Return to the course claim with evidence"]

This capstone is intentionally small, but its architecture is strict. The goal is to see where state is declared, where it is recorded, where it is promoted, and where it is verified.

Ownership boundaries

Repository contract

  • README.md explains the repository promise.
  • dvc.yaml declares the workflow.
  • dvc.lock records executed state.

Pipeline implementation

  • prepare.py normalizes rows and produces the split profile.
  • fit.py trains the reference classifier.
  • evaluate.py produces metrics and predictions.
  • publish.py writes the downstream review bundle.
  • verify.py checks whether the promoted bundle satisfies the release contract.

Use Stage Contract Guide when the next question is not only which file owns a behavior, but which declared controls or recorded state change the review meaning.

Review surfaces

  • publish/v1/ is the promoted downstream interface.
  • PUBLISH_CONTRACT.md explains what each promoted file means.
  • walkthrough, tour, release, experiment, and recovery bundles package different review questions.

Why this architecture matters

The course is about authority and evidence. This capstone only teaches that well if you can point to the exact file that owns declaration, execution, promotion, or verification.

Use Domain Guide when the architecture is clear but you still need the fastest route back to the modeled problem and the promoted review surface.

When the main pressure is no longer reading the current design, start from the owning layer above and then inspect the matching implementation file that already owns the adjacent behavior.