The way iced currently checks whether comet is installed, is not by running iced_comet and checking the Result, or by examining the status code of command -v iced_comet, but by parsing the output of cargo install --list. This is done to ensure its Git revision matches the exact SHA specified in COMPATIBLE_REVISION, but effectively demands that iced_comet be built locally and installed imperatively.
That doesn't fly for any environment where cargo install isn't the preferred method of package management. *Suggesting* installation via cargo install is sound, but forcing that requirement upon all users is not. iced_comet --version could provide that information itself (e.g. by using a build script to embed the SHA via vergen or git rev-parse HEAD), if coming up with a stable versioning scheme for iced_beacon's message protocol is off the table.
The way iced currently checks whether comet is installed, is not by running
iced_cometand checking the Result, or by examining the status code ofcommand -v iced_comet, but by parsing the output ofcargo install --list. This is done to ensure its Git revision matches the exact SHA specified inCOMPATIBLE_REVISION, but effectively demands thaticed_cometbe built locally and installed imperatively.That doesn't fly for any environment where
cargo installisn't the preferred method of package management. *Suggesting* installation viacargo installis sound, but forcing that requirement upon all users is not.iced_comet --versioncould provide that information itself (e.g. by using a build script to embed the SHA viavergenorgit rev-parse HEAD), if coming up with a stable versioning scheme foriced_beacon's message protocol is off the table.