Goal
Resolve the three concrete cleanup findings from the v1.0.3 multi-provider adoption round without changing runtime policy or the privacy boundary.
Scope
- Make the standalone-wrapper reinstall fixture deterministic without package-index access. The default contributor test path must remain offline-friendly.
- Add explicit configuration-source classification to setup-drift text output, matching the existing structured report and init terminology.
- Surface the adoption posture hint early enough that hosted/orchestrator operators do not mistake default local-provider warnings for their intended posture.
- Add one concise documentation note where behavior changes.
Acceptance criteria
- The relevant wrapper test passes with package-index access disabled.
- Normal unit tests do not require PyPI, TestPyPI, or a live provider.
- Setup-drift text names packaged starter versus explicit repository configuration.
- Adoption doctor output presents the posture hint before provider-specific warning detail when it is applicable; JSON IDs and ordering remain stable and tested.
- Focused tests, full tests, static checks, privacy scan, and smoke checks pass.
- No generated workflow, gate, token path, event schema, or upload behavior changes.
Parent: #655
Code Mower execution
Builder experiment arm: Muse CLI. Use an isolated worktree, record elapsed time and interventions, and send the resulting PR through both Codex and Claude peer audits. Fix or explicitly decide every BLOCKED finding.
Goal
Resolve the three concrete cleanup findings from the v1.0.3 multi-provider adoption round without changing runtime policy or the privacy boundary.
Scope
Acceptance criteria
Parent: #655
Code Mower execution
Builder experiment arm: Muse CLI. Use an isolated worktree, record elapsed time and interventions, and send the resulting PR through both Codex and Claude peer audits. Fix or explicitly decide every BLOCKED finding.