{
  "id": "specs/decisions/quality/reproducible-builds",
  "mentions": [
    {
      "context": "Two builds of the same sources write the same bytes. Every list is sorted canoni…",
      "file": {
        "href": "../../../objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 5,
      "surface": "builds",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Two builds of the same sources write the same bytes. Every list is sorted canoni…",
      "file": {
        "href": "../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "builds",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…pinned by SOURCE_DATE_EPOCH as reproducible-builds tooling does. The repository …",
      "file": {
        "href": "../../../../glossary/quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "../../../../glossary/quality/linter/determinism/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "reproducible-builds",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…also the at of the build block of the model, pinned by SOURCE_DATE_EPOCH followi…",
      "file": {
        "href": "../../../objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Two builds of the same sources write the same bytes. Every list is sorted canoni…",
      "file": {
        "href": "../../../../glossary/inference/links/link-source/index.html",
        "label": "inference/links/link-source.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "sources",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…also the at of the build block of the model, pinned by SOURCE_DATE_EPOCH followi…",
      "file": {
        "href": "../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…roducible-builds convention. A double-build test and a continuous-integration st…",
      "file": {
        "href": "../../../objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 5,
      "surface": "build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…ation step compare every file of two builds of the golden corpus, so that a publ…",
      "file": {
        "href": "../../../objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 5,
      "surface": "builds",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L12",
      "kind": "written",
      "line": 12,
      "passages": 5,
      "surface": "Build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../objects/ingestion/build/index.html",
        "label": "objects/ingestion/build.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 5,
      "surface": "Build",
      "title": "Build",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…roducible-builds convention. A double-build test and a continuous-integration st…",
      "file": {
        "href": "../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ation step compare every file of two builds of the golden corpus, so that a publ…",
      "file": {
        "href": "../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "builds",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Build",
      "file": {
        "href": "../../../../glossary/ingestion/pipeline/build/index.html",
        "label": "ingestion/pipeline/build.md"
      },
      "href": "#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 4,
      "surface": "Build",
      "title": "Build",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Reproducible builds",
      "file": {
        "href": "../../../../glossary/quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "#L6",
      "kind": "recognised",
      "line": 6,
      "passages": 3,
      "surface": "Reproducible builds",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…OURCE_DATE_EPOCH following the reproducible-builds convention. A double-build te…",
      "file": {
        "href": "../../../../glossary/quality/linter/determinism/index.html",
        "label": "quality/linter/determinism.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 3,
      "surface": "reproducible-builds",
      "title": "Determinism",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Model",
      "file": {
        "href": "../../../objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L13",
      "kind": "written",
      "line": 13,
      "passages": 3,
      "surface": "Model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Model",
      "file": {
        "href": "../../../objects/inference/model/index.html",
        "label": "objects/inference/model.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 3,
      "surface": "Model",
      "title": "Model",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…re it is written, findings by check, source, path, line and message, entities by…",
      "file": {
        "href": "../../../../glossary/inference/links/link-source/index.html",
        "label": "inference/links/link-source.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "source",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Model",
      "file": {
        "href": "../../../../glossary/inference/model/model/index.html",
        "label": "inference/model/model.md"
      },
      "href": "#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 2,
      "surface": "Model",
      "title": "Model",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ovenances by method, path and line; a step that runs in parallel sorts its resul…",
      "file": {
        "href": "../../../../glossary/ingestion/pipeline/step/index.html",
        "label": "ingestion/pipeline/step.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "step",
      "title": "Step",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ild test and a continuous-integration step compare every file of two builds of t…",
      "file": {
        "href": "../../../../glossary/ingestion/pipeline/step/index.html",
        "label": "ingestion/pipeline/step.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "step",
      "title": "Step",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Two builds of the same sources write the same bytes. Every list is sorted canoni…",
      "file": {
        "href": "../../../../glossary/ingestion/sources/source/index.html",
        "label": "ingestion/sources/source.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "sources",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…re it is written, findings by check, source, path, line and message, entities by…",
      "file": {
        "href": "../../../../glossary/ingestion/sources/source/index.html",
        "label": "ingestion/sources/source.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "source",
      "title": "Source",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "Two builds of the same sources write the same bytes. Every list is sorted canoni…",
      "file": {
        "href": "../../../objects/ingestion/source/index.html",
        "label": "objects/ingestion/source.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "sources",
      "title": "Source",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…re it is written, findings by check, source, path, line and message, entities by…",
      "file": {
        "href": "../../../objects/ingestion/source/index.html",
        "label": "objects/ingestion/source.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "source",
      "title": "Source",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "Build pipeline",
      "file": {
        "href": "../../../processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "#L14",
      "kind": "written",
      "line": 14,
      "passages": 2,
      "surface": "Build pipeline",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "Build pipeline",
      "file": {
        "href": "../../../processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 2,
      "surface": "Build pipeline",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "… and message, entities by identifier, links by their triple, provenances by meth…",
      "file": {
        "href": "../../../../glossary/inference/links/link/index.html",
        "label": "inference/links/link.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "links",
      "title": "Link",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "… and message, entities by identifier, links by their triple, provenances by meth…",
      "file": {
        "href": "../../../../glossary/inference/links/markdown-link/index.html",
        "label": "inference/links/markdown-link.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "links",
      "title": "Link",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…identifier, links by their triple, provenances by method, path and line; a step …",
      "file": {
        "href": "../../../../glossary/inference/links/provenance/index.html",
        "label": "inference/links/provenance.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "provenances",
      "title": "Provenance",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ck, source, path, line and message, entities by identifier, links by their tripl…",
      "file": {
        "href": "../../../../glossary/inference/model/entity/index.html",
        "label": "inference/model/entity.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "entities",
      "title": "Entity",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ath, line and message, entities by identifier, links by their triple, provenance…",
      "file": {
        "href": "../../../../glossary/ingestion/typing/identifier/index.html",
        "label": "ingestion/typing/identifier.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "identifier",
      "title": "Identifier",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…he golden corpus, so that a published site can be diffed against the previous on…",
      "file": {
        "href": "../../../../glossary/publication/site/site/index.html",
        "label": "publication/site/site.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "site",
      "title": "Site",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…lly before it is written, findings by check, source, path, line and message, ent…",
      "file": {
        "href": "../../../../glossary/quality/checks/check/index.html",
        "label": "quality/checks/check.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "check",
      "title": "Check",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ly timestamp is the at field of the build log, also the at of the build block of…",
      "file": {
        "href": "../../../../glossary/quality/findings/build-log/index.html",
        "label": "quality/findings/build-log.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "build log",
      "title": "Build log",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…d canonically before it is written, findings by check, source, path, line and me…",
      "file": {
        "href": "../../../../glossary/quality/findings/finding/index.html",
        "label": "quality/findings/finding.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "findings",
      "title": "Finding",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e every file of two builds of the golden corpus, so that a published site can be…",
      "file": {
        "href": "../../../../glossary/quality/linter/golden-corpus/index.html",
        "label": "quality/linter/golden-corpus.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "golden corpus",
      "title": "Golden corpus",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ck, source, path, line and message, entities by identifier, links by their tripl…",
      "file": {
        "href": "../../../objects/inference/entity/index.html",
        "label": "objects/inference/entity.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "entities",
      "title": "Entity",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "… and message, entities by identifier, links by their triple, provenances by meth…",
      "file": {
        "href": "../../../objects/inference/link/index.html",
        "label": "objects/inference/link.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "links",
      "title": "Link",
      "type": "business_object",
      "typeLabel": "Business object"
    },
    {
      "context": "…d canonically before it is written, findings by check, source, path, line and me…",
      "file": {
        "href": "../../../objects/quality/finding/index.html",
        "label": "objects/quality/finding.md"
      },
      "href": "#L8",
      "kind": "recognised",
      "line": 8,
      "surface": "findings",
      "title": "Finding",
      "type": "business_object",
      "typeLabel": "Business object"
    }
  ]
}
