# `semantic.principal_variant_invalid`

Principal variant is not a subject and an optional active condition.

Area 8, [Identity](../topics/identity.md); not declinable; the next step is usually the agent's.

```jadpo
principal {
    user: {
        active: Member.suspended == false
    }
}

entity Member {
    id: Uuid
    suspended: Bool
}
```

```text
error: `user:` has no `subject:`
 --> main.jadpo:2:5
  |
2 |     user: {
  |     ^^^^ no `subject:`
  reason: A principal's variant names the unique field that identifies a caller, `subject: <Entity>.<field>`, and may say when a record counts as active, `active: <condition>`.
  next: Add `subject: <Entity>.<field>`, naming a unique field (agent)
  rule: semantic.principal_variant_invalid
  help: https://jadpo.dev/docs/errors/semantic.principal_variant_invalid

check failed: 1 error, 1 file
```
