{
  "id": "briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model",
  "mentions": [
    {
      "context": "… look of its site without forking the theme, presented from a deck of six slides…",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The model: every page is a set of named slots, each rendered by a component with…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The model: every page is a set of named slots, each rendered by a component with…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Working session on how a project overrides the look of its site without forking …",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…t forking the theme, presented from a deck of six slides. Four participants: the…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 16,
      "surface": "deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The model: every page is a set of named slots, each rendered by a component with…",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 14,
      "surface": "named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… contract between the generator and a theme. A theme that replaces a component k…",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… between the generator and a theme. A theme that replaces a component keeps the …",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…un on the rendered pages whatever the theme, and the page budget is measured on …",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n the fourth cascade layer, so that nothing in the default theme can outrank it.",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… look of its site without forking the theme.  Six slides for the working session…",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "2 · WHAT EXISTS  theme.yaml  Name, logo, favicon, font families, corner radius. …",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 21,
      "surface": "theme.yaml",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… contract between the generator and a theme.  A theme that replaces a component …",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…between the generator and a theme.  A theme that replaces a component keeps the …",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… look of its site without forking the theme.  Six slides for the working session…",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "2 · WHAT EXISTS  theme.yaml  Name, logo, favicon, font families, corner radius. …",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 21,
      "surface": "theme.yaml",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… contract between the generator and a theme.  A theme that replaces a component …",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…between the generator and a theme.  A theme that replaces a component keeps the …",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…lides on how a project overrides the look of its site without forking the theme.",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "00:01:00",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slide two is what exists: theme.yaml. Name, logo, favicon, the font families, th…",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "00:10:15",
      "passages": 21,
      "surface": "theme.yaml",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ed view model. The view model is the contract between the generator and a theme.",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A theme that replaces a component has to keep the view model, then. What stops a…",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "00:20:30",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ep the view model, then. What stops a theme from dropping the mentions or the le…",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "00:20:30",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…un on the rendered pages whatever the theme, and the page budget is measured on …",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "00:24:30",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ject. The project layer is last, so nothing in the default theme can outrank it.",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "location": "00:34:30",
      "passages": 21,
      "surface": "theme",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…y message of the catalogue through theme.yaml, in the same syntax as the message…",
      "file": {
        "href": "../../../../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "location": "00:39:05",
      "passages": 21,
      "surface": "theme.yaml",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ered by a component with a typed view model, the contract between the generator …",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…t replaces a component keeps the view model; the accessibility checks run on the…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…or its type; it goes through the same slot, so the model covers the plugins too.",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… layers: named slots with typed view models, islands for the interactive parts o…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "3 · THE MODEL  Named slots with typed view models  Every page is a set of named …",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "MODEL",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…E MODEL  Named slots with typed view models  Every page is a set of named slots,…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ch rendered by a component.  The view model of a slot is the contract between th…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…t replaces a component keeps the view model; the checks run on the rendered page…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… layers  Named slots with typed view models.  Islands for the interactive parts,…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "3 · THE MODEL  Named slots with typed view models  Every page is a set of named …",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "MODEL",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…E MODEL  Named slots with typed view models  Every page is a set of named slots,…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ch rendered by a component.  The view model of a slot is the contract between th…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…t replaces a component keeps the view model; the checks run on the rendered page…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… layers  Named slots with typed view models.  Islands for the interactive parts,…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slide three is the model we propose. Every page is a set of named slots, each re…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ered by a component with a typed view model. The view model is the contract betw…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ent with a typed view model. The view model is the contract between the generato…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…aces a component has to keep the view model, then. What stops a theme from dropp…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "00:20:30",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… layers: named slots with typed view models, islands for the interactive parts o…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L11",
      "kind": "recognised",
      "line": 11,
      "location": "00:48:45",
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ts type, and it goes through the same slot, so the model covers the plugins too.",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "location": "00:52:50",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ered by a component with a typed view model, the contract between the generator …",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…t replaces a component keeps the view model; the accessibility checks run on the…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…or its type; it goes through the same slot, so the model covers the plugins too.",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… layers: named slots with typed view models, islands for the interactive parts o…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "3 · THE MODEL  Named slots with typed view models  Every page is a set of named …",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "MODEL",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…E MODEL  Named slots with typed view models  Every page is a set of named slots,…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ch rendered by a component.  The view model of a slot is the contract between th…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…t replaces a component keeps the view model; the checks run on the rendered page…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… layers  Named slots with typed view models.  Islands for the interactive parts,…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "3 · THE MODEL  Named slots with typed view models  Every page is a set of named …",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "MODEL",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…E MODEL  Named slots with typed view models  Every page is a set of named slots,…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ch rendered by a component.  The view model of a slot is the contract between th…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…t replaces a component keeps the view model; the checks run on the rendered page…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… layers  Named slots with typed view models.  Islands for the interactive parts,…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Slide three is the model we propose. Every page is a set of named slots, each re…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ered by a component with a typed view model. The view model is the contract betw…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ent with a typed view model. The view model is the contract between the generato…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…aces a component has to keep the view model, then. What stops a theme from dropp…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "00:20:30",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… layers: named slots with typed view models, islands for the interactive parts o…",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L11",
      "kind": "recognised",
      "line": 11,
      "location": "00:48:45",
      "passages": 21,
      "surface": "models",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ts type, and it goes through the same slot, so the model covers the plugins too.",
      "file": {
        "href": "../../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "location": "00:52:50",
      "passages": 21,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Layers: the stylesheet of the project is loaded last, in the fourth cascade laye…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Labels: a project overrides any message of the catalogue through theme.yaml, in …",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…rts only, cascade layers so that the project stylesheet wins by construction, an…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ST 2026  Theme override model  How a project overrides the look of its site with…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e working session of the Concordance project.  Deck, minutes and transcript are …",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…eader sees names the tool unless the project asks for it.  Theme override model …",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…de layers: tokens, base, components, project.  The project stylesheet is loaded …",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ens, base, components, project.  The project stylesheet is loaded last and wins …",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ST 2026  Theme override model  How a project overrides the look of its site with…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e working session of the Concordance project.  Deck, minutes and transcript are …",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…eader sees names the tool unless the project asks for it.  Theme override model …",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…de layers: tokens, base, components, project.  The project stylesheet is loaded …",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ens, base, components, project.  The project stylesheet is loaded last and wins …",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ck for this one. Six slides on how a project overrides the look of its site with…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "00:01:00",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "And the stylesheet of the project wins by construction. Four cascade layers: tok…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "location": "00:34:30",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…de layers: tokens, base, components, project. The project layer is last, so noth…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "location": "00:34:30",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…kens, base, components, project. The project layer is last, so nothing in the de…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "location": "00:34:30",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slide five is the labels, I think. A project overrides any message of the catalo…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "location": "00:39:05",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…only, and cascade layers so that the project stylesheet wins. Without javascript…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L11",
      "kind": "recognised",
      "line": 11,
      "location": "00:48:45",
      "passages": 20,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… theme, presented from a deck of six slides. Four participants: the maintainer, …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 16,
      "surface": "slides",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…f the wiki and the quality owner. The deck, its PDF preview and the transcript s…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 16,
      "surface": "deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…site without forking the theme.  Six slides for the working session of the Conco…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 16,
      "surface": "slides",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… session of the Concordance project.  Deck, minutes and transcript are grouped i…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 16,
      "surface": "Deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…site without forking the theme.  Six slides for the working session of the Conco…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 16,
      "surface": "slides",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… session of the Concordance project.  Deck, minutes and transcript are grouped i…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 16,
      "surface": "Deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Participant-3 brought a deck for this one. Six slides on how a project overrides…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "00:01:00",
      "passages": 16,
      "surface": "deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…t-3 brought a deck for this one. Six slides on how a project overrides the look …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "00:01:00",
      "passages": 16,
      "surface": "slides",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slide one is the problem. An integrator wants the organisation's name, logo and …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "00:05:15",
      "passages": 16,
      "surface": "Slide",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slide two is what exists: theme.yaml. Name, logo, favicon, the font families, th…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "00:10:15",
      "passages": 16,
      "surface": "Slide",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slide three is the model we propose. Every page is a set of named slots, each re…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 16,
      "surface": "Slide",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slide four, the islands. Only the interactive parts are hydrated: the search, th…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L7",
      "kind": "recognised",
      "line": 7,
      "location": "00:29:40",
      "passages": 16,
      "surface": "Slide",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slide five is the labels, I think. A project overrides any message of the catalo…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "location": "00:39:05",
      "passages": 16,
      "surface": "Slide",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slide six, the decision. Slots, islands and layers: named slots with typed view …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L11",
      "kind": "recognised",
      "line": 11,
      "location": "00:48:45",
      "passages": 16,
      "surface": "Slide",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… by everyone. Participant-3 files the deck next to these minutes so that the wik…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "location": "01:00:10",
      "passages": 16,
      "surface": "deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…or its type; it goes through the same slot, so the model covers the plugins too.",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 14,
      "surface": "slot",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slots, islands and layers: named slots with typed view models, islands for the i…",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 14,
      "surface": "named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "3 · THE MODEL  Named slots with typed view models  Every page is a set of named …",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 14,
      "surface": "Named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…iew models  Every page is a set of named slots, each rendered by a component.  T…",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 14,
      "surface": "named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… by a component.  The view model of a slot is the contract between the generator…",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 14,
      "surface": "slot",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…CISION  Slots, islands and layers  Named slots with typed view models.  Islands …",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 14,
      "surface": "Named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "3 · THE MODEL  Named slots with typed view models  Every page is a set of named …",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 14,
      "surface": "Named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…iew models  Every page is a set of named slots, each rendered by a component.  T…",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 14,
      "surface": "named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… by a component.  The view model of a slot is the contract between the generator…",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 14,
      "surface": "slot",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…CISION  Slots, islands and layers  Named slots with typed view models.  Islands …",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 14,
      "surface": "Named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…we propose. Every page is a set of named slots, each rendered by a component wit…",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 14,
      "surface": "named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…cision. Slots, islands and layers: named slots with typed view models, islands f…",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L11",
      "kind": "recognised",
      "line": 11,
      "location": "00:48:45",
      "passages": 14,
      "surface": "named slots",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ts type, and it goes through the same slot, so the model covers the plugins too.",
      "file": {
        "href": "../../../../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "location": "00:52:50",
      "passages": 14,
      "surface": "slot",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Islands: only the interactive parts are hydrated, the search, the mentions panel…",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 12,
      "surface": "Islands",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he mode switch, one small bundle per island, loaded only by the pages that use i…",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 12,
      "surface": "island",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… named slots with typed view models, islands for the interactive parts only, cas…",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 12,
      "surface": "islands",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "4 · ISLANDS AND LAYERS  Hydrate the interactive parts only  One small bundle per…",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 12,
      "surface": "ISLANDS",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ive parts only  One small bundle per island: search, mentions panel, mode switch…",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 12,
      "surface": "island",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…Named slots with typed view models.  Islands for the interactive parts, content …",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 12,
      "surface": "Islands",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "4 · ISLANDS AND LAYERS  Hydrate the interactive parts only  One small bundle per…",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 12,
      "surface": "ISLANDS",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ive parts only  One small bundle per island: search, mentions panel, mode switch…",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 12,
      "surface": "island",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…Named slots with typed view models.  Islands for the interactive parts, content …",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 12,
      "surface": "Islands",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Slide four, the islands. Only the interactive parts are hydrated: the search, th…",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L7",
      "kind": "recognised",
      "line": 7,
      "location": "00:29:40",
      "passages": 12,
      "surface": "islands",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he mode switch. One small bundle per island, loaded only by the pages that use i…",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L7",
      "kind": "recognised",
      "line": 7,
      "location": "00:29:40",
      "passages": 12,
      "surface": "island",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… named slots with typed view models, islands for the interactive parts only, and…",
      "file": {
        "href": "../../../../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "#L11",
      "kind": "recognised",
      "line": 11,
      "location": "00:48:45",
      "passages": 12,
      "surface": "islands",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Working session on how a project overrides the look of its site without forking …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 10,
      "surface": "Working session",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…and the transcript sit next to these minutes and the build groups the four files…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 10,
      "surface": "minutes",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "WORKING SESSION · 27 AUGUST 2026  Theme override model  How a project overrides …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 10,
      "surface": "WORKING SESSION",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…g the theme.  Six slides for the working session of the Concordance project.  De…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 10,
      "surface": "working session",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n of the Concordance project.  Deck, minutes and transcript are grouped into one…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 10,
      "surface": "minutes",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "WORKING SESSION · 27 AUGUST 2026  Theme override model  How a project overrides …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 10,
      "surface": "WORKING SESSION",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…g the theme.  Six slides for the working session of the Concordance project.  De…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 10,
      "surface": "working session",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n of the Concordance project.  Deck, minutes and transcript are grouped into one…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 10,
      "surface": "minutes",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "One remark for the minutes. A type module may ship a page of its own for its typ…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "location": "00:52:50",
      "passages": 10,
      "surface": "minutes",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ipant-3 files the deck next to these minutes so that the wiki shows the three on…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "location": "01:00:10",
      "passages": 10,
      "surface": "minutes",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ipt sit next to these minutes and the build groups the four files into one page.",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ndered pages whatever the theme, and the page budget is measured on every build.",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ark palettes, checked for contrast at build.  Footer text, footer links, an extr…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…of 150 kB per page, measured on every build.  Theme override model · 2026-08-27 …",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ark palettes, checked for contrast at build.  Footer text, footer links, an extr…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…of 150 kB per page, measured on every build.  Theme override model · 2026-08-27 …",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ndered pages whatever the theme, and the page budget is measured on every build.",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "00:24:30",
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ipt sit next to these minutes and the build groups the four files into one page.",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ndered pages whatever the theme, and the page budget is measured on every build.",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ark palettes, checked for contrast at build.  Footer text, footer links, an extr…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…of 150 kB per page, measured on every build.  Theme override model · 2026-08-27 …",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ark palettes, checked for contrast at build.  Footer text, footer links, an extr…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…of 150 kB per page, measured on every build.  Theme override model · 2026-08-27 …",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ndered pages whatever the theme, and the page budget is measured on every build.",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "00:24:30",
      "passages": 7,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… author of the specifications, the integrator of the wiki and the quality owner.…",
      "file": {
        "href": "../../../../../specs/roles/ingestion/integrator/index.html",
        "label": "roles/ingestion/integrator.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 7,
      "surface": "integrator",
      "title": "Integrator",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "The need: an integrator wants the organisation's name, logo, colours and a label…",
      "file": {
        "href": "../../../../../specs/roles/ingestion/integrator/index.html",
        "label": "roles/ingestion/integrator.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 7,
      "surface": "integrator",
      "title": "Integrator",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…ion's identity, not the tool's  An integrator wants the name, the logo, the colo…",
      "file": {
        "href": "../../../../../specs/roles/ingestion/integrator/index.html",
        "label": "roles/ingestion/integrator.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 7,
      "surface": "integrator",
      "title": "Integrator",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…rs and a label here and there.  An integrator never wants to touch the component…",
      "file": {
        "href": "../../../../../specs/roles/ingestion/integrator/index.html",
        "label": "roles/ingestion/integrator.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 7,
      "surface": "integrator",
      "title": "Integrator",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…ion's identity, not the tool's  An integrator wants the name, the logo, the colo…",
      "file": {
        "href": "../../../../../specs/roles/ingestion/integrator/index.html",
        "label": "roles/ingestion/integrator.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 7,
      "surface": "integrator",
      "title": "Integrator",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…rs and a label here and there.  An integrator never wants to touch the component…",
      "file": {
        "href": "../../../../../specs/roles/ingestion/integrator/index.html",
        "label": "roles/ingestion/integrator.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 7,
      "surface": "integrator",
      "title": "Integrator",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "Slide one is the problem. An integrator wants the organisation's name, logo and …",
      "file": {
        "href": "../../../../../specs/roles/ingestion/integrator/index.html",
        "label": "roles/ingestion/integrator.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "00:05:15",
      "passages": 7,
      "surface": "integrator",
      "title": "Integrator",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…roject is loaded last, in the fourth cascade layer, so that nothing in the defau…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/type-cascade/index.html",
        "label": "ingestion/typing/type-cascade.md"
      },
      "href": "#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 6,
      "surface": "cascade",
      "title": "Type cascade",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ands for the interactive parts only, cascade layers so that the project styleshe…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/type-cascade/index.html",
        "label": "ingestion/typing/type-cascade.md"
      },
      "href": "#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 6,
      "surface": "cascade",
      "title": "Type cascade",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…, mentions panel, mode switch.  Four cascade layers: tokens, base, components, p…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/type-cascade/index.html",
        "label": "ingestion/typing/type-cascade.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 6,
      "surface": "cascade",
      "title": "Type cascade",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…, mentions panel, mode switch.  Four cascade layers: tokens, base, components, p…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/type-cascade/index.html",
        "label": "ingestion/typing/type-cascade.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 6,
      "surface": "cascade",
      "title": "Type cascade",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e project wins by construction. Four cascade layers: tokens, base, components, p…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/type-cascade/index.html",
        "label": "ingestion/typing/type-cascade.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "location": "00:34:30",
      "passages": 6,
      "surface": "cascade",
      "title": "Type cascade",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… for the interactive parts only, and cascade layers so that the project styleshe…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/type-cascade/index.html",
        "label": "ingestion/typing/type-cascade.md"
      },
      "href": "#L11",
      "kind": "recognised",
      "line": 11,
      "location": "00:48:45",
      "passages": 6,
      "surface": "cascade",
      "title": "Type cascade",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "decisions",
      "file": {
        "href": "../../../../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "#L1",
      "kind": "written",
      "line": 1,
      "passages": 5,
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Slots, islands and layers: named slots with typed view models, islands for the i…",
      "file": {
        "href": "../../../../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 5,
      "surface": "Slots, islands and layers",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "5 · DECISION  Slots, islands and layers  Named slots with typed view models.  Is…",
      "file": {
        "href": "../../../../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 5,
      "surface": "Slots, islands and layers",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "5 · DECISION  Slots, islands and layers  Named slots with typed view models.  Is…",
      "file": {
        "href": "../../../../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 5,
      "surface": "Slots, islands and layers",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Slide six, the decision. Slots, islands and layers: named slots with typed view …",
      "file": {
        "href": "../../../../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "#L11",
      "kind": "recognised",
      "line": 11,
      "location": "00:48:45",
      "passages": 5,
      "surface": "Slots, islands and layers",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…w a project overrides the look of its site without forking the theme, presented …",
      "file": {
        "href": "../../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 4,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…w a project overrides the look of its site without forking the theme.  Six slide…",
      "file": {
        "href": "../../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 4,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…w a project overrides the look of its site without forking the theme.  Six slide…",
      "file": {
        "href": "../../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 4,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…lides on how a project overrides the look of its site without forking the theme.",
      "file": {
        "href": "../../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "00:01:00",
      "passages": 4,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…me, the logo, the favicon, the font families, the corner radius, the light and d…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check-family/index.html",
        "label": "quality/checks/check-family.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 4,
      "surface": "families",
      "title": "Check family",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…eme.yaml  Name, logo, favicon, font families, corner radius.  Light and dark pal…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check-family/index.html",
        "label": "quality/checks/check-family.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 4,
      "surface": "families",
      "title": "Check family",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…eme.yaml  Name, logo, favicon, font families, corner radius.  Light and dark pal…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check-family/index.html",
        "label": "quality/checks/check-family.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 4,
      "surface": "families",
      "title": "Check family",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…yaml. Name, logo, favicon, the font families, the corner radius, the light and d…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check-family/index.html",
        "label": "quality/checks/check-family.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "00:10:15",
      "passages": 4,
      "surface": "families",
      "title": "Check family",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ponent with a typed view model, the contract between the generator and a theme. …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 4,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…t.  The view model of a slot is the contract between the generator and a theme. …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 4,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…t.  The view model of a slot is the contract between the generator and a theme. …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 4,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ed view model. The view model is the contract between the generator and a theme.",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 4,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he search, the mentions panel, the mode switch, one small bundle per island, loa…",
      "file": {
        "href": "../../../../../glossary/publication/site/colour-scheme/index.html",
        "label": "publication/site/colour-scheme.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 4,
      "surface": "mode switch",
      "title": "Colour scheme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…er island: search, mentions panel, mode switch.  Four cascade layers: tokens, ba…",
      "file": {
        "href": "../../../../../glossary/publication/site/colour-scheme/index.html",
        "label": "publication/site/colour-scheme.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 4,
      "surface": "mode switch",
      "title": "Colour scheme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…er island: search, mentions panel, mode switch.  Four cascade layers: tokens, ba…",
      "file": {
        "href": "../../../../../glossary/publication/site/colour-scheme/index.html",
        "label": "publication/site/colour-scheme.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 4,
      "surface": "mode switch",
      "title": "Colour scheme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he search, the mentions panel, the mode switch. One small bundle per island, loa…",
      "file": {
        "href": "../../../../../glossary/publication/site/colour-scheme/index.html",
        "label": "publication/site/colour-scheme.md"
      },
      "href": "#L7",
      "kind": "recognised",
      "line": 7,
      "location": "00:29:40",
      "passages": 4,
      "surface": "mode switch",
      "title": "Colour scheme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… interactive parts are hydrated, the search, the mentions panel, the mode switch…",
      "file": {
        "href": "../../../../../specs/screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 4,
      "surface": "search",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…s only  One small bundle per island: search, mentions panel, mode switch.  Four …",
      "file": {
        "href": "../../../../../specs/screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 4,
      "surface": "search",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…s only  One small bundle per island: search, mentions panel, mode switch.  Four …",
      "file": {
        "href": "../../../../../specs/screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 4,
      "surface": "search",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… interactive parts are hydrated: the search, the mentions panel, the mode switch…",
      "file": {
        "href": "../../../../../specs/screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "#L7",
      "kind": "recognised",
      "line": 7,
      "location": "00:29:40",
      "passages": 4,
      "surface": "search",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…he search, the mentions panel, the mode switch, one small bundle per island, loa…",
      "file": {
        "href": "../../../../../specs/screens/panels/colour-scheme/index.html",
        "label": "screens/panels/colour-scheme.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 4,
      "surface": "mode switch",
      "title": "Colour scheme",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…er island: search, mentions panel, mode switch.  Four cascade layers: tokens, ba…",
      "file": {
        "href": "../../../../../specs/screens/panels/colour-scheme/index.html",
        "label": "screens/panels/colour-scheme.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 4,
      "surface": "mode switch",
      "title": "Colour scheme",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…er island: search, mentions panel, mode switch.  Four cascade layers: tokens, ba…",
      "file": {
        "href": "../../../../../specs/screens/panels/colour-scheme/index.html",
        "label": "screens/panels/colour-scheme.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 4,
      "surface": "mode switch",
      "title": "Colour scheme",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…he search, the mentions panel, the mode switch. One small bundle per island, loa…",
      "file": {
        "href": "../../../../../specs/screens/panels/colour-scheme/index.html",
        "label": "screens/panels/colour-scheme.md"
      },
      "href": "#L7",
      "kind": "recognised",
      "line": 7,
      "location": "00:29:40",
      "passages": 4,
      "surface": "mode switch",
      "title": "Colour scheme",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ts are hydrated, the search, the mentions panel, the mode switch, one small bund…",
      "file": {
        "href": "../../../../../specs/screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 4,
      "surface": "mentions panel",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…small bundle per island: search, mentions panel, mode switch.  Four cascade laye…",
      "file": {
        "href": "../../../../../specs/screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 4,
      "surface": "mentions panel",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…small bundle per island: search, mentions panel, mode switch.  Four cascade laye…",
      "file": {
        "href": "../../../../../specs/screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 4,
      "surface": "mentions panel",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ts are hydrated: the search, the mentions panel, the mode switch. One small bund…",
      "file": {
        "href": "../../../../../specs/screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "#L7",
      "kind": "recognised",
      "line": 7,
      "location": "00:29:40",
      "passages": 4,
      "surface": "mentions panel",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…d the quality owner. The deck, its PDF preview and the transcript sit next to th…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/preview/index.html",
        "label": "ingestion/documents/preview.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 3,
      "surface": "PDF preview",
      "title": "Preview",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…able without JavaScript. The budget stays at 150 kB per page, previews excluded.",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/preview/index.html",
        "label": "ingestion/documents/preview.md"
      },
      "href": "#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 3,
      "surface": "previews",
      "title": "Preview",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…The budget stays at one hundred and fifty kilobytes per page, previews excluded.",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/preview/index.html",
        "label": "ingestion/documents/preview.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "location": "00:56:40",
      "passages": 3,
      "surface": "previews",
      "title": "Preview",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… The deck, its PDF preview and the transcript sit next to these minutes and the …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/transcript/index.html",
        "label": "ingestion/documents/transcript.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 3,
      "surface": "transcript",
      "title": "Transcript",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…rdance project.  Deck, minutes and transcript are grouped into one page of the w…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/transcript/index.html",
        "label": "ingestion/documents/transcript.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 3,
      "surface": "transcript",
      "title": "Transcript",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…rdance project.  Deck, minutes and transcript are grouped into one page of the w…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/transcript/index.html",
        "label": "ingestion/documents/transcript.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 3,
      "surface": "transcript",
      "title": "Transcript",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… component keeps the view model; the checks run on the rendered pages.  Theme ov…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 3,
      "surface": "checks",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… component keeps the view model; the checks run on the rendered pages.  Theme ov…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 3,
      "surface": "checks",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Then I have what I need for the checks. The budget stays at one hundred and fift…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "location": "00:56:40",
      "passages": 3,
      "surface": "checks",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ent keeps the view model; the accessibility checks run on the rendered pages wha…",
      "file": {
        "href": "../../../../../glossary/publication/site/accessibility-audit/index.html",
        "label": "publication/site/accessibility-audit.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 2,
      "surface": "accessibility checks",
      "title": "Accessibility audit",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…, and that is deliberate. The accessibility checks run on the rendered pages wha…",
      "file": {
        "href": "../../../../../glossary/publication/site/accessibility-audit/index.html",
        "label": "publication/site/accessibility-audit.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "00:24:30",
      "passages": 2,
      "surface": "accessibility checks",
      "title": "Accessibility audit",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…age it replaces; a missing variable is a configuration error that names the key.",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/configuration/index.html",
        "label": "ingestion/configuration/configuration.md"
      },
      "href": "#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 2,
      "surface": "configuration",
      "title": "Configuration",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Yes, and a missing variable is a configuration error that names the key. No sile…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/configuration/index.html",
        "label": "ingestion/configuration/configuration.md"
      },
      "href": "#L10",
      "kind": "recognised",
      "line": 10,
      "location": "00:43:25",
      "passages": 2,
      "surface": "configuration",
      "title": "Configuration",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…le may ship a page of its own for its type; it goes through the same slot, so th…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/type/index.html",
        "label": "ingestion/typing/type.md"
      },
      "href": "#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 2,
      "surface": "type",
      "title": "Type",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…le may ship a page of its own for its type, and it goes through the same slot, s…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/type/index.html",
        "label": "ingestion/typing/type.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "location": "00:52:50",
      "passages": 2,
      "surface": "type",
      "title": "Type",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A type module may ship a page of its own for its type; it goes through the same …",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/type-module/index.html",
        "label": "ingestion/typing/type-module.md"
      },
      "href": "#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 2,
      "surface": "type module",
      "title": "Type module",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "One remark for the minutes. A type module may ship a page of its own for its typ…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/type-module/index.html",
        "label": "ingestion/typing/type-module.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "location": "00:52:50",
      "passages": 2,
      "surface": "type module",
      "title": "Type module",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…or its type; it goes through the same slot, so the model covers the plugins too.",
      "file": {
        "href": "../../../../../glossary/quality/plugins/plugin/index.html",
        "label": "quality/plugins/plugin.md"
      },
      "href": "#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 2,
      "surface": "plugins",
      "title": "Plugin",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ts type, and it goes through the same slot, so the model covers the plugins too.",
      "file": {
        "href": "../../../../../glossary/quality/plugins/plugin/index.html",
        "label": "quality/plugins/plugin.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "location": "00:52:50",
      "passages": 2,
      "surface": "plugins",
      "title": "Plugin",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… to touch the components.  Nothing a reader sees names the tool unless the proje…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/reader/index.html",
        "label": "ingestion/documents/reader.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 2,
      "surface": "reader",
      "title": "Reader",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… to touch the components.  Nothing a reader sees names the tool unless the proje…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/reader/index.html",
        "label": "ingestion/documents/reader.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 2,
      "surface": "reader",
      "title": "Reader",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… to touch the components.  Nothing a reader sees names the tool unless the proje…",
      "file": {
        "href": "../../../../../specs/roles/publication/reader/index.html",
        "label": "roles/publication/reader.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 2,
      "surface": "reader",
      "title": "Reader",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "… to touch the components.  Nothing a reader sees names the tool unless the proje…",
      "file": {
        "href": "../../../../../specs/roles/publication/reader/index.html",
        "label": "roles/publication/reader.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 2,
      "surface": "reader",
      "title": "Reader",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…ntrast at build.  Footer text, footer links, an extra stylesheet, label override…",
      "file": {
        "href": "../../../../../glossary/inference/links/link/index.html",
        "label": "inference/links/link.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 2,
      "surface": "links",
      "title": "Link",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ntrast at build.  Footer text, footer links, an extra stylesheet, label override…",
      "file": {
        "href": "../../../../../glossary/inference/links/link/index.html",
        "label": "inference/links/link.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 2,
      "surface": "links",
      "title": "Link",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ntrast at build.  Footer text, footer links, an extra stylesheet, label override…",
      "file": {
        "href": "../../../../../glossary/inference/links/markdown-link/index.html",
        "label": "inference/links/markdown-link.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 2,
      "surface": "links",
      "title": "Link",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ntrast at build.  Footer text, footer links, an extra stylesheet, label override…",
      "file": {
        "href": "../../../../../glossary/inference/links/markdown-link/index.html",
        "label": "inference/links/markdown-link.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 2,
      "surface": "links",
      "title": "Link",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ntrast at build.  Footer text, footer links, an extra stylesheet, label override…",
      "file": {
        "href": "../../../../../specs/objects/inference/link/index.html",
        "label": "objects/inference/link.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 2,
      "surface": "links",
      "title": "Link",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ntrast at build.  Footer text, footer links, an extra stylesheet, label override…",
      "file": {
        "href": "../../../../../specs/objects/inference/link/index.html",
        "label": "objects/inference/link.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 2,
      "surface": "links",
      "title": "Link",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…our participants: the maintainer, an author of the specifications, the integrato…",
      "file": {
        "href": "../../../../../specs/roles/ingestion/author/index.html",
        "label": "roles/ingestion/author.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "surface": "author",
      "title": "Author",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…six slides. Four participants: the maintainer, an author of the specifications, …",
      "file": {
        "href": "../../../../../specs/roles/quality/maintainer/index.html",
        "label": "roles/quality/maintainer.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "surface": "maintainer",
      "title": "Maintainer",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…he integrator of the wiki and the quality owner. The deck, its PDF preview and t…",
      "file": {
        "href": "../../../../../specs/roles/quality/quality-owner/index.html",
        "label": "roles/quality/quality-owner.md"
      },
      "href": "#L9",
      "kind": "recognised",
      "line": 9,
      "surface": "quality owner",
      "title": "Quality owner",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…e view model, then. What stops a theme from dropping the mentions or the legend?",
      "file": {
        "href": "../../../../../glossary/inference/recognition/mention/index.html",
        "label": "inference/recognition/mention.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "00:20:30",
      "surface": "mentions",
      "title": "Mention",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… configuration error that names the key. No silent fallback to the source label.",
      "file": {
        "href": "../../../../../glossary/inference/links/link-source/index.html",
        "label": "inference/links/link-source.md"
      },
      "href": "#L10",
      "kind": "recognised",
      "line": 10,
      "location": "00:43:25",
      "surface": "source",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… configuration error that names the key. No silent fallback to the source label.",
      "file": {
        "href": "../../../../../glossary/ingestion/sources/source/index.html",
        "label": "ingestion/sources/source.md"
      },
      "href": "#L10",
      "kind": "recognised",
      "line": 10,
      "location": "00:43:25",
      "surface": "source",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… configuration error that names the key. No silent fallback to the source label.",
      "file": {
        "href": "../../../../../specs/objects/ingestion/source/index.html",
        "label": "objects/ingestion/source.md"
      },
      "href": "#L10",
      "kind": "recognised",
      "line": 10,
      "location": "00:43:25",
      "surface": "source",
      "title": "Source",
      "type": "business_object",
      "typeLabel": "Business object"
    }
  ]
}
