@cc [owner:Yassimba] cli.profile-completion
Applies only to `install_completion_command` in `completion.py`, including its completion callbacks.

Installed shell completion preserves --profile flag completion on zsh, bash, and fish.
Zsh obtains dynamic profile names through turbine complete from the Project Snapshot as sorted unique
names without database access. Bash and fish retain static completion unless dynamic support is
separately implemented and tested.

@cc [owner:Yassimba] cli.profile-selection-surface
Applies only to `invoke_cli` in `shell.py`, including its `CliSettings` and invocation-resolution calls.

One global --profile flag applies before or after built-in and extension commands under existing
global-option conflict rules. Resolve invocation selection once: explicit flag, then process
TURBINE_PROFILE, then the Project CLI profile default. Leave selection absent when none applies so each
Datasource can use its own defaultProfile. Project .env is not an additional global-flag source.

@cc [owner:Yassimba] host.shared-profile-service
Applies only to `connection_opener` in `invoke.py`.

Built-in and extension connection consumers open through an opener that `connection_opener` makes from the injected invocation. That opener carries
the invocation's resolved profile selection. That selection applies to every profiled Datasource the
operation uses, including Run History stores; fixed Datasources remain fixed. The SDK exports the injected
invocation from the shared declaration owner without importing private host implementations.

@cc [owner:Yassimba] host.offline-command-boundary
Applies only to `CliExecutor.execute` in `invoke.py`.

Accepting --profile does not cause help, version, lint, schema publication, or completion to resolve
connection secrets or authenticate. Connection services can be composed without invoking their runtime
operations.
