Labs · Lesson 02 of 05
Lab: Diagnose a broken repository
Given a repo with intentional contract and environment problems, use ota doctor to identify each issue in priority order.
Learning objectives
- Run
ota doctorand read all blocker findings - Distinguish blockers from warnings from informational results
- Propose a remediation for the top-priority finding
Prerequisites
This lab teaches diagnosis without premature mutation. You will use Doctor's prioritized findings and typed evidence to separate a contract problem from missing environment state or a repository-owned failure.
Introduce one controlled blocker
Use a fixture contract that requires one absent environment variable or tool. Do not choose a production secret or alter a shared machine. The blocker should be safe to remove after the exercise.
ota validate --jsonota doctor --jsonota explain --jsonota up --dry-run --jsonClassify before fixing
Record the finding identity, severity, provenance, selected scope, and next action. Decide whether the owner is the contract, repository, host environment, provider, or Ota. Only then remove the blocker and confirm Doctor changes for the expected reason.
Canonical terminology
Evidence boundary for this lesson
Establishes
- You can read doctor output and prioritize correctly
Does not establish
- The repo is fixed
Knowledge check
What should you record before fixing a Doctor blocker?
Record its identity, severity, provenance, selected scope, recommended action, and whether ownership belongs to the contract, repo, environment, provider, or Ota.