{
  "halted_at": null,
  "label": "SIMULATED: checked against the supplied proposal and lab state; no instrument was contacted and nothing was sent to hardware.",
  "public_key_b64": "uow6SNujj4Cuk0GHsw7fxAuDPldKTC7xuWWinaewO40=",
  "records": [
    {
      "checks": [
        {
          "detail": "subject 'agent:pcr-runner', agent 'agent:pcr-runner'",
          "id": "authority.subject",
          "ok": true
        },
        {
          "detail": "expires 2026-11-12T18:00:00Z",
          "id": "authority.not_expired",
          "ok": true
        },
        {
          "detail": "dispense:liquid-handler-1",
          "id": "authority.scope",
          "ok": true
        },
        {
          "detail": "20.0 uL vs 500 uL",
          "id": "authority.max_volume",
          "ok": true
        },
        {
          "detail": "reagent BSL-1, authority ceiling BSL-1",
          "id": "authority.max_bsl",
          "ok": true
        },
        {
          "detail": "liquid-handler-1",
          "id": "instrument.known",
          "ok": true
        },
        {
          "detail": "status 'READY'",
          "id": "instrument.ready",
          "ok": true
        },
        {
          "detail": "calibrated until 2026-12-31T00:00:00Z",
          "id": "instrument.calibrated",
          "ok": true
        },
        {
          "detail": "20.0 uL vs [1.0, 1000.0]",
          "id": "instrument.volume_range",
          "ok": true
        },
        {
          "detail": "plate-96-1",
          "id": "labware.destination_known",
          "ok": true
        },
        {
          "detail": "sealed=False",
          "id": "labware.destination_unsealed",
          "ok": true
        },
        {
          "detail": "0.0 + 20.0 uL vs capacity 200.0",
          "id": "labware.no_overflow",
          "ok": true
        },
        {
          "detail": "master-mix-lot-7",
          "id": "reagent.known",
          "ok": true
        },
        {
          "detail": "5000 uL in stock, 20.0 uL needed",
          "id": "reagent.in_stock",
          "ok": true
        },
        {
          "detail": "lot expires 2027-03-01T00:00:00Z",
          "id": "reagent.lot_not_expired",
          "ok": true
        },
        {
          "detail": "every reagent must declare its hazard block",
          "id": "reagent.hazard_declared",
          "ok": true
        },
        {
          "detail": "reagent BSL-1, lab BSL-2",
          "id": "biosafety.lab_level",
          "ok": true
        }
      ],
      "created_at": "2026-11-12T07:59:12Z",
      "engine": "a75-002/1.0.0",
      "failed": [],
      "label": "SIMULATED: checked against the supplied proposal and lab state; no instrument was contacted and nothing was sent to hardware.",
      "needs_human": [],
      "prev_record_hash": "57f194016d7b9ad7e0b17502404d742ab1f76b85b5ed480f527581a4ac82ad5c",
      "proposal": {
        "agent": "agent:pcr-runner",
        "approvals": [],
        "authority": {
          "expires_at": "2026-11-12T18:00:00Z",
          "issuer": "lab-manager@example-lab",
          "max_biosafety_level": 1,
          "max_volume_ul": 500,
          "scope": [
            "aspirate:liquid-handler-1",
            "dispense:liquid-handler-1",
            "transfer:liquid-handler-1",
            "mix:liquid-handler-1",
            "seal:plate-sealer-1",
            "heat:thermocycler-1",
            "centrifuge:centrifuge-1"
          ],
          "subject": "agent:pcr-runner"
        },
        "lab": {
          "biosafety_level": 2,
          "id": "example-lab"
        },
        "now": "2026-11-12T09:00:00Z",
        "schema": "cain42.a75.lab.proposal.v1",
        "state": {
          "exposure": {
            "hazardous_limit_ul": 100,
            "hazardous_used_ul": 0
          },
          "instruments": {
            "centrifuge-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_rpm": 15000
              },
              "status": "READY",
              "type": "centrifuge"
            },
            "liquid-handler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_volume_ul": 1000,
                "min_volume_ul": 1
              },
              "status": "READY",
              "type": "liquid_handler"
            },
            "plate-sealer-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {},
              "status": "READY",
              "type": "sealer"
            },
            "thermocycler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_temp_c": 99,
                "min_temp_c": 4
              },
              "status": "READY",
              "type": "thermocycler"
            }
          },
          "inventory": {
            "lentivirus-prep-3": {
              "available_ul": 500,
              "expires_at": "2026-12-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 2,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "master-mix-lot-7": {
              "available_ul": 5000,
              "expires_at": "2027-03-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "primer-set-12": {
              "available_ul": 800,
              "expires_at": "2027-01-15T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "sodium-azide-1pct": {
              "available_ul": 1000,
              "expires_at": "2027-06-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [
                  "H300",
                  "H410"
                ],
                "select_agent": false
              }
            }
          },
          "labware": {
            "plate-96-1": {
              "capacity_ul": 200,
              "contents_ul": 0,
              "sealed": false,
              "type": "plate"
            },
            "reservoir-A": {
              "capacity_ul": 50000,
              "contents_ul": 20000,
              "sealed": false,
              "type": "reservoir"
            }
          }
        },
        "step": {
          "action": "dispense",
          "destination": "plate-96-1",
          "instrument": "liquid-handler-1",
          "reagent": "master-mix-lot-7",
          "seq": 1,
          "volume_ul": 20
        }
      },
      "proposal_sha256": "93ab201a6eb17d8f4bb8572e1ab0e8f4d9e3d5a9725dbccfa4ad5a0e4b67a1cc",
      "public_key_b64": "uow6SNujj4Cuk0GHsw7fxAuDPldKTC7xuWWinaewO40=",
      "record_hash": "9cf3d38916bd4186bd1b7f9894898716a31cd1b35e3decc0cc0ed9fbf3672b9e",
      "schema": "cain42.a75.lab.preflight.record.v1",
      "signature_b64": "cfyOTiSWB0EjnHpq2rRLvsPcmtPzTepXoJPVvsIIUvPE9hhxPMjIeBq8+A9jY0PNBXR1dwWaG3BSxb1GKj3sDQ==",
      "simulated": true,
      "verdict": "ALLOW"
    },
    {
      "checks": [
        {
          "detail": "subject 'agent:pcr-runner', agent 'agent:pcr-runner'",
          "id": "authority.subject",
          "ok": true
        },
        {
          "detail": "expires 2026-11-12T18:00:00Z",
          "id": "authority.not_expired",
          "ok": true
        },
        {
          "detail": "dispense:liquid-handler-1",
          "id": "authority.scope",
          "ok": true
        },
        {
          "detail": "5.0 uL vs 500 uL",
          "id": "authority.max_volume",
          "ok": true
        },
        {
          "detail": "reagent BSL-1, authority ceiling BSL-1",
          "id": "authority.max_bsl",
          "ok": true
        },
        {
          "detail": "liquid-handler-1",
          "id": "instrument.known",
          "ok": true
        },
        {
          "detail": "status 'READY'",
          "id": "instrument.ready",
          "ok": true
        },
        {
          "detail": "calibrated until 2026-12-31T00:00:00Z",
          "id": "instrument.calibrated",
          "ok": true
        },
        {
          "detail": "5.0 uL vs [1.0, 1000.0]",
          "id": "instrument.volume_range",
          "ok": true
        },
        {
          "detail": "plate-96-1",
          "id": "labware.destination_known",
          "ok": true
        },
        {
          "detail": "sealed=False",
          "id": "labware.destination_unsealed",
          "ok": true
        },
        {
          "detail": "20.0 + 5.0 uL vs capacity 200.0",
          "id": "labware.no_overflow",
          "ok": true
        },
        {
          "detail": "primer-set-12",
          "id": "reagent.known",
          "ok": true
        },
        {
          "detail": "800 uL in stock, 5.0 uL needed",
          "id": "reagent.in_stock",
          "ok": true
        },
        {
          "detail": "lot expires 2027-01-15T00:00:00Z",
          "id": "reagent.lot_not_expired",
          "ok": true
        },
        {
          "detail": "every reagent must declare its hazard block",
          "id": "reagent.hazard_declared",
          "ok": true
        },
        {
          "detail": "reagent BSL-1, lab BSL-2",
          "id": "biosafety.lab_level",
          "ok": true
        }
      ],
      "created_at": "2026-11-12T07:59:12Z",
      "engine": "a75-002/1.0.0",
      "failed": [],
      "label": "SIMULATED: checked against the supplied proposal and lab state; no instrument was contacted and nothing was sent to hardware.",
      "needs_human": [],
      "prev_record_hash": "9cf3d38916bd4186bd1b7f9894898716a31cd1b35e3decc0cc0ed9fbf3672b9e",
      "proposal": {
        "agent": "agent:pcr-runner",
        "approvals": [],
        "authority": {
          "expires_at": "2026-11-12T18:00:00Z",
          "issuer": "lab-manager@example-lab",
          "max_biosafety_level": 1,
          "max_volume_ul": 500,
          "scope": [
            "aspirate:liquid-handler-1",
            "dispense:liquid-handler-1",
            "transfer:liquid-handler-1",
            "mix:liquid-handler-1",
            "seal:plate-sealer-1",
            "heat:thermocycler-1",
            "centrifuge:centrifuge-1"
          ],
          "subject": "agent:pcr-runner"
        },
        "lab": {
          "biosafety_level": 2,
          "id": "example-lab"
        },
        "now": "2026-11-12T09:00:00Z",
        "schema": "cain42.a75.lab.proposal.v1",
        "state": {
          "exposure": {
            "hazardous_limit_ul": 100,
            "hazardous_used_ul": 0
          },
          "instruments": {
            "centrifuge-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_rpm": 15000
              },
              "status": "READY",
              "type": "centrifuge"
            },
            "liquid-handler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_volume_ul": 1000,
                "min_volume_ul": 1
              },
              "status": "READY",
              "type": "liquid_handler"
            },
            "plate-sealer-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {},
              "status": "READY",
              "type": "sealer"
            },
            "thermocycler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_temp_c": 99,
                "min_temp_c": 4
              },
              "status": "READY",
              "type": "thermocycler"
            }
          },
          "inventory": {
            "lentivirus-prep-3": {
              "available_ul": 500,
              "expires_at": "2026-12-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 2,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "master-mix-lot-7": {
              "available_ul": 4980.0,
              "expires_at": "2027-03-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "primer-set-12": {
              "available_ul": 800,
              "expires_at": "2027-01-15T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "sodium-azide-1pct": {
              "available_ul": 1000,
              "expires_at": "2027-06-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [
                  "H300",
                  "H410"
                ],
                "select_agent": false
              }
            }
          },
          "labware": {
            "plate-96-1": {
              "capacity_ul": 200,
              "contents_ul": 20.0,
              "sealed": false,
              "type": "plate"
            },
            "reservoir-A": {
              "capacity_ul": 50000,
              "contents_ul": 20000,
              "sealed": false,
              "type": "reservoir"
            }
          }
        },
        "step": {
          "action": "dispense",
          "destination": "plate-96-1",
          "instrument": "liquid-handler-1",
          "reagent": "primer-set-12",
          "seq": 2,
          "volume_ul": 5
        }
      },
      "proposal_sha256": "6373b1f9a6a37671ce71a6771b8bef3826adacea98658558018dbb6a397cb607",
      "public_key_b64": "uow6SNujj4Cuk0GHsw7fxAuDPldKTC7xuWWinaewO40=",
      "record_hash": "5b386ee48f0dafa7b12523dc2244f59e12d60c3b926b3598dd850358a3e29234",
      "schema": "cain42.a75.lab.preflight.record.v1",
      "signature_b64": "dCkJr/QgsmnNUxoiQXQQtcYFUrSqsxc2vC0IBAEI8W5YU0feOVaB2uosVXmaD4fEfu+US10Pv27ZXk1E7OijDw==",
      "simulated": true,
      "verdict": "ALLOW"
    },
    {
      "checks": [
        {
          "detail": "subject 'agent:pcr-runner', agent 'agent:pcr-runner'",
          "id": "authority.subject",
          "ok": true
        },
        {
          "detail": "expires 2026-11-12T18:00:00Z",
          "id": "authority.not_expired",
          "ok": true
        },
        {
          "detail": "mix:liquid-handler-1",
          "id": "authority.scope",
          "ok": true
        },
        {
          "detail": "15.0 uL vs 500 uL",
          "id": "authority.max_volume",
          "ok": true
        },
        {
          "detail": "reagent BSL-1, authority ceiling BSL-1",
          "id": "authority.max_bsl",
          "ok": true
        },
        {
          "detail": "liquid-handler-1",
          "id": "instrument.known",
          "ok": true
        },
        {
          "detail": "status 'READY'",
          "id": "instrument.ready",
          "ok": true
        },
        {
          "detail": "calibrated until 2026-12-31T00:00:00Z",
          "id": "instrument.calibrated",
          "ok": true
        },
        {
          "detail": "15.0 uL vs [1.0, 1000.0]",
          "id": "instrument.volume_range",
          "ok": true
        },
        {
          "detail": "plate-96-1",
          "id": "labware.destination_known",
          "ok": true
        },
        {
          "detail": "master-mix-lot-7",
          "id": "reagent.known",
          "ok": true
        },
        {
          "detail": "4980.0 uL in stock, 15.0 uL needed",
          "id": "reagent.in_stock",
          "ok": true
        },
        {
          "detail": "lot expires 2027-03-01T00:00:00Z",
          "id": "reagent.lot_not_expired",
          "ok": true
        },
        {
          "detail": "every reagent must declare its hazard block",
          "id": "reagent.hazard_declared",
          "ok": true
        },
        {
          "detail": "reagent BSL-1, lab BSL-2",
          "id": "biosafety.lab_level",
          "ok": true
        }
      ],
      "created_at": "2026-11-12T07:59:12Z",
      "engine": "a75-002/1.0.0",
      "failed": [],
      "label": "SIMULATED: checked against the supplied proposal and lab state; no instrument was contacted and nothing was sent to hardware.",
      "needs_human": [],
      "prev_record_hash": "5b386ee48f0dafa7b12523dc2244f59e12d60c3b926b3598dd850358a3e29234",
      "proposal": {
        "agent": "agent:pcr-runner",
        "approvals": [],
        "authority": {
          "expires_at": "2026-11-12T18:00:00Z",
          "issuer": "lab-manager@example-lab",
          "max_biosafety_level": 1,
          "max_volume_ul": 500,
          "scope": [
            "aspirate:liquid-handler-1",
            "dispense:liquid-handler-1",
            "transfer:liquid-handler-1",
            "mix:liquid-handler-1",
            "seal:plate-sealer-1",
            "heat:thermocycler-1",
            "centrifuge:centrifuge-1"
          ],
          "subject": "agent:pcr-runner"
        },
        "lab": {
          "biosafety_level": 2,
          "id": "example-lab"
        },
        "now": "2026-11-12T09:00:00Z",
        "schema": "cain42.a75.lab.proposal.v1",
        "state": {
          "exposure": {
            "hazardous_limit_ul": 100,
            "hazardous_used_ul": 0
          },
          "instruments": {
            "centrifuge-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_rpm": 15000
              },
              "status": "READY",
              "type": "centrifuge"
            },
            "liquid-handler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_volume_ul": 1000,
                "min_volume_ul": 1
              },
              "status": "READY",
              "type": "liquid_handler"
            },
            "plate-sealer-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {},
              "status": "READY",
              "type": "sealer"
            },
            "thermocycler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_temp_c": 99,
                "min_temp_c": 4
              },
              "status": "READY",
              "type": "thermocycler"
            }
          },
          "inventory": {
            "lentivirus-prep-3": {
              "available_ul": 500,
              "expires_at": "2026-12-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 2,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "master-mix-lot-7": {
              "available_ul": 4980.0,
              "expires_at": "2027-03-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "primer-set-12": {
              "available_ul": 795.0,
              "expires_at": "2027-01-15T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "sodium-azide-1pct": {
              "available_ul": 1000,
              "expires_at": "2027-06-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [
                  "H300",
                  "H410"
                ],
                "select_agent": false
              }
            }
          },
          "labware": {
            "plate-96-1": {
              "capacity_ul": 200,
              "contents_ul": 25.0,
              "sealed": false,
              "type": "plate"
            },
            "reservoir-A": {
              "capacity_ul": 50000,
              "contents_ul": 20000,
              "sealed": false,
              "type": "reservoir"
            }
          }
        },
        "step": {
          "action": "mix",
          "destination": "plate-96-1",
          "instrument": "liquid-handler-1",
          "reagent": "master-mix-lot-7",
          "seq": 3,
          "volume_ul": 15
        }
      },
      "proposal_sha256": "489dc3a7f6a39fa4c6af9fed738047ef639968d615a533058f37419e49fd1522",
      "public_key_b64": "uow6SNujj4Cuk0GHsw7fxAuDPldKTC7xuWWinaewO40=",
      "record_hash": "48e058cc878ecc7a9973d45e9278a9cb903ba9e6b38458a5387ac6a9f54388f5",
      "schema": "cain42.a75.lab.preflight.record.v1",
      "signature_b64": "TexKEMeNhM1HkNZy5JLnw/Zux/7EBRlVHEwbBYJ+bjvZ9T1VjbLUgS8zji4Dx0PvBKp5zAeyit4yV6yrlHftAg==",
      "simulated": true,
      "verdict": "ALLOW"
    },
    {
      "checks": [
        {
          "detail": "subject 'agent:pcr-runner', agent 'agent:pcr-runner'",
          "id": "authority.subject",
          "ok": true
        },
        {
          "detail": "expires 2026-11-12T18:00:00Z",
          "id": "authority.not_expired",
          "ok": true
        },
        {
          "detail": "seal:plate-sealer-1",
          "id": "authority.scope",
          "ok": true
        },
        {
          "detail": "0.0 uL vs 500 uL",
          "id": "authority.max_volume",
          "ok": true
        },
        {
          "detail": "reagent BSL-1, authority ceiling BSL-1",
          "id": "authority.max_bsl",
          "ok": true
        },
        {
          "detail": "plate-sealer-1",
          "id": "instrument.known",
          "ok": true
        },
        {
          "detail": "status 'READY'",
          "id": "instrument.ready",
          "ok": true
        },
        {
          "detail": "calibrated until 2026-12-31T00:00:00Z",
          "id": "instrument.calibrated",
          "ok": true
        },
        {
          "detail": "plate-96-1",
          "id": "labware.destination_known",
          "ok": true
        }
      ],
      "created_at": "2026-11-12T07:59:12Z",
      "engine": "a75-002/1.0.0",
      "failed": [],
      "label": "SIMULATED: checked against the supplied proposal and lab state; no instrument was contacted and nothing was sent to hardware.",
      "needs_human": [],
      "prev_record_hash": "48e058cc878ecc7a9973d45e9278a9cb903ba9e6b38458a5387ac6a9f54388f5",
      "proposal": {
        "agent": "agent:pcr-runner",
        "approvals": [],
        "authority": {
          "expires_at": "2026-11-12T18:00:00Z",
          "issuer": "lab-manager@example-lab",
          "max_biosafety_level": 1,
          "max_volume_ul": 500,
          "scope": [
            "aspirate:liquid-handler-1",
            "dispense:liquid-handler-1",
            "transfer:liquid-handler-1",
            "mix:liquid-handler-1",
            "seal:plate-sealer-1",
            "heat:thermocycler-1",
            "centrifuge:centrifuge-1"
          ],
          "subject": "agent:pcr-runner"
        },
        "lab": {
          "biosafety_level": 2,
          "id": "example-lab"
        },
        "now": "2026-11-12T09:00:00Z",
        "schema": "cain42.a75.lab.proposal.v1",
        "state": {
          "exposure": {
            "hazardous_limit_ul": 100,
            "hazardous_used_ul": 0
          },
          "instruments": {
            "centrifuge-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_rpm": 15000
              },
              "status": "READY",
              "type": "centrifuge"
            },
            "liquid-handler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_volume_ul": 1000,
                "min_volume_ul": 1
              },
              "status": "READY",
              "type": "liquid_handler"
            },
            "plate-sealer-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {},
              "status": "READY",
              "type": "sealer"
            },
            "thermocycler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_temp_c": 99,
                "min_temp_c": 4
              },
              "status": "READY",
              "type": "thermocycler"
            }
          },
          "inventory": {
            "lentivirus-prep-3": {
              "available_ul": 500,
              "expires_at": "2026-12-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 2,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "master-mix-lot-7": {
              "available_ul": 4980.0,
              "expires_at": "2027-03-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "primer-set-12": {
              "available_ul": 795.0,
              "expires_at": "2027-01-15T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "sodium-azide-1pct": {
              "available_ul": 1000,
              "expires_at": "2027-06-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [
                  "H300",
                  "H410"
                ],
                "select_agent": false
              }
            }
          },
          "labware": {
            "plate-96-1": {
              "capacity_ul": 200,
              "contents_ul": 25.0,
              "sealed": false,
              "type": "plate"
            },
            "reservoir-A": {
              "capacity_ul": 50000,
              "contents_ul": 20000,
              "sealed": false,
              "type": "reservoir"
            }
          }
        },
        "step": {
          "action": "seal",
          "destination": "plate-96-1",
          "instrument": "plate-sealer-1",
          "seq": 4
        }
      },
      "proposal_sha256": "90e8707e3af2a2a3582f2506a6587509cdec7bc2819a182272c81bc31c5277d0",
      "public_key_b64": "uow6SNujj4Cuk0GHsw7fxAuDPldKTC7xuWWinaewO40=",
      "record_hash": "e6ca09043b531e1c1183ca58c566e3f08b0bb6b35fb4607d77e39c4dfa7b71b4",
      "schema": "cain42.a75.lab.preflight.record.v1",
      "signature_b64": "DjEOJZ1rRTEEk1whttNquFFAIIIg725zEtkQb7vHw4m8ZmXEDwzm6l31iCZNK5Bba3DtplCZV38MOMTREDrOAg==",
      "simulated": true,
      "verdict": "ALLOW"
    },
    {
      "checks": [
        {
          "detail": "subject 'agent:pcr-runner', agent 'agent:pcr-runner'",
          "id": "authority.subject",
          "ok": true
        },
        {
          "detail": "expires 2026-11-12T18:00:00Z",
          "id": "authority.not_expired",
          "ok": true
        },
        {
          "detail": "centrifuge:centrifuge-1",
          "id": "authority.scope",
          "ok": true
        },
        {
          "detail": "0.0 uL vs 500 uL",
          "id": "authority.max_volume",
          "ok": true
        },
        {
          "detail": "reagent BSL-1, authority ceiling BSL-1",
          "id": "authority.max_bsl",
          "ok": true
        },
        {
          "detail": "centrifuge-1",
          "id": "instrument.known",
          "ok": true
        },
        {
          "detail": "status 'READY'",
          "id": "instrument.ready",
          "ok": true
        },
        {
          "detail": "calibrated until 2026-12-31T00:00:00Z",
          "id": "instrument.calibrated",
          "ok": true
        },
        {
          "detail": "1000.0 rpm vs max 15000",
          "id": "instrument.speed",
          "ok": true
        },
        {
          "detail": "plate-96-1",
          "id": "labware.destination_known",
          "ok": true
        }
      ],
      "created_at": "2026-11-12T07:59:12Z",
      "engine": "a75-002/1.0.0",
      "failed": [],
      "label": "SIMULATED: checked against the supplied proposal and lab state; no instrument was contacted and nothing was sent to hardware.",
      "needs_human": [],
      "prev_record_hash": "e6ca09043b531e1c1183ca58c566e3f08b0bb6b35fb4607d77e39c4dfa7b71b4",
      "proposal": {
        "agent": "agent:pcr-runner",
        "approvals": [],
        "authority": {
          "expires_at": "2026-11-12T18:00:00Z",
          "issuer": "lab-manager@example-lab",
          "max_biosafety_level": 1,
          "max_volume_ul": 500,
          "scope": [
            "aspirate:liquid-handler-1",
            "dispense:liquid-handler-1",
            "transfer:liquid-handler-1",
            "mix:liquid-handler-1",
            "seal:plate-sealer-1",
            "heat:thermocycler-1",
            "centrifuge:centrifuge-1"
          ],
          "subject": "agent:pcr-runner"
        },
        "lab": {
          "biosafety_level": 2,
          "id": "example-lab"
        },
        "now": "2026-11-12T09:00:00Z",
        "schema": "cain42.a75.lab.proposal.v1",
        "state": {
          "exposure": {
            "hazardous_limit_ul": 100,
            "hazardous_used_ul": 0
          },
          "instruments": {
            "centrifuge-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_rpm": 15000
              },
              "status": "READY",
              "type": "centrifuge"
            },
            "liquid-handler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_volume_ul": 1000,
                "min_volume_ul": 1
              },
              "status": "READY",
              "type": "liquid_handler"
            },
            "plate-sealer-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {},
              "status": "READY",
              "type": "sealer"
            },
            "thermocycler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_temp_c": 99,
                "min_temp_c": 4
              },
              "status": "READY",
              "type": "thermocycler"
            }
          },
          "inventory": {
            "lentivirus-prep-3": {
              "available_ul": 500,
              "expires_at": "2026-12-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 2,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "master-mix-lot-7": {
              "available_ul": 4980.0,
              "expires_at": "2027-03-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "primer-set-12": {
              "available_ul": 795.0,
              "expires_at": "2027-01-15T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "sodium-azide-1pct": {
              "available_ul": 1000,
              "expires_at": "2027-06-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [
                  "H300",
                  "H410"
                ],
                "select_agent": false
              }
            }
          },
          "labware": {
            "plate-96-1": {
              "capacity_ul": 200,
              "contents_ul": 25.0,
              "sealed": true,
              "type": "plate"
            },
            "reservoir-A": {
              "capacity_ul": 50000,
              "contents_ul": 20000,
              "sealed": false,
              "type": "reservoir"
            }
          }
        },
        "step": {
          "action": "centrifuge",
          "destination": "plate-96-1",
          "instrument": "centrifuge-1",
          "seq": 5,
          "speed_rpm": 1000
        }
      },
      "proposal_sha256": "35278ee95ec36f6277f2dfc57791749e75f187ca5393ac0e2c2f4be0fe3189c0",
      "public_key_b64": "uow6SNujj4Cuk0GHsw7fxAuDPldKTC7xuWWinaewO40=",
      "record_hash": "3e3c1d46fac735c5180b3fb5feaa0ab66f9da7c22e54bb6991400b07dee5f27b",
      "schema": "cain42.a75.lab.preflight.record.v1",
      "signature_b64": "OlVSI7nvLm9/Qi/lIX1izFvP+k/qoRqTGDDLoX/E3y2AN53qeO04j80qzaSqBPkzfiPj9TI5yHOybTEhHfnbBw==",
      "simulated": true,
      "verdict": "ALLOW"
    },
    {
      "checks": [
        {
          "detail": "subject 'agent:pcr-runner', agent 'agent:pcr-runner'",
          "id": "authority.subject",
          "ok": true
        },
        {
          "detail": "expires 2026-11-12T18:00:00Z",
          "id": "authority.not_expired",
          "ok": true
        },
        {
          "detail": "heat:thermocycler-1",
          "id": "authority.scope",
          "ok": true
        },
        {
          "detail": "0.0 uL vs 500 uL",
          "id": "authority.max_volume",
          "ok": true
        },
        {
          "detail": "reagent BSL-1, authority ceiling BSL-1",
          "id": "authority.max_bsl",
          "ok": true
        },
        {
          "detail": "thermocycler-1",
          "id": "instrument.known",
          "ok": true
        },
        {
          "detail": "status 'READY'",
          "id": "instrument.ready",
          "ok": true
        },
        {
          "detail": "calibrated until 2026-12-31T00:00:00Z",
          "id": "instrument.calibrated",
          "ok": true
        },
        {
          "detail": "95.0 C vs [4, 99]",
          "id": "instrument.temperature",
          "ok": true
        },
        {
          "detail": "plate-96-1",
          "id": "labware.destination_known",
          "ok": true
        }
      ],
      "created_at": "2026-11-12T07:59:12Z",
      "engine": "a75-002/1.0.0",
      "failed": [],
      "label": "SIMULATED: checked against the supplied proposal and lab state; no instrument was contacted and nothing was sent to hardware.",
      "needs_human": [],
      "prev_record_hash": "3e3c1d46fac735c5180b3fb5feaa0ab66f9da7c22e54bb6991400b07dee5f27b",
      "proposal": {
        "agent": "agent:pcr-runner",
        "approvals": [],
        "authority": {
          "expires_at": "2026-11-12T18:00:00Z",
          "issuer": "lab-manager@example-lab",
          "max_biosafety_level": 1,
          "max_volume_ul": 500,
          "scope": [
            "aspirate:liquid-handler-1",
            "dispense:liquid-handler-1",
            "transfer:liquid-handler-1",
            "mix:liquid-handler-1",
            "seal:plate-sealer-1",
            "heat:thermocycler-1",
            "centrifuge:centrifuge-1"
          ],
          "subject": "agent:pcr-runner"
        },
        "lab": {
          "biosafety_level": 2,
          "id": "example-lab"
        },
        "now": "2026-11-12T09:00:00Z",
        "schema": "cain42.a75.lab.proposal.v1",
        "state": {
          "exposure": {
            "hazardous_limit_ul": 100,
            "hazardous_used_ul": 0
          },
          "instruments": {
            "centrifuge-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_rpm": 15000
              },
              "status": "READY",
              "type": "centrifuge"
            },
            "liquid-handler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_volume_ul": 1000,
                "min_volume_ul": 1
              },
              "status": "READY",
              "type": "liquid_handler"
            },
            "plate-sealer-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {},
              "status": "READY",
              "type": "sealer"
            },
            "thermocycler-1": {
              "calibrated_until": "2026-12-31T00:00:00Z",
              "limits": {
                "max_temp_c": 99,
                "min_temp_c": 4
              },
              "status": "READY",
              "type": "thermocycler"
            }
          },
          "inventory": {
            "lentivirus-prep-3": {
              "available_ul": 500,
              "expires_at": "2026-12-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 2,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "master-mix-lot-7": {
              "available_ul": 4980.0,
              "expires_at": "2027-03-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "primer-set-12": {
              "available_ul": 795.0,
              "expires_at": "2027-01-15T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [],
                "select_agent": false
              }
            },
            "sodium-azide-1pct": {
              "available_ul": 1000,
              "expires_at": "2027-06-01T00:00:00Z",
              "hazard": {
                "biosafety_level": 1,
                "controlled": false,
                "ghs": [
                  "H300",
                  "H410"
                ],
                "select_agent": false
              }
            }
          },
          "labware": {
            "plate-96-1": {
              "capacity_ul": 200,
              "contents_ul": 25.0,
              "sealed": true,
              "type": "plate"
            },
            "reservoir-A": {
              "capacity_ul": 50000,
              "contents_ul": 20000,
              "sealed": false,
              "type": "reservoir"
            }
          }
        },
        "step": {
          "action": "heat",
          "destination": "plate-96-1",
          "duration_s": 180,
          "instrument": "thermocycler-1",
          "seq": 6,
          "temperature_c": 95
        }
      },
      "proposal_sha256": "484f0ea734a7d7478940262c866364e8c38d510928587201c68fb9721d8c0aee",
      "public_key_b64": "uow6SNujj4Cuk0GHsw7fxAuDPldKTC7xuWWinaewO40=",
      "record_hash": "11d80901af2e1f927ae7d3e993460e400239aaf1da01604a152fc8c7b449ce1e",
      "schema": "cain42.a75.lab.preflight.record.v1",
      "signature_b64": "bbg7/XMLk3RmyV8zCRakn5GoD1kQkRNazgGFgTTwK/ssu3gbDWNV+9Z2EqMXQLH3yTf95YqwMExre0ICb1PLCg==",
      "simulated": true,
      "verdict": "ALLOW"
    }
  ],
  "run_hash": "d2fd4cfdfecf6ea35bedf7220213b9840d736ad57fc7a70bf446bb126b50620c",
  "schema": "cain42.a75.lab.preflight.run.v1",
  "steps_allowed": 6,
  "steps_total": 6,
  "verdict": "ALLOW"
}
