{
  "id": "glossary/inference/model/model",
  "mentions": [
    {
      "context": "The model: every page is a set of named slots, each rendered by a component with…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…l scope it reads the latest published model to check what one repository cannot …",
      "file": {
        "href": "../../../../specs/processes/quality/lint/index.html",
        "label": "processes/quality/lint.md"
      },
      "href": "../../../../specs/processes/quality/lint/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 7,
      "surface": "model",
      "title": "Lint",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "concordance query reads the model a build wrote and answers what it knows, witho…",
      "file": {
        "href": "../../../../specs/processes/quality/query/index.html",
        "label": "processes/quality/query.md"
      },
      "href": "../../../../specs/processes/quality/query/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 7,
      "surface": "model",
      "title": "Query",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…passages, not concepts: it enters the model only through the pages it cites and …",
      "file": {
        "href": "../../../../specs/screens/pages/meeting-page/index.html",
        "label": "screens/pages/meeting-page.md"
      },
      "href": "../../../../specs/screens/pages/meeting-page/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 5,
      "surface": "model",
      "title": "Meeting page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…title, version and import date in the model. The page of the API shows the contr…",
      "file": {
        "href": "../../contracts/contract/index.html",
        "label": "inference/contracts/contract-import.md"
      },
      "href": "../../contracts/contract/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 4,
      "surface": "model",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… one repository against the published model of the whole wiki, without rebuildin…",
      "file": {
        "href": "../../../quality/checks/global-check/index.html",
        "label": "quality/checks/global-check.md"
      },
      "href": "../../../quality/checks/global-check/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "model",
      "title": "Global check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ered by a component with a typed view model, the contract between the generator …",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…t replaces a component keeps the view model; the accessibility checks run on the…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…or its type; it goes through the same slot, so the model covers the plugins too.",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "… layers: named slots with typed view models, islands for the interactive parts o…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 21,
      "surface": "models",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "3 · THE MODEL  Named slots with typed view models  Every page is a set of named …",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "MODEL",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…E MODEL  Named slots with typed view models  Every page is a set of named slots,…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "models",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ch rendered by a component.  The view model of a slot is the contract between th…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…t replaces a component keeps the view model; the checks run on the rendered page…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "… layers  Named slots with typed view models.  Islands for the interactive parts,…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 21,
      "surface": "models",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "3 · THE MODEL  Named slots with typed view models  Every page is a set of named …",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "MODEL",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…E MODEL  Named slots with typed view models  Every page is a set of named slots,…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "models",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ch rendered by a component.  The view model of a slot is the contract between th…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…t replaces a component keeps the view model; the checks run on the rendered page…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "… layers  Named slots with typed view models.  Islands for the interactive parts,…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 21,
      "surface": "models",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "Slide three is the model we propose. Every page is a set of named slots, each re…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ered by a component with a typed view model. The view model is the contract betw…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ent with a typed view model. The view model is the contract between the generato…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "00:15:00",
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…aces a component has to keep the view model, then. What stops a theme from dropp…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L5",
      "kind": "recognised",
      "line": 5,
      "location": "00:20:30",
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "… layers: named slots with typed view models, islands for the interactive parts o…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "location": "00:48:45",
      "passages": 21,
      "surface": "models",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ts type, and it goes through the same slot, so the model covers the plugins too.",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "location": "00:52:50",
      "passages": 21,
      "surface": "model",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ions across sources and homonyms with the glossary; it never rebuilds the model.",
      "file": {
        "href": "../../../../specs/processes/quality/lint/index.html",
        "label": "processes/quality/lint.md"
      },
      "href": "../../../../specs/processes/quality/lint/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 7,
      "surface": "model",
      "title": "Lint",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "In global scope, read the published model named by global.model: from its local …",
      "file": {
        "href": "../../../../specs/processes/quality/lint/index.html",
        "label": "processes/quality/lint.md"
      },
      "href": "../../../../specs/processes/quality/lint/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 7,
      "surface": "model",
      "title": "Lint",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…ve, else from the path given; when no model can be read, print one line saying w…",
      "file": {
        "href": "../../../../specs/processes/quality/lint/index.html",
        "label": "processes/quality/lint.md"
      },
      "href": "../../../../specs/processes/quality/lint/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 7,
      "surface": "model",
      "title": "Lint",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…-LINK-BROKEN), or is flagged when the model was built with cross-source links of…",
      "file": {
        "href": "../../../../specs/processes/quality/lint/index.html",
        "label": "processes/quality/lint.md"
      },
      "href": "../../../../specs/processes/quality/lint/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 7,
      "surface": "model",
      "title": "Lint",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…NYM). Each finding names the remote entity and the build timestamp of the model.",
      "file": {
        "href": "../../../../specs/processes/quality/lint/index.html",
        "label": "processes/quality/lint.md"
      },
      "href": "../../../../specs/processes/quality/lint/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 7,
      "surface": "model",
      "title": "Lint",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…wise, 2 on an execution error; an unreachable model is never an execution error.",
      "file": {
        "href": "../../../../specs/processes/quality/lint/index.html",
        "label": "processes/quality/lint.md"
      },
      "href": "../../../../specs/processes/quality/lint/index.html#L19",
      "kind": "recognised",
      "line": 19,
      "passages": 7,
      "surface": "model",
      "title": "Lint",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…what it is linked to and how sure the model is, the decisions and sessions among…",
      "file": {
        "href": "../../../../specs/processes/quality/query/index.html",
        "label": "processes/quality/query.md"
      },
      "href": "../../../../specs/processes/quality/query/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 7,
      "surface": "model",
      "title": "Query",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "Find the model: the file --model names; else the output of the configuration of …",
      "file": {
        "href": "../../../../specs/processes/quality/query/index.html",
        "label": "processes/quality/query.md"
      },
      "href": "../../../../specs/processes/quality/query/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "passages": 7,
      "surface": "model",
      "title": "Query",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…y, or of --config; else the published model the lint configuration names for the…",
      "file": {
        "href": "../../../../specs/processes/quality/query/index.html",
        "label": "processes/quality/query.md"
      },
      "href": "../../../../specs/processes/quality/query/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "passages": 7,
      "surface": "model",
      "title": "Query",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…its files when they stand next to the model, else built from the model and its f…",
      "file": {
        "href": "../../../../specs/processes/quality/query/index.html",
        "label": "processes/quality/query.md"
      },
      "href": "../../../../specs/processes/quality/query/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 7,
      "surface": "model",
      "title": "Query",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…ext to the model, else built from the model and its fragments; or answer a quest…",
      "file": {
        "href": "../../../../specs/processes/quality/query/index.html",
        "label": "processes/quality/query.md"
      },
      "href": "../../../../specs/processes/quality/query/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 7,
      "surface": "model",
      "title": "Query",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…r several candidates could, 2 when no model could be read or the options do not …",
      "file": {
        "href": "../../../../specs/processes/quality/query/index.html",
        "label": "processes/quality/query.md"
      },
      "href": "../../../../specs/processes/quality/query/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 7,
      "surface": "model",
      "title": "Query",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…nds under the last cue a decision the model ties to the meeting was recognised i…",
      "file": {
        "href": "../../../../specs/screens/pages/meeting-page/index.html",
        "label": "screens/pages/meeting-page.md"
      },
      "href": "../../../../specs/screens/pages/meeting-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 5,
      "surface": "model",
      "title": "Meeting page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…es at the head of the transcript; the model ties a decision to the meeting at ei…",
      "file": {
        "href": "../../../../specs/screens/pages/meeting-page/index.html",
        "label": "screens/pages/meeting-page.md"
      },
      "href": "../../../../specs/screens/pages/meeting-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 5,
      "surface": "model",
      "title": "Meeting page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…gh textual overlap.\", absent when the model recorded none. The related pages are…",
      "file": {
        "href": "../../../../specs/screens/pages/meeting-page/index.html",
        "label": "screens/pages/meeting-page.md"
      },
      "href": "../../../../specs/screens/pages/meeting-page/index.html#L20",
      "kind": "recognised",
      "line": 20,
      "passages": 5,
      "surface": "model",
      "title": "Meeting page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ote that a meeting does not enter the model: it brings passages, and sometimes a…",
      "file": {
        "href": "../../../../specs/screens/pages/meeting-page/index.html",
        "label": "screens/pages/meeting-page.md"
      },
      "href": "../../../../specs/screens/pages/meeting-page/index.html#L20",
      "kind": "recognised",
      "line": 20,
      "passages": 5,
      "surface": "model",
      "title": "Meeting page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…res and adds what it describes to the model: one operation per operation of the …",
      "file": {
        "href": "../../contracts/contract/index.html",
        "label": "inference/contracts/contract-import.md"
      },
      "href": "../../contracts/contract/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 4,
      "surface": "model",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…title, version and import date in the model. The page of the API shows the contr…",
      "file": {
        "href": "../../contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "../../contracts/contract/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 4,
      "surface": "model",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…title, version and import date in the model. The page of the API shows the contr…",
      "file": {
        "href": "../../contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "../../contracts/contract/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 4,
      "surface": "model",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…RM-HOMONYM, W-LINK-CROSS-SOURCE). The model is fetched once and kept in a local …",
      "file": {
        "href": "../../../quality/checks/global-check/index.html",
        "label": "quality/checks/global-check.md"
      },
      "href": "../../../quality/checks/global-check/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "model",
      "title": "Global check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…mes the remote entity and the build timestamp of the model it was compared with.",
      "file": {
        "href": "../../../quality/checks/global-check/index.html",
        "label": "quality/checks/global-check.md"
      },
      "href": "../../../quality/checks/global-check/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "model",
      "title": "Global check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… one repository against the published model of the whole wiki, without rebuildin…",
      "file": {
        "href": "../../../quality/checks/global-check/index.html",
        "label": "quality/checks/global-check.md"
      },
      "href": "../../../quality/checks/global-check/index.html#L7",
      "kind": "written",
      "line": 7,
      "passages": 4,
      "surface": "model",
      "title": "Global check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Canonical model",
      "file": {
        "href": "../../../../specs/api/canonical-model/index.html",
        "label": "api/canonical-model.md"
      },
      "href": "../../../../specs/api/canonical-model/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "Canonical model",
      "title": "Canonical model",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "… single file that describes the whole model: every later step reads it and none …",
      "file": {
        "href": "../../../../specs/api/canonical-model/index.html",
        "label": "api/canonical-model.md"
      },
      "href": "../../../../specs/api/canonical-model/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 4,
      "surface": "model",
      "title": "Canonical model",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…Keys are sorted at every depth, and a model read back refuses anything the schem…",
      "file": {
        "href": "../../../../specs/api/canonical-model/index.html",
        "label": "api/canonical-model.md"
      },
      "href": "../../../../specs/api/canonical-model/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 4,
      "surface": "model",
      "title": "Canonical model",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…al scope, which fetches the published model of the wiki with the validators the …",
      "file": {
        "href": "../../../../specs/api/canonical-model/index.html",
        "label": "api/canonical-model.md"
      },
      "href": "../../../../specs/api/canonical-model/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "passages": 4,
      "surface": "model",
      "title": "Canonical model",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…s it ingested with their commits, the model and the build log it wrote, and its …",
      "file": {
        "href": "../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "../../../../specs/objects/ingestion/build/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 4,
      "surface": "model",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…urces are byte-identical. Next to the model and the log, a build writes one frag…",
      "file": {
        "href": "../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "../../../../specs/objects/ingestion/build/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 4,
      "surface": "model",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…nce render rebuilds the site from the model and the fragments without touching a…",
      "file": {
        "href": "../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "../../../../specs/objects/ingestion/build/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 4,
      "surface": "model",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…according to build.fail_on, after its model, its log, its fragments and its site…",
      "file": {
        "href": "../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "../../../../specs/objects/ingestion/build/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 4,
      "surface": "model",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…stance · 1 hop\", the one distance the model records, since the neighbourhood is …",
      "file": {
        "href": "../../../../specs/screens/panels/neighbourhood-map/index.html",
        "label": "screens/panels/neighbourhood-map.md"
      },
      "href": "../../../../specs/screens/panels/neighbourhood-map/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 4,
      "surface": "model",
      "title": "Neighbourhood map",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…tre; its neighbourhood comes from the model, computed at build and never in the …",
      "file": {
        "href": "../../../../specs/screens/panels/neighbourhood-map/index.html",
        "label": "screens/panels/neighbourhood-map.md"
      },
      "href": "../../../../specs/screens/panels/neighbourhood-map/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 4,
      "surface": "model",
      "title": "Neighbourhood map",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… default and twelve at most. When the model holds more neighbours than that, the…",
      "file": {
        "href": "../../../../specs/screens/panels/neighbourhood-map/index.html",
        "label": "screens/panels/neighbourhood-map.md"
      },
      "href": "../../../../specs/screens/panels/neighbourhood-map/index.html#L21",
      "kind": "recognised",
      "line": 21,
      "passages": 4,
      "surface": "model",
      "title": "Neighbourhood map",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: model, entity, link",
      "file": {
        "href": "../../../../specs/screens/panels/neighbourhood-map/index.html",
        "label": "screens/panels/neighbourhood-map.md"
      },
      "href": "../../../../specs/screens/panels/neighbourhood-map/index.html#L27",
      "kind": "recognised",
      "line": 27,
      "passages": 4,
      "surface": "model",
      "title": "Neighbourhood map",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… computed at build and written to the model, never in the browser, and the page …",
      "file": {
        "href": "../../links/neighbourhood/index.html",
        "label": "inference/links/neighbourhood.md"
      },
      "href": "../../links/neighbourhood/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Neighbourhood",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… computed at build and written to the model, never in the browser, and the page …",
      "file": {
        "href": "../../links/neighbourhood/index.html",
        "label": "inference/links/neighbourhood.md"
      },
      "href": "../../links/neighbourhood/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Neighbourhood",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…marking each change of rank. When the model holds more neighbours than the map m…",
      "file": {
        "href": "../../links/neighbourhood/index.html",
        "label": "inference/links/neighbourhood.md"
      },
      "href": "../../links/neighbourhood/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Neighbourhood",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A reading of the model from the command line, without the site: concordance quer…",
      "file": {
        "href": "../query/index.html",
        "label": "inference/model/query.md"
      },
      "href": "../query/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Query",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…on reads a note, then prints what the model knows about it, where it is used, wh…",
      "file": {
        "href": "../query/index.html",
        "label": "inference/model/query.md"
      },
      "href": "../query/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Query",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A reading of the model from the command line, without the site: concordance quer…",
      "file": {
        "href": "../query/index.html",
        "label": "inference/model/query.md"
      },
      "href": "../query/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Query",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ence chain and the checks, writes the model, the build log and one fragment per …",
      "file": {
        "href": "../../../ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "../../../ingestion/pipeline/build/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ed_text_max_chars, 20 000). The build block of the model is its only dated part.",
      "file": {
        "href": "../../../ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "../../../ingestion/pipeline/build/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ence chain and the checks, writes the model, the build log and one fragment per …",
      "file": {
        "href": "../../../ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "../../../ingestion/pipeline/build/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The file the build writes next to the model for one entity, under fragments/<id>…",
      "file": {
        "href": "../../../publication/site/fragment/index.html",
        "label": "publication/site/fragment.md"
      },
      "href": "../../../publication/site/fragment/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Fragment",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…keyword page. The rendering reads the model and the fragments and nothing else, …",
      "file": {
        "href": "../../../publication/site/fragment/index.html",
        "label": "publication/site/fragment.md"
      },
      "href": "../../../publication/site/fragment/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Fragment",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The file the build writes next to the model for one entity, under fragments/<id>…",
      "file": {
        "href": "../../../publication/site/fragment/index.html",
        "label": "publication/site/fragment.md"
      },
      "href": "../../../publication/site/fragment/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Fragment",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ite the same bytes: every list of the model, of the build log, of the fragments …",
      "file": {
        "href": "../../../quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "../../../quality/linter/determinism/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…the log and of the build block of the model, pinned by SOURCE_DATE_EPOCH as repr…",
      "file": {
        "href": "../../../quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "../../../quality/linter/determinism/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ite the same bytes: every list of the model, of the build log, of the fragments …",
      "file": {
        "href": "../../../quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "../../../quality/linter/determinism/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… global also reads the last published model of the wiki, from its cache or fetch…",
      "file": {
        "href": "../../../quality/linter/scope/index.html",
        "label": "quality/linter/scope.md"
      },
      "href": "../../../quality/linter/scope/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Scope",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… without rebuilding anything. When no model can be read, the global scope degrad…",
      "file": {
        "href": "../../../quality/linter/scope/index.html",
        "label": "quality/linter/scope.md"
      },
      "href": "../../../quality/linter/scope/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Scope",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… global also reads the last published model of the wiki, from its cache or fetch…",
      "file": {
        "href": "../../../quality/linter/scope/index.html",
        "label": "quality/linter/scope.md"
      },
      "href": "../../../quality/linter/scope/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 3,
      "surface": "model",
      "title": "Scope",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ds other than the pipeline cache: the model is a file that a pipeline writes, co…",
      "file": {
        "href": "../../../../specs/decisions/publication/no-database/index.html",
        "label": "decisions/publication/no-database.md"
      },
      "href": "../../../../specs/decisions/publication/no-database/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "model",
      "title": "No database",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Model",
      "file": {
        "href": "../../../../specs/decisions/publication/no-database/index.html",
        "label": "decisions/publication/no-database.md"
      },
      "href": "../../../../specs/decisions/publication/no-database/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "Model",
      "title": "No database",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Canonical model",
      "file": {
        "href": "../../../../specs/decisions/publication/no-database/index.html",
        "label": "decisions/publication/no-database.md"
      },
      "href": "../../../../specs/decisions/publication/no-database/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 3,
      "surface": "Canonical model",
      "title": "No database",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…un every check of the registry on the model, enrich the findings of every step w…",
      "file": {
        "href": "../../../../specs/processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../../../specs/processes/ingestion/build-pipeline/index.html#L27",
      "kind": "recognised",
      "line": 27,
      "passages": 3,
      "surface": "model",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "Write the model and the build log, the decisions of the lock file counted in its…",
      "file": {
        "href": "../../../../specs/processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../../../specs/processes/ingestion/build-pipeline/index.html#L28",
      "kind": "recognised",
      "line": 28,
      "passages": 3,
      "surface": "model",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "Render the site from the model, the fragments, the profile and the theme, as con…",
      "file": {
        "href": "../../../../specs/processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../../../specs/processes/ingestion/build-pipeline/index.html#L30",
      "kind": "recognised",
      "line": 30,
      "passages": 3,
      "surface": "model",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…is off. The link is not recorded: the model keeps no relation between the two no…",
      "file": {
        "href": "../../../../specs/rules/links/cross-source-link/index.html",
        "label": "rules/links/cross-source-link.rule.md"
      },
      "href": "../../../../specs/rules/links/cross-source-link/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 3,
      "surface": "model",
      "title": "Cross-source link",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "… link reaches a note of the published model and that model says it was built wit…",
      "file": {
        "href": "../../../../specs/rules/links/cross-source-link/index.html",
        "label": "rules/links/cross-source-link.rule.md"
      },
      "href": "../../../../specs/rules/links/cross-source-link/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 3,
      "surface": "model",
      "title": "Cross-source link",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "… note of the published model and that model says it was built with cross-source …",
      "file": {
        "href": "../../../../specs/rules/links/cross-source-link/index.html",
        "label": "rules/links/cross-source-link.rule.md"
      },
      "href": "../../../../specs/rules/links/cross-source-link/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 3,
      "surface": "model",
      "title": "Cross-source link",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…ands among them, and no duration: the model records none, so that two builds of …",
      "file": {
        "href": "../../../../specs/screens/pages/about/index.html",
        "label": "screens/pages/about.md"
      },
      "href": "../../../../specs/screens/pages/about/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 3,
      "surface": "model",
      "title": "About this wiki",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "The page is generated from the model and the configuration. The key project.abou…",
      "file": {
        "href": "../../../../specs/screens/pages/about/index.html",
        "label": "screens/pages/about.md"
      },
      "href": "../../../../specs/screens/pages/about/index.html#L19",
      "kind": "recognised",
      "line": 19,
      "passages": 3,
      "surface": "model",
      "title": "About this wiki",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: model, source",
      "file": {
        "href": "../../../../specs/screens/pages/about/index.html",
        "label": "screens/pages/about.md"
      },
      "href": "../../../../specs/screens/pages/about/index.html#L23",
      "kind": "recognised",
      "line": 23,
      "passages": 3,
      "surface": "model",
      "title": "About this wiki",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…pointing at it, then the order of the model. The body of a note enters the index…",
      "file": {
        "href": "../../../../specs/screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "../../../../specs/screens/pages/search/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 3,
      "surface": "model",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…e the entities go first, then the keyword pages, each in the order of the model.",
      "file": {
        "href": "../../../../specs/screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "../../../../specs/screens/pages/search/index.html#L26",
      "kind": "recognised",
      "line": 26,
      "passages": 3,
      "surface": "model",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: model, entity",
      "file": {
        "href": "../../../../specs/screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "../../../../specs/screens/pages/search/index.html#L30",
      "kind": "recognised",
      "line": 30,
      "passages": 3,
      "surface": "model",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…I for the screens that cannot read model.json.  Suggestions reviewed on a screen…",
      "file": {
        "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html",
        "label": "framing/2026/2026-05-07-roadmap-outline/roadmap-outline.pdf"
      },
      "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 2,
      "surface": "model.json",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…I for the screens that cannot read model.json.  Suggestions reviewed on a screen…",
      "file": {
        "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html",
        "label": "framing/2026/2026-05-07-roadmap-outline/roadmap-outline.pptx"
      },
      "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 2,
      "surface": "model.json",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "… A relation the profile does not allow between two types never enters the model.",
      "file": {
        "href": "../../links/relation/index.html",
        "label": "inference/links/relation.md"
      },
      "href": "../../links/relation/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Relation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… A relation the profile does not allow between two types never enters the model.",
      "file": {
        "href": "../../links/relation/index.html",
        "label": "inference/links/relation.md"
      },
      "href": "../../links/relation/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Relation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A node of the model: an instance of a type of the profile. An entity is nothing …",
      "file": {
        "href": "../entity/index.html",
        "label": "inference/model/entity.md"
      },
      "href": "../entity/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Entity",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A node of the model: an instance of a type of the profile. An entity is nothing …",
      "file": {
        "href": "../entity/index.html",
        "label": "inference/model/entity.md"
      },
      "href": "../entity/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Entity",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… listed under candidates.terms of the model with their score, counts and context…",
      "file": {
        "href": "../../recognition/candidate-expression/index.html",
        "label": "inference/recognition/candidate-expression.md"
      },
      "href": "../../recognition/candidate-expression/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Candidate expression",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… listed under candidates.terms of the model with their score, counts and context…",
      "file": {
        "href": "../../recognition/candidate-expression/index.html",
        "label": "inference/recognition/candidate-expression.md"
      },
      "href": "../../recognition/candidate-expression/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Candidate expression",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…s the record of a matched word in the model, whatever it points at; a mention is…",
      "file": {
        "href": "../../recognition/mention/index.html",
        "label": "inference/recognition/mention.md"
      },
      "href": "../../recognition/mention/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 2,
      "surface": "model",
      "title": "Mention",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…s the record of a matched word in the model, whatever it points at; a mention is…",
      "file": {
        "href": "../../recognition/mention/index.html",
        "label": "inference/recognition/mention.md"
      },
      "href": "../../recognition/mention/index.html#L10",
      "kind": "written",
      "line": 10,
      "passages": 2,
      "surface": "model",
      "title": "Mention",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he later occurrences stay plain text, and the counts of the model do not change.",
      "file": {
        "href": "../../recognition/recognised-word/index.html",
        "label": "inference/recognition/recognised-word.md"
      },
      "href": "../../recognition/recognised-word/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 2,
      "surface": "model",
      "title": "Recognised word",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ich is the record of the match in the model; the recognised word is its mark in …",
      "file": {
        "href": "../../recognition/recognised-word/index.html",
        "label": "inference/recognition/recognised-word.md"
      },
      "href": "../../recognition/recognised-word/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "passages": 2,
      "surface": "model",
      "title": "Recognised word",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…dd it to the project's stopwords. The model carries the confidence, its signals …",
      "file": {
        "href": "../../recognition/word-confidence/index.html",
        "label": "inference/recognition/word-confidence.md"
      },
      "href": "../../recognition/word-confidence/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Word confidence",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…dd it to the project's stopwords. The model carries the confidence, its signals …",
      "file": {
        "href": "../../recognition/word-confidence/index.html",
        "label": "inference/recognition/word-confidence.md"
      },
      "href": "../../recognition/word-confidence/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Word confidence",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…win resources, checks, writing of the model, theme, rendering, measurement. Ever…",
      "file": {
        "href": "../../../ingestion/pipeline/pipeline/index.html",
        "label": "ingestion/pipeline/pipeline.md"
      },
      "href": "../../../ingestion/pipeline/pipeline/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Pipeline",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…win resources, checks, writing of the model, theme, rendering, measurement. Ever…",
      "file": {
        "href": "../../../ingestion/pipeline/pipeline/index.html",
        "label": "ingestion/pipeline/pipeline.md"
      },
      "href": "../../../ingestion/pipeline/pipeline/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Pipeline",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…tool lists them in order; nothing after the writing of the model reads a source.",
      "file": {
        "href": "../../../ingestion/pipeline/step/index.html",
        "label": "ingestion/pipeline/step.md"
      },
      "href": "../../../ingestion/pipeline/step/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Step",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…tool lists them in order; nothing after the writing of the model reads a source.",
      "file": {
        "href": "../../../ingestion/pipeline/step/index.html",
        "label": "ingestion/pipeline/step.md"
      },
      "href": "../../../ingestion/pipeline/step/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Step",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he site and in the build block of the model, and every published package shares …",
      "file": {
        "href": "../../../ingestion/sources/version/index.html",
        "label": "ingestion/sources/version.md"
      },
      "href": "../../../ingestion/sources/version/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Version",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he site and in the build block of the model, and every published package shares …",
      "file": {
        "href": "../../../ingestion/sources/version/index.html",
        "label": "ingestion/sources/version.md"
      },
      "href": "../../../ingestion/sources/version/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Version",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The name of an entity in the model and the address of its page: the name of its …",
      "file": {
        "href": "../../../ingestion/typing/identifier/index.html",
        "label": "ingestion/typing/identifier.md"
      },
      "href": "../../../ingestion/typing/identifier/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Identifier",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The name of an entity in the model and the address of its page: the name of its …",
      "file": {
        "href": "../../../ingestion/typing/identifier/index.html",
        "label": "ingestion/typing/identifier.md"
      },
      "href": "../../../ingestion/typing/identifier/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Identifier",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A pure function that reads the model and returns findings. Checks live in one re…",
      "file": {
        "href": "../../../quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "../../../quality/checks/check/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A pure function that reads the model and returns findings. Checks live in one re…",
      "file": {
        "href": "../../../quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "../../../quality/checks/check/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e network and without the rest of the model: encoding, frontmatter, identifiers …",
      "file": {
        "href": "../../../quality/checks/local-check/index.html",
        "label": "quality/checks/local-check.md"
      },
      "href": "../../../quality/checks/local-check/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 2,
      "surface": "model",
      "title": "Local check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e network and without the rest of the model: encoding, frontmatter, identifiers …",
      "file": {
        "href": "../../../quality/checks/local-check/index.html",
        "label": "quality/checks/local-check.md"
      },
      "href": "../../../quality/checks/local-check/index.html#L7",
      "kind": "written",
      "line": 7,
      "passages": 2,
      "surface": "model",
      "title": "Local check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…s the same as the one embedded in the model, and its only timestamp is its at fi…",
      "file": {
        "href": "../../../quality/findings/build-log/index.html",
        "label": "quality/findings/build-log.md"
      },
      "href": "../../../quality/findings/build-log/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Build log",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…s the same as the one embedded in the model, and its only timestamp is its at fi…",
      "file": {
        "href": "../../../quality/findings/build-log/index.html",
        "label": "quality/findings/build-log.md"
      },
      "href": "../../../quality/findings/build-log/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Build log",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…f, in English and in French, with the model and findings the engine must produce…",
      "file": {
        "href": "../../../quality/linter/golden-corpus/index.html",
        "label": "quality/linter/golden-corpus.md"
      },
      "href": "../../../quality/linter/golden-corpus/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 2,
      "surface": "model",
      "title": "Golden corpus",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…f, in English and in French, with the model and findings the engine must produce…",
      "file": {
        "href": "../../../quality/linter/golden-corpus/index.html",
        "label": "quality/linter/golden-corpus.md"
      },
      "href": "../../../quality/linter/golden-corpus/index.html#L7",
      "kind": "written",
      "line": 7,
      "passages": 2,
      "surface": "model",
      "title": "Golden corpus",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…bal scope it also reads the published model of the wiki. The linter and the buil…",
      "file": {
        "href": "../../../quality/linter/linter/index.html",
        "label": "quality/linter/linter.md"
      },
      "href": "../../../quality/linter/linter/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Linter",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…bal scope it also reads the published model of the wiki. The linter and the buil…",
      "file": {
        "href": "../../../quality/linter/linter/index.html",
        "label": "quality/linter/linter.md"
      },
      "href": "../../../quality/linter/linter/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "model",
      "title": "Linter",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ptional service will consume the same model later; nothing in the site depends o…",
      "file": {
        "href": "../../../../specs/decisions/publication/static-first/index.html",
        "label": "decisions/publication/static-first.md"
      },
      "href": "../../../../specs/decisions/publication/static-first/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "model",
      "title": "Static first",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Model",
      "file": {
        "href": "../../../../specs/decisions/publication/static-first/index.html",
        "label": "decisions/publication/static-first.md"
      },
      "href": "../../../../specs/decisions/publication/static-first/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 2,
      "surface": "Model",
      "title": "Static first",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…also the at of the build block of the model, pinned by SOURCE_DATE_EPOCH followi…",
      "file": {
        "href": "../../../../specs/decisions/quality/reproducible-builds/index.html",
        "label": "decisions/quality/reproducible-builds.md"
      },
      "href": "../../../../specs/decisions/quality/reproducible-builds/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "model",
      "title": "Reproducible builds",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Model",
      "file": {
        "href": "../../../../specs/decisions/quality/reproducible-builds/index.html",
        "label": "decisions/quality/reproducible-builds.md"
      },
      "href": "../../../../specs/decisions/quality/reproducible-builds/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Model",
      "title": "Reproducible builds",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "The build writes the site, the model and the build log; an error finding fails t…",
      "file": {
        "href": "../../../../specs/processes/publication/publishing-the-wiki/index.html",
        "label": "processes/publication/publishing-the-wiki.md"
      },
      "href": "../../../../specs/processes/publication/publishing-the-wiki/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 2,
      "surface": "model",
      "title": "Publishing the wiki",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…published site names the commit of every source in the build block of its model.",
      "file": {
        "href": "../../../../specs/processes/publication/publishing-the-wiki/index.html",
        "label": "processes/publication/publishing-the-wiki.md"
      },
      "href": "../../../../specs/processes/publication/publishing-the-wiki/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 2,
      "surface": "model",
      "title": "Publishing the wiki",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "… every entity and keyword page of the model in the order of the language pack of…",
      "file": {
        "href": "../../../../specs/screens/pages/alphabetical-index/index.html",
        "label": "screens/pages/alphabetical-index.md"
      },
      "href": "../../../../specs/screens/pages/alphabetical-index/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "model",
      "title": "Alphabetical index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: model",
      "file": {
        "href": "../../../../specs/screens/pages/alphabetical-index/index.html",
        "label": "screens/pages/alphabetical-index.md"
      },
      "href": "../../../../specs/screens/pages/alphabetical-index/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 2,
      "surface": "model",
      "title": "Alphabetical index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… pages, the one-hop neighbours of the model); no score. The line under it reads …",
      "file": {
        "href": "../../../../specs/screens/pages/category/index.html",
        "label": "screens/pages/category.md"
      },
      "href": "../../../../specs/screens/pages/category/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 2,
      "surface": "model",
      "title": "Category",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: model, source, entity",
      "file": {
        "href": "../../../../specs/screens/pages/category/index.html",
        "label": "screens/pages/category.md"
      },
      "href": "../../../../specs/screens/pages/category/index.html#L21",
      "kind": "recognised",
      "line": 21,
      "passages": 2,
      "surface": "model",
      "title": "Category",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…the note, one callout per session the model ties to the decision at either end o…",
      "file": {
        "href": "../../../../specs/screens/pages/decision-page/index.html",
        "label": "screens/pages/decision-page.md"
      },
      "href": "../../../../specs/screens/pages/decision-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 2,
      "surface": "model",
      "title": "Decision page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…by\", from the supersedes links of the model at either end, so that a superseded …",
      "file": {
        "href": "../../../../specs/screens/pages/decision-page/index.html",
        "label": "screens/pages/decision-page.md"
      },
      "href": "../../../../specs/screens/pages/decision-page/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 2,
      "surface": "model",
      "title": "Decision page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ssages, like a meeting: it enters the model through the pages that cite it and t…",
      "file": {
        "href": "../../../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../../../specs/screens/pages/document-page/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 2,
      "surface": "model",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…te that a document does not enter the model: its pages bring passages, and the n…",
      "file": {
        "href": "../../../../specs/screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../../../specs/screens/pages/document-page/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 2,
      "surface": "model",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…that type, and receives the same view model, the declaration of the type include…",
      "file": {
        "href": "../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../../../specs/screens/pages/entity-page/index.html#L25",
      "kind": "recognised",
      "line": 25,
      "passages": 2,
      "surface": "model",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…of group; the template knows no type and renders the list as the model gives it.",
      "file": {
        "href": "../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../../../specs/screens/pages/entity-page/index.html#L51",
      "kind": "recognised",
      "line": 51,
      "passages": 2,
      "surface": "model",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… the site rendered with fixture view models, one page per slot and state, under …",
      "file": {
        "href": "../../../../specs/screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "../../../../specs/screens/pages/gallery-index/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "models",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: model",
      "file": {
        "href": "../../../../specs/screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "../../../../specs/screens/pages/gallery-index/index.html#L19",
      "kind": "recognised",
      "line": 19,
      "passages": 2,
      "surface": "model",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "The related pages of a note of the model are the pages that cite it. A keyword p…",
      "file": {
        "href": "../../../../specs/screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "../../../../specs/screens/panels/mentions-panel/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 2,
      "surface": "model",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…and a document page stand outside the model, nothing links to them: their block …",
      "file": {
        "href": "../../../../specs/screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "../../../../specs/screens/panels/mentions-panel/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 2,
      "surface": "model",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… anything into the markdown: what the model knows of the contract stands in the …",
      "file": {
        "href": "../../../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../../../specs/viewers/contract-viewer/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "model",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: model, entity, link",
      "file": {
        "href": "../../../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../../../specs/viewers/contract-viewer/index.html#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 2,
      "surface": "model",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…panel, which comes from a link of the model; an accompanying word comes from sha…",
      "file": {
        "href": "../../links/accompanying-word/index.html",
        "label": "inference/links/accompanying-word.md"
      },
      "href": "../../links/accompanying-word/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "surface": "model",
      "title": "Accompanying word",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A link of the model, which may come from a written link or from inference.",
      "file": {
        "href": "../../links/markdown-link/index.html",
        "label": "inference/links/markdown-link.md"
      },
      "href": "../../links/markdown-link/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "surface": "model",
      "title": "Link",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…f twin resources. Inference reads the model and the profile and nothing else, so…",
      "file": {
        "href": "../inference/index.html",
        "label": "inference/model/inference.md"
      },
      "href": "../inference/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Inference",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…its extracted text, but it enters the model only through what it documents. Its …",
      "file": {
        "href": "../../../ingestion/documents/document/index.html",
        "label": "ingestion/documents/document.md"
      },
      "href": "../../../ingestion/documents/document/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Document",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…passages, not concepts: it enters the model through the pages it mentions and th…",
      "file": {
        "href": "../../../ingestion/documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "../../../ingestion/documents/meeting/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… golden corpus is a fixed corpus with the model the engine must produce from it.",
      "file": {
        "href": "../../../ingestion/sources/corpus/index.html",
        "label": "ingestion/sources/corpus.md"
      },
      "href": "../../../ingestion/sources/corpus/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Corpus",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he build writes under dist/ after the model: the home page, one page per entity …",
      "file": {
        "href": "../../../publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "../../../publication/site/site/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…enerated site, each with a typed view model that is the contract between the bui…",
      "file": {
        "href": "../../../publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "../../../publication/site/slot/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…build goes on without it and nothing of it enters the model until it comes back.",
      "file": {
        "href": "../../../quality/checks/source-checks/index.html",
        "label": "quality/checks/source-checks.md"
      },
      "href": "../../../quality/checks/source-checks/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "model",
      "title": "Source checks",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he version of the tool written in the site and the model is that of the release.",
      "file": {
        "href": "../../../quality/linter/release/index.html",
        "label": "quality/linter/release.md"
      },
      "href": "../../../quality/linter/release/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Release",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…age), projections (a rendering of the model), uiComponents (a bundle a slot load…",
      "file": {
        "href": "../../../quality/plugins/contribution-point/index.html",
        "label": "quality/plugins/contribution-point.md"
      },
      "href": "../../../quality/plugins/contribution-point/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Contribution point",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…rvice: it answers questions about the model of the last build for the screens th…",
      "file": {
        "href": "../../../../specs/api/model-query/index.html",
        "label": "api/model-query.md"
      },
      "href": "../../../../specs/api/model-query/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "surface": "model",
      "title": "Model query API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…e fields as the entities block of the model; a screen that cannot read model.jso…",
      "file": {
        "href": "../../../../specs/api/operations/list-entities/index.html",
        "label": "api/operations/list-entities.md"
      },
      "href": "../../../../specs/api/operations/list-entities/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "surface": "model",
      "title": "List the entities",
      "type": "endpoint",
      "typeLabel": "Operation"
    },
    {
      "context": "Model",
      "file": {
        "href": "../../../../specs/batches/ingestion/nightly-build/index.html",
        "label": "batches/ingestion/nightly-build.md"
      },
      "href": "../../../../specs/batches/ingestion/nightly-build/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "surface": "Model",
      "title": "Nightly build",
      "type": "batch",
      "typeLabel": "Batch"
    },
    {
      "context": "The entities block of the canonical model: one object per entity, in identifier …",
      "file": {
        "href": "../../../../specs/data/inference/entities-block/index.html",
        "label": "data/inference/entities-block.md"
      },
      "href": "../../../../specs/data/inference/entities-block/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "surface": "canonical model",
      "title": "Entities block",
      "type": "data_object",
      "typeLabel": "Data object"
    },
    {
      "context": "The findings block of the canonical model, the same array as the build log: one …",
      "file": {
        "href": "../../../../specs/data/inference/findings-block/index.html",
        "label": "data/inference/findings-block.md"
      },
      "href": "../../../../specs/data/inference/findings-block/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "surface": "canonical model",
      "title": "Findings block",
      "type": "data_object",
      "typeLabel": "Data object"
    },
    {
      "context": "The links block of the canonical model: one object per source, target and relati…",
      "file": {
        "href": "../../../../specs/data/inference/links-block/index.html",
        "label": "data/inference/links-block.md"
      },
      "href": "../../../../specs/data/inference/links-block/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "surface": "canonical model",
      "title": "Links block",
      "type": "data_object",
      "typeLabel": "Data object"
    },
    {
      "context": "Model",
      "file": {
        "href": "../../../../specs/decisions/inference/bounded-neighbourhood/index.html",
        "label": "decisions/inference/bounded-neighbourhood.md"
      },
      "href": "../../../../specs/decisions/inference/bounded-neighbourhood/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "surface": "Model",
      "title": "Bounded neighbourhood",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Model",
      "file": {
        "href": "../../../../specs/decisions/inference/type-driven-neighbour-order/index.html",
        "label": "decisions/inference/type-driven-neighbour-order.md"
      },
      "href": "../../../../specs/decisions/inference/type-driven-neighbour-order/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "Model",
      "title": "Type-driven neighbour order",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…by components, each with a typed view model that is the contract between the gen…",
      "file": {
        "href": "../../../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "../../../../specs/decisions/publication/slots-islands-and-layers/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "model",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…ng it, listed under candidates of the model for a person to settle: a recurring …",
      "file": {
        "href": "../../../../specs/objects/inference/candidate/index.html",
        "label": "objects/inference/candidate.md"
      },
      "href": "../../../../specs/objects/inference/candidate/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Candidate",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "A node of the model: a note recognised by the type cascade, or a keyword that cr…",
      "file": {
        "href": "../../../../specs/objects/inference/entity/index.html",
        "label": "objects/inference/entity.md"
      },
      "href": "../../../../specs/objects/inference/entity/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Entity",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… kept. Links are sorted canonically by source, target and relation in the model.",
      "file": {
        "href": "../../../../specs/objects/inference/link/index.html",
        "label": "objects/inference/link.md"
      },
      "href": "../../../../specs/objects/inference/link/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Link",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Model",
      "file": {
        "href": "../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "../../../../specs/objects/inference/model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "surface": "Model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…es around an entity, in two forms the model keeps apart. The bounded neighbourho…",
      "file": {
        "href": "../../../../specs/objects/inference/neighbourhood/index.html",
        "label": "objects/inference/neighbourhood.md"
      },
      "href": "../../../../specs/objects/inference/neighbourhood/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Neighbourhood",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…e ingestion in the build block of the model, and goes on without it when it cann…",
      "file": {
        "href": "../../../../specs/objects/ingestion/source/index.html",
        "label": "objects/ingestion/source.md"
      },
      "href": "../../../../specs/objects/ingestion/source/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Source",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… Findings go to the build log and the model; the linter prints them in text, JSO…",
      "file": {
        "href": "../../../../specs/objects/quality/finding/index.html",
        "label": "objects/quality/finding.md"
      },
      "href": "../../../../specs/objects/quality/finding/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Finding",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…summary, and writes the site with the model and the log; a content anomaly is a …",
      "file": {
        "href": "../../../../specs/processes/ingestion/onboarding-a-repository/index.html",
        "label": "processes/ingestion/onboarding-a-repository.md"
      },
      "href": "../../../../specs/processes/ingestion/onboarding-a-repository/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "model",
      "title": "Onboarding a repository",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "… relations. An author never edits the model or the site; the lint of the merge r…",
      "file": {
        "href": "../../../../specs/roles/ingestion/author/index.html",
        "label": "roles/ingestion/author.md"
      },
      "href": "../../../../specs/roles/ingestion/author/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "model",
      "title": "Author",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…load, and its text enters neither the model nor the search index. The raw file i…",
      "file": {
        "href": "../../../../specs/rules/documents/transcript-withheld/index.html",
        "label": "rules/documents/transcript-withheld.rule.md"
      },
      "href": "../../../../specs/rules/documents/transcript-withheld/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "model",
      "title": "Transcript withheld",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…reports more, never less: the checks that need the whole model only exist there.",
      "file": {
        "href": "../../../../specs/rules/engine/linter-build-parity/index.html",
        "label": "rules/engine/linter-build-parity.rule.md"
      },
      "href": "../../../../specs/rules/engine/linter-build-parity/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "model",
      "title": "Linter and build parity",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…ed entirely: nothing of it enters the model, and every link that points to it is…",
      "file": {
        "href": "../../../../specs/rules/identifiers/invalid-encoding/index.html",
        "label": "rules/identifiers/invalid-encoding.rule.md"
      },
      "href": "../../../../specs/rules/identifiers/invalid-encoding/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "model",
      "title": "Invalid encoding",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "… for it. The link is dropped from the model by the relation typing step. A front…",
      "file": {
        "href": "../../../../specs/rules/identifiers/relation-outside-the-matrix/index.html",
        "label": "rules/identifiers/relation-outside-the-matrix.rule.md"
      },
      "href": "../../../../specs/rules/identifiers/relation-outside-the-matrix/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "model",
      "title": "Relation outside the matrix",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…. The value is kept as written in the model and shown in the side panel of the p…",
      "file": {
        "href": "../../../../specs/rules/identifiers/unknown-attribute/index.html",
        "label": "rules/identifiers/unknown-attribute.rule.md"
      },
      "href": "../../../../specs/rules/identifiers/unknown-attribute/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "model",
      "title": "Unknown attribute",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…es on without it; nothing from that source enters the model until it comes back.",
      "file": {
        "href": "../../../../specs/rules/sources/unreachable-source/index.html",
        "label": "rules/sources/unreachable-source.rule.md"
      },
      "href": "../../../../specs/rules/sources/unreachable-source/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "model",
      "title": "Unreachable source",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…another type carries in the published model. A twin folded into its note is no h…",
      "file": {
        "href": "../../../../specs/rules/vocabulary/term-homonym/index.html",
        "label": "rules/vocabulary/term-homonym.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/term-homonym/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "model",
      "title": "Term homonym",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Reads: entity, link, model, finding",
      "file": {
        "href": "../../../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../../../specs/screens/pages/api-page/index.html#L22",
      "kind": "recognised",
      "line": 22,
      "surface": "model",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: model",
      "file": {
        "href": "../../../../specs/screens/pages/home/index.html",
        "label": "screens/pages/home.md"
      },
      "href": "../../../../specs/screens/pages/home/index.html#L20",
      "kind": "recognised",
      "line": 20,
      "surface": "model",
      "title": "Home",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: entity, model",
      "file": {
        "href": "../../../../specs/screens/pages/keyword-page/index.html",
        "label": "screens/pages/keyword-page.md"
      },
      "href": "../../../../specs/screens/pages/keyword-page/index.html#L22",
      "kind": "recognised",
      "line": 22,
      "surface": "model",
      "title": "Keyword page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: model, source, entity",
      "file": {
        "href": "../../../../specs/screens/pages/space/index.html",
        "label": "screens/pages/space.md"
      },
      "href": "../../../../specs/screens/pages/space/index.html#L21",
      "kind": "recognised",
      "line": 21,
      "surface": "model",
      "title": "Space",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: model, source",
      "file": {
        "href": "../../../../specs/screens/pages/spaces/index.html",
        "label": "screens/pages/spaces.md"
      },
      "href": "../../../../specs/screens/pages/spaces/index.html#L21",
      "kind": "recognised",
      "line": 21,
      "surface": "model",
      "title": "Spaces",
      "type": "screen",
      "typeLabel": "Screen"
    }
  ]
}
