Binary Prerequisites & Offline Layout

For developers and release engineers who add, pin, or refresh binary dependencies in the Stella Ops monorepo, and for anyone preparing an offline / air-gapped build. It defines where binaries may live, how that is checked, and how to keep restores deterministic and offline-friendly.

Layout (authoritative)

Adding or updating NuGet packages

  1. Run dotnet restore, which populates the active global packages folder (normally ~/.nuget/packages/) from the sources in NuGet.config.
  2. Never add new feeds to NuGet.config without review; the configured sources are nuget.org, stellaops (internal feed) and stellaops-contracts (the committed contract-package folder feed).
  3. For offline builds, pre-populate a bounded package cache from a network-connected machine and point NUGET_PACKAGES at that cache in the air-gapped environment.

Adding other binaries

  1. Prefer building from source. A binary that must be committed goes under one of the reviewed roots; adding a root is a reviewed change to verify-binaries.sh that names what lives there and why it is committed.
  2. A third-party binary passes the dependency and license gate first (docs/legal/LICENSE-COMPATIBILITY.md, docs/legal/THIRD-PARTY-DEPENDENCIES.md, NOTICE.md).

Automation & Integrity

Housekeeping