Files
notarius/docs/integrations/dnd-spell-catalog-overlays.md

2.9 KiB
Raw Blame History

D&D Spell-Catalog Overlays

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.

Contract Identity

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

At most one overlay document may be bound. The maintained example is dnd-spell-catalog.json.

Wire Shape

This is a minimal valid overlay:

{
  "schema_version": "notarius.dnd.spell-catalog-overlay.v1",
  "catalogs": [
    {
      "id": "campaign.example",
      "ruleset": "dnd-5e-2014",
      "source": {"title": "Example campaign spells"},
      "spells": [{"name": "Aegis of Emberfall"}]
    }
  ]
}
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.

Unknown fields are rejected at every object level. The document must contain one JSON value; null is not accepted for optional strings or aliases.

Composition And Compatibility

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.

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 catalogs case, whitespace, and apostrophe normalization, so authors should avoid names or aliases that normalize to another spell.

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.