Skip to content

rfc(engine): sandbox only when needed rather than throwing an error #8854

@Alizter

Description

@Alizter

Problem

When a rule is configured to be sandboxed, however the action of the rule does not need sandboxing, we raise the following error message:

            User_error.raise
              ~loc
              [ Pp.text
                  "Rule dependencies are configured to require sandboxing, but the rule \
                   has no actions that could potentially require sandboxing."
              ]

This can appear in some rather cryptic locations such as:

In this situation, it doesn't really make alot of sense that raise a user error for the following reasons:

  1. Because incorrect sandbox configurations are generally out of the users control and can be internal to dune.
  2. We have a better alternative solution which is to simply not sandbox.

Proposal 1

We should modify the behaviour in this case to simply conform to the sandboxing needs. If an action doesn't need to be sandboxed, then we should simply not sandbox it.

Proposal 2

In the aforementioned cases, the action in question was in fact the "empty actions" which is just (progn). Perhaps it is vacuously useful to sandbox in this case and we should just change it?

cc @rgrinberg @snowleopard

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedaccepted proposalsproposalRFC's that are awaiting discussion to be accepted or rejected

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions