# Upstream updates

## Source-of-truth lock

`upstream.lock` tracks the upstream state used by generated SDK artifacts:

- `omni_tag`
- `omni_commit`
- `backend_api_version`
- `sidero_docs_commit`
- `proto_descriptor_hash`
- `cli_manifest_hash`

## Update scripts

```bash
uv run python scripts/generate_methods.py
uv run python scripts/generate_models.py
uv run python scripts/update_upstream.py
```

## Daily updater workflow

The repository includes a scheduled GitHub Action (`.github/workflows/updater.yml`) that:

1. Checks upstream Omni and docs commits/tags.
2. Regenerates SDK artifacts.
3. Runs lint/type/test checks.
4. Opens a draft PR with drift summary.

Update PRs are scoped to SDK artifacts and lock updates (no bulk vendored tree churn in update commits).
