bctl (bluefinctl) is installed by default on all Bluefin variants via Homebrew. Every ujust recipe checks command -v bctl first and falls back to bash if absent.
In CI, brew-setup.service is masked (kernel_args in e2e.yml), so bctl is never present. Every ujust test exercises only the bash fallback path — the real user-facing bctl code is never tested.
Fix: Add a dedicated developer-suite job variant that unmasks brew-setup.service and waits for Homebrew and bctl to be installed before running tests. This job would run on a subset of images (bluefin:testing only) and would validate bctl subcommands directly.
Automatable: yes — this is a CI job configuration change in e2e.yml and a new bctl.feature in tests/developer/.
bctl (bluefinctl) is installed by default on all Bluefin variants via Homebrew. Every ujust recipe checks
command -v bctlfirst and falls back to bash if absent.In CI, brew-setup.service is masked (kernel_args in e2e.yml), so bctl is never present. Every ujust test exercises only the bash fallback path — the real user-facing bctl code is never tested.
Fix: Add a dedicated developer-suite job variant that unmasks brew-setup.service and waits for Homebrew and bctl to be installed before running tests. This job would run on a subset of images (bluefin:testing only) and would validate bctl subcommands directly.
Automatable: yes — this is a CI job configuration change in e2e.yml and a new bctl.feature in tests/developer/.