Skip to content

Local Development & Debugging

This runbook describes how to work with the system locally in a way that closely mirrors production behavior.


Local development goals

  • reproduce production issues locally,
  • validate changes before pushing to CI,
  • debug data and ML pipelines deterministically.

  1. Pull versioned datasets:

    dvc pull
    ````
    
    2. Run ML pipeline:
    
    ```bash
    dvc repro
    

  2. Start inference service:

uvicorn src.app.main:app --reload
  1. Validate predictions via local API.

Debugging tips

Pipeline failures

  • run individual DVC stages in isolation,
  • inspect intermediate artifacts,
  • verify dataset versions and configs.

API failures

  • validate request schema,
  • check loaded model version,
  • inspect logs for contract violations.

What not to do

  • do not manually edit versioned datasets,
  • do not bypass data contracts,
  • do not test against unversioned data.

Local debugging should preserve production parity.