Catch an undefined relationship before processing
Imagine one agent sends astronomy claims to another application. The sender writes “Earth orbitts the Sun.” A human might infer the intended word. A receiver that requires a registered relationship should flag the typo instead of guessing.
The same intended claim in three forms
Ordinary message
Earth orbits the Sun. I am fully confident.AIL with a registry identifier
AIL/0.2 M{id=demo1;act=A01;registry=ail-core:0.2;body=P(ail:earth,ail:orbits,ail:sun);conf=1;}JSON with an application profile
{
"id": "demo1",
"act": "A01",
"registry": "ail-core:0.2",
"body": [
"ail:earth",
"ail:orbits",
"ail:sun"
],
"conf": 1
}Change ail:orbits to ail:orbitts. Plain JSON parsing accepts the string. AIL strict registry checking rejects it with E03. A JSON schema that restricts the identifiers also rejects it. Both require agreed vocabulary and enforcement.
Observed comparison
| Case | JSON parsing only | AIL strict validation | JSON application profile |
|---|---|---|---|
| Valid structure | Accepted | Accepted | Accepted |
| Misspelled relationship | Accepted | Rejected | Rejected |
| Confidence outside range | Accepted | Rejected | Rejected |
| False claim with valid structure | Accepted | Accepted | Accepted |
The JSON column uses a small explicit Python profile checker in the reproduction script, not a general JSON Schema engine. An equivalent JSON Schema is supplied for this four-case profile. It is not a full encoding of AIL.
Where AIL adds convenience
AIL packages communicative acts, proposition syntax, registry identifiers, and display aliases together. In this implementation, ail:earth~tierra normalizes to ail:earth, so a label can change without changing the concept identifier. This is a convention offered by the format, not an automatic translation service.
AIL/0.2 M{id=alias1;act=A01;registry=ail-core:0.2;body=P(ail:earth~tierra,ail:orbits~orbita,ail:sun~sol);}Canonical output:
AIL/0.2
M{id=alias1;act=A01;registry=ail-core:0.2;body=P(ail:earth,ail:orbits,ail:sun);}What the comparison proves
The supplied implementation catches these structural errors and removes display aliases as designed. It does not prove superiority over JSON plus a schema. Stable identifiers and separate display labels can also be represented in JSON. If an existing application schema already meets your needs, this example does not establish a reason to replace it.
The reversed Sun-orbits-Earth claim passes both structural checks. Validation is not fact-checking. These examples contain no AI performance measurements.
Run the comparison · Inspect recorded output · Inspect canonicalization
External reference: JSON Schema enumerated values.