scrml.dev v0.7.1
Reference › Errors

E-AUTH-GRAPH-002

Auth gates reference role variants but the app-scope role enum cannot be resolved.

Error Compile-time SPEC §40.1.1 (normative)

What it means

<auth role="X"> is a compile-time visibility constraint, so the compiler must know the full set of roles to compute per-role bundles. It discovers the role enum from app scope. This error means that discovery failed — either no :enum is declared at app scope at all, or reference-based discovery matched several distinct enums and could not reconcile them to one.

Minimal reproducer

This is the exact source compiled against the linked compiler and verified to produce E-AUTH-GRAPH-002.

<program title="p" auth="required">
    <auth role="Admin">
        <p>admin only</p>
    </>
</>

How to fix

  1. Declare a single role :enum at app scope. Put it in the entry file's <program> body with variants matching every value your <auth role=> gates name.
  2. Disambiguate when several enums match. If two enums both contain the referenced variant names, a single app-scope role enum resolves the ambiguity.

Related

Specification

Normative text: §40.1.1, §40.9.11, §34. Spec lives at compiler/SPEC.md .

← Reference