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.

LearnLabsFoundation12 min read1.6.26+2026-08-24

Learning objectives

  • Run ota doctor and 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.

Inspect and explain
ota validate --jsonota doctor --jsonota explain --jsonota up --dry-run --json

Classify 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

doctorblockerwarninginformational

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.

Relevant specifications