The current engine implementation for lightgbm sends additional engine arguments to the function lightgbm::lgb.train. However, one of the dataset parameters is really a model option, linear_tree, which fits linear regression models in the leaf nodes rather than constant models in each leaf.
Currently, the tidymodels engine argument mechanics don't allow for specifying where additional engine arguments should be directed. One could simply add a single fixed argument for linear_tree as I did in this crude example for experimentation, but that's not really a long term solution, if there are other lightgbm arguments that people would like to access in a similar manner.
Would it be possible to more fully expose engine arguments for lightgbm in a way that distinguishes between those intended for lgb.train() vs. lgb.Dataset(), or is an argument by argument method the best we can do?