2026-07-26 13:38:55 +00:00
|
|
|
|
# D&D Spell-Catalog Overlays
|
2026-07-20 19:10:44 +00:00
|
|
|
|
|
2026-07-26 13:38:55 +00:00
|
|
|
|
This document defines the optional JSON overlay consumed by the D&D spell
|
|
|
|
|
|
extractor. An overlay contributes campaign spell names and aliases for
|
|
|
|
|
|
recognition. It does not define spell rules, effects, levels, classes, or
|
|
|
|
|
|
transcript evidence. Bind the optional `spell_catalog` reference as described
|
|
|
|
|
|
in [Configuration](../config.md#references-and-ordered-handoffs).
|
2026-07-20 19:10:44 +00:00
|
|
|
|
|
2026-07-26 13:38:55 +00:00
|
|
|
|
## Contract Identity
|
2026-07-20 19:20:56 +00:00
|
|
|
|
|
2026-07-26 13:38:55 +00:00
|
|
|
|
| Property | Value |
|
|
|
|
|
|
| --- | --- |
|
|
|
|
|
|
| Consumer | D&D spell extraction and normalization |
|
|
|
|
|
|
| Reference slot | `spell_catalog` |
|
|
|
|
|
|
| Media type | `application/json` |
|
|
|
|
|
|
| Required schema version | `notarius.dnd.spell-catalog-overlay.v1` |
|
|
|
|
|
|
| Base catalog | Embedded D&D 5e 2014 SRD catalog |
|
2026-07-20 19:10:44 +00:00
|
|
|
|
|
2026-07-26 13:38:55 +00:00
|
|
|
|
At most one overlay document may be bound. The maintained example is
|
|
|
|
|
|
[dnd-spell-catalog.json](../../examples/dnd-spell-catalog.json).
|
|
|
|
|
|
|
|
|
|
|
|
## Wire Shape
|
|
|
|
|
|
|
|
|
|
|
|
This is a minimal valid overlay:
|
2026-07-20 19:10:44 +00:00
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"schema_version": "notarius.dnd.spell-catalog-overlay.v1",
|
|
|
|
|
|
"catalogs": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": "campaign.example",
|
|
|
|
|
|
"ruleset": "dnd-5e-2014",
|
2026-07-26 13:38:55 +00:00
|
|
|
|
"source": {"title": "Example campaign spells"},
|
|
|
|
|
|
"spells": [{"name": "Aegis of Emberfall"}]
|
2026-07-20 19:10:44 +00:00
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-07-26 13:38:55 +00:00
|
|
|
|
| Field | Required | Meaning and constraints |
|
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
|
| `schema_version` | Yes | Exactly `notarius.dnd.spell-catalog-overlay.v1`. |
|
|
|
|
|
|
| `catalogs` | Yes | Non-empty array of catalog objects with unique IDs. |
|
|
|
|
|
|
| `catalogs[].id` | Yes | Non-empty trimmed string. |
|
|
|
|
|
|
| `catalogs[].ruleset` | Yes | Exactly `dnd-5e-2014`. |
|
|
|
|
|
|
| `catalogs[].source.title` | Yes | Non-empty trimmed string. |
|
|
|
|
|
|
| `catalogs[].source.version` | No | String when present. |
|
|
|
|
|
|
| `catalogs[].source.url` | No | String when present. |
|
|
|
|
|
|
| `catalogs[].source.license` | No | String when present. |
|
|
|
|
|
|
| `catalogs[].spells` | Yes | Non-empty array of spell objects. |
|
|
|
|
|
|
| `catalogs[].spells[].name` | Yes | Non-empty trimmed string. |
|
|
|
|
|
|
| `catalogs[].spells[].aliases` | No | Array of non-empty trimmed strings when present. |
|
2026-07-20 19:10:44 +00:00
|
|
|
|
|
2026-07-26 13:38:55 +00:00
|
|
|
|
Unknown fields are rejected at every object level. The document must contain
|
|
|
|
|
|
one JSON value; `null` is not accepted for optional strings or aliases.
|
2026-07-20 19:10:44 +00:00
|
|
|
|
|
2026-07-26 13:38:55 +00:00
|
|
|
|
## Composition And Compatibility
|
2026-07-20 19:10:44 +00:00
|
|
|
|
|
2026-07-26 13:38:55 +00:00
|
|
|
|
Notarius starts with the embedded base catalog, then applies overlay catalogs
|
|
|
|
|
|
in ascending catalog-ID order. A new canonical spell name adds a recognition
|
|
|
|
|
|
entry. If an overlay names an existing canonical spell, it augments that spell
|
|
|
|
|
|
with aliases while retaining the established display spelling.
|
2026-07-20 19:10:44 +00:00
|
|
|
|
|
2026-07-26 13:38:55 +00:00
|
|
|
|
Repeated aliases for the same spell are accepted. A canonical-name, canonical-
|
|
|
|
|
|
to-alias, or alias-to-alias collision between different spells is rejected,
|
|
|
|
|
|
including a collision with the embedded catalog. Matching uses the catalog’s
|
|
|
|
|
|
case, whitespace, and apostrophe normalization, so authors should avoid names
|
|
|
|
|
|
or aliases that normalize to another spell.
|
2026-07-20 19:10:44 +00:00
|
|
|
|
|
2026-07-26 13:38:55 +00:00
|
|
|
|
The overlay is a recognition aid only. The durable spell-artifact schema and
|
|
|
|
|
|
source-evidence rules are defined by the
|
|
|
|
|
|
[D&D spell artifact contract](dnd-spell-artifacts.md).
|