Reference › Errors
E-AUTH-GRAPH-003
<auth role="X"> names a variant that is not in the role enum.
What it means
The role enum resolved successfully, but a gate references a variant it does not declare — typically a typo or a role that was renamed in the enum and not at the gate. The diagnostic lists the enum's actual variants. Because the gate cannot be classified, it falls back to the worst-case union per §40.9.2, which means it would ship eagerly to everyone.
Minimal reproducer
This is the exact source compiled against the linked compiler and verified to produce E-AUTH-GRAPH-003.
<program title="p" auth="required">
type Role:enum = { Admin, Member }
<auth role="Ghost">
<p>ghost only</p>
</>
</>
How to fix
- Correct the variant name at the gate. Match one of the declared variants exactly — the check is case-sensitive.
- Add the variant to the role enum. Correct when the role is real and the enum is the thing that is out of date.
Related
Specification
Normative text: §40.1.1, §40.9.11, §34. Spec lives at compiler/SPEC.md .