Background
derived_metadata.schema.json contains two fields from concepts that were never implemented:
recipe
recipe is currently required for derived burritos. It was designed for an "ecosystem servers" concept where a server would process a list of operations (each with idAuthority, operation, and data) to produce derived content. This concept was never built out.
Requiring recipe is too strict — a back-translation is a derived burrito but has no meaningful recipe from a server. The only example of a derived burrito (textTranslation_derived.json) includes a recipe with a single DBL apply_license_agreement step, which reflects the DBL ecosystem server design.
promotion
promotion provides localized plain and rich text for marketing/promotional purposes. It was designed for the now-removed print Bible flavors (typesetScripture, embossedBrailleScripture). Those flavors have been removed; promotion has no current use case.
Fix
- Remove
recipe from the required array in derived_metadata.schema.json (keep as optional with a $comment)
- Remove
promotion from derived_metadata.schema.json entirely
Impact
Removing recipe from required is a breaking change for validators. Removing promotion is a breaking change for any derived burrito that includes promotion data (no known examples exist).
Background
derived_metadata.schema.jsoncontains two fields from concepts that were never implemented:reciperecipeis currently required for derived burritos. It was designed for an "ecosystem servers" concept where a server would process a list of operations (each withidAuthority,operation, anddata) to produce derived content. This concept was never built out.Requiring
recipeis too strict — a back-translation is a derived burrito but has no meaningful recipe from a server. The only example of a derived burrito (textTranslation_derived.json) includes a recipe with a single DBLapply_license_agreementstep, which reflects the DBL ecosystem server design.promotionpromotionprovides localized plain and rich text for marketing/promotional purposes. It was designed for the now-removed print Bible flavors (typesetScripture,embossedBrailleScripture). Those flavors have been removed;promotionhas no current use case.Fix
recipefrom therequiredarray inderived_metadata.schema.json(keep as optional with a$comment)promotionfromderived_metadata.schema.jsonentirelyImpact
Removing
recipefrom required is a breaking change for validators. Removingpromotionis a breaking change for any derived burrito that includes promotion data (no known examples exist).