- Establish the CLI as the canonical control surface for BranchPy operations (analysis, SDK management, patches, policy gates, observability hooks).
- Define what the CLI owns: command semantics, global flags/options, exit codes, runtime paths.
- Keep UI panels and automations as consumers of this contract (they wrap the CLI; they do not redefine it).
- CLI owns: command inventory, syntax, options, exit codes, runtime locations (.branchpy dirs, logs, caches), JSON/JSONL output modes.
- CLI defers to other domains for deeper semantics: authentication/licensing, analysis engines, telemetry policy, and deployment.