{
  "id": "specs/objects/ingestion/resource",
  "mentions": [
    {
      "context": "…e and its content signal is capped. Resources are sorted by identifier before an…",
      "file": {
        "href": "../../../decisions/inference/minhash-for-twin-resources/index.html",
        "label": "decisions/inference/minhash-for-twin-resources.md"
      },
      "href": "../../../decisions/inference/minhash-for-twin-resources/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "Resources",
      "title": "MinHash for twin resources",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Two resources look like forms of the same document, with a reconciliation score …",
      "file": {
        "href": "../../../rules/documents/duplicate-candidate/index.html",
        "label": "rules/documents/duplicate-candidate.rule.md"
      },
      "href": "../../../rules/documents/duplicate-candidate/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 3,
      "surface": "resources",
      "title": "Duplicate candidate",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…uffled input, give the same groups: resources are sorted by identifier before an…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-07-09-twin-resources-review/twin-resources-review/index.html",
        "label": "meetings/2026/2026-07-09-twin-resources-review/twin-resources-review.md"
      },
      "href": "../../../../briefs/meetings/2026/2026-07-09-twin-resources-review/twin-resources-review/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 2,
      "surface": "resources",
      "title": "Twin resources review",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../api/plugin-api/index.html",
        "label": "api/plugin-api.md"
      },
      "href": "../../../api/plugin-api/index.html#L18",
      "kind": "written",
      "line": 18,
      "passages": 2,
      "surface": "Resource",
      "title": "Plugin API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../decisions/ingestion/single-extraction-path/index.html",
        "label": "decisions/ingestion/single-extraction-path.md"
      },
      "href": "../../../decisions/ingestion/single-extraction-path/index.html#L16",
      "kind": "written",
      "line": 16,
      "passages": 2,
      "surface": "Resource",
      "title": "Single extraction path",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../decisions/ingestion/standard-markdown-only/index.html",
        "label": "decisions/ingestion/standard-markdown-only.md"
      },
      "href": "../../../decisions/ingestion/standard-markdown-only/index.html#L13",
      "kind": "written",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Standard markdown only",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…e and its content signal is capped. Resources are sorted by identifier before an…",
      "file": {
        "href": "../../../decisions/inference/minhash-for-twin-resources/index.html",
        "label": "decisions/inference/minhash-for-twin-resources.md"
      },
      "href": "../../../decisions/inference/minhash-for-twin-resources/index.html#L12",
      "kind": "written",
      "line": 12,
      "passages": 3,
      "surface": "Resource",
      "title": "MinHash for twin resources",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../decisions/inference/minhash-for-twin-resources/index.html",
        "label": "decisions/inference/minhash-for-twin-resources.md"
      },
      "href": "../../../decisions/inference/minhash-for-twin-resources/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 3,
      "surface": "Resource",
      "title": "MinHash for twin resources",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/documents/duplicate-candidate/index.html",
        "label": "rules/documents/duplicate-candidate.rule.md"
      },
      "href": "../../../rules/documents/duplicate-candidate/index.html#L13",
      "kind": "written",
      "line": 13,
      "passages": 3,
      "surface": "Resource",
      "title": "Duplicate candidate",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/documents/duplicate-candidate/index.html",
        "label": "rules/documents/duplicate-candidate.rule.md"
      },
      "href": "../../../rules/documents/duplicate-candidate/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 3,
      "surface": "Resource",
      "title": "Duplicate candidate",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resources are sorted by identifier before anything else, the seed is fixed and e…",
      "file": {
        "href": "../../../../briefs/meetings/2026/2026-07-09-twin-resources-review/twin-resources-review/index.html",
        "label": "meetings/2026/2026-07-09-twin-resources-review/twin-resources-review.vtt"
      },
      "href": "../../../../briefs/meetings/2026/2026-07-09-twin-resources-review/twin-resources-review/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "location": "00:53:30",
      "passages": 2,
      "surface": "Resources",
      "title": "Twin resources review",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../api/plugin-api/index.html",
        "label": "api/plugin-api.md"
      },
      "href": "../../../api/plugin-api/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "passages": 2,
      "surface": "Resource",
      "title": "Plugin API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../decisions/ingestion/single-extraction-path/index.html",
        "label": "decisions/ingestion/single-extraction-path.md"
      },
      "href": "../../../decisions/ingestion/single-extraction-path/index.html#L16",
      "kind": "recognised",
      "line": 16,
      "passages": 2,
      "surface": "Resource",
      "title": "Single extraction path",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../decisions/ingestion/standard-markdown-only/index.html",
        "label": "decisions/ingestion/standard-markdown-only.md"
      },
      "href": "../../../decisions/ingestion/standard-markdown-only/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Standard markdown only",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../decisions/quality/core-plugins-preset/index.html",
        "label": "decisions/quality/core-plugins-preset.md"
      },
      "href": "../../../decisions/quality/core-plugins-preset/index.html#L12",
      "kind": "written",
      "line": 12,
      "passages": 2,
      "surface": "Resource",
      "title": "Core, plugins, preset",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../decisions/quality/core-plugins-preset/index.html",
        "label": "decisions/quality/core-plugins-preset.md"
      },
      "href": "../../../decisions/quality/core-plugins-preset/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 2,
      "surface": "Resource",
      "title": "Core, plugins, preset",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…an object without a link; a pair of resources scored as twins without reaching t…",
      "file": {
        "href": "../../inference/candidate/index.html",
        "label": "objects/inference/candidate.md"
      },
      "href": "../../inference/candidate/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "resources",
      "title": "Candidate",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…an object without a link; a pair of resources scored as twins without reaching t…",
      "file": {
        "href": "../../inference/candidate/index.html",
        "label": "objects/inference/candidate.md"
      },
      "href": "../../inference/candidate/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "resources",
      "title": "Candidate",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… it when it cannot be reached. Every resource and every entity knows its source.",
      "file": {
        "href": "../source/index.html",
        "label": "objects/ingestion/source.md"
      },
      "href": "../source/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "resource",
      "title": "Source",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… it when it cannot be reached. Every resource and every entity knows its source.",
      "file": {
        "href": "../source/index.html",
        "label": "objects/ingestion/source.md"
      },
      "href": "../source/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "resource",
      "title": "Source",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… attached to an entity, a link or a resource. Findings go to the build log and t…",
      "file": {
        "href": "../../quality/finding/index.html",
        "label": "objects/quality/finding.md"
      },
      "href": "../../quality/finding/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 2,
      "surface": "resource",
      "title": "Finding",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… attached to an entity, a link or a resource. Findings go to the build log and t…",
      "file": {
        "href": "../../quality/finding/index.html",
        "label": "objects/quality/finding.md"
      },
      "href": "../../quality/finding/index.html#L6",
      "kind": "written",
      "line": 6,
      "passages": 2,
      "surface": "resource",
      "title": "Finding",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/documents/conversion-failed/index.html",
        "label": "rules/documents/conversion-failed.rule.md"
      },
      "href": "../../../rules/documents/conversion-failed/index.html#L13",
      "kind": "written",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Conversion failed",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/documents/conversion-failed/index.html",
        "label": "rules/documents/conversion-failed.rule.md"
      },
      "href": "../../../rules/documents/conversion-failed/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Conversion failed",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/documents/document-without-markdown/index.html",
        "label": "rules/documents/document-without-markdown.rule.md"
      },
      "href": "../../../rules/documents/document-without-markdown/index.html#L13",
      "kind": "written",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Document without markdown",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/documents/document-without-markdown/index.html",
        "label": "rules/documents/document-without-markdown.rule.md"
      },
      "href": "../../../rules/documents/document-without-markdown/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Document without markdown",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/documents/suspect-conversion/index.html",
        "label": "rules/documents/suspect-conversion.rule.md"
      },
      "href": "../../../rules/documents/suspect-conversion/index.html#L13",
      "kind": "written",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Suspect conversion",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/documents/suspect-conversion/index.html",
        "label": "rules/documents/suspect-conversion.rule.md"
      },
      "href": "../../../rules/documents/suspect-conversion/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Suspect conversion",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/documents/transcript-withheld/index.html",
        "label": "rules/documents/transcript-withheld.rule.md"
      },
      "href": "../../../rules/documents/transcript-withheld/index.html#L13",
      "kind": "written",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Transcript withheld",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/documents/transcript-withheld/index.html",
        "label": "rules/documents/transcript-withheld.rule.md"
      },
      "href": "../../../rules/documents/transcript-withheld/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Transcript withheld",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/identifiers/invalid-encoding/index.html",
        "label": "rules/identifiers/invalid-encoding.rule.md"
      },
      "href": "../../../rules/identifiers/invalid-encoding/index.html#L13",
      "kind": "written",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Invalid encoding",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/identifiers/invalid-encoding/index.html",
        "label": "rules/identifiers/invalid-encoding.rule.md"
      },
      "href": "../../../rules/identifiers/invalid-encoding/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Invalid encoding",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/sources/unreachable-source/index.html",
        "label": "rules/sources/unreachable-source.rule.md"
      },
      "href": "../../../rules/sources/unreachable-source/index.html#L13",
      "kind": "written",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Unreachable source",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/sources/unreachable-source/index.html",
        "label": "rules/sources/unreachable-source.rule.md"
      },
      "href": "../../../rules/sources/unreachable-source/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Unreachable source",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/vocabulary/personal-mention-detected/index.html",
        "label": "rules/vocabulary/personal-mention-detected.rule.md"
      },
      "href": "../../../rules/vocabulary/personal-mention-detected/index.html#L13",
      "kind": "written",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Personal mention detected",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Resource",
      "file": {
        "href": "../../../rules/vocabulary/personal-mention-detected/index.html",
        "label": "rules/vocabulary/personal-mention-detected.rule.md"
      },
      "href": "../../../rules/vocabulary/personal-mention-detected/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Resource",
      "title": "Personal mention detected",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "Reads: entity, representation, resource, link",
      "file": {
        "href": "../../../screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../../screens/pages/document-page/index.html#L22",
      "kind": "written",
      "line": 22,
      "passages": 2,
      "surface": "resource",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: entity, representation, resource, link",
      "file": {
        "href": "../../../screens/pages/document-page/index.html",
        "label": "screens/pages/document-page.md"
      },
      "href": "../../../screens/pages/document-page/index.html#L22",
      "kind": "recognised",
      "line": 22,
      "passages": 2,
      "surface": "resource",
      "title": "Document page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: finding, resource",
      "file": {
        "href": "../../../screens/pages/todo-page/index.html",
        "label": "screens/pages/todo-page.md"
      },
      "href": "../../../screens/pages/todo-page/index.html#L17",
      "kind": "written",
      "line": 17,
      "passages": 2,
      "surface": "resource",
      "title": "To-do page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: finding, resource",
      "file": {
        "href": "../../../screens/pages/todo-page/index.html",
        "label": "screens/pages/todo-page.md"
      },
      "href": "../../../screens/pages/todo-page/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 2,
      "surface": "resource",
      "title": "To-do page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: resource, entity",
      "file": {
        "href": "../../../viewers/document-viewer/index.html",
        "label": "viewers/document-viewer.md"
      },
      "href": "../../../viewers/document-viewer/index.html#L20",
      "kind": "written",
      "line": 20,
      "passages": 2,
      "surface": "resource",
      "title": "Document viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "Reads: resource, entity",
      "file": {
        "href": "../../../viewers/document-viewer/index.html",
        "label": "viewers/document-viewer.md"
      },
      "href": "../../../viewers/document-viewer/index.html#L20",
      "kind": "recognised",
      "line": 20,
      "passages": 2,
      "surface": "resource",
      "title": "Document viewer",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "A resource that no rule types: a markdown file left as-is, a slide deck, a Word …",
      "file": {
        "href": "../../../../glossary/ingestion/documents/document/index.html",
        "label": "ingestion/documents/document.md"
      },
      "href": "../../../../glossary/ingestion/documents/document/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "resource",
      "title": "Document",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…do page lists; W-DUP-CANDIDATE, two resources that look like twin resources with…",
      "file": {
        "href": "../../../../glossary/quality/checks/document-checks/index.html",
        "label": "quality/checks/document-checks.md"
      },
      "href": "../../../../glossary/quality/checks/document-checks/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "resources",
      "title": "Document checks",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ipts under search/, the one kind of resource every browser loads from a file:// …",
      "file": {
        "href": "../../../decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-search-index.md"
      },
      "href": "../../../decisions/publication/purpose-built-contract-viewer/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "surface": "resource",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…sions under the threshold, the twin resources reconciled, the decisions of the l…",
      "file": {
        "href": "../build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "../build/index.html#L6",
      "kind": "written",
      "line": 6,
      "surface": "resources",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ed from. A note alone has one; twin resources merged into one entity carry sever…",
      "file": {
        "href": "../representation/index.html",
        "label": "objects/ingestion/representation.md"
      },
      "href": "../representation/index.html#L6",
      "kind": "written",
      "line": 6,
      "surface": "resources",
      "title": "Representation",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…s and documents that look like twin resources, by declaration, base name, the ti…",
      "file": {
        "href": "../../../processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../../processes/ingestion/build-pipeline/index.html#L19",
      "kind": "written",
      "line": 19,
      "surface": "resources",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    }
  ]
}
