CLIControl Plane
Control Plane Baseline Resolution
Typed control-plane baseline metadata with GitHub and bundled fallback
The control plane baseline resolution flow lets the CLI use a typed Harness API source for baseline metadata without making the backend a hard dependency for current scaffold behavior.
Trigger
An operator runs a CLI command that needs the stable scaffold baseline and DP_CONTROL_PLANE_URL is set.
Actors
- Harness operator
apps/clipackages/contractapps/api- GitHub stable baseline release fallback
- Bundled baseline fallback
Steps
- Keep
--baseline bundledandDP_BASELINE=bundledas immediate bundled-baseline exits. - Check
DP_BASELINE_URL=file://...before remote sources. - Use the typed Effect client when
DP_CONTROL_PLANE_URLis set. - Download, verify, extract, and cache the archive when artifact metadata is usable.
- Continue to GitHub stable release lookup when the control plane fails.
- Return bundled baseline only after all stable remote sources fail.
Outcome
The CLI can adopt backend-provided baseline metadata when it exists, while preserving the pre-IP-97 GitHub and bundled fallback guarantees.
Closeout Signal
The implementation is healthy when the typed client path is covered by tests and a failing control-plane request still reaches the GitHub stable release fallback before bundled fallback.