From 88cbe4e623eab9adb608566ac636d36eed72e551 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Tue, 15 Sep 2026 22:12:31 +0200 Subject: check refuses placeholders that could never expand --- internal/engine/engine.go | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'internal/engine/engine.go') diff --git a/internal/engine/engine.go b/internal/engine/engine.go index 00a249d..958e4f9 100644 --- a/internal/engine/engine.go +++ b/internal/engine/engine.go @@ -177,6 +177,11 @@ func Load(mainFile string, names ...string) (*Engine, []*config.Diag) { func checkCaptures(file string, r *config.Rule, c *cond.Cond) *config.Diag { groups := c.NameGroups() for _, a := range r.Actions { + if err := plan.CheckTemplate(a.Arg); err != nil { + // A placeholder that could never expand is a config error, not a + // step skipped at plan time (plan 12). + return &config.Diag{File: file, Pos: a.Pos, Msg: fmt.Sprintf("rule %q: %v", r.Name, err)} + } n, err := plan.MaxIndex(a.Arg) if err != nil || n == 0 { continue -- cgit v1.3