{
  "id": "glossary/ingestion/pipeline/build",
  "mentions": [
    {
      "context": "…the original, its PDF the preview the build would have converted anyway, and thi…",
      "file": {
        "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html",
        "label": "framing/2026/2026-05-07-roadmap-outline/roadmap-outline.md"
      },
      "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…ipt sit next to these minutes and the build groups the four files into one 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.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 7,
      "surface": "build",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…the note last changed relative to the build, \"Space \" leading to the page of the…",
      "file": {
        "href": "../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../../../specs/screens/pages/entity-page/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 7,
      "surface": "build",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… of the session sits next to these minutes and the build shows both on one page.",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html",
        "label": "meetings/2026/2026-06-18-contract-import-scope/contract-import-scope.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 6,
      "surface": "build",
      "title": "Contract import scope review",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…an API is shown by a viewer the tool builds itself, rather than by the interacti…",
      "file": {
        "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-contract-viewer.md"
      },
      "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 6,
      "surface": "builds",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "… in one card: \"Published on\" with the build instant, \"Pages\" with the notes coun…",
      "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": 6,
      "surface": "build",
      "title": "About this wiki",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…itten form; the three sit in one folder and the build groups them into one page.",
      "file": {
        "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html",
        "label": "framing/2026/2026-05-07-roadmap-outline/roadmap-outline.md"
      },
      "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…ing in the build log, never a stopped build; two builds of unchanged sources giv…",
      "file": {
        "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html",
        "label": "framing/2026/2026-05-07-roadmap-outline/roadmap-outline.md"
      },
      "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…uild log, never a stopped build; two builds of unchanged sources give byte-ident…",
      "file": {
        "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html",
        "label": "framing/2026/2026-05-07-roadmap-outline/roadmap-outline.md"
      },
      "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 16,
      "surface": "builds",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…n API note declares its contract, the build imports the operations, each operati…",
      "file": {
        "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html",
        "label": "framing/2026/2026-05-07-roadmap-outline/roadmap-outline.md"
      },
      "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…hecks in the merge request and in the build, a SARIF log in the margin of the di…",
      "file": {
        "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html",
        "label": "framing/2026/2026-05-07-roadmap-outline/roadmap-outline.md"
      },
      "href": "../../../../briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…preview and its notes, grouped by the build into one page.  Roadmap outline · 20…",
      "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#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…ing in the build log, never a stopped build.  Two builds of unchanged sources gi…",
      "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#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…ild log, never a stopped build.  Two builds of unchanged sources give byte-ident…",
      "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#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 16,
      "surface": "builds",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…n API note declares its contract; the build imports the operations.  Each operat…",
      "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#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…hecks in the merge request and in the build.  A SARIF log in the margin of the d…",
      "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#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…preview and its notes, grouped by the build into one page.  Roadmap outline · 20…",
      "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#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…ing in the build log, never a stopped build.  Two builds of unchanged sources gi…",
      "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#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…ild log, never a stopped build.  Two builds of unchanged sources give byte-ident…",
      "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#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 16,
      "surface": "builds",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…n API note declares its contract; the build imports the operations.  Each operat…",
      "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#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…hecks in the merge request and in the build.  A SARIF log in the margin of the d…",
      "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#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 16,
      "surface": "build",
      "title": "Roadmap outline",
      "type": "document",
      "typeLabel": "Document"
    },
    {
      "context": "…ndered pages whatever the theme, and the page budget is measured on every build.",
      "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": 7,
      "surface": "build",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ark palettes, checked for contrast at build.  Footer text, footer links, an extr…",
      "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#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 7,
      "surface": "build",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…of 150 kB per page, measured on every build.  Theme override model · 2026-08-27 …",
      "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": 7,
      "surface": "build",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ark palettes, checked for contrast at build.  Footer text, footer links, an extr…",
      "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#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 7,
      "surface": "build",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…of 150 kB per page, measured on every build.  Theme override model · 2026-08-27 …",
      "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": 7,
      "surface": "build",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ndered pages whatever the theme, and the page budget is measured on every build.",
      "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#L6",
      "kind": "recognised",
      "line": 6,
      "location": "00:24:30",
      "passages": 7,
      "surface": "build",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…pository in the monospace family, the build copying the file next to the page; a…",
      "file": {
        "href": "../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../../../specs/screens/pages/entity-page/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 7,
      "surface": "build",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… written reference is resolved as the build resolves a frontmatter reference, by…",
      "file": {
        "href": "../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../../../specs/screens/pages/entity-page/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 7,
      "surface": "build",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…everything its author wrote. When the build merged several files into the page, …",
      "file": {
        "href": "../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../../../specs/screens/pages/entity-page/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 7,
      "surface": "build",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…e module, then the default theme; the build summary lists every resolved compone…",
      "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": 7,
      "surface": "build",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ives next to the screen notes and the build copies it beside the page, as it doe…",
      "file": {
        "href": "../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../../../specs/screens/pages/entity-page/index.html#L29",
      "kind": "recognised",
      "line": 29,
      "passages": 7,
      "surface": "build",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "The page of an API whose contract the build imported is the API page: the same s…",
      "file": {
        "href": "../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../../../specs/screens/pages/entity-page/index.html#L35",
      "kind": "recognised",
      "line": 35,
      "passages": 7,
      "surface": "build",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… contracts/, and the fingerprint cache keeps its parsed text between two builds.",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html",
        "label": "meetings/2026/2026-06-18-contract-import-scope/contract-import-scope.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 6,
      "surface": "builds",
      "title": "Contract import scope review",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…hable finding; the note keeps its hand-written operations and the build goes on.",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html",
        "label": "meetings/2026/2026-06-18-contract-import-scope/contract-import-scope.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 6,
      "surface": "build",
      "title": "Contract import scope review",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…and. When it declares a contract, the build reads the contract and produces one …",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html",
        "label": "meetings/2026/2026-06-18-contract-import-scope/contract-import-scope.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html#L2",
      "kind": "recognised",
      "line": 2,
      "location": "00:04:22",
      "passages": 6,
      "surface": "build",
      "title": "Contract import scope review",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…r contracts, and the fingerprint cache keeps the parsed text between two builds.",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html",
        "label": "meetings/2026/2026-06-18-contract-import-scope/contract-import-scope.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "location": "00:26:02",
      "passages": 6,
      "surface": "builds",
      "title": "Contract import scope review",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…ing and the note keeps its hand-written operations. The build never stops on it.",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html",
        "label": "meetings/2026/2026-06-18-contract-import-scope/contract-import-scope.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-06-18-contract-import-scope/contract-import-scope/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "location": "00:48:52",
      "passages": 6,
      "surface": "build",
      "title": "Contract import scope review",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "… the plugin API, and reads a view the build writes from the cached contract: the…",
      "file": {
        "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-contract-viewer.md"
      },
      "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 6,
      "surface": "build",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-contract-viewer.md"
      },
      "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 6,
      "surface": "Build",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "… given is kept: an index generated at build, fragmented by prefix, loaded in pie…",
      "file": {
        "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-search-index.md"
      },
      "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 6,
      "surface": "build",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…ing by prefix without typo correction, deterministic from one build to the next.",
      "file": {
        "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-search-index.md"
      },
      "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 6,
      "surface": "build",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-search-index.md"
      },
      "href": "../../../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 6,
      "surface": "Build",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "… duration: the model records none, so that two builds of the same sources agree.",
      "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": 6,
      "surface": "builds",
      "title": "About this wiki",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…f the space), VERSION (the commit the build read, shortened to seven characters,…",
      "file": {
        "href": "../../../../specs/screens/pages/about/index.html",
        "label": "screens/pages/about.md"
      },
      "href": "../../../../specs/screens/pages/about/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 6,
      "surface": "build",
      "title": "About this wiki",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…e git history, worded relative to the build). A source past the freshness thresh…",
      "file": {
        "href": "../../../../specs/screens/pages/about/index.html",
        "label": "screens/pages/about.md"
      },
      "href": "../../../../specs/screens/pages/about/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 6,
      "surface": "build",
      "title": "About this wiki",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ys, which is reported here and in the build report, never on the pages themselve…",
      "file": {
        "href": "../../../../specs/screens/pages/about/index.html",
        "label": "screens/pages/about.md"
      },
      "href": "../../../../specs/screens/pages/about/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 6,
      "surface": "build",
      "title": "About this wiki",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… of a note; a file named and missing stops the build as a missing profile would.",
      "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": 6,
      "surface": "build",
      "title": "About this wiki",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "../../../../specs/objects/ingestion/build/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "passages": 5,
      "surface": "Build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ery finding. The only dated part of a build is its timestamp, taken from the inj…",
      "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": 5,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…from the injected clock, so that two builds on unchanged sources are byte-identi…",
      "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": 5,
      "surface": "builds",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…cal. Next to the model and the log, a build writes one fragment per entity, the …",
      "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": 5,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ragments without touching a source. A build fails only according to build.fail_o…",
      "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": 5,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…eps in a fixed order and produces one build. Each step is a pure function of the…",
      "file": {
        "href": "../../../../specs/processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../../../specs/processes/ingestion/build-pipeline/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 5,
      "surface": "build",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…content anomaly stops the chain. Two builds on unchanged sources produce byte-id…",
      "file": {
        "href": "../../../../specs/processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../../../specs/processes/ingestion/build-pipeline/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 5,
      "surface": "builds",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "… disabled, as an error that fails the build and withholds every transcript when …",
      "file": {
        "href": "../../../../specs/processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../../../specs/processes/ingestion/build-pipeline/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 5,
      "surface": "build",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "Build one recognition dictionary per locale from the titles and aliases of the e…",
      "file": {
        "href": "../../../../specs/processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../../../specs/processes/ingestion/build-pipeline/index.html#L20",
      "kind": "recognised",
      "line": 20,
      "passages": 5,
      "surface": "Build",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…undle, the largest page and the findings, as warnings that never fail the build.",
      "file": {
        "href": "../../../../specs/processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../../../specs/processes/ingestion/build-pipeline/index.html#L31",
      "kind": "recognised",
      "line": 31,
      "passages": 5,
      "surface": "build",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…is not installed on the machine that builds: the build ran the detection command…",
      "file": {
        "href": "../../../../specs/rules/engine/disabled-plugin/index.html",
        "label": "rules/engine/disabled-plugin.rule.md"
      },
      "href": "../../../../specs/rules/engine/disabled-plugin/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 5,
      "surface": "builds",
      "title": "Disabled plugin",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…alled on the machine that builds: the build ran the detection command of every s…",
      "file": {
        "href": "../../../../specs/rules/engine/disabled-plugin/index.html",
        "label": "rules/engine/disabled-plugin.rule.md"
      },
      "href": "../../../../specs/rules/engine/disabled-plugin/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 5,
      "surface": "build",
      "title": "Disabled plugin",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…ctions or components took part in the build. An optional dependency yields the s…",
      "file": {
        "href": "../../../../specs/rules/engine/disabled-plugin/index.html",
        "label": "rules/engine/disabled-plugin.rule.md"
      },
      "href": "../../../../specs/rules/engine/disabled-plugin/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 5,
      "surface": "build",
      "title": "Disabled plugin",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…he fix is the tool on the PATH of the build, or the plugin removed from plugins:…",
      "file": {
        "href": "../../../../specs/rules/engine/disabled-plugin/index.html",
        "label": "rules/engine/disabled-plugin.rule.md"
      },
      "href": "../../../../specs/rules/engine/disabled-plugin/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 5,
      "surface": "build",
      "title": "Disabled plugin",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/engine/disabled-plugin/index.html",
        "label": "rules/engine/disabled-plugin.rule.md"
      },
      "href": "../../../../specs/rules/engine/disabled-plugin/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 5,
      "surface": "Build",
      "title": "Disabled plugin",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Page not found. The build writes 404.html at the root of the site, the page GitH…",
      "file": {
        "href": "../../../../specs/screens/pages/edge-cases/index.html",
        "label": "screens/pages/edge-cases.md"
      },
      "href": "../../../../specs/screens/pages/edge-cases/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 5,
      "surface": "build",
      "title": "Edge cases",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ure?\", which unfolds the cause as the build worded it, \"conversion of decks/scan…",
      "file": {
        "href": "../../../../specs/screens/pages/edge-cases/index.html",
        "label": "screens/pages/edge-cases.md"
      },
      "href": "../../../../specs/screens/pages/edge-cases/index.html#L19",
      "kind": "recognised",
      "line": 19,
      "passages": 5,
      "surface": "build",
      "title": "Edge cases",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…interface whose declared contract the build could not read, the finding unreacha…",
      "file": {
        "href": "../../../../specs/screens/pages/edge-cases/index.html",
        "label": "screens/pages/edge-cases.md"
      },
      "href": "../../../../specs/screens/pages/edge-cases/index.html#L21",
      "kind": "recognised",
      "line": 21,
      "passages": 5,
      "surface": "build",
      "title": "Edge cases",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…he team, not the site the reader, which is why the linter runs before the build.",
      "file": {
        "href": "../../../../specs/screens/pages/edge-cases/index.html",
        "label": "screens/pages/edge-cases.md"
      },
      "href": "../../../../specs/screens/pages/edge-cases/index.html#L23",
      "kind": "recognised",
      "line": 23,
      "passages": 5,
      "surface": "build",
      "title": "Edge cases",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: finding, build, entity",
      "file": {
        "href": "../../../../specs/screens/pages/edge-cases/index.html",
        "label": "screens/pages/edge-cases.md"
      },
      "href": "../../../../specs/screens/pages/edge-cases/index.html#L29",
      "kind": "recognised",
      "line": 29,
      "passages": 5,
      "surface": "build",
      "title": "Edge cases",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Two builds of the same sources write the same bytes. Every list is sorted canoni…",
      "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": 4,
      "surface": "builds",
      "title": "Reproducible builds",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…roducible-builds convention. A double-build test and a continuous-integration st…",
      "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": 4,
      "surface": "build",
      "title": "Reproducible builds",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…ation step compare every file of two builds of the golden corpus, so that a publ…",
      "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": 4,
      "surface": "builds",
      "title": "Reproducible builds",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/quality/reproducible-builds/index.html",
        "label": "decisions/quality/reproducible-builds.md"
      },
      "href": "../../../../specs/decisions/quality/reproducible-builds/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 4,
      "surface": "Build",
      "title": "Reproducible builds",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build: concordance build validates, ingests, parses, types, recognises, infers, …",
      "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,
      "passages": 4,
      "surface": "Build",
      "title": "Onboarding a repository",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…, add the pipeline of the forge that builds on every push and every morning and …",
      "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#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 4,
      "surface": "builds",
      "title": "Onboarding a repository",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…ges source to the workflow once. Two builds of unchanged sources are byte-identi…",
      "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#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 4,
      "surface": "builds",
      "title": "Onboarding a repository",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "… Nothing is required before the first build, and nothing added stops working whe…",
      "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#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 4,
      "surface": "build",
      "title": "Onboarding a repository",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "… release of the tool, every workflow builds the command line from a checkout of …",
      "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#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "builds",
      "title": "Publishing the wiki",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…nd: it checks out the configuration, builds the command line, validates the conf…",
      "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#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 4,
      "surface": "builds",
      "title": "Publishing the wiki",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…idates the configuration and runs the build, which clones the two content reposi…",
      "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#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 4,
      "surface": "build",
      "title": "Publishing the wiki",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "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": 4,
      "surface": "build",
      "title": "Publishing the wiki",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…he server answered with an error, the build ran without network access, the file…",
      "file": {
        "href": "../../../../specs/rules/contracts/unreachable-contract/index.html",
        "label": "rules/contracts/unreachable-contract.rule.md"
      },
      "href": "../../../../specs/rules/contracts/unreachable-contract/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "build",
      "title": "Unreachable contract",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…e operations written by hand, and the build goes on; the API page has no importe…",
      "file": {
        "href": "../../../../specs/rules/contracts/unreachable-contract/index.html",
        "label": "rules/contracts/unreachable-contract.rule.md"
      },
      "href": "../../../../specs/rules/contracts/unreachable-contract/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "build",
      "title": "Unreachable contract",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "… no imported operations until a later build reads the contract. A project whose …",
      "file": {
        "href": "../../../../specs/rules/contracts/unreachable-contract/index.html",
        "label": "rules/contracts/unreachable-contract.rule.md"
      },
      "href": "../../../../specs/rules/contracts/unreachable-contract/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "build",
      "title": "Unreachable contract",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/contracts/unreachable-contract/index.html",
        "label": "rules/contracts/unreachable-contract.rule.md"
      },
      "href": "../../../../specs/rules/contracts/unreachable-contract/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 4,
      "surface": "Build",
      "title": "Unreachable contract",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…local lint says the same thing as the build. For the checks the linter computes …",
      "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,
      "passages": 4,
      "surface": "build",
      "title": "Linter and build parity",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…everity, message and remediation. The build reports more, never less: the checks…",
      "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,
      "passages": 4,
      "surface": "build",
      "title": "Linter and build parity",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…, lints every source of the copy and builds the same copy, then compares the fin…",
      "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#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 4,
      "surface": "builds",
      "title": "Linter and build parity",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "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#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 4,
      "surface": "Build",
      "title": "Linter and build parity",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…e lock file rejects never pivots. The build proposes and files nothing: a growin…",
      "file": {
        "href": "../../../../specs/rules/vocabulary/suggested-domain/index.html",
        "label": "rules/vocabulary/suggested-domain.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/suggested-domain/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "build",
      "title": "Suggested domain",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…om one domain to another between two builds. The proposal is promoted by declari…",
      "file": {
        "href": "../../../../specs/rules/vocabulary/suggested-domain/index.html",
        "label": "rules/vocabulary/suggested-domain.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/suggested-domain/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "builds",
      "title": "Suggested domain",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…e; the configuration may also let the build file every reached note itself, with…",
      "file": {
        "href": "../../../../specs/rules/vocabulary/suggested-domain/index.html",
        "label": "rules/vocabulary/suggested-domain.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/suggested-domain/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "build",
      "title": "Suggested domain",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/vocabulary/suggested-domain/index.html",
        "label": "rules/vocabulary/suggested-domain.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/suggested-domain/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 4,
      "surface": "Build",
      "title": "Suggested domain",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…API page of an API whose contract the build imported. It shows the contract next…",
      "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": 4,
      "surface": "build",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…contract last changed relative to the build, \"imported 9 days ago\": the date of …",
      "file": {
        "href": "../../../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../../../specs/viewers/contract-viewer/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 4,
      "surface": "build",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…s remote, or the copy of the file the build placed next to the page under the na…",
      "file": {
        "href": "../../../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../../../specs/viewers/contract-viewer/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 4,
      "surface": "build",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ON)\", to the view of the contract the build wrote next to the fragments of the p…",
      "file": {
        "href": "../../../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../../../specs/viewers/contract-viewer/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 4,
      "surface": "build",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…al file for download, at the copy the build placed next to the page, and, when t…",
      "file": {
        "href": "../../../../specs/viewers/document-viewer/index.html",
        "label": "viewers/document-viewer.md"
      },
      "href": "../../../../specs/viewers/document-viewer/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 4,
      "surface": "build",
      "title": "Document viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…st click imports the viewer bundle, a build of pdf.js the page never references …",
      "file": {
        "href": "../../../../specs/viewers/document-viewer/index.html",
        "label": "viewers/document-viewer.md"
      },
      "href": "../../../../specs/viewers/document-viewer/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 4,
      "surface": "build",
      "title": "Document viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…hat shows a PDF, are announced in the build summary with their size, and change …",
      "file": {
        "href": "../../../../specs/viewers/document-viewer/index.html",
        "label": "viewers/document-viewer.md"
      },
      "href": "../../../../specs/viewers/document-viewer/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 4,
      "surface": "build",
      "title": "Document viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…xt shown and searched is the text the build extracted from the PDF, cut at build…",
      "file": {
        "href": "../../../../specs/viewers/document-viewer/index.html",
        "label": "viewers/document-viewer.md"
      },
      "href": "../../../../specs/viewers/document-viewer/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 4,
      "surface": "build",
      "title": "Document viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "The file is the interface between the build and everything after it: the renderi…",
      "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": 3,
      "surface": "build",
      "title": "Canonical model",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/api/canonical-model/index.html",
        "label": "api/canonical-model.md"
      },
      "href": "../../../../specs/api/canonical-model/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 3,
      "surface": "Build",
      "title": "Canonical model",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/api/canonical-model/index.html",
        "label": "api/canonical-model.md"
      },
      "href": "../../../../specs/api/canonical-model/index.html#L23",
      "kind": "recognised",
      "line": 23,
      "passages": 3,
      "surface": "Build",
      "title": "Canonical model",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…t a missing key or variable fails the build, and a test checks that every locale…",
      "file": {
        "href": "../../../../specs/decisions/publication/icu-message-catalogues/index.html",
        "label": "decisions/publication/icu-message-catalogues.md"
      },
      "href": "../../../../specs/decisions/publication/icu-message-catalogues/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "build",
      "title": "ICU message catalogues",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…s every key. Messages are resolved at build: the published HTML contains final s…",
      "file": {
        "href": "../../../../specs/decisions/publication/icu-message-catalogues/index.html",
        "label": "decisions/publication/icu-message-catalogues.md"
      },
      "href": "../../../../specs/decisions/publication/icu-message-catalogues/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "build",
      "title": "ICU message catalogues",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/publication/icu-message-catalogues/index.html",
        "label": "decisions/publication/icu-message-catalogues.md"
      },
      "href": "../../../../specs/decisions/publication/icu-message-catalogues/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 3,
      "surface": "Build",
      "title": "ICU message catalogues",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…becomes a finding, never a crash. The build fails only when the configuration sa…",
      "file": {
        "href": "../../../../specs/decisions/quality/findings-not-failures/index.html",
        "label": "decisions/quality/findings-not-failures.md"
      },
      "href": "../../../../specs/decisions/quality/findings-not-failures/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "build",
      "title": "Findings, not failures",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "… function in a registry shared by the build and the linter, and a test enforces …",
      "file": {
        "href": "../../../../specs/decisions/quality/findings-not-failures/index.html",
        "label": "decisions/quality/findings-not-failures.md"
      },
      "href": "../../../../specs/decisions/quality/findings-not-failures/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "build",
      "title": "Findings, not failures",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/quality/findings-not-failures/index.html",
        "label": "decisions/quality/findings-not-failures.md"
      },
      "href": "../../../../specs/decisions/quality/findings-not-failures/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 3,
      "surface": "Build",
      "title": "Findings, not failures",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…loads, and a locale with no pack is a build error. Every source selects its pack…",
      "file": {
        "href": "../../../../specs/processes/ingestion/adding-a-language-pack/index.html",
        "label": "processes/ingestion/adding-a-language-pack.md"
      },
      "href": "../../../../specs/processes/ingestion/adding-a-language-pack/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 3,
      "surface": "build",
      "title": "Adding a language pack",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…s the default; a tag with no pack registered fails the build with the tag named.",
      "file": {
        "href": "../../../../specs/processes/ingestion/adding-a-language-pack/index.html",
        "label": "processes/ingestion/adding-a-language-pack.md"
      },
      "href": "../../../../specs/processes/ingestion/adding-a-language-pack/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 3,
      "surface": "build",
      "title": "Adding a language pack",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "Build, and read the summary and the findings: the dictionary of that locale is b…",
      "file": {
        "href": "../../../../specs/processes/ingestion/adding-a-language-pack/index.html",
        "label": "processes/ingestion/adding-a-language-pack.md"
      },
      "href": "../../../../specs/processes/ingestion/adding-a-language-pack/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 3,
      "surface": "Build",
      "title": "Adding a language pack",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…st the files of the repository as the build would: everything but the globs priv…",
      "file": {
        "href": "../../../../specs/processes/quality/lint/index.html",
        "label": "processes/quality/lint.md"
      },
      "href": "../../../../specs/processes/quality/lint/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 3,
      "surface": "build",
      "title": "Lint",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "Parse and type the listed files as the build would.",
      "file": {
        "href": "../../../../specs/processes/quality/lint/index.html",
        "label": "processes/quality/lint.md"
      },
      "href": "../../../../specs/processes/quality/lint/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 3,
      "surface": "build",
      "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": 3,
      "surface": "build",
      "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": 3,
      "surface": "build",
      "title": "Query",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…anged and with what, the findings the build recorded, and where a phrase is writ…",
      "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": 3,
      "surface": "build",
      "title": "Query",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…e first line, with the instant of the build and its age; never fetch, compute or…",
      "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": 3,
      "surface": "build",
      "title": "Query",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…flow tags the merge commit v<x.y.z>, builds the standalone binaries on three pla…",
      "file": {
        "href": "../../../../specs/processes/quality/release/index.html",
        "label": "processes/quality/release.md"
      },
      "href": "../../../../specs/processes/quality/release/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 3,
      "surface": "builds",
      "title": "Release",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "The image workflow builds the container image from the tag, compares a build ins…",
      "file": {
        "href": "../../../../specs/processes/quality/release/index.html",
        "label": "processes/quality/release.md"
      },
      "href": "../../../../specs/processes/quality/release/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 3,
      "surface": "builds",
      "title": "Release",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…tainer image from the tag, compares a build inside the container with one outsid…",
      "file": {
        "href": "../../../../specs/processes/quality/release/index.html",
        "label": "processes/quality/release.md"
      },
      "href": "../../../../specs/processes/quality/release/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 3,
      "surface": "build",
      "title": "Release",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…int.yaml in the repository, which the build refuses to read differently from its…",
      "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,
      "passages": 3,
      "surface": "build",
      "title": "Unreachable source",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…read differently from its linter. The build goes on without it; nothing from tha…",
      "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,
      "passages": 3,
      "surface": "build",
      "title": "Unreachable source",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/sources/unreachable-source/index.html",
        "label": "rules/sources/unreachable-source.rule.md"
      },
      "href": "../../../../specs/rules/sources/unreachable-source/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 3,
      "surface": "Build",
      "title": "Unreachable source",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…bled the finding is a warning and the build goes on; when it is enabled the find…",
      "file": {
        "href": "../../../../specs/rules/sources/unusable-pseudonymisation-dictionary/index.html",
        "label": "rules/sources/unusable-pseudonymisation-dictionary.rule.md"
      },
      "href": "../../../../specs/rules/sources/unusable-pseudonymisation-dictionary/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 3,
      "surface": "build",
      "title": "Unusable pseudonymisation dictionary",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…he finding is raised as an error, the build fails and every transcript is withhe…",
      "file": {
        "href": "../../../../specs/rules/sources/unusable-pseudonymisation-dictionary/index.html",
        "label": "rules/sources/unusable-pseudonymisation-dictionary.rule.md"
      },
      "href": "../../../../specs/rules/sources/unusable-pseudonymisation-dictionary/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 3,
      "surface": "build",
      "title": "Unusable pseudonymisation dictionary",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/sources/unusable-pseudonymisation-dictionary/index.html",
        "label": "rules/sources/unusable-pseudonymisation-dictionary.rule.md"
      },
      "href": "../../../../specs/rules/sources/unusable-pseudonymisation-dictionary/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 3,
      "surface": "Build",
      "title": "Unusable pseudonymisation dictionary",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…ge of an interface whose contract the build imported. Same shell as the entity p…",
      "file": {
        "href": "../../../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../../../specs/screens/pages/api-page/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "build",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… of the contract file relative to the build, from the history of its repository,…",
      "file": {
        "href": "../../../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../../../specs/screens/pages/api-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 3,
      "surface": "build",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… repository, never the instant of the build; under it the contract viewer, open …",
      "file": {
        "href": "../../../../specs/screens/pages/api-page/index.html",
        "label": "screens/pages/api-page.md"
      },
      "href": "../../../../specs/screens/pages/api-page/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 3,
      "surface": "build",
      "title": "API page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…t a server. The index is generated at build and loaded in fragments as the user …",
      "file": {
        "href": "../../../../specs/screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "../../../../specs/screens/pages/search/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 3,
      "surface": "build",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…nd application carry counts frozen at build; they combine, and a facet with no r…",
      "file": {
        "href": "../../../../specs/screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "../../../../specs/screens/pages/search/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 3,
      "surface": "build",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "The index is written at build under search/: an entity table and one shard per t…",
      "file": {
        "href": "../../../../specs/screens/pages/search/index.html",
        "label": "screens/pages/search.md"
      },
      "href": "../../../../specs/screens/pages/search/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 3,
      "surface": "build",
      "title": "Search",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "The step of the build that reads the contract an API note declares and adds what…",
      "file": {
        "href": "../../../inference/contracts/contract/index.html",
        "label": "inference/contracts/contract-import.md"
      },
      "href": "../../../inference/contracts/contract/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… an OpenAPI 3 document or a WSDL. The build imports it through a plugin, produce…",
      "file": {
        "href": "../../../inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "../../../inference/contracts/contract/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… and an operation name in a WSDL. The build imports every operation of a declare…",
      "file": {
        "href": "../../../inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "../../../inference/contracts/operation/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 2,
      "surface": "build",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…explain writes an operation note; the build attaches it to the imported operatio…",
      "file": {
        "href": "../../../inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "../../../inference/contracts/operation/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 2,
      "surface": "build",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The result of a build: every entity, every link with its provenance, every findi…",
      "file": {
        "href": "../../../inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "../../../inference/model/model/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…el.json file in canonical order. Two builds on the same sources produce the same…",
      "file": {
        "href": "../../../inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "../../../inference/model/model/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "builds",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e options, the conversion limits, the build block, the site options, the checks …",
      "file": {
        "href": "../../configuration/configuration/index.html",
        "label": "ingestion/configuration/configuration.md"
      },
      "href": "../../configuration/configuration/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Configuration",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ptions, the conversion limits, the build block, the site options, the checks ove…",
      "file": {
        "href": "../../configuration/configuration/index.html",
        "label": "ingestion/configuration/configuration.md"
      },
      "href": "../../configuration/configuration/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build block",
      "title": "Configuration",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…sions, promoted emergent domains. The build reads it, validates it against the p…",
      "file": {
        "href": "../../configuration/lock/index.html",
        "label": "ingestion/configuration/lock.md"
      },
      "href": "../../configuration/lock/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Lock",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…sions, promoted emergent domains. The build reads it, validates it against the p…",
      "file": {
        "href": "../../configuration/lock/index.html",
        "label": "ingestion/configuration/lock.md"
      },
      "href": "../../configuration/lock/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Lock",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n of an office document into a PDF at build, by a converter plugin, so that its …",
      "file": {
        "href": "../../documents/conversion/index.html",
        "label": "ingestion/documents/conversion.md"
      },
      "href": "../../documents/conversion/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Conversion",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…urrent conversions, which changes the build time and never the output. A documen…",
      "file": {
        "href": "../../documents/conversion/index.html",
        "label": "ingestion/documents/conversion.md"
      },
      "href": "../../documents/conversion/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Conversion",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…notes and documents of every source a build reads together: what the dictionary,…",
      "file": {
        "href": "../../sources/corpus/index.html",
        "label": "ingestion/sources/corpus.md"
      },
      "href": "../../sources/corpus/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Corpus",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…notes and documents of every source a build reads together: what the dictionary,…",
      "file": {
        "href": "../../sources/corpus/index.html",
        "label": "ingestion/sources/corpus.md"
      },
      "href": "../../sources/corpus/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Corpus",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A domain the build proposes from the neighbourhood rather than reads from the co…",
      "file": {
        "href": "../../typing/emergent-domain/index.html",
        "label": "ingestion/typing/emergent-domain.md"
      },
      "href": "../../typing/emergent-domain/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 2,
      "surface": "build",
      "title": "Emergent domain",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "A domain the build proposes from the neighbourhood rather than reads from the co…",
      "file": {
        "href": "../../typing/emergent-domain/index.html",
        "label": "ingestion/typing/emergent-domain.md"
      },
      "href": "../../typing/emergent-domain/index.html#L7",
      "kind": "written",
      "line": 7,
      "passages": 2,
      "surface": "build",
      "title": "Emergent domain",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "What the build writes under dist/ after the model: the home page, one page per e…",
      "file": {
        "href": "../../../publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "../../../publication/site/site/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "What the build writes under dist/ after the model: the home page, one page per e…",
      "file": {
        "href": "../../../publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "../../../publication/site/site/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The file build.log.json the build writes next to the site: its summary (sources,…",
      "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": "build",
      "title": "Build log",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…the verdict of build.fail_on, so a failing build still leaves it for inspection.",
      "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": "build",
      "title": "Build log",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Two builds of unchanged sources write the same bytes: every list of the model, o…",
      "file": {
        "href": "../../../quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "../../../quality/linter/determinism/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "builds",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…-builds tooling does. The repository builds its golden corpus twice on every cha…",
      "file": {
        "href": "../../../quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "../../../quality/linter/determinism/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "builds",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…questions about the model of the last build for the screens that cannot read mod…",
      "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,
      "passages": 2,
      "surface": "build",
      "title": "Model query API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…ity, Link, Finding and SearchHit. The build imports the operations as operations…",
      "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,
      "passages": 2,
      "surface": "build",
      "title": "Model query API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "… a JSON schema and not a contract the build imports, so this note declares none;…",
      "file": {
        "href": "../../../../specs/api/plugin-api/index.html",
        "label": "api/plugin-api.md"
      },
      "href": "../../../../specs/api/plugin-api/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "build",
      "title": "Plugin API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/api/plugin-api/index.html",
        "label": "api/plugin-api.md"
      },
      "href": "../../../../specs/api/plugin-api/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Build",
      "title": "Plugin API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…he threshold is configurable, and the build reports how many pages it generated …",
      "file": {
        "href": "../../../../specs/decisions/inference/keyword-page-threshold/index.html",
        "label": "decisions/inference/keyword-page-threshold.md"
      },
      "href": "../../../../specs/decisions/inference/keyword-page-threshold/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "build",
      "title": "Keyword page threshold",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/inference/keyword-page-threshold/index.html",
        "label": "decisions/inference/keyword-page-threshold.md"
      },
      "href": "../../../../specs/decisions/inference/keyword-page-threshold/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 2,
      "surface": "Build",
      "title": "Keyword page threshold",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…tion point of the plugin API, and the build merges them before the keys of the p…",
      "file": {
        "href": "../../../../specs/decisions/inference/types-as-modules/index.html",
        "label": "decisions/inference/types-as-modules.md"
      },
      "href": "../../../../specs/decisions/inference/types-as-modules/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "build",
      "title": "Types as modules",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/inference/types-as-modules/index.html",
        "label": "decisions/inference/types-as-modules.md"
      },
      "href": "../../../../specs/decisions/inference/types-as-modules/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 2,
      "surface": "Build",
      "title": "Types as modules",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "… plugins, and a tag with no pack is a build error. The adding a language pack pr…",
      "file": {
        "href": "../../../../specs/decisions/ingestion/locale-per-source/index.html",
        "label": "decisions/ingestion/locale-per-source.md"
      },
      "href": "../../../../specs/decisions/ingestion/locale-per-source/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "build",
      "title": "Locale per source",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/ingestion/locale-per-source/index.html",
        "label": "decisions/ingestion/locale-per-source.md"
      },
      "href": "../../../../specs/decisions/ingestion/locale-per-source/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 2,
      "surface": "Build",
      "title": "Locale per source",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…ources, rejected term candidates. The build reads the file the lock key names, v…",
      "file": {
        "href": "../../../../specs/decisions/ingestion/lock-file-for-human-decisions/index.html",
        "label": "decisions/ingestion/lock-file-for-human-decisions.md"
      },
      "href": "../../../../specs/decisions/ingestion/lock-file-for-human-decisions/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "build",
      "title": "Lock file for human decisions",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/ingestion/lock-file-for-human-decisions/index.html",
        "label": "decisions/ingestion/lock-file-for-human-decisions.md"
      },
      "href": "../../../../specs/decisions/ingestion/lock-file-for-human-decisions/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 2,
      "surface": "Build",
      "title": "Lock file for human decisions",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…and the count of such documents is what the fail-on policy of the build watches.",
      "file": {
        "href": "../../../../specs/decisions/ingestion/single-extraction-path/index.html",
        "label": "decisions/ingestion/single-extraction-path.md"
      },
      "href": "../../../../specs/decisions/ingestion/single-extraction-path/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 2,
      "surface": "build",
      "title": "Single extraction path",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/ingestion/single-extraction-path/index.html",
        "label": "decisions/ingestion/single-extraction-path.md"
      },
      "href": "../../../../specs/decisions/ingestion/single-extraction-path/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 2,
      "surface": "Build",
      "title": "Single extraction path",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…no database and no state between two builds other than the pipeline cache: the m…",
      "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": 2,
      "surface": "builds",
      "title": "No database",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/publication/no-database/index.html",
        "label": "decisions/publication/no-database.md"
      },
      "href": "../../../../specs/decisions/publication/no-database/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 2,
      "surface": "Build",
      "title": "No database",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…e is a set of named slots rendered at build by components, each with a typed vie…",
      "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,
      "passages": 2,
      "surface": "build",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "… the mode switch hidden. A budget of 150 kB per page is measured on every build.",
      "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,
      "passages": 2,
      "surface": "build",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "The build is a pipeline command that produces a static site. The main content of…",
      "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": "build",
      "title": "Static first",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/publication/static-first/index.html",
        "label": "decisions/publication/static-first.md"
      },
      "href": "../../../../specs/decisions/publication/static-first/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Build",
      "title": "Static first",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "The single serialised result of a build: the build block with the tool version, …",
      "file": {
        "href": "../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "../../../../specs/objects/inference/model/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ished schema, byte-identical from one build to the next on unchanged sources. Th…",
      "file": {
        "href": "../../../../specs/objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "../../../../specs/objects/inference/model/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "build",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…on the next version will declare. The build cannot tell which, so the finding sa…",
      "file": {
        "href": "../../../../specs/rules/contracts/operation-unmatched/index.html",
        "label": "rules/contracts/operation-unmatched.rule.md"
      },
      "href": "../../../../specs/rules/contracts/operation-unmatched/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "build",
      "title": "Operation unmatched",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/contracts/operation-unmatched/index.html",
        "label": "rules/contracts/operation-unmatched.rule.md"
      },
      "href": "../../../../specs/rules/contracts/operation-unmatched/index.html#L19",
      "kind": "recognised",
      "line": 19,
      "passages": 2,
      "surface": "Build",
      "title": "Operation unmatched",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…uarantees hold on every page, and the build and the test suite verify them witho…",
      "file": {
        "href": "../../../../specs/rules/engine/accessibility/index.html",
        "label": "rules/engine/accessibility.rule.md"
      },
      "href": "../../../../specs/rules/engine/accessibility/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 2,
      "surface": "build",
      "title": "Accessibility",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/engine/accessibility/index.html",
        "label": "rules/engine/accessibility.rule.md"
      },
      "href": "../../../../specs/rules/engine/accessibility/index.html#L28",
      "kind": "recognised",
      "line": 28,
      "passages": 2,
      "surface": "Build",
      "title": "Accessibility",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…ist opens by title, never by links, so that it does not change with every build.",
      "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": "build",
      "title": "Category",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ectors are links to pages rendered at build under <source>/<folder>/-/ (-/links/…",
      "file": {
        "href": "../../../../specs/screens/pages/category/index.html",
        "label": "screens/pages/category.md"
      },
      "href": "../../../../specs/screens/pages/category/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 2,
      "surface": "build",
      "title": "Category",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "The theme comes from the registry the build uses: --theme names a plugin package…",
      "file": {
        "href": "../../../../specs/screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "../../../../specs/screens/pages/gallery-index/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 2,
      "surface": "build",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…. Continuous integration of the tool builds the gallery on every change and publ…",
      "file": {
        "href": "../../../../specs/screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "../../../../specs/screens/pages/gallery-index/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 2,
      "surface": "builds",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… \"Notes\" and \"Deck\", one per file the build grouped into the page: the transcrip…",
      "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": 2,
      "surface": "build",
      "title": "Meeting page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ese files\", with, under them, why the build grouped them, read from the pairs th…",
      "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": 2,
      "surface": "build",
      "title": "Meeting page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…recognised together, the order of the build breaking ties; six stand in view, th…",
      "file": {
        "href": "../../../../specs/screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "../../../../specs/screens/panels/mentions-panel/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "build",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "The build writes one fragment per entity with a related page, fragments/<id>.men…",
      "file": {
        "href": "../../../../specs/screens/panels/mentions-panel/index.html",
        "label": "screens/panels/mentions-panel.md"
      },
      "href": "../../../../specs/screens/panels/mentions-panel/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 2,
      "surface": "build",
      "title": "Mentions panel",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ince the neighbourhood is computed at build and a second hop is never computed i…",
      "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": 2,
      "surface": "build",
      "title": "Neighbourhood map",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ood comes from the model, computed at build and never in the browser, in the ord…",
      "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": 2,
      "surface": "build",
      "title": "Neighbourhood map",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…nce. The neighbourhood is computed at build and written to the model, never in t…",
      "file": {
        "href": "../../../inference/links/neighbourhood/index.html",
        "label": "inference/links/neighbourhood.md"
      },
      "href": "../../../inference/links/neighbourhood/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Neighbourhood",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… the model and the profile and nothing else, so two builds infer the same links.",
      "file": {
        "href": "../../../inference/model/inference/index.html",
        "label": "inference/model/inference.md"
      },
      "href": "../../../inference/model/inference/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "builds",
      "title": "Inference",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…t with its file and line. The answer is as fresh as the last build, and says so.",
      "file": {
        "href": "../../../inference/model/query/index.html",
        "label": "inference/model/query.md"
      },
      "href": "../../../inference/model/query/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Query",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…nym. The dictionary is built once per build, after typing and contract import, a…",
      "file": {
        "href": "../../../inference/recognition/dictionary/index.html",
        "label": "inference/recognition/dictionary.md"
      },
      "href": "../../../inference/recognition/dictionary/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Dictionary",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… which of those become pages, and the build summary reports the pages generated …",
      "file": {
        "href": "../../../inference/recognition/publication-threshold/index.html",
        "label": "inference/recognition/publication-threshold.md"
      },
      "href": "../../../inference/recognition/publication-threshold/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Publication threshold",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ll or a quote. On the entity page the build turns it into a link to the page it …",
      "file": {
        "href": "../../../inference/recognition/recognised-word/index.html",
        "label": "inference/recognition/recognised-word.md"
      },
      "href": "../../../inference/recognition/recognised-word/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "build",
      "title": "Recognised word",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…iles, the lock and the pipeline that builds the site and publishes it, and no co…",
      "file": {
        "href": "../../configuration/configuration-repository/index.html",
        "label": "ingestion/configuration/configuration-repository.md"
      },
      "href": "../../configuration/configuration-repository/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "builds",
      "title": "Configuration repository",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…le, and the default locale of every source. A tag with no pack is a build error.",
      "file": {
        "href": "../../configuration/locale/index.html",
        "label": "ingestion/configuration/locale.md"
      },
      "href": "../../configuration/locale/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Locale",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… that a converter turns into a PDF at build so that the site previews it and rea…",
      "file": {
        "href": "../../documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "../../documents/deck/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "build",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The words of a document as the build reads them: the text of every page of the P…",
      "file": {
        "href": "../../documents/extracted-text/index.html",
        "label": "ingestion/documents/extracted-text.md"
      },
      "href": "../../documents/extracted-text/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Extracted text",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…note is rendered to sanitised HTML at build, raw HTML dropped, its written links…",
      "file": {
        "href": "../../documents/markdown/index.html",
        "label": "ingestion/documents/markdown.md"
      },
      "href": "../../documents/markdown/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Markdown",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e was shown, the deck, grouped by the build as twin resources into one page with…",
      "file": {
        "href": "../../documents/meeting/index.html",
        "label": "ingestion/documents/meeting.md"
      },
      "href": "../../documents/meeting/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Meeting",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…cument, produced by the conversion at build and cached by fingerprint, or commit…",
      "file": {
        "href": "../../documents/preview/index.html",
        "label": "ingestion/documents/preview.md"
      },
      "href": "../../documents/preview/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Preview",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n, the job of the forge that runs the build on every push and publishes the site…",
      "file": {
        "href": "../pipeline/index.html",
        "label": "ingestion/pipeline/pipeline.md"
      },
      "href": "../pipeline/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Pipeline",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…default (conversion.cache), where the build keeps what it fetched or produced, k…",
      "file": {
        "href": "../../sources/fingerprint-cache/index.html",
        "label": "ingestion/sources/fingerprint-cache.md"
      },
      "href": "../../sources/fingerprint-cache/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Fingerprint cache",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… older than its threshold at the instant of the build, 180 days without the key.",
      "file": {
        "href": "../../sources/staleness/index.html",
        "label": "ingestion/sources/staleness.md"
      },
      "href": "../../sources/staleness/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Staleness",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…f the tool, one note per check, and the rule that binds the linter to the build.",
      "file": {
        "href": "../../typing/rule/index.html",
        "label": "ingestion/typing/rule.md"
      },
      "href": "../../typing/rule/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Rule",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The files the build writes under search/ so that a page searches the whole corpu…",
      "file": {
        "href": "../../../publication/search/search-index/index.html",
        "label": "publication/search/search-index.md"
      },
      "href": "../../../publication/search/search-index/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Search index",
      "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,
      "surface": "build",
      "title": "Fragment",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…odel that is the contract between the build and a theme: Shell, Header and Foote…",
      "file": {
        "href": "../../../publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "../../../publication/site/slot/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…heet loaded after the tool's own. The build validates it against the theme schem…",
      "file": {
        "href": "../../../publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "../../../publication/site/theme/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ks live in one registry shared by the build and the linter, so both report the s…",
      "file": {
        "href": "../../../quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "../../../quality/checks/check/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…nding names the remote entity and the build timestamp of the model it was compar…",
      "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,
      "surface": "build",
      "title": "Global check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…. For these checks the linter and the build produce the same findings on the sam…",
      "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,
      "surface": "build",
      "title": "Local check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…so that it was not registered and the build went on without its contributions; i…",
      "file": {
        "href": "../../../quality/checks/plugin-checks/index.html",
        "label": "quality/checks/plugin-checks.md"
      },
      "href": "../../../quality/checks/plugin-checks/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "build",
      "title": "Plugin checks",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…annot be fetched or read, so that the build goes on without it and nothing of it…",
      "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": "build",
      "title": "Source checks",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…becomes a finding, never a crash. The build fails only when the configuration sa…",
      "file": {
        "href": "../../../quality/findings/finding/index.html",
        "label": "quality/findings/finding.md"
      },
      "href": "../../../quality/findings/finding/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Finding",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…alogue of the check, the same for the build and the linter, and every finding li…",
      "file": {
        "href": "../../../quality/findings/remediation/index.html",
        "label": "quality/findings/remediation.md"
      },
      "href": "../../../quality/findings/remediation/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Remediation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…eck can be disabled the same way. The build fails according to build.fail_on, on…",
      "file": {
        "href": "../../../quality/findings/severity/index.html",
        "label": "quality/findings/severity.md"
      },
      "href": "../../../quality/findings/severity/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Severity",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…er reported, by the linter and by the build alike: what privacy.exclude of the p…",
      "file": {
        "href": "../../../quality/linter/excluded-file/index.html",
        "label": "quality/linter/excluded-file.md"
      },
      "href": "../../../quality/linter/excluded-file/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Excluded file",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…model of the wiki. The linter and the build produce the same findings for the lo…",
      "file": {
        "href": "../../../quality/linter/linter/index.html",
        "label": "quality/linter/linter.md"
      },
      "href": "../../../quality/linter/linter/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Linter",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Returns one entity of the last build by its identifier, with its attributes, its…",
      "file": {
        "href": "../../../../specs/api/operations/get-entity/index.html",
        "label": "api/operations/get-entity.md"
      },
      "href": "../../../../specs/api/operations/get-entity/index.html#L11",
      "kind": "recognised",
      "line": 11,
      "surface": "build",
      "title": "Get an entity",
      "type": "endpoint",
      "typeLabel": "Operation"
    },
    {
      "context": "Returns the entities of the last build, in identifier order, with the same field…",
      "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": "build",
      "title": "List the entities",
      "type": "endpoint",
      "typeLabel": "Operation"
    },
    {
      "context": "…rite, from the candidates of the last build: the objects a contract names withou…",
      "file": {
        "href": "../../../../specs/api/operations/suggest-links/index.html",
        "label": "api/operations/suggest-links.md"
      },
      "href": "../../../../specs/api/operations/suggest-links/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "build",
      "title": "Suggest links",
      "type": "endpoint",
      "typeLabel": "Operation"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/batches/ingestion/nightly-build/index.html",
        "label": "batches/ingestion/nightly-build.md"
      },
      "href": "../../../../specs/batches/ingestion/nightly-build/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "surface": "Build",
      "title": "Nightly build",
      "type": "batch",
      "typeLabel": "Batch"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/inference/bounded-neighbourhood/index.html",
        "label": "decisions/inference/bounded-neighbourhood.md"
      },
      "href": "../../../../specs/decisions/inference/bounded-neighbourhood/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "Build",
      "title": "Bounded neighbourhood",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/inference/confidence-and-provenance-on-every-link/index.html",
        "label": "decisions/inference/confidence-and-provenance-on-every-link.md"
      },
      "href": "../../../../specs/decisions/inference/confidence-and-provenance-on-every-link/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "Build",
      "title": "Confidence and provenance on every link",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/inference/declarative-profile/index.html",
        "label": "decisions/inference/declarative-profile.md"
      },
      "href": "../../../../specs/decisions/inference/declarative-profile/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Declarative profile",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/inference/links-are-authoritative/index.html",
        "label": "decisions/inference/links-are-authoritative.md"
      },
      "href": "../../../../specs/decisions/inference/links-are-authoritative/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "Build",
      "title": "Links are authoritative",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/inference/minhash-for-twin-resources/index.html",
        "label": "decisions/inference/minhash-for-twin-resources.md"
      },
      "href": "../../../../specs/decisions/inference/minhash-for-twin-resources/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "Build",
      "title": "MinHash for twin resources",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "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#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Type-driven neighbour order",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/ingestion/deterministic-identifiers/index.html",
        "label": "decisions/ingestion/deterministic-identifiers.md"
      },
      "href": "../../../../specs/decisions/ingestion/deterministic-identifiers/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "Build",
      "title": "Deterministic identifiers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/ingestion/standard-markdown-only/index.html",
        "label": "decisions/ingestion/standard-markdown-only.md"
      },
      "href": "../../../../specs/decisions/ingestion/standard-markdown-only/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Standard markdown only",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/publication/fonts-from-a-third-party-host/index.html",
        "label": "decisions/publication/fonts-from-a-third-party-host.md"
      },
      "href": "../../../../specs/decisions/publication/fonts-from-a-third-party-host/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "Build",
      "title": "Fonts from a third-party host",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…re button, and the top bar carries no build statistic. An accent that is rare, m…",
      "file": {
        "href": "../../../../specs/decisions/publication/one-familiar-chrome/index.html",
        "label": "decisions/publication/one-familiar-chrome.md"
      },
      "href": "../../../../specs/decisions/publication/one-familiar-chrome/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "build",
      "title": "One familiar chrome",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/publication/paginated-mentions/index.html",
        "label": "decisions/publication/paginated-mentions.md"
      },
      "href": "../../../../specs/decisions/publication/paginated-mentions/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "surface": "Build",
      "title": "Paginated mentions",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/publication/self-hosted-fonts/index.html",
        "label": "decisions/publication/self-hosted-fonts.md"
      },
      "href": "../../../../specs/decisions/publication/self-hosted-fonts/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "Build",
      "title": "Self-hosted fonts",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/publication/white-label-by-default/index.html",
        "label": "decisions/publication/white-label-by-default.md"
      },
      "href": "../../../../specs/decisions/publication/white-label-by-default/index.html#L20",
      "kind": "recognised",
      "line": 20,
      "surface": "Build",
      "title": "White label by default",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/decisions/quality/core-plugins-preset/index.html",
        "label": "decisions/quality/core-plugins-preset.md"
      },
      "href": "../../../../specs/decisions/quality/core-plugins-preset/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "Build",
      "title": "Core, plugins, preset",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/notes/type-by-filing/index.html",
        "label": "notes/type-by-filing.md"
      },
      "href": "../../../../specs/notes/type-by-filing/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "surface": "Build",
      "title": "Type by filing",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Something the build proposes without asserting it, listed under candidates of th…",
      "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": "build",
      "title": "Candidate",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…e configured size. Both are computed at build and written, never in the browser.",
      "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": "build",
      "title": "Neighbourhood",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "An entity the build creates for an expression that recurs above the publication …",
      "file": {
        "href": "../../../../specs/objects/inference/recognition/keyword-page/index.html",
        "label": "objects/inference/recognition/keyword-page.md"
      },
      "href": "../../../../specs/objects/inference/recognition/keyword-page/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Keyword page",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…a glossary, and its typing rules. The build fetches it into the pipeline cache w…",
      "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": "build",
      "title": "Source",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…the merge request tells them what the build will say, and the to-do page what is…",
      "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": "build",
      "title": "Author",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…typing rules, sets the pipeline that builds and publishes the site and the lint …",
      "file": {
        "href": "../../../../specs/roles/ingestion/integrator/index.html",
        "label": "roles/ingestion/integrator.md"
      },
      "href": "../../../../specs/roles/ingestion/integrator/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "builds",
      "title": "Integrator",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "…checks: and the fail-on policy of the build, reads the build log and the reports…",
      "file": {
        "href": "../../../../specs/roles/quality/quality-owner/index.html",
        "label": "roles/quality/quality-owner.md"
      },
      "href": "../../../../specs/roles/quality/quality-owner/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "build",
      "title": "Quality owner",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/contracts/ambiguous-operation/index.html",
        "label": "rules/contracts/ambiguous-operation.rule.md"
      },
      "href": "../../../../specs/rules/contracts/ambiguous-operation/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "surface": "Build",
      "title": "Ambiguous operation",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/contracts/api-without-consumer/index.html",
        "label": "rules/contracts/api-without-consumer.rule.md"
      },
      "href": "../../../../specs/rules/contracts/api-without-consumer/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "Build",
      "title": "API without consumer",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/contracts/consumer-mismatch/index.html",
        "label": "rules/contracts/consumer-mismatch.rule.md"
      },
      "href": "../../../../specs/rules/contracts/consumer-mismatch/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "Build",
      "title": "Consumer mismatch",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/documents/conversion-failed/index.html",
        "label": "rules/documents/conversion-failed.rule.md"
      },
      "href": "../../../../specs/rules/documents/conversion-failed/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Conversion failed",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/documents/document-without-markdown/index.html",
        "label": "rules/documents/document-without-markdown.rule.md"
      },
      "href": "../../../../specs/rules/documents/document-without-markdown/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Document without markdown",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/documents/duplicate-candidate/index.html",
        "label": "rules/documents/duplicate-candidate.rule.md"
      },
      "href": "../../../../specs/rules/documents/duplicate-candidate/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Duplicate candidate",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/documents/suspect-conversion/index.html",
        "label": "rules/documents/suspect-conversion.rule.md"
      },
      "href": "../../../../specs/rules/documents/suspect-conversion/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Suspect conversion",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/documents/transcript-withheld/index.html",
        "label": "rules/documents/transcript-withheld.rule.md"
      },
      "href": "../../../../specs/rules/documents/transcript-withheld/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Transcript withheld",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/engine/operation-matching/index.html",
        "label": "rules/engine/operation-matching.rule.md"
      },
      "href": "../../../../specs/rules/engine/operation-matching/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "surface": "Build",
      "title": "Operation matching",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/engine/relation-typing/index.html",
        "label": "rules/engine/relation-typing.rule.md"
      },
      "href": "../../../../specs/rules/engine/relation-typing/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Relation typing",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/identifiers/duplicate-identifier/index.html",
        "label": "rules/identifiers/duplicate-identifier.rule.md"
      },
      "href": "../../../../specs/rules/identifiers/duplicate-identifier/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Duplicate identifier",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/identifiers/invalid-encoding/index.html",
        "label": "rules/identifiers/invalid-encoding.rule.md"
      },
      "href": "../../../../specs/rules/identifiers/invalid-encoding/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Invalid encoding",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/identifiers/invalid-frontmatter/index.html",
        "label": "rules/identifiers/invalid-frontmatter.rule.md"
      },
      "href": "../../../../specs/rules/identifiers/invalid-frontmatter/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Invalid frontmatter",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/identifiers/invalid-identifier/index.html",
        "label": "rules/identifiers/invalid-identifier.rule.md"
      },
      "href": "../../../../specs/rules/identifiers/invalid-identifier/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Invalid identifier",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "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#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Relation outside the matrix",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/identifiers/type-conflict/index.html",
        "label": "rules/identifiers/type-conflict.rule.md"
      },
      "href": "../../../../specs/rules/identifiers/type-conflict/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Type conflict",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/identifiers/unknown-attribute/index.html",
        "label": "rules/identifiers/unknown-attribute.rule.md"
      },
      "href": "../../../../specs/rules/identifiers/unknown-attribute/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Unknown attribute",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/identifiers/unknown-type/index.html",
        "label": "rules/identifiers/unknown-type.rule.md"
      },
      "href": "../../../../specs/rules/identifiers/unknown-type/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Unknown type",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/links/broken-link/index.html",
        "label": "rules/links/broken-link.rule.md"
      },
      "href": "../../../../specs/rules/links/broken-link/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "Build",
      "title": "Broken link",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "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#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "Build",
      "title": "Cross-source link",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/links/unresolved-reference/index.html",
        "label": "rules/links/unresolved-reference.rule.md"
      },
      "href": "../../../../specs/rules/links/unresolved-reference/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "Build",
      "title": "Unresolved reference",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/sources/stale-source/index.html",
        "label": "rules/sources/stale-source.rule.md"
      },
      "href": "../../../../specs/rules/sources/stale-source/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Stale source",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/vocabulary/ambiguous-relation/index.html",
        "label": "rules/vocabulary/ambiguous-relation.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/ambiguous-relation/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Ambiguous relation",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/vocabulary/missing-application/index.html",
        "label": "rules/vocabulary/missing-application.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/missing-application/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Missing application",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/vocabulary/personal-mention-detected/index.html",
        "label": "rules/vocabulary/personal-mention-detected.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/personal-mention-detected/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Personal mention detected",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/vocabulary/term-homonym/index.html",
        "label": "rules/vocabulary/term-homonym.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/term-homonym/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Term homonym",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/vocabulary/unclassified-domain/index.html",
        "label": "rules/vocabulary/unclassified-domain.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/unclassified-domain/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Unclassified domain",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/vocabulary/undefined-term/index.html",
        "label": "rules/vocabulary/undefined-term.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/undefined-term/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Undefined term",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/vocabulary/unknown-application/index.html",
        "label": "rules/vocabulary/unknown-application.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/unknown-application/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Unknown application",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/vocabulary/unknown-domain/index.html",
        "label": "rules/vocabulary/unknown-domain.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/unknown-domain/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Unknown domain",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../specs/rules/vocabulary/unused-term/index.html",
        "label": "rules/vocabulary/unused-term.rule.md"
      },
      "href": "../../../../specs/rules/vocabulary/unused-term/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "surface": "Build",
      "title": "Unused term",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "… newest change worded relative to the build, \"2 days ago\"; the row leads to the …",
      "file": {
        "href": "../../../../specs/screens/pages/home/index.html",
        "label": "screens/pages/home.md"
      },
      "href": "../../../../specs/screens/pages/home/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "surface": "build",
      "title": "Home",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…ten to the keyword page survives; the build counts these forwarding pages in its…",
      "file": {
        "href": "../../../../specs/screens/pages/keyword-page/index.html",
        "label": "screens/pages/keyword-page.md"
      },
      "href": "../../../../specs/screens/pages/keyword-page/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "surface": "build",
      "title": "Keyword page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…category and its date relative to the build, and \"The most cited words here\" off…",
      "file": {
        "href": "../../../../specs/screens/pages/space/index.html",
        "label": "screens/pages/space.md"
      },
      "href": "../../../../specs/screens/pages/space/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "surface": "build",
      "title": "Space",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…e git history, worded relative to the build (\"2 days ago\"). A space past the sta…",
      "file": {
        "href": "../../../../specs/screens/pages/spaces/index.html",
        "label": "screens/pages/spaces.md"
      },
      "href": "../../../../specs/screens/pages/spaces/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "build",
      "title": "Spaces",
      "type": "screen",
      "typeLabel": "Screen"
    }
  ]
}
