{
  "fictional": true,
  "requiresTailoring": true,
  "toolId": "40-additional-evidence-pack-reproducibility-checker",
  "scope": "One fictional paired source comparison.",
  "fixture": {
    "input": {
      "values": {
        "earlierRun": "Fictional build A",
        "laterRun": "Fictional build B",
        "scopeReference": "Fictional retained evidence pack and reviewer. Replace every declaration before use."
      },
      "earlier": {
        "headers": [
          "File path",
          "Output version",
          "SHA256",
          "Source versions",
          "Build parameters",
          "Generator revision",
          "Environment reference"
        ],
        "rows": [
          [
            "report.pdf",
            "1",
            "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
            "{\"source.csv\":\"v1\"}",
            "{\"locale\":\"en-US\",\"seed\":\"1\"}",
            "fictional-renderer-v1",
            "fictional-env-v1"
          ],
          [
            "checks.csv",
            "1",
            "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
            "{\"source.csv\":\"v1\"}",
            "{}",
            "fictional-renderer-v1",
            "fictional-env-v1"
          ]
        ]
      },
      "later": {
        "headers": [
          "File path",
          "Output version",
          "SHA256",
          "Source versions",
          "Build parameters",
          "Generator revision",
          "Environment reference"
        ],
        "rows": [
          [
            "report.pdf",
            "1",
            "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
            "{ \"source.csv\": \"v1\" }",
            "{\"seed\":\"1\", \"locale\":\"en-US\"}",
            "fictional-renderer-v1",
            "fictional-env-v1"
          ],
          [
            "checks.csv",
            "2",
            "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
            "{\"source.csv\":\"v1\"}",
            "{}",
            "fictional-renderer-v1",
            "fictional-env-v1"
          ]
        ]
      }
    },
    "result": {
      "status": "Manifest comparison requires review",
      "summary": "2 distinct output paths compared. 1 have identical declarations, 1 have unexplained hash differences, 0 were added and 0 were removed. Actual file bytes and build execution remain unverified.",
      "metrics": [
        {
          "label": "Earlier manifest rows",
          "value": "2"
        },
        {
          "label": "Later manifest rows",
          "value": "2"
        },
        {
          "label": "Distinct output paths",
          "value": "2"
        },
        {
          "label": "Identical declarations",
          "value": "1"
        },
        {
          "label": "Unexplained hash differences",
          "value": "1"
        },
        {
          "label": "Added outputs",
          "value": "0"
        },
        {
          "label": "Removed outputs",
          "value": "0"
        }
      ],
      "details": [
        "Compare repeated evidence-pack manifests by exact output path, declared SHA-256, output version, source versions, build parameters, generator revision and environment. Identify additions, removals and unexplained output changes.",
        "Method revision 2026-10-08.evidence-pack-reproducibility.1.",
        "Earlier build Fictional build A.",
        "Later build Fictional build B.",
        "Approved scope Fictional retained evidence pack and reviewer. Replace every declaration before use..",
        "Every source row appears once. Exact file paths and string values remain unchanged. JSON key order, JSON whitespace and hexadecimal hash letter case do not create differences.",
        "A declared build-input change accompanies a difference but does not prove its cause. Output version alone cannot explain a changed output hash.",
        "The tool compares customer-supplied manifest declarations. It does not fetch or hash referenced files, reproduce a build, authenticate a source, verify an environment or prove that a pack is reproducible. Matching declarations remain unverified against actual bytes."
      ],
      "unresolved": [
        "Earlier manifest row 3. Unexplained output hash difference. The declared output hash changed without a declared source, parameter, generator or environment change. An output-version change alone does not explain this difference.",
        "Later manifest row 3. Unexplained output hash difference. The declared output hash changed without a declared source, parameter, generator or environment change. An output-version change alone does not explain this difference."
      ]
    },
    "rows": [
      {
        "Dataset": "Earlier manifest",
        "Source row": "2",
        "File path": "report.pdf",
        "Output version": "1",
        "Declared SHA-256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "Source versions": "{\"source.csv\":\"v1\"}",
        "Build parameters": "{\"locale\":\"en-US\",\"seed\":\"1\"}",
        "Generator revision": "fictional-renderer-v1",
        "Environment reference": "fictional-env-v1",
        "Result": "Matched",
        "Difference": "Identical declarations",
        "Changed declarations": "",
        "Counterpart count": "1",
        "Counterpart rows": "2",
        "Finding": "Both manifests declare the same output hash, version and build inputs. Actual output bytes and build execution remain unverified."
      },
      {
        "Dataset": "Earlier manifest",
        "Source row": "3",
        "File path": "checks.csv",
        "Output version": "1",
        "Declared SHA-256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
        "Source versions": "{\"source.csv\":\"v1\"}",
        "Build parameters": "{}",
        "Generator revision": "fictional-renderer-v1",
        "Environment reference": "fictional-env-v1",
        "Result": "Review required",
        "Difference": "Unexplained output hash difference",
        "Changed declarations": "Output version",
        "Counterpart count": "1",
        "Counterpart rows": "3",
        "Finding": "The declared output hash changed without a declared source, parameter, generator or environment change. An output-version change alone does not explain this difference."
      },
      {
        "Dataset": "Later manifest",
        "Source row": "2",
        "File path": "report.pdf",
        "Output version": "1",
        "Declared SHA-256": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
        "Source versions": "{ \"source.csv\": \"v1\" }",
        "Build parameters": "{\"seed\":\"1\", \"locale\":\"en-US\"}",
        "Generator revision": "fictional-renderer-v1",
        "Environment reference": "fictional-env-v1",
        "Result": "Matched",
        "Difference": "Identical declarations",
        "Changed declarations": "",
        "Counterpart count": "1",
        "Counterpart rows": "2",
        "Finding": "Both manifests declare the same output hash, version and build inputs. Actual output bytes and build execution remain unverified."
      },
      {
        "Dataset": "Later manifest",
        "Source row": "3",
        "File path": "checks.csv",
        "Output version": "2",
        "Declared SHA-256": "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
        "Source versions": "{\"source.csv\":\"v1\"}",
        "Build parameters": "{}",
        "Generator revision": "fictional-renderer-v1",
        "Environment reference": "fictional-env-v1",
        "Result": "Review required",
        "Difference": "Unexplained output hash difference",
        "Changed declarations": "Output version",
        "Counterpart count": "1",
        "Counterpart rows": "3",
        "Finding": "The declared output hash changed without a declared source, parameter, generator or environment change. An output-version change alone does not explain this difference."
      }
    ]
  }
}
