Due to some limitations in my protocol I can't really estimate the budget needed for Solana transactions to successfully execute. I am using durable nonces so I want transactions to be executed so the nonce advances correctly. However, when a transaction's compute budget is lower than the compute limits used I can't get the transaction included in a block (of course as a failed transaction).
I am sending the transactions with the skip_preflight enabled so even reverted transactions get sent. That works well for transactions that revert somewhere in the program execution, in a sense that they get included in a block (as a failed transaction of course). However, for transactions where the computational budget is exceeded the transactions are never included on chain. Is that intended behavior of the Solana validators or am I missing something?