Is it possible to trigger a contract with a not prunable public trigger message? In the current state pruning is not implemented. Therefore an attached public trigger message should stay in the blockchain until pruning is enabled. When this is the case, will it be possible to make the trigger message unprunable? This could be useful for contract params validation. For example:

If I trigger a contract with the following attached message: {"contract":"ExampleContract","params":{"veryImportantParameter":"42"}}

I would like to make this message public (so everybody can validate that I've triggered the contract ExampleContract with the parameter veryImportantParameter and it's value 42) and not prunable (so that everybody can validate the message at any time in the future).

Is this going to be possible?
Ardor has two levels of pruning. Pruning of messages (like the contract trigger message), data cloud items and shuffling artifacts are already implemented on each child chain. Child chain transaction pruning is scheduled for release later this year. 

Only prunable trigger message are supported at the moment to reduce blockchain bloat.

Send your trigger message in plain text and setup an archival node to save it locally even after it is pruned. This will provide you unreputable proof that this message existed at the time when the contract was triggered and other nodes will be load this message automatically from your archival node at a later time.