Skip to content

Remove recipe and promotion from derived_metadata: unimplemented concepts #345

Description

@jonathanrobie

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions