Derived Burrito Tutorial

[Specification] [Example]

This tutorial walks through creating a derived burrito — a burrito produced from an existing burrito rather than created directly. The example is an English back-translation of Matthew produced from the Zarma New Testament.

Scenario: A translation consultant needs an English back-translation of Matthew to check the Zarma text. The Zarma NT is already registered in the Digital Bible Library as a3f9c12e887b4d01. The back-translation lives in a directory called zarma-nt-bt/:

zarma-nt-bt/
    ingredients/
        40MATBACKTR.SFM
    metadata.json

1. Format

The format field is the same for all burritos:

{
  "format": "scripture burrito",

2. Meta: category

The key difference from a source burrito is meta.category:

"meta": {
  "version": "1.0.0",
  "category": "derived",
  "generator": {
    "softwareName": "MyTranslationTool",
    "softwareVersion": "2.3.1",
    "userName": "David Okonkwo"
  },
  "defaultLocale": "en",
  "dateCreated": "2025-11-20T14:00:00+01:00",
  "normalization": "NFC"
},

Setting category to "derived" tells consuming tools that this burrito was produced from another. A tool that receives an update to the source Zarma NT can flag that this back-translation may need to be regenerated.

3. Identification and upstream

The identification.upstream field records which external burrito this was derived from. Its structure mirrors identification.primary: keys are authority names from idAuthorities, values are arrays of source identifiers:

"idAuthorities": {
  "dbl": {
    "id": "https://thedigitalbiblelibrary.org",
    "name": {"en": "The Digital Bible Library"}
  }
},
"identification": {
  "name": {
    "en": "Back-Translation of the Zarma New Testament (Matthew)"
  },
  "description": {
    "en": "English back-translation of Zarma Matthew for consultant checking"
  },
  "abbreviation": {"en": "ZJNT-BT"},
  "upstream": {
    "dbl": [
      {
        "a3f9c12e887b4d01": {
          "revision": "1",
          "timestamp": "2025-11-04T09:00:00+01:00"
        }
      }
    ]
  }
},
  • upstream is optional if the source is not registered in an external authority. In that case use relationships (see step 7).

4. Languages

A back-translation is typically in the consultant’s language:

"languages": [
  {
    "tag": "en",
    "name": {"en": "English"}
  }
],

5. Type

The type section uses the same flavor as the source but sets projectType to "backTranslation":

"type": {
  "flavorType": {
    "name": "scripture",
    "flavor": {
      "name": "textTranslation",
      "usfmVersion": "3.1",
      "translationType": "newTranslation",
      "audience": "basic",
      "projectType": "backTranslation"
    },
    "currentScope": {
      "MAT": []
    }
  }
},
  • projectType: "backTranslation" — signals that this is a back-translation for checking, not an independent translation.

  • audience: "basic" — back-translations are typically simplified prose.

  • translationType: "newTranslation" — it is a fresh rendering, not a revision of an existing English text.

6. Agencies

"agencies": [
  {
    "id": "https://seedcompany.com",
    "roles": ["content"],
    "url": "https://seedcompany.com",
    "name": {"en": "Seed Company"},
    "abbr": {"en": "SC"}
  }
],

7. Ingredients

The back-translation file is listed the same way as any other text ingredient:

"ingredients": {
  "ingredients/40MATBACKTR.SFM": {
    "checksum": {"md5": "c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8"},
    "mimeType": "text/x-usfm",
    "size": 98000,
    "scope": {"MAT": []}
  }
},

8. Relationships

The relationships array formally declares the link to the source burrito. This complements identification.upstream and is useful even when the source is not registered externally, because it lets any tool follow the provenance:

"relationships": [
  {
    "relationType": "source",
    "flavor": "textTranslation",
    "id": "dbl::a3f9c12e887b4d01",
    "revision": "1"
  }
]
  • relationType: "source" — the related burrito is the original from which this back-translation was produced.

  • flavor — the flavor of the source burrito.

  • id — prefixed with the dbl authority declared in idAuthorities.

9. The complete file

Putting it all together:

{
  "format": "scripture burrito",
  "meta": {
    "version": "1.0.0",
    "category": "derived",
    "generator": {
      "softwareName": "MyTranslationTool",
      "softwareVersion": "2.3.1",
      "userName": "David Okonkwo"
    },
    "defaultLocale": "en",
    "dateCreated": "2025-11-20T14:00:00+01:00",
    "normalization": "NFC"
  },
  "idAuthorities": {
    "dbl": {
      "id": "https://thedigitalbiblelibrary.org",
      "name": {"en": "The Digital Bible Library"}
    }
  },
  "identification": {
    "name": {
      "en": "Back-Translation of the Zarma New Testament (Matthew)"
    },
    "description": {
      "en": "English back-translation of Zarma Matthew for consultant checking"
    },
    "abbreviation": {"en": "ZJNT-BT"},
    "upstream": {
      "dbl": [
        {
          "a3f9c12e887b4d01": {
            "revision": "1",
            "timestamp": "2025-11-04T09:00:00+01:00"
          }
        }
      ]
    }
  },
  "languages": [
    {
      "tag": "en",
      "name": {"en": "English"}
    }
  ],
  "type": {
    "flavorType": {
      "name": "scripture",
      "flavor": {
        "name": "textTranslation",
        "usfmVersion": "3.1",
        "translationType": "newTranslation",
        "audience": "basic",
        "projectType": "backTranslation"
      },
      "currentScope": {
        "MAT": []
      }
    }
  },
  "agencies": [
    {
      "id": "https://seedcompany.com",
      "roles": ["content"],
      "url": "https://seedcompany.com",
      "name": {"en": "Seed Company"},
      "abbr": {"en": "SC"}
    }
  ],
  "ingredients": {
    "ingredients/40MATBACKTR.SFM": {
      "checksum": {"md5": "c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8"},
      "mimeType": "text/x-usfm",
      "size": 98000,
      "scope": {"MAT": []}
    }
  },
  "relationships": [
    {
      "relationType": "source",
      "flavor": "textTranslation",
      "id": "dbl::a3f9c12e887b4d01",
      "revision": "1"
    }
  ]
}

Next steps

  • Add more books to currentScope and ingredients as the back-translation grows.

  • If the source Zarma NT is updated, bump the revision in both upstream and relationships to track which version you are working from.

  • For the complete field reference see Derived Burritos Specification.

  • For creating a custom flavor (e.g. sign-language video) see Custom Flavors Specification.