Directory against which relative -p is resolved: the pwd of the command invocation.
When cargo run runs from robonix/rust, the process cwd is not the userβs shell cwd β wrappers
should export RBNX_INVOCATION_CWD="$(pwd)" before cd+cargo run. If unset, std::env::current_dir() is used.
Materialize a per-instance config from --config <file> plus
repeatable --set k.v=val overrides. Returns the merged JSON
string. When neither input was provided, returns an empty JSON object so
rbnx start still performs the provider lifecycle initialization.
Wait for exactly one new provider, verify that it declares the driver
contract from this package manifest, then drive INIT and (except for
skills) ACTIVATE. Contract verification is mandatory before any config is
sent, so a provider exposing a different lifecycle cannot receive this
packageβs configuration. Concurrent starts of two instances with the same
driver contract still require a future registration token for full identity
correlation.
Build the package-local Python import path without touching a colcon
workspace. A real rbnx-build/ws/install/setup.bash, when present, is
sourced first; this export then prepends generated stubs while preserving
every Python path contributed by that overlay and the parent environment.
Return the migration warning emitted by rbnx start for a non-shared
Driver declaration. Runtime registration later proves whether it is the
providerβs exact namespace legacy contract before accepting it.