Architecture & Scope

Layered architecture and scope rules for traditions and profiles.

OLS is layered. The core standard avoids forcing one tradition’s structure onto another. Tradition-specific details belong in profiles.

OLS Core
  └── Christian Liturgical Core
        └── Oriental Orthodox Core
              ├── EOTC Profile
              ├── Eritrean Orthodox Profile
              ├── Coptic Orthodox Profile
              ├── Syriac Orthodox Profile
              ├── Armenian Apostolic Profile
              └── Malankara Orthodox Profile

Scope Object

{
  "scope": {
    "core": "christian-liturgical",
    "family": "oriental-orthodox",
    "tradition": "eotc",
    "profile": "eotc.v1",
    "status": "eotc-first",
    "otherTraditionsSupported": [
      "eritrean-orthodox",
      "coptic-orthodox",
      "syriac-orthodox",
      "armenian-apostolic",
      "malankara-orthodox"
    ]
  }
}

Scope Rules

RuleRequirement
Core fieldsMUST remain usable across Christian liturgical traditions.
Profile fieldsMUST live under traditions.<namespace>.
EOTC-specific termsMUST NOT be treated as universal Oriental Orthodox terms.
Local parish customsSHOULD be encoded as variants or local custom overlays.
Teaching contentMUST distinguish explanation from liturgical text.

Put Extensions at the Narrowest Scope

Keep portable fields at the entity root and place tradition-specific facts under the matching namespace. For example, the role type remains reusable while sanctuary access belongs to the EOTC profile:

{
  "id": "role-deacon",
  "type": "deacon",
  "labels": { "en": "Deacon" },
  "traditions": {
    "eotc": {
      "nativeTitle": "Diyaqon",
      "sanctuaryAccess": ["qene_mahlet", "qeddest"]
    }
  }
}

Consumers that do not implement traditions.eotc can still understand the core role. Profile-aware consumers can apply the additional access rules.

Do not duplicate or redefine a core field inside a profile namespace. If a profile needs different semantics, define a new namespaced field and document the relationship explicitly.

Schemas and supported values