Schemas
Every schema is served as application/schema+json with Access-Control-Allow-Origin: *, so a validator can follow the whole $ref chain from a URL alone. Inter-schema references are relative filenames, so the same set also resolves from a local directory with no network. A published version path never changes.
| Schema | Canonical URL | Role |
|---|---|---|
oar-capability.schema.json | https://openagentrules.org/spec/1.0/oar-capability.schema.json | Open Agent Rules capability document — What a host provides: which core anchors it implements, which capability profiles it claims, its host-tier facts, its activity window, and its expression limit. |
oar-config.schema.json | https://openagentrules.org/spec/1.0/oar-config.schema.json | Open Agent Rules operator configuration — How an operator runs someone else's rule pack without forking it: disable a rule, or roll one out in monitor mode. |
oar-fixture.schema.json | https://openagentrules.org/spec/1.0/oar-fixture.schema.json | Open Agent Rules conformance fixture — One anchor occurrence replayed against one rule set, with the outcome a conforming engine must produce. |
oar.schema.json | https://openagentrules.org/spec/1.0/oar.schema.json | Open Agent Rules rule document — An OAR rule: where it applies (anchor + selector), when it applies (when + flow), and what happens (effect, transform, on_fire). |
The schemas check shape, not meaning. A document that validates can still be rejected at load — for a capability the host does not provide, an unresolvable anchor, or a condition that does not type-check. Those rejections are specified in section 10, and the corpus is what proves an engine performs them.