Exercise Answers¶
Page Maps¶
graph LR
family["Reproducible Research"]
program["Deep Dive DVC"]
section["Recovery Scale Incident Survival"]
page["Exercise Answers"]
capstone["Capstone evidence"]
family --> program --> section --> page
page -.applies in.-> capstone
flowchart LR
orient["Orient on the page map"] --> read["Read the main claim and examples"]
read --> inspect["Inspect the related code, proof, or capstone surface"]
inspect --> verify["Run or review the verification path"]
verify --> apply["Apply the idea back to the module and capstone"]
These answers are model explanations, not the only acceptable wording.
What matters is whether the reasoning keeps durability, retention, cleanup, and incident evidence connected.
Answer 1: Name the durability boundary¶
Strong recovery goal:
The release
v1manifest, metrics, parameters, lock evidence, and DVC-tracked model output must survive local cache loss. A maintainer should be able to restore required objects from the shared remote and run the recovery and release review routes from a clean checkout.
Useful checks:
The main lesson is that local cache is not the authority for release recovery.
Answer 2: Classify retention value¶
Promoted release artifact:
- protected, because downstream readers, rollback, and audit may depend on it
Current mainline training data:
- protected or strongly retained, because collaborators and CI need it for current work
Abandoned exploratory candidate output:
- bounded-retention or discard after review, because it no longer supports a decision
Published analysis dataset:
- protected or policy-driven retention, because publication or stakeholder evidence may depend on it
Temporary local debug report:
- safe to discard after review, unless it became incident evidence
The main lesson is that retention follows value and obligation, not age alone.
Answer 3: Review a cleanup request¶
Strong response:
Before approving
dvc gc --all-branches, I need a dry run, confirmation of which references are protected by that scope, evidence that required release and current mainline objects are present in the shared remote, and a retention-policy check showing the proposed deletions do not remove recoverable states we still promise to support.
Useful first commands:
The exact command depends on the repository. The main lesson is that cleanup needs a reviewable deletion scope before execution.
Answer 4: Plan a remote migration check¶
Strong migration check:
- Inventory protected states: current mainline, releases, audit or publication bundles.
- Add the new remote or destination prefix.
- Push or copy required objects according to retention policy.
- Verify from a clean checkout using the new remote.
- Run recovery and release review routes.
- Cut over only after verification passes.
- Keep a rollback route until the old remote can be retired safely.
The main lesson is that migration is about continuity of recoverability, not only changing a remote URL.
Answer 5: Write an incident note¶
Strong incident note:
CI metrics changed after the base image update, so the executor changed as part of the evidence surface. Before accepting the new results, compare dependency and tool versions, rerun the recovery and metric review routes, and decide whether the movement is expected runtime drift or a workflow regression. Update CI image documentation and release notes if the executor change affects metric interpretation.
The main lesson is that CI is not background. It is part of the reproducibility evidence.
Self-check¶
If your answers consistently explain:
- which state must survive local loss
- why retention value differs by state
- how cleanup can be reviewed safely
- how remote and CI changes affect recovery
- how incident notes preserve failure, repair, and verification
then you are using Module 08 correctly.