{
  "id": "briefs/framing/2026/2026-05-07-roadmap-outline/roadmap-outline",
  "mentions": [
    {
      "context": "…the original, its PDF the preview the build would have converted anyway, and thi…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…the original, its PDF the preview the build would have converted anyway, and thi…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…would have converted anyway, and this note its written form; the three sit in on…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 11,
      "surface": "note",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ts contract, the build imports the operations, each operation note absorbs the o…",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 11,
      "surface": "operations",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The framing deck of the Concordance project, six slides on where the tool goes a…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 10,
      "surface": "deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Contracts: an API note declares its contract, the build imports the operations, …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 9,
      "surface": "Contracts",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…itten form; the three sit in one folder and the build groups them into one page.",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ing in the build log, never a stopped build; two builds of unchanged sources giv…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…uild log, never a stopped build; two builds of unchanged sources give byte-ident…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 16,
      "surface": "builds",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n API note declares its contract, the build imports the operations, each operati…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…hecks in the merge request and in the build, a SARIF log in the margin of the di…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…preview and its notes, grouped by the build into one page.  Roadmap outline · 20…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ing in the build log, never a stopped build.  Two builds of unchanged sources gi…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ild log, never a stopped build.  Two builds of unchanged sources give byte-ident…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 16,
      "surface": "builds",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n API note declares its contract; the build imports the operations.  Each operat…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…hecks in the merge request and in the build.  A SARIF log in the margin of the d…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…preview and its notes, grouped by the build into one page.  Roadmap outline · 20…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ing in the build log, never a stopped build.  Two builds of unchanged sources gi…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ild log, never a stopped build.  Two builds of unchanged sources give byte-ident…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 16,
      "surface": "builds",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n API note declares its contract; the build imports the operations.  Each operat…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…hecks in the merge request and in the build.  A SARIF log in the margin of the d…",
      "file": {
        "href": "../../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…itten form; the three sit in one folder and the build groups them into one page.",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ing in the build log, never a stopped build; two builds of unchanged sources giv…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…uild log, never a stopped build; two builds of unchanged sources give byte-ident…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 16,
      "surface": "builds",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…n API note declares its contract, the build imports the operations, each operati…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…hecks in the merge request and in the build, a SARIF log in the margin of the di…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…preview and its notes, grouped by the build into one page.  Roadmap outline · 20…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ing in the build log, never a stopped build.  Two builds of unchanged sources gi…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ild log, never a stopped build.  Two builds of unchanged sources give byte-ident…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 16,
      "surface": "builds",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…n API note declares its contract; the build imports the operations.  Each operat…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…hecks in the merge request and in the build.  A SARIF log in the margin of the d…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…preview and its notes, grouped by the build into one page.  Roadmap outline · 20…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ing in the build log, never a stopped build.  Two builds of unchanged sources gi…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ild log, never a stopped build.  Two builds of unchanged sources give byte-ident…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 16,
      "surface": "builds",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…n API note declares its contract; the build imports the operations.  Each operat…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…hecks in the merge request and in the build.  A SARIF log in the margin of the d…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 16,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ite from markdown repositories. Every note becomes an entity page, every recurri…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 11,
      "surface": "note",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Quality: a linter where the notes are written, the same checks in the merge requ…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 11,
      "surface": "notes",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ool.  A deck, its PDF preview and its notes, grouped by the build into one page.…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 11,
      "surface": "notes",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ite from markdown repositories  Every note becomes an entity page, every recurri…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 11,
      "surface": "note",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…CUMENTS  Decks, transcripts and their notes  Office documents converted to PDF a…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 11,
      "surface": "notes",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "4 · QUALITY  A linter where the notes are written  The same checks in the merge …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 11,
      "surface": "notes",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ool.  A deck, its PDF preview and its notes, grouped by the build into one page.…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 11,
      "surface": "notes",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ite from markdown repositories  Every note becomes an entity page, every recurri…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 11,
      "surface": "note",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…CUMENTS  Decks, transcripts and their notes  Office documents converted to PDF a…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 11,
      "surface": "notes",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "4 · QUALITY  A linter where the notes are written  The same checks in the merge …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/note/index.html",
        "label": "ingestion/documents/note.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 11,
      "surface": "notes",
      "title": "Note",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ild imports the operations, each operation note absorbs the operation it names, …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 11,
      "surface": "operation note",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ns, each operation note absorbs the operation it names, and a purpose-built view…",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 11,
      "surface": "operation",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "3 · CONTRACTS  The operations an API really exposes  An API note declares its co…",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 11,
      "surface": "operations",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ts contract; the build imports the operations.  Each operation note absorbs the …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 11,
      "surface": "operations",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ld imports the operations.  Each operation note absorbs the operation it names. …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 11,
      "surface": "operation note",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…s.  Each operation note absorbs the operation it names.  A purpose-built viewer …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 11,
      "surface": "operation",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "3 · CONTRACTS  The operations an API really exposes  An API note declares its co…",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 11,
      "surface": "operations",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ts contract; the build imports the operations.  Each operation note absorbs the …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 11,
      "surface": "operations",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ld imports the operations.  Each operation note absorbs the operation it names. …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 11,
      "surface": "operation note",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…s.  Each operation note absorbs the operation it names.  A purpose-built viewer …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/operation/index.html",
        "label": "inference/contracts/operation.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 11,
      "surface": "operation",
      "title": "Operation",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…deck of the Concordance project, six slides on where the tool goes after its fir…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 10,
      "surface": "slides",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e tool goes after its first site. The deck is the original, its PDF the preview …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 10,
      "surface": "deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "What the deck says",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L10",
      "kind": "recognised",
      "line": 10,
      "passages": 10,
      "surface": "deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ject goes after its first site.  Six slides framing the next loops of the tool. …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 10,
      "surface": "slides",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…raming the next loops of the tool.  A deck, its PDF preview and its notes, group…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 10,
      "surface": "deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "2 · DOCUMENTS  Decks, transcripts and their notes  Office documents converted to…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 10,
      "surface": "Decks",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ject goes after its first site.  Six slides framing the next loops of the tool. …",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 10,
      "surface": "slides",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…raming the next loops of the tool.  A deck, its PDF preview and its notes, group…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 10,
      "surface": "deck",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "2 · DOCUMENTS  Decks, transcripts and their notes  Office documents converted to…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/deck/index.html",
        "label": "ingestion/documents/deck.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 10,
      "surface": "Decks",
      "title": "Deck",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Contracts: an API note declares its contract, the build imports the operations, …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 9,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…it names, and a purpose-built viewer renders the contract under the page budget.",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 9,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "3 · CONTRACTS  The operations an API really exposes  An API note declares its co…",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 9,
      "surface": "CONTRACTS",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…y exposes  An API note declares its contract; the build imports the operations. …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 9,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… A purpose-built viewer renders the contract under the page budget.  Roadmap out…",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 9,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "3 · CONTRACTS  The operations an API really exposes  An API note declares its co…",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 9,
      "surface": "CONTRACTS",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…y exposes  An API note declares its contract; the build imports the operations. …",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 9,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… A purpose-built viewer renders the contract under the page budget.  Roadmap out…",
      "file": {
        "href": "../../../../../glossary/inference/contracts/contract/index.html",
        "label": "inference/contracts/contract.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 9,
      "surface": "contract",
      "title": "Contract",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…here the notes are written, the same checks in the merge request and in the buil…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 8,
      "surface": "checks",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…f the diff; the wiki keeps pace with the tool, every check having its rule note.",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 8,
      "surface": "check",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…here the notes are written  The same checks in the merge request and in the buil…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 8,
      "surface": "checks",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… the diff, an error finding fails the check.  The wiki keeps pace with the tool:…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 8,
      "surface": "check",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… wiki keeps pace with the tool: every check has its rule note.  Roadmap outline …",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 8,
      "surface": "check",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…here the notes are written  The same checks in the merge request and in the buil…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 8,
      "surface": "checks",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… the diff, an error finding fails the check.  The wiki keeps pace with the tool:…",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 8,
      "surface": "check",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… wiki keeps pace with the tool: every check has its rule note.  Roadmap outline …",
      "file": {
        "href": "../../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 8,
      "surface": "check",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…n where the tool goes after its first site. The deck is the original, its PDF th…",
      "file": {
        "href": "../../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 6,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Today: a static site from markdown repositories. Every note becomes an entity pa…",
      "file": {
        "href": "../../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 6,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…cordance project goes after its first site.  Six slides framing the next loops o…",
      "file": {
        "href": "../../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 6,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "1 · TODAY  A static site from markdown repositories  Every note becomes an entit…",
      "file": {
        "href": "../../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 6,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…cordance project goes after its first site.  Six slides framing the next loops o…",
      "file": {
        "href": "../../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 6,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "1 · TODAY  A static site from markdown repositories  Every note becomes an entit…",
      "file": {
        "href": "../../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 6,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ached by fingerprint, transcripts read cue by cue with their speakers pseudonymi…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/cue/index.html",
        "label": "ingestion/documents/cue.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 6,
      "surface": "cue",
      "title": "Cue",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…y fingerprint, transcripts read cue by cue with their speakers pseudonymised bef…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/cue/index.html",
        "label": "ingestion/documents/cue.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 6,
      "surface": "cue",
      "title": "Cue",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ched by fingerprint.  Transcripts read cue by cue, speakers pseudonymised before…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/cue/index.html",
        "label": "ingestion/documents/cue.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 6,
      "surface": "cue",
      "title": "Cue",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… fingerprint.  Transcripts read cue by cue, speakers pseudonymised before anythi…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/cue/index.html",
        "label": "ingestion/documents/cue.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 6,
      "surface": "cue",
      "title": "Cue",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ched by fingerprint.  Transcripts read cue by cue, speakers pseudonymised before…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/cue/index.html",
        "label": "ingestion/documents/cue.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 6,
      "surface": "cue",
      "title": "Cue",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… fingerprint.  Transcripts read cue by cue, speakers pseudonymised before anythi…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/cue/index.html",
        "label": "ingestion/documents/cue.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 6,
      "surface": "cue",
      "title": "Cue",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Documents: office documents converted to PDF at publication and cached by finger…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/document/index.html",
        "label": "ingestion/documents/document.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 6,
      "surface": "Documents",
      "title": "Document",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Documents: office documents converted to PDF at publication and cached by finger…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/document/index.html",
        "label": "ingestion/documents/document.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 6,
      "surface": "documents",
      "title": "Document",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "2 · DOCUMENTS  Decks, transcripts and their notes  Office documents converted to…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/document/index.html",
        "label": "ingestion/documents/document.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 6,
      "surface": "DOCUMENTS",
      "title": "Document",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…transcripts and their notes  Office documents converted to PDF at publication, c…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/document/index.html",
        "label": "ingestion/documents/document.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 6,
      "surface": "documents",
      "title": "Document",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "2 · DOCUMENTS  Decks, transcripts and their notes  Office documents converted to…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/document/index.html",
        "label": "ingestion/documents/document.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 6,
      "surface": "DOCUMENTS",
      "title": "Document",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…transcripts and their notes  Office documents converted to PDF at publication, c…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/document/index.html",
        "label": "ingestion/documents/document.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 6,
      "surface": "documents",
      "title": "Document",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…line, with a model query API for the screens that cannot read model.json and sug…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/screen/index.html",
        "label": "ingestion/typing/screen.md"
      },
      "href": "#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 6,
      "surface": "screens",
      "title": "Screen",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…l.json and suggestions reviewed on a screen and recorded in the lock file. Nothi…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/screen/index.html",
        "label": "ingestion/typing/screen.md"
      },
      "href": "#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 6,
      "surface": "screen",
      "title": "Screen",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…mand line  A model query API for the screens that cannot read model.json.  Sugge…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/screen/index.html",
        "label": "ingestion/typing/screen.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 6,
      "surface": "screens",
      "title": "Screen",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…del.json.  Suggestions reviewed on a screen and recorded in the lock file.  Noth…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/screen/index.html",
        "label": "ingestion/typing/screen.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 6,
      "surface": "screen",
      "title": "Screen",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…mand line  A model query API for the screens that cannot read model.json.  Sugge…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/screen/index.html",
        "label": "ingestion/typing/screen.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 6,
      "surface": "screens",
      "title": "Screen",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…del.json.  Suggestions reviewed on a screen and recorded in the lock file.  Noth…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/screen/index.html",
        "label": "ingestion/typing/screen.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 6,
      "surface": "screen",
      "title": "Screen",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ession a keyword page, every doubt a finding in the build log, never a stopped b…",
      "file": {
        "href": "../../../../../glossary/quality/findings/finding/index.html",
        "label": "quality/findings/finding.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 5,
      "surface": "finding",
      "title": "Finding",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…on a keyword page.  Every doubt is a finding in the build log, never a stopped b…",
      "file": {
        "href": "../../../../../glossary/quality/findings/finding/index.html",
        "label": "quality/findings/finding.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 5,
      "surface": "finding",
      "title": "Finding",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… in the margin of the diff, an error finding fails the check.  The wiki keeps pa…",
      "file": {
        "href": "../../../../../glossary/quality/findings/finding/index.html",
        "label": "quality/findings/finding.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 5,
      "surface": "finding",
      "title": "Finding",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…on a keyword page.  Every doubt is a finding in the build log, never a stopped b…",
      "file": {
        "href": "../../../../../glossary/quality/findings/finding/index.html",
        "label": "quality/findings/finding.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 5,
      "surface": "finding",
      "title": "Finding",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… in the margin of the diff, an error finding fails the check.  The wiki keeps pa…",
      "file": {
        "href": "../../../../../glossary/quality/findings/finding/index.html",
        "label": "quality/findings/finding.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 5,
      "surface": "finding",
      "title": "Finding",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ession a keyword page, every doubt a finding in the build log, never a stopped b…",
      "file": {
        "href": "../../../../../specs/objects/quality/finding/index.html",
        "label": "objects/quality/finding.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 5,
      "surface": "finding",
      "title": "Finding",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…on a keyword page.  Every doubt is a finding in the build log, never a stopped b…",
      "file": {
        "href": "../../../../../specs/objects/quality/finding/index.html",
        "label": "objects/quality/finding.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 5,
      "surface": "finding",
      "title": "Finding",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… in the margin of the diff, an error finding fails the check.  The wiki keeps pa…",
      "file": {
        "href": "../../../../../specs/objects/quality/finding/index.html",
        "label": "objects/quality/finding.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 5,
      "surface": "finding",
      "title": "Finding",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…on a keyword page.  Every doubt is a finding in the build log, never a stopped b…",
      "file": {
        "href": "../../../../../specs/objects/quality/finding/index.html",
        "label": "objects/quality/finding.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 5,
      "surface": "finding",
      "title": "Finding",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… in the margin of the diff, an error finding fails the check.  The wiki keeps pa…",
      "file": {
        "href": "../../../../../specs/objects/quality/finding/index.html",
        "label": "objects/quality/finding.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 5,
      "surface": "finding",
      "title": "Finding",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ication and cached by fingerprint, transcripts read cue by cue with their speake…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/transcript/index.html",
        "label": "ingestion/documents/transcript.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 5,
      "surface": "transcripts",
      "title": "Transcript",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "2 · DOCUMENTS  Decks, transcripts and their notes  Office documents converted to…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/transcript/index.html",
        "label": "ingestion/documents/transcript.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 5,
      "surface": "transcripts",
      "title": "Transcript",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…blication, cached by fingerprint.  Transcripts read cue by cue, speakers pseudon…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/transcript/index.html",
        "label": "ingestion/documents/transcript.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 5,
      "surface": "Transcripts",
      "title": "Transcript",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "2 · DOCUMENTS  Decks, transcripts and their notes  Office documents converted to…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/transcript/index.html",
        "label": "ingestion/documents/transcript.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 5,
      "surface": "transcripts",
      "title": "Transcript",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…blication, cached by fingerprint.  Transcripts read cue by cue, speakers pseudon…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/transcript/index.html",
        "label": "ingestion/documents/transcript.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 5,
      "surface": "Transcripts",
      "title": "Transcript",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Contracts: an API note declares its contract, the build imports the operations, …",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/api/index.html",
        "label": "ingestion/typing/api.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 5,
      "surface": "API note",
      "title": "API",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "3 · CONTRACTS  The operations an API really exposes  An API note declares its co…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/api/index.html",
        "label": "ingestion/typing/api.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 5,
      "surface": "API",
      "title": "API",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…perations an API really exposes  An API note declares its contract; the build im…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/api/index.html",
        "label": "ingestion/typing/api.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "page 4",
      "passages": 5,
      "surface": "API note",
      "title": "API",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "3 · CONTRACTS  The operations an API really exposes  An API note declares its co…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/api/index.html",
        "label": "ingestion/typing/api.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 5,
      "surface": "API",
      "title": "API",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…perations an API really exposes  An API note declares its contract; the build im…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/api/index.html",
        "label": "ingestion/typing/api.md"
      },
      "href": "#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 5,
      "surface": "API note",
      "title": "API",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The framing deck of the Concordance project, six slides on where the tool goes a…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…admap outline  Where the Concordance project goes after its first site.  Six sli…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 3,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…admap outline  Where the Concordance project goes after its first site.  Six sli…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/project/index.html",
        "label": "ingestion/configuration/project.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 3,
      "surface": "project",
      "title": "Project",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he deck is the original, its PDF the preview the build would have converted anyw…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/preview/index.html",
        "label": "ingestion/documents/preview.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "preview",
      "title": "Preview",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…xt loops of the tool.  A deck, its PDF preview and its notes, grouped by the bui…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/preview/index.html",
        "label": "ingestion/documents/preview.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "page 1",
      "passages": 3,
      "surface": "PDF preview",
      "title": "Preview",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…xt loops of the tool.  A deck, its PDF preview and its notes, grouped by the bui…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/preview/index.html",
        "label": "ingestion/documents/preview.md"
      },
      "href": "#L1",
      "kind": "recognised",
      "line": 1,
      "location": "slide 1",
      "passages": 3,
      "surface": "PDF preview",
      "title": "Preview",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ever a stopped build; two builds of unchanged sources give byte-identical files.",
      "file": {
        "href": "../../../../../glossary/inference/links/link-source/index.html",
        "label": "inference/links/link-source.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "sources",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…pped build.  Two builds of unchanged sources give byte-identical files.  Roadmap…",
      "file": {
        "href": "../../../../../glossary/inference/links/link-source/index.html",
        "label": "inference/links/link-source.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "sources",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…pped build.  Two builds of unchanged sources give byte-identical files.  Roadmap…",
      "file": {
        "href": "../../../../../glossary/inference/links/link-source/index.html",
        "label": "inference/links/link-source.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "sources",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…becomes an entity page, every recurring expression a keyword page, every doubt a…",
      "file": {
        "href": "../../../../../glossary/inference/recognition/candidate-expression/index.html",
        "label": "inference/recognition/candidate-expression.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "recurring expression",
      "title": "Candidate expression",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…becomes an entity page, every recurring expression a keyword page.  Every doubt …",
      "file": {
        "href": "../../../../../glossary/inference/recognition/candidate-expression/index.html",
        "label": "inference/recognition/candidate-expression.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "recurring expression",
      "title": "Candidate expression",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…becomes an entity page, every recurring expression a keyword page.  Every doubt …",
      "file": {
        "href": "../../../../../glossary/inference/recognition/candidate-expression/index.html",
        "label": "inference/recognition/candidate-expression.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "recurring expression",
      "title": "Candidate expression",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…age, every recurring expression a keyword page, every doubt a finding in the bui…",
      "file": {
        "href": "../../../../../glossary/inference/recognition/keyword/index.html",
        "label": "inference/recognition/keyword.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "keyword page",
      "title": "Keyword",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…age, every recurring expression a keyword page.  Every doubt is a finding in the…",
      "file": {
        "href": "../../../../../glossary/inference/recognition/keyword/index.html",
        "label": "inference/recognition/keyword.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "keyword page",
      "title": "Keyword",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…age, every recurring expression a keyword page.  Every doubt is a finding in the…",
      "file": {
        "href": "../../../../../glossary/inference/recognition/keyword/index.html",
        "label": "inference/recognition/keyword.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "keyword page",
      "title": "Keyword",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Today: a static site from markdown repositories. Every note becomes an entity pa…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/markdown/index.html",
        "label": "ingestion/documents/markdown.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "markdown",
      "title": "Markdown",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "1 · TODAY  A static site from markdown repositories  Every note becomes an entit…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/markdown/index.html",
        "label": "ingestion/documents/markdown.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "markdown",
      "title": "Markdown",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "1 · TODAY  A static site from markdown repositories  Every note becomes an entit…",
      "file": {
        "href": "../../../../../glossary/ingestion/documents/markdown/index.html",
        "label": "ingestion/documents/markdown.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "markdown",
      "title": "Markdown",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…oday: a static site from markdown repositories. Every note becomes an entity pag…",
      "file": {
        "href": "../../../../../glossary/ingestion/sources/knowledge-repository/index.html",
        "label": "ingestion/sources/knowledge-repository.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "repositories",
      "title": "Knowledge repository",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ODAY  A static site from markdown repositories  Every note becomes an entity pag…",
      "file": {
        "href": "../../../../../glossary/ingestion/sources/knowledge-repository/index.html",
        "label": "ingestion/sources/knowledge-repository.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "repositories",
      "title": "Knowledge repository",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ODAY  A static site from markdown repositories  Every note becomes an entity pag…",
      "file": {
        "href": "../../../../../glossary/ingestion/sources/knowledge-repository/index.html",
        "label": "ingestion/sources/knowledge-repository.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "repositories",
      "title": "Knowledge repository",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ever a stopped build; two builds of unchanged sources give byte-identical files.",
      "file": {
        "href": "../../../../../glossary/ingestion/sources/source/index.html",
        "label": "ingestion/sources/source.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "sources",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…pped build.  Two builds of unchanged sources give byte-identical files.  Roadmap…",
      "file": {
        "href": "../../../../../glossary/ingestion/sources/source/index.html",
        "label": "ingestion/sources/source.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "sources",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…pped build.  Two builds of unchanged sources give byte-identical files.  Roadmap…",
      "file": {
        "href": "../../../../../glossary/ingestion/sources/source/index.html",
        "label": "ingestion/sources/source.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "sources",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… page, every doubt a finding in the build log, never a stopped build; two builds…",
      "file": {
        "href": "../../../../../glossary/quality/findings/build-log/index.html",
        "label": "quality/findings/build-log.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "build log",
      "title": "Build log",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e.  Every doubt is a finding in the build log, never a stopped build.  Two build…",
      "file": {
        "href": "../../../../../glossary/quality/findings/build-log/index.html",
        "label": "quality/findings/build-log.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "build log",
      "title": "Build log",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e.  Every doubt is a finding in the build log, never a stopped build.  Two build…",
      "file": {
        "href": "../../../../../glossary/quality/findings/build-log/index.html",
        "label": "quality/findings/build-log.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "build log",
      "title": "Build log",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ever a stopped build; two builds of unchanged sources give byte-identical files.",
      "file": {
        "href": "../../../../../glossary/quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "byte-identical",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…builds of unchanged sources give byte-identical files.  Roadmap outline · 2026-0…",
      "file": {
        "href": "../../../../../glossary/quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "byte-identical",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…builds of unchanged sources give byte-identical files.  Roadmap outline · 2026-0…",
      "file": {
        "href": "../../../../../glossary/quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "byte-identical",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…age, every recurring expression a keyword page, every doubt a finding in the bui…",
      "file": {
        "href": "../../../../../specs/objects/inference/recognition/keyword-page/index.html",
        "label": "objects/inference/recognition/keyword-page.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "keyword page",
      "title": "Keyword page",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…age, every recurring expression a keyword page.  Every doubt is a finding in the…",
      "file": {
        "href": "../../../../../specs/objects/inference/recognition/keyword-page/index.html",
        "label": "objects/inference/recognition/keyword-page.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "keyword page",
      "title": "Keyword page",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…age, every recurring expression a keyword page.  Every doubt is a finding in the…",
      "file": {
        "href": "../../../../../specs/objects/inference/recognition/keyword-page/index.html",
        "label": "objects/inference/recognition/keyword-page.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "keyword page",
      "title": "Keyword page",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ever a stopped build; two builds of unchanged sources give byte-identical files.",
      "file": {
        "href": "../../../../../specs/objects/ingestion/source/index.html",
        "label": "objects/ingestion/source.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "sources",
      "title": "Source",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…pped build.  Two builds of unchanged sources give byte-identical files.  Roadmap…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/source/index.html",
        "label": "objects/ingestion/source.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "sources",
      "title": "Source",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…pped build.  Two builds of unchanged sources give byte-identical files.  Roadmap…",
      "file": {
        "href": "../../../../../specs/objects/ingestion/source/index.html",
        "label": "objects/ingestion/source.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "sources",
      "title": "Source",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…epositories. Every note becomes an entity page, every recurring expression a key…",
      "file": {
        "href": "../../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "entity page",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…epositories  Every note becomes an entity page, every recurring expression a key…",
      "file": {
        "href": "../../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "entity page",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…epositories  Every note becomes an entity page, every recurring expression a key…",
      "file": {
        "href": "../../../../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "entity page",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…age, every recurring expression a keyword page, every doubt a finding in the bui…",
      "file": {
        "href": "../../../../../specs/screens/pages/keyword-page/index.html",
        "label": "screens/pages/keyword-page.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "keyword page",
      "title": "Keyword page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…age, every recurring expression a keyword page.  Every doubt is a finding in the…",
      "file": {
        "href": "../../../../../specs/screens/pages/keyword-page/index.html",
        "label": "screens/pages/keyword-page.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "page 2",
      "passages": 3,
      "surface": "keyword page",
      "title": "Keyword page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…age, every recurring expression a keyword page.  Every doubt is a finding in the…",
      "file": {
        "href": "../../../../../specs/screens/pages/keyword-page/index.html",
        "label": "screens/pages/keyword-page.md"
      },
      "href": "#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 3,
      "surface": "keyword page",
      "title": "Keyword page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…before anything else reads them, twin resources recognised as one page with tabs…",
      "file": {
        "href": "../../../../../glossary/ingestion/sources/twin-resources/index.html",
        "label": "ingestion/sources/twin-resources.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 3,
      "surface": "twin resources",
      "title": "Twin resources",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…efore anything else reads them.  Twin resources recognised as one page with tabs…",
      "file": {
        "href": "../../../../../glossary/ingestion/sources/twin-resources/index.html",
        "label": "ingestion/sources/twin-resources.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "page 3",
      "passages": 3,
      "surface": "Twin resources",
      "title": "Twin resources",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…efore anything else reads them.  Twin resources recognised as one page with tabs…",
      "file": {
        "href": "../../../../../glossary/ingestion/sources/twin-resources/index.html",
        "label": "ingestion/sources/twin-resources.md"
      },
      "href": "#L3",
      "kind": "recognised",
      "line": 3,
      "location": "slide 3",
      "passages": 3,
      "surface": "Twin resources",
      "title": "Twin resources",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…f the diff; the wiki keeps pace with the tool, every check having its rule note.",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/rule/index.html",
        "label": "ingestion/typing/rule.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 3,
      "surface": "rule note",
      "title": "Rule",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… with the tool: every check has its rule note.  Roadmap outline · 2026-05-07 · 5…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/rule/index.html",
        "label": "ingestion/typing/rule.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 3,
      "surface": "rule note",
      "title": "Rule",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… with the tool: every check has its rule note.  Roadmap outline · 2026-05-07 · 5…",
      "file": {
        "href": "../../../../../glossary/ingestion/typing/rule/index.html",
        "label": "ingestion/typing/rule.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 3,
      "surface": "rule note",
      "title": "Rule",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e merge request and in the build, a SARIF log in the margin of the diff; the wik…",
      "file": {
        "href": "../../../../../glossary/quality/findings/forge-report/index.html",
        "label": "quality/findings/forge-report.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 3,
      "surface": "SARIF log",
      "title": "Forge report",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… merge request and in the build.  A SARIF log in the margin of the diff, an erro…",
      "file": {
        "href": "../../../../../glossary/quality/findings/forge-report/index.html",
        "label": "quality/findings/forge-report.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 3,
      "surface": "SARIF log",
      "title": "Forge report",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… merge request and in the build.  A SARIF log in the margin of the diff, an erro…",
      "file": {
        "href": "../../../../../glossary/quality/findings/forge-report/index.html",
        "label": "quality/findings/forge-report.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 3,
      "surface": "SARIF log",
      "title": "Forge report",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Quality: a linter where the notes are written, the same checks in the merge requ…",
      "file": {
        "href": "../../../../../glossary/quality/linter/linter/index.html",
        "label": "quality/linter/linter.md"
      },
      "href": "#L15",
      "kind": "recognised",
      "line": 15,
      "passages": 3,
      "surface": "linter",
      "title": "Linter",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "4 · QUALITY  A linter where the notes are written  The same checks in the merge …",
      "file": {
        "href": "../../../../../glossary/quality/linter/linter/index.html",
        "label": "quality/linter/linter.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "page 5",
      "passages": 3,
      "surface": "linter",
      "title": "Linter",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "4 · QUALITY  A linter where the notes are written  The same checks in the merge …",
      "file": {
        "href": "../../../../../glossary/quality/linter/linter/index.html",
        "label": "quality/linter/linter.md"
      },
      "href": "#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 3,
      "surface": "linter",
      "title": "Linter",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…wed on a screen and recorded in the lock file. Nothing of it exists in this vers…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/lock/index.html",
        "label": "ingestion/configuration/lock.md"
      },
      "href": "#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 3,
      "surface": "lock file",
      "title": "Lock",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…wed on a screen and recorded in the lock file.  Nothing of it exists in this ver…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/lock/index.html",
        "label": "ingestion/configuration/lock.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 3,
      "surface": "lock file",
      "title": "Lock",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…wed on a screen and recorded in the lock file.  Nothing of it exists in this ver…",
      "file": {
        "href": "../../../../../glossary/ingestion/configuration/lock/index.html",
        "label": "ingestion/configuration/lock.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 3,
      "surface": "lock file",
      "title": "Lock",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… beside the command line, with a model query API for the screens that cannot rea…",
      "file": {
        "href": "../../../../../specs/api/model-query/index.html",
        "label": "api/model-query.md"
      },
      "href": "#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 3,
      "surface": "model query API",
      "title": "Model query API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…rvice beside the command line  A model query API for the screens that cannot rea…",
      "file": {
        "href": "../../../../../specs/api/model-query/index.html",
        "label": "api/model-query.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 3,
      "surface": "model query API",
      "title": "Model query API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…rvice beside the command line  A model query API for the screens that cannot rea…",
      "file": {
        "href": "../../../../../specs/api/model-query/index.html",
        "label": "api/model-query.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 3,
      "surface": "model query API",
      "title": "Model query API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "…I for the screens that cannot read model.json.  Suggestions reviewed on a screen…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "page 6",
      "passages": 2,
      "surface": "model.json",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…I for the screens that cannot read model.json.  Suggestions reviewed on a screen…",
      "file": {
        "href": "../../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "location": "slide 6",
      "passages": 2,
      "surface": "model.json",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    }
  ]
}
