{
  "about": {
    "date": "2026-10-20",
    "python": "3.13.16",
    "oracle": "Python standard library: fractions.Fraction for elapsed time, hashlib SHA-256 for the snapshot hashes, and the reference rules restated from Contract 11A",
    "method": {
      "id": "measured-comparison-time-alignment",
      "version": "1.0.0"
    },
    "ruling": "docs/board/memos/2026-10-20-cso-audit-fixes.md, section 5",
    "generator": "pipeline/bioreactor-simulator/reference-measured-comparison-2.py",
    "generatorSha256": "fe3bf339df669e70aaa4b8eb72606cb066528ed5b155c2996600735a54d98de1"
  },
  "cases": [
    {
      "spec": {
        "id": "reference-hash-mismatch",
        "description": "A structurally valid recorded simulation whose X series was changed after its content hash was recorded: the reference fails hash verification, is dropped, and the two measured sources compare on [0, 2] h, not on its 24 h horizon.",
        "sharedEventLabel": "Inoculation (OD600 = 0.15)",
        "slotA": {
          "slotId": "slot-a",
          "label": "Run A (hours)",
          "inputHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "timeUnit": "h",
          "responseLabel": "OD600",
          "origin": "measured",
          "responseUnit": "OD600",
          "basis": "1 cm cuvette, unblanked",
          "receiptStatus": "not-supplied",
          "alignment": {
            "kind": "elapsed-from-declared-event",
            "anchorInSourceUnits": 0,
            "sourceTimeUnit": "h",
            "basis": "Inoculation recorded at 0 h in bench log"
          },
          "readings": [
            {
              "id": "a-1",
              "sourceRow": 1,
              "time": 0,
              "response": 0.15,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "a-2",
              "sourceRow": 2,
              "time": 1,
              "response": 0.31,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "a-3",
              "sourceRow": 3,
              "time": 2,
              "response": 0.64,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            }
          ]
        },
        "slotB": {
          "slotId": "slot-b",
          "label": "Run B (minutes)",
          "inputHash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
          "timeUnit": "min",
          "responseLabel": "OD600",
          "origin": "measured",
          "responseUnit": "OD600",
          "basis": "1 cm cuvette, unblanked",
          "receiptStatus": "not-supplied",
          "alignment": {
            "kind": "elapsed-from-declared-event",
            "anchorInSourceUnits": 30,
            "sourceTimeUnit": "min",
            "basis": "Inoculation at 30 min after pre-warm"
          },
          "readings": [
            {
              "id": "b-1",
              "sourceRow": 1,
              "time": 30,
              "response": 0.14,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "b-2",
              "sourceRow": 2,
              "time": 90,
              "response": 0.29,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "b-3",
              "sourceRow": 3,
              "time": 150,
              "response": 0.61,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            }
          ]
        },
        "simulationReference": {
          "v": 1,
          "referenceRunRef": "mine:run/11111111-2222-4333-8444-555555555555",
          "inputSnapshot": {
            "id": "4b9f6c1e-2d3a-4e5f-8a6b-7c8d9e0f1a2b",
            "scopeId": "browser",
            "schema": {
              "id": "bioreactor-simulator.scenario",
              "version": 2
            },
            "source": {
              "kind": "object",
              "ref": "mine:run/11111111-2222-4333-8444-555555555555",
              "rev": 1
            },
            "payload": {
              "v": 2,
              "ex": "e-coli-batch@1"
            },
            "evidence": {
              "origin": "manual-assertion",
              "derivation": "raw",
              "execution": "planned"
            },
            "provenance": {},
            "capturedAt": "2026-10-20T08:00:00.000Z",
            "key": "workspace:7:browser:input:4b9f6c1e-2d3a-4e5f-8a6b-7c8d9e0f1a2b",
            "schemaVersion": 1,
            "contentHash": "sha256:b92f80d497477b2fce6b0266f6bc33124a90de439199cbe09b30530c49421fc0"
          },
          "resultSnapshot": {
            "id": "5c0a7d2f-3e4b-4f6a-9b7c-8d9e0f1a2b3c",
            "label": "Recorded reference simulation",
            "schema": {
              "id": "bioreactor-simulator.recorded-simulation",
              "version": 1
            },
            "settings": {
              "scenario": {
                "preset": "e-coli-batch@1"
              }
            },
            "output": {
              "origin": "simulation",
              "timeUnit": "h",
              "seriesUnits": {
                "X": "g/L",
                "S": "unit",
                "P": "unit",
                "V": "unit",
                "DOpct": "unit",
                "F": "unit",
                "mu": "unit",
                "OUR": "unit",
                "OTR": "unit",
                "CER": "unit",
                "RQ": "unit",
                "kLa": "unit",
                "yO2out": "unit",
                "Cstar": "unit"
              },
              "run": {
                "horizon": 24,
                "t": [
                  0,
                  6,
                  12,
                  24
                ],
                "series": {
                  "X": [
                    0.1,
                    0.4,
                    1.75,
                    6.4
                  ],
                  "S": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "P": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "V": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "DOpct": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "F": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "mu": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "OUR": [
                    0,
                    2,
                    3,
                    4
                  ],
                  "OTR": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "CER": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "RQ": [
                    null,
                    1,
                    1.05,
                    1.1
                  ],
                  "kLa": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "yO2out": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "Cstar": [
                    1,
                    2,
                    3,
                    4
                  ]
                },
                "undefinedValues": [
                  {
                    "series": "RQ",
                    "reason": "zero-oxygen-uptake",
                    "indices": [
                      0
                    ]
                  }
                ]
              }
            },
            "methods": [
              {
                "id": "unstructured-growth-model",
                "version": "2.0.0"
              },
              {
                "id": "modified-rosenbrock",
                "version": "1.1.0"
              }
            ],
            "dataVersions": [],
            "qualifications": [],
            "reporting": {
              "status": "qualified",
              "reasons": [
                "Simulation"
              ]
            },
            "provenance": {},
            "computedAt": "2026-10-20T08:00:00.000Z",
            "recordedAt": "2026-10-20T08:00:00.000Z",
            "key": "workspace:7:browser:result:5c0a7d2f-3e4b-4f6a-9b7c-8d9e0f1a2b3c",
            "schemaVersion": 1,
            "scopeId": "browser",
            "workId": "6d1b8e3a-4f5c-4a7b-8c8d-9e0f1a2b3c4d",
            "workRev": 1,
            "app": "bioreactor-simulator",
            "stateRef": {
              "kind": "object",
              "ref": "mine:run/11111111-2222-4333-8444-555555555555",
              "rev": 1,
              "schema": {
                "id": "bioreactor-simulator.scenario",
                "version": 2
              }
            },
            "context": {},
            "inputIds": [
              "4b9f6c1e-2d3a-4e5f-8a6b-7c8d9e0f1a2b"
            ],
            "contentHash": "sha256:0cef28048d2f01d1781774e4983171875e1f63c036f708015f38fa50a8d0c2d2"
          },
          "alignment": {
            "kind": "elapsed-from-declared-event",
            "anchorInSourceUnits": 0,
            "sourceTimeUnit": "h",
            "basis": "Simulation t = 0 h at inoculation"
          },
          "selectedSeries": "X"
        }
      },
      "expected": {
        "readable": true,
        "pairVerified": true,
        "method": {
          "id": "measured-comparison-time-alignment",
          "version": "1.0.0"
        },
        "timeAlignment": "elapsed-from-declared-event",
        "responseBasis": "separate-panels",
        "conversionApplied": false,
        "modelParametersChanged": false,
        "commonElapsedExtentHours": [
          0.0,
          2.0
        ],
        "qualificationCodes": [
          "raw-response-separate-axes",
          "elapsed-time-not-equivalence",
          "simulation-reference-unavailable"
        ],
        "simulationReference": null,
        "simulationReferenceUnavailable": {
          "code": "simulation-reference-hash-mismatch",
          "claimedInputHash": "sha256:b92f80d497477b2fce6b0266f6bc33124a90de439199cbe09b30530c49421fc0",
          "claimedResultHash": "sha256:0cef28048d2f01d1781774e4983171875e1f63c036f708015f38fa50a8d0c2d2"
        },
        "slotA": {
          "slotId": "slot-a",
          "origin": "measured",
          "receiptStatus": "not-supplied",
          "sourceTimeUnit": "h",
          "enteredTimeExtent": [
            0.0,
            2.0
          ],
          "alignedElapsedExtentHours": [
            0.0,
            2.0
          ],
          "rows": [
            {
              "id": "a-1",
              "sourceRow": 1,
              "sourceTime": 0.0,
              "sourceTimeUnit": "h",
              "elapsedHours": 0.0,
              "rational": "0/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.15,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "a-2",
              "sourceRow": 2,
              "sourceTime": 1.0,
              "sourceTimeUnit": "h",
              "elapsedHours": 1.0,
              "rational": "1/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.31,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "a-3",
              "sourceRow": 3,
              "sourceTime": 2.0,
              "sourceTimeUnit": "h",
              "elapsedHours": 2.0,
              "rational": "2/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.64,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            }
          ]
        },
        "slotB": {
          "slotId": "slot-b",
          "origin": "measured",
          "receiptStatus": "not-supplied",
          "sourceTimeUnit": "min",
          "enteredTimeExtent": [
            30.0,
            150.0
          ],
          "alignedElapsedExtentHours": [
            0.0,
            2.0
          ],
          "rows": [
            {
              "id": "b-1",
              "sourceRow": 1,
              "sourceTime": 30.0,
              "sourceTimeUnit": "min",
              "elapsedHours": 0.0,
              "rational": "0/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.14,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "b-2",
              "sourceRow": 2,
              "sourceTime": 90.0,
              "sourceTimeUnit": "min",
              "elapsedHours": 1.0,
              "rational": "1/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.29,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "b-3",
              "sourceRow": 3,
              "sourceTime": 150.0,
              "sourceTimeUnit": "min",
              "elapsedHours": 2.0,
              "rational": "2/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.61,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            }
          ]
        }
      }
    },
    {
      "spec": {
        "id": "reference-unsupported-output",
        "description": "A recorded simulation with an RQ value missing where OUR is not zero and the index is not declared undefined: the strict reader refuses the output, the reference is dropped and the measured pair compares.",
        "sharedEventLabel": "Inoculation (OD600 = 0.15)",
        "slotA": {
          "slotId": "slot-a",
          "label": "Run A (hours)",
          "inputHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "timeUnit": "h",
          "responseLabel": "OD600",
          "origin": "measured",
          "responseUnit": "OD600",
          "basis": "1 cm cuvette, unblanked",
          "receiptStatus": "not-supplied",
          "alignment": {
            "kind": "elapsed-from-declared-event",
            "anchorInSourceUnits": 0,
            "sourceTimeUnit": "h",
            "basis": "Inoculation recorded at 0 h in bench log"
          },
          "readings": [
            {
              "id": "a-1",
              "sourceRow": 1,
              "time": 0,
              "response": 0.15,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "a-2",
              "sourceRow": 2,
              "time": 1,
              "response": 0.31,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "a-3",
              "sourceRow": 3,
              "time": 2,
              "response": 0.64,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            }
          ]
        },
        "slotB": {
          "slotId": "slot-b",
          "label": "Run B (minutes)",
          "inputHash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
          "timeUnit": "min",
          "responseLabel": "OD600",
          "origin": "measured",
          "responseUnit": "OD600",
          "basis": "1 cm cuvette, unblanked",
          "receiptStatus": "not-supplied",
          "alignment": {
            "kind": "elapsed-from-declared-event",
            "anchorInSourceUnits": 30,
            "sourceTimeUnit": "min",
            "basis": "Inoculation at 30 min after pre-warm"
          },
          "readings": [
            {
              "id": "b-1",
              "sourceRow": 1,
              "time": 30,
              "response": 0.14,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "b-2",
              "sourceRow": 2,
              "time": 90,
              "response": 0.29,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "b-3",
              "sourceRow": 3,
              "time": 150,
              "response": 0.61,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            }
          ]
        },
        "simulationReference": {
          "v": 1,
          "referenceRunRef": "mine:run/11111111-2222-4333-8444-555555555555",
          "inputSnapshot": {
            "id": "4b9f6c1e-2d3a-4e5f-8a6b-7c8d9e0f1a2b",
            "scopeId": "browser",
            "schema": {
              "id": "bioreactor-simulator.scenario",
              "version": 2
            },
            "source": {
              "kind": "object",
              "ref": "mine:run/11111111-2222-4333-8444-555555555555",
              "rev": 1
            },
            "payload": {
              "v": 2,
              "ex": "e-coli-batch@1"
            },
            "evidence": {
              "origin": "manual-assertion",
              "derivation": "raw",
              "execution": "planned"
            },
            "provenance": {},
            "capturedAt": "2026-10-20T08:00:00.000Z",
            "key": "workspace:7:browser:input:4b9f6c1e-2d3a-4e5f-8a6b-7c8d9e0f1a2b",
            "schemaVersion": 1,
            "contentHash": "sha256:b92f80d497477b2fce6b0266f6bc33124a90de439199cbe09b30530c49421fc0"
          },
          "resultSnapshot": {
            "id": "5c0a7d2f-3e4b-4f6a-9b7c-8d9e0f1a2b3c",
            "label": "Recorded reference simulation",
            "schema": {
              "id": "bioreactor-simulator.recorded-simulation",
              "version": 1
            },
            "settings": {
              "scenario": {
                "preset": "e-coli-batch@1"
              }
            },
            "output": {
              "origin": "simulation",
              "timeUnit": "h",
              "seriesUnits": {
                "X": "g/L",
                "S": "unit",
                "P": "unit",
                "V": "unit",
                "DOpct": "unit",
                "F": "unit",
                "mu": "unit",
                "OUR": "unit",
                "OTR": "unit",
                "CER": "unit",
                "RQ": "unit",
                "kLa": "unit",
                "yO2out": "unit",
                "Cstar": "unit"
              },
              "run": {
                "horizon": 24,
                "t": [
                  0,
                  6,
                  12,
                  24
                ],
                "series": {
                  "X": [
                    0.1,
                    0.4,
                    1.75,
                    6.4
                  ],
                  "S": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "P": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "V": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "DOpct": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "F": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "mu": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "OUR": [
                    0,
                    2,
                    3,
                    4
                  ],
                  "OTR": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "CER": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "RQ": [
                    null,
                    1,
                    null,
                    1.1
                  ],
                  "kLa": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "yO2out": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "Cstar": [
                    1,
                    2,
                    3,
                    4
                  ]
                },
                "undefinedValues": [
                  {
                    "series": "RQ",
                    "reason": "zero-oxygen-uptake",
                    "indices": [
                      0
                    ]
                  }
                ]
              }
            },
            "methods": [
              {
                "id": "unstructured-growth-model",
                "version": "2.0.0"
              },
              {
                "id": "modified-rosenbrock",
                "version": "1.1.0"
              }
            ],
            "dataVersions": [],
            "qualifications": [],
            "reporting": {
              "status": "qualified",
              "reasons": [
                "Simulation"
              ]
            },
            "provenance": {},
            "computedAt": "2026-10-20T08:00:00.000Z",
            "recordedAt": "2026-10-20T08:00:00.000Z",
            "key": "workspace:7:browser:result:5c0a7d2f-3e4b-4f6a-9b7c-8d9e0f1a2b3c",
            "schemaVersion": 1,
            "scopeId": "browser",
            "workId": "6d1b8e3a-4f5c-4a7b-8c8d-9e0f1a2b3c4d",
            "workRev": 1,
            "app": "bioreactor-simulator",
            "stateRef": {
              "kind": "object",
              "ref": "mine:run/11111111-2222-4333-8444-555555555555",
              "rev": 1,
              "schema": {
                "id": "bioreactor-simulator.scenario",
                "version": 2
              }
            },
            "context": {},
            "inputIds": [
              "4b9f6c1e-2d3a-4e5f-8a6b-7c8d9e0f1a2b"
            ],
            "contentHash": "sha256:cf0302fcb50d10346604c72077b57f1722c302bdebe81060a57c8feef899b79a"
          },
          "alignment": {
            "kind": "elapsed-from-declared-event",
            "anchorInSourceUnits": 0,
            "sourceTimeUnit": "h",
            "basis": "Simulation t = 0 h at inoculation"
          },
          "selectedSeries": "X"
        }
      },
      "expected": {
        "readable": true,
        "pairVerified": true,
        "method": {
          "id": "measured-comparison-time-alignment",
          "version": "1.0.0"
        },
        "timeAlignment": "elapsed-from-declared-event",
        "responseBasis": "separate-panels",
        "conversionApplied": false,
        "modelParametersChanged": false,
        "commonElapsedExtentHours": [
          0.0,
          2.0
        ],
        "qualificationCodes": [
          "raw-response-separate-axes",
          "elapsed-time-not-equivalence",
          "simulation-reference-unavailable"
        ],
        "simulationReference": null,
        "simulationReferenceUnavailable": {
          "code": "unsupported-simulation-reference-output",
          "claimedInputHash": "sha256:b92f80d497477b2fce6b0266f6bc33124a90de439199cbe09b30530c49421fc0",
          "claimedResultHash": "sha256:cf0302fcb50d10346604c72077b57f1722c302bdebe81060a57c8feef899b79a"
        },
        "slotA": {
          "slotId": "slot-a",
          "origin": "measured",
          "receiptStatus": "not-supplied",
          "sourceTimeUnit": "h",
          "enteredTimeExtent": [
            0.0,
            2.0
          ],
          "alignedElapsedExtentHours": [
            0.0,
            2.0
          ],
          "rows": [
            {
              "id": "a-1",
              "sourceRow": 1,
              "sourceTime": 0.0,
              "sourceTimeUnit": "h",
              "elapsedHours": 0.0,
              "rational": "0/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.15,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "a-2",
              "sourceRow": 2,
              "sourceTime": 1.0,
              "sourceTimeUnit": "h",
              "elapsedHours": 1.0,
              "rational": "1/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.31,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "a-3",
              "sourceRow": 3,
              "sourceTime": 2.0,
              "sourceTimeUnit": "h",
              "elapsedHours": 2.0,
              "rational": "2/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.64,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            }
          ]
        },
        "slotB": {
          "slotId": "slot-b",
          "origin": "measured",
          "receiptStatus": "not-supplied",
          "sourceTimeUnit": "min",
          "enteredTimeExtent": [
            30.0,
            150.0
          ],
          "alignedElapsedExtentHours": [
            0.0,
            2.0
          ],
          "rows": [
            {
              "id": "b-1",
              "sourceRow": 1,
              "sourceTime": 30.0,
              "sourceTimeUnit": "min",
              "elapsedHours": 0.0,
              "rational": "0/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.14,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "b-2",
              "sourceRow": 2,
              "sourceTime": 90.0,
              "sourceTimeUnit": "min",
              "elapsedHours": 1.0,
              "rational": "1/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.29,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "b-3",
              "sourceRow": 3,
              "sourceTime": 150.0,
              "sourceTimeUnit": "min",
              "elapsedHours": 2.0,
              "rational": "2/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.61,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            }
          ]
        }
      }
    },
    {
      "spec": {
        "id": "reference-invalid-schema",
        "description": "A reference whose result snapshot is not bioreactor-simulator.recorded-simulation v1: the strict reader refuses the schema, the reference is dropped and the measured pair compares.",
        "sharedEventLabel": "Inoculation (OD600 = 0.15)",
        "slotA": {
          "slotId": "slot-a",
          "label": "Run A (hours)",
          "inputHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
          "timeUnit": "h",
          "responseLabel": "OD600",
          "origin": "measured",
          "responseUnit": "OD600",
          "basis": "1 cm cuvette, unblanked",
          "receiptStatus": "not-supplied",
          "alignment": {
            "kind": "elapsed-from-declared-event",
            "anchorInSourceUnits": 0,
            "sourceTimeUnit": "h",
            "basis": "Inoculation recorded at 0 h in bench log"
          },
          "readings": [
            {
              "id": "a-1",
              "sourceRow": 1,
              "time": 0,
              "response": 0.15,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "a-2",
              "sourceRow": 2,
              "time": 1,
              "response": 0.31,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "a-3",
              "sourceRow": 3,
              "time": 2,
              "response": 0.64,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            }
          ]
        },
        "slotB": {
          "slotId": "slot-b",
          "label": "Run B (minutes)",
          "inputHash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
          "timeUnit": "min",
          "responseLabel": "OD600",
          "origin": "measured",
          "responseUnit": "OD600",
          "basis": "1 cm cuvette, unblanked",
          "receiptStatus": "not-supplied",
          "alignment": {
            "kind": "elapsed-from-declared-event",
            "anchorInSourceUnits": 30,
            "sourceTimeUnit": "min",
            "basis": "Inoculation at 30 min after pre-warm"
          },
          "readings": [
            {
              "id": "b-1",
              "sourceRow": 1,
              "time": 30,
              "response": 0.14,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "b-2",
              "sourceRow": 2,
              "time": 90,
              "response": 0.29,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            },
            {
              "id": "b-3",
              "sourceRow": 3,
              "time": 150,
              "response": 0.61,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null
            }
          ]
        },
        "simulationReference": {
          "v": 1,
          "referenceRunRef": "mine:run/11111111-2222-4333-8444-555555555555",
          "inputSnapshot": {
            "id": "4b9f6c1e-2d3a-4e5f-8a6b-7c8d9e0f1a2b",
            "scopeId": "browser",
            "schema": {
              "id": "bioreactor-simulator.scenario",
              "version": 2
            },
            "source": {
              "kind": "object",
              "ref": "mine:run/11111111-2222-4333-8444-555555555555",
              "rev": 1
            },
            "payload": {
              "v": 2,
              "ex": "e-coli-batch@1"
            },
            "evidence": {
              "origin": "manual-assertion",
              "derivation": "raw",
              "execution": "planned"
            },
            "provenance": {},
            "capturedAt": "2026-10-20T08:00:00.000Z",
            "key": "workspace:7:browser:input:4b9f6c1e-2d3a-4e5f-8a6b-7c8d9e0f1a2b",
            "schemaVersion": 1,
            "contentHash": "sha256:b92f80d497477b2fce6b0266f6bc33124a90de439199cbe09b30530c49421fc0"
          },
          "resultSnapshot": {
            "id": "5c0a7d2f-3e4b-4f6a-9b7c-8d9e0f1a2b3c",
            "label": "Recorded reference simulation",
            "schema": {
              "id": "bioreactor-simulator.recorded-growth-review",
              "version": 1
            },
            "settings": {
              "scenario": {
                "preset": "e-coli-batch@1"
              }
            },
            "output": {
              "origin": "simulation",
              "timeUnit": "h",
              "seriesUnits": {
                "X": "g/L",
                "S": "unit",
                "P": "unit",
                "V": "unit",
                "DOpct": "unit",
                "F": "unit",
                "mu": "unit",
                "OUR": "unit",
                "OTR": "unit",
                "CER": "unit",
                "RQ": "unit",
                "kLa": "unit",
                "yO2out": "unit",
                "Cstar": "unit"
              },
              "run": {
                "horizon": 24,
                "t": [
                  0,
                  6,
                  12,
                  24
                ],
                "series": {
                  "X": [
                    0.1,
                    0.4,
                    1.75,
                    6.4
                  ],
                  "S": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "P": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "V": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "DOpct": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "F": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "mu": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "OUR": [
                    0,
                    2,
                    3,
                    4
                  ],
                  "OTR": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "CER": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "RQ": [
                    null,
                    1,
                    1.05,
                    1.1
                  ],
                  "kLa": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "yO2out": [
                    1,
                    2,
                    3,
                    4
                  ],
                  "Cstar": [
                    1,
                    2,
                    3,
                    4
                  ]
                },
                "undefinedValues": [
                  {
                    "series": "RQ",
                    "reason": "zero-oxygen-uptake",
                    "indices": [
                      0
                    ]
                  }
                ]
              }
            },
            "methods": [
              {
                "id": "unstructured-growth-model",
                "version": "2.0.0"
              },
              {
                "id": "modified-rosenbrock",
                "version": "1.1.0"
              }
            ],
            "dataVersions": [],
            "qualifications": [],
            "reporting": {
              "status": "qualified",
              "reasons": [
                "Simulation"
              ]
            },
            "provenance": {},
            "computedAt": "2026-10-20T08:00:00.000Z",
            "recordedAt": "2026-10-20T08:00:00.000Z",
            "key": "workspace:7:browser:result:5c0a7d2f-3e4b-4f6a-9b7c-8d9e0f1a2b3c",
            "schemaVersion": 1,
            "scopeId": "browser",
            "workId": "6d1b8e3a-4f5c-4a7b-8c8d-9e0f1a2b3c4d",
            "workRev": 1,
            "app": "bioreactor-simulator",
            "stateRef": {
              "kind": "object",
              "ref": "mine:run/11111111-2222-4333-8444-555555555555",
              "rev": 1,
              "schema": {
                "id": "bioreactor-simulator.scenario",
                "version": 2
              }
            },
            "context": {},
            "inputIds": [
              "4b9f6c1e-2d3a-4e5f-8a6b-7c8d9e0f1a2b"
            ],
            "contentHash": "sha256:7337214df575938c51413bb32013bd04552adc63c353b001f80851f5b87a5bc8"
          },
          "alignment": {
            "kind": "elapsed-from-declared-event",
            "anchorInSourceUnits": 0,
            "sourceTimeUnit": "h",
            "basis": "Simulation t = 0 h at inoculation"
          },
          "selectedSeries": "X"
        }
      },
      "expected": {
        "readable": true,
        "pairVerified": true,
        "method": {
          "id": "measured-comparison-time-alignment",
          "version": "1.0.0"
        },
        "timeAlignment": "elapsed-from-declared-event",
        "responseBasis": "separate-panels",
        "conversionApplied": false,
        "modelParametersChanged": false,
        "commonElapsedExtentHours": [
          0.0,
          2.0
        ],
        "qualificationCodes": [
          "raw-response-separate-axes",
          "elapsed-time-not-equivalence",
          "simulation-reference-unavailable"
        ],
        "simulationReference": null,
        "simulationReferenceUnavailable": {
          "code": "invalid-simulation-reference-schema",
          "claimedInputHash": "sha256:b92f80d497477b2fce6b0266f6bc33124a90de439199cbe09b30530c49421fc0",
          "claimedResultHash": "sha256:7337214df575938c51413bb32013bd04552adc63c353b001f80851f5b87a5bc8"
        },
        "slotA": {
          "slotId": "slot-a",
          "origin": "measured",
          "receiptStatus": "not-supplied",
          "sourceTimeUnit": "h",
          "enteredTimeExtent": [
            0.0,
            2.0
          ],
          "alignedElapsedExtentHours": [
            0.0,
            2.0
          ],
          "rows": [
            {
              "id": "a-1",
              "sourceRow": 1,
              "sourceTime": 0.0,
              "sourceTimeUnit": "h",
              "elapsedHours": 0.0,
              "rational": "0/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.15,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "a-2",
              "sourceRow": 2,
              "sourceTime": 1.0,
              "sourceTimeUnit": "h",
              "elapsedHours": 1.0,
              "rational": "1/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.31,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "a-3",
              "sourceRow": 3,
              "sourceTime": 2.0,
              "sourceTimeUnit": "h",
              "elapsedHours": 2.0,
              "rational": "2/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.64,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            }
          ]
        },
        "slotB": {
          "slotId": "slot-b",
          "origin": "measured",
          "receiptStatus": "not-supplied",
          "sourceTimeUnit": "min",
          "enteredTimeExtent": [
            30.0,
            150.0
          ],
          "alignedElapsedExtentHours": [
            0.0,
            2.0
          ],
          "rows": [
            {
              "id": "b-1",
              "sourceRow": 1,
              "sourceTime": 30.0,
              "sourceTimeUnit": "min",
              "elapsedHours": 0.0,
              "rational": "0/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.14,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "b-2",
              "sourceRow": 2,
              "sourceTime": 90.0,
              "sourceTimeUnit": "min",
              "elapsedHours": 1.0,
              "rational": "1/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.29,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            },
            {
              "id": "b-3",
              "sourceRow": 3,
              "sourceTime": 150.0,
              "sourceTimeUnit": "min",
              "elapsedHours": 2.0,
              "rational": "2/1",
              "exactBinary64": true,
              "tolerance": 0.0,
              "response": 0.61,
              "role": "sample",
              "excluded": false,
              "exclusionReason": null,
              "plotted": true,
              "hollow": false
            }
          ]
        }
      }
    }
  ]
}
