{
 "about": {
  "method": "selection-stock@2.1.0",
  "supersedes": "selection-stock@2.0.0 (selection-stock-2.json, 0.10.0), whose every case this keeps unchanged; 2.1.0 adds a molar stock's weighing (basis \"formula-weight\") and a mass working concentration against a molar stock",
  "recordedOn": "2026-10-21",
  "script": "pipeline/lab-calculators/selection_2_1_reference.py",
  "scriptSha256": "f510b5d1203462cc31cc1d0e3605c28e20ebfd8b1f2587e1ad564639825672f7",
  "source": "The CSO's rulings on the selection screens, 21 October 2026 (docs/board/memos/2026-10-21-cso-preparation-screens.md), rulings 1 to 4, and its review of the built view (findings F1 and F2, cases a and b); every concentration is a stated example of the person's own entry, never a recommended or typical value",
  "equation": "final volume = vessels × volume per vessel × (1 + extra % / 100) + dead volume; stock = working concentration × final volume / stock concentration; medium = final volume − stock; weigh = stock concentration × stock to make / potency",
  "equationNote": "Extra and dead volume are applied once each, to the whole mixture with the stock in it, as in Antibody dilution. Volumes are assumed to add. With no potency entered, weigh = stock concentration × stock to make, as weighed.",
  "limits": "Weighed as the powder on the label, salt and water included; the label's potency rules.",
  "examples": "Every value in these cases is a stated example of the person's own entry; none may appear in the app as a prefill, placeholder or worked example.",
  "nonFinite": "An infinite or NaN value (a concentration, volume, vessel count, extra or dead volume) is refused with selection-input; JSON cannot carry it, so the engine's tests construct it.",
  "tolerances": {
   "values": "within 1e-9 relative",
   "refusals": "exact"
  }
 },
 "oracle": {
  "name": "Python fractions",
  "version": "3.13.16"
 },
 "count": 34,
 "recordedOn": "2026-10-21",
 "cases": [
  {
   "name": "single-vessel",
   "about": "One 500 mL vessel: stock to add and the medium to use, the stock part of the final volume (as the CSO's s05, with the person's own values)",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.5,
     "unit": "L",
     "exact": "0.500000000000000"
    },
    "stockToAdd": {
     "value": 0.001,
     "unit": "L",
     "exact": "0.001000000000000"
    },
    "mediumToUse": {
     "value": 0.499,
     "unit": "L",
     "exact": "0.499000000000000"
    },
    "perVessel": {
     "value": 0.001,
     "unit": "L",
     "exact": "0.001000000000000"
    },
    "dilution": {
     "value": 500.0,
     "unit": "fold",
     "exact": "500.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    }
   }
  },
  {
   "name": "cso-batch",
   "about": "The CSO's batch: 50 mg/mL stock, 50 µg/mL working, 4 x 250 mL, 10 % extra, no dead volume: 1,100 mL in all, 1.1 mL of stock, 1,098.9 mL of medium, 1,000-fold, 100 mL left over",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 50,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 50,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 250,
     "unit": "mL"
    },
    "vessels": 4,
    "extraPercent": 10,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 1.1,
     "unit": "L",
     "exact": "1.100000000000000"
    },
    "stockToAdd": {
     "value": 0.0011,
     "unit": "L",
     "exact": "0.001100000000000"
    },
    "mediumToUse": {
     "value": 1.0989,
     "unit": "L",
     "exact": "1.098900000000000"
    },
    "perVessel": {
     "value": 0.00025,
     "unit": "L",
     "exact": "0.000250000000000"
    },
    "dilution": {
     "value": 1000.0,
     "unit": "fold",
     "exact": "1000.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.1,
     "unit": "L",
     "exact": "0.100000000000000"
    }
   }
  },
  {
   "name": "cso-single",
   "about": "The CSO's single vessel: 500 mL gives 500 µL of stock and 499.5 mL of medium",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 50,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 50,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.5,
     "unit": "L",
     "exact": "0.500000000000000"
    },
    "stockToAdd": {
     "value": 0.0005,
     "unit": "L",
     "exact": "0.000500000000000"
    },
    "mediumToUse": {
     "value": 0.4995,
     "unit": "L",
     "exact": "0.499500000000000"
    },
    "perVessel": {
     "value": 0.0005,
     "unit": "L",
     "exact": "0.000500000000000"
    },
    "dilution": {
     "value": 1000.0,
     "unit": "fold",
     "exact": "1000.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    }
   }
  },
  {
   "name": "dead-volume",
   "about": "Two 100 mL vessels with 5 % extra and 10 mL dead volume, applied once to the whole mixture",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 100,
     "unit": "mL"
    },
    "vessels": 2,
    "extraPercent": 5,
    "dead": {
     "value": 10,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.22,
     "unit": "L",
     "exact": "0.220000000000000"
    },
    "stockToAdd": {
     "value": 0.00044,
     "unit": "L",
     "exact": "0.000440000000000"
    },
    "mediumToUse": {
     "value": 0.21956,
     "unit": "L",
     "exact": "0.219560000000000"
    },
    "perVessel": {
     "value": 0.0002,
     "unit": "L",
     "exact": "0.000200000000000"
    },
    "dilution": {
     "value": 500.0,
     "unit": "fold",
     "exact": "500.000000000000000"
    },
    "deadVolume": {
     "value": 0.01,
     "unit": "L",
     "exact": "0.010000000000000"
    },
    "leftOver": {
     "value": 0.01,
     "unit": "L",
     "exact": "0.010000000000000"
    }
   }
  },
  {
   "name": "cso-weigh-potency",
   "about": "The CSO's weighing: 50 mg/mL x 10 mL = 500 mg active; 500 mg / 0.750 = 666.7 mg of powder",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 50,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 50,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": 750,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.5,
     "unit": "L",
     "exact": "0.500000000000000"
    },
    "stockToAdd": {
     "value": 0.0005,
     "unit": "L",
     "exact": "0.000500000000000"
    },
    "mediumToUse": {
     "value": 0.4995,
     "unit": "L",
     "exact": "0.499500000000000"
    },
    "perVessel": {
     "value": 0.0005,
     "unit": "L",
     "exact": "0.000500000000000"
    },
    "dilution": {
     "value": 1000.0,
     "unit": "fold",
     "exact": "1000.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "weigh": {
     "value": 0.6666666666666666,
     "unit": "g",
     "exact": "0.666666666666667"
    },
    "weighBasis": {
     "value": "active",
     "unit": ""
    }
   }
  },
  {
   "name": "weigh-as-weighed",
   "about": "Potency blank: weigh = stock concentration x stock to make, as weighed, never 100 % active (the CSO's ruling 3)",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 50,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 50,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.5,
     "unit": "L",
     "exact": "0.500000000000000"
    },
    "stockToAdd": {
     "value": 0.0005,
     "unit": "L",
     "exact": "0.000500000000000"
    },
    "mediumToUse": {
     "value": 0.4995,
     "unit": "L",
     "exact": "0.499500000000000"
    },
    "perVessel": {
     "value": 0.0005,
     "unit": "L",
     "exact": "0.000500000000000"
    },
    "dilution": {
     "value": 1000.0,
     "unit": "fold",
     "exact": "1000.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "weigh": {
     "value": 0.5,
     "unit": "g",
     "exact": "0.500000000000000"
    },
    "weighBasis": {
     "value": "as-weighed",
     "unit": ""
    }
   }
  },
  {
   "name": "potency-1000",
   "about": "A potency of 1,000 µg/mg",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": 1000,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.5,
     "unit": "L",
     "exact": "0.500000000000000"
    },
    "stockToAdd": {
     "value": 0.001,
     "unit": "L",
     "exact": "0.001000000000000"
    },
    "mediumToUse": {
     "value": 0.499,
     "unit": "L",
     "exact": "0.499000000000000"
    },
    "perVessel": {
     "value": 0.001,
     "unit": "L",
     "exact": "0.001000000000000"
    },
    "dilution": {
     "value": 500.0,
     "unit": "fold",
     "exact": "500.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "weigh": {
     "value": 0.4,
     "unit": "g",
     "exact": "0.400000000000000"
    },
    "weighBasis": {
     "value": "active",
     "unit": ""
    }
   }
  },
  {
   "name": "typed-fw-with-potency",
   "about": "A formula weight the person typed, together with a potency: accepted (on the same basis as the potency)",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 50,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 50,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": 484.5,
    "fwSource": "typed",
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": 750,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.5,
     "unit": "L",
     "exact": "0.500000000000000"
    },
    "stockToAdd": {
     "value": 0.0005,
     "unit": "L",
     "exact": "0.000500000000000"
    },
    "mediumToUse": {
     "value": 0.4995,
     "unit": "L",
     "exact": "0.499500000000000"
    },
    "perVessel": {
     "value": 0.0005,
     "unit": "L",
     "exact": "0.000500000000000"
    },
    "dilution": {
     "value": 1000.0,
     "unit": "fold",
     "exact": "1000.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "weigh": {
     "value": 0.6666666666666666,
     "unit": "g",
     "exact": "0.666666666666667"
    },
    "weighBasis": {
     "value": "active",
     "unit": ""
    },
    "workingMolar": {
     "value": 0.00010319917440660474,
     "unit": "mol/L",
     "exact": "0.000103199174407"
    }
   }
  },
  {
   "name": "picked-resolves-dimension",
   "about": "A µM working concentration against a mg/mL stock, resolved by the formula weight picked from the reagent table (s07), no potency",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 130,
     "unit": "µM"
    },
    "stock": {
     "value": 50,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": 371.39,
    "fwSource": "picked",
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.5,
     "unit": "L",
     "exact": "0.500000000000000"
    },
    "stockToAdd": {
     "value": 0.000482807,
     "unit": "L",
     "exact": "0.000482807000000"
    },
    "mediumToUse": {
     "value": 0.499517193,
     "unit": "L",
     "exact": "0.499517193000000"
    },
    "perVessel": {
     "value": 0.000482807,
     "unit": "L",
     "exact": "0.000482807000000"
    },
    "dilution": {
     "value": 1035.6105027474746,
     "unit": "fold",
     "exact": "1035.610502747474664"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    }
   }
  },
  {
   "name": "molar-both",
   "about": "Molar working and stock need no formula weight",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 10,
     "unit": "µM"
    },
    "stock": {
     "value": 10,
     "unit": "mM"
    },
    "perVessel": {
     "value": 1,
     "unit": "L"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 1.0,
     "unit": "L",
     "exact": "1.000000000000000"
    },
    "stockToAdd": {
     "value": 0.001,
     "unit": "L",
     "exact": "0.001000000000000"
    },
    "mediumToUse": {
     "value": 0.999,
     "unit": "L",
     "exact": "0.999000000000000"
    },
    "perVessel": {
     "value": 0.001,
     "unit": "L",
     "exact": "0.001000000000000"
    },
    "dilution": {
     "value": 1000.0,
     "unit": "fold",
     "exact": "1000.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    }
   }
  },
  {
   "name": "molar-stock-weigh",
   "about": "The CSO's case (a): a 100 mM stock, 10 mL to make, a typed formula weight of 484.5 g/mol: weigh 0.4845 g, on the formula weight entered",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 100,
     "unit": "µM"
    },
    "stock": {
     "value": 100,
     "unit": "mM"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": 484.5,
    "fwSource": "typed",
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.5,
     "unit": "L",
     "exact": "0.500000000000000"
    },
    "stockToAdd": {
     "value": 0.0005,
     "unit": "L",
     "exact": "0.000500000000000"
    },
    "mediumToUse": {
     "value": 0.4995,
     "unit": "L",
     "exact": "0.499500000000000"
    },
    "perVessel": {
     "value": 0.0005,
     "unit": "L",
     "exact": "0.000500000000000"
    },
    "dilution": {
     "value": 1000.0,
     "unit": "fold",
     "exact": "1000.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "weigh": {
     "value": 0.4845,
     "unit": "g",
     "exact": "0.484500000000000"
    },
    "weighBasis": {
     "value": "formula-weight",
     "unit": ""
    }
   }
  },
  {
   "name": "mass-working-molar-stock",
   "about": "The CSO's case (b): 50 µg/mL working against a 100 mM stock through a typed 484.5 g/mol, one 500 mL vessel: 516.0 µL of stock",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 50,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 100,
     "unit": "mM"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": 484.5,
    "fwSource": "typed",
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.5,
     "unit": "L",
     "exact": "0.500000000000000"
    },
    "stockToAdd": {
     "value": 0.0005159958720330237,
     "unit": "L",
     "exact": "0.000515995872033"
    },
    "mediumToUse": {
     "value": 0.49948400412796695,
     "unit": "L",
     "exact": "0.499484004127967"
    },
    "perVessel": {
     "value": 0.0005159958720330237,
     "unit": "L",
     "exact": "0.000515995872033"
    },
    "dilution": {
     "value": 969.0,
     "unit": "fold",
     "exact": "969.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "workingMolar": {
     "value": 0.00010319917440660474,
     "unit": "mol/L",
     "exact": "0.000103199174407"
    }
   }
  },
  {
   "name": "mass-working-molar-stock-weigh",
   "about": "Case (b) with 10 mL to make: both new paths at once",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 50,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 100,
     "unit": "mM"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": 484.5,
    "fwSource": "typed",
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "ok",
   "expected": {
    "finalVolume": {
     "value": 0.5,
     "unit": "L",
     "exact": "0.500000000000000"
    },
    "stockToAdd": {
     "value": 0.0005159958720330237,
     "unit": "L",
     "exact": "0.000515995872033"
    },
    "mediumToUse": {
     "value": 0.49948400412796695,
     "unit": "L",
     "exact": "0.499484004127967"
    },
    "perVessel": {
     "value": 0.0005159958720330237,
     "unit": "L",
     "exact": "0.000515995872033"
    },
    "dilution": {
     "value": 969.0,
     "unit": "fold",
     "exact": "969.000000000000000"
    },
    "deadVolume": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "leftOver": {
     "value": 0.0,
     "unit": "L",
     "exact": "0E-15"
    },
    "weigh": {
     "value": 0.4845,
     "unit": "g",
     "exact": "0.484500000000000"
    },
    "weighBasis": {
     "value": "formula-weight",
     "unit": ""
    },
    "workingMolar": {
     "value": 0.00010319917440660474,
     "unit": "mol/L",
     "exact": "0.000103199174407"
    }
   }
  },
  {
   "name": "refuse-picked-salt-with-potency",
   "about": "A picked (salt) formula weight with a potency: refused (the CSO's ruling 4.5)",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 130,
     "unit": "µM"
    },
    "stock": {
     "value": 50,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": 371.39,
    "fwSource": "picked",
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": 900,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-picked-salt-potency"
  },
  {
   "name": "refuse-potency-iu",
   "about": "A potency in IU/mg: refused, activity units cannot become a mass",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": 1000,
     "unit": "IU/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-potency-unit"
  },
  {
   "name": "refuse-potency-units",
   "about": "A potency in units/mg: refused",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": 1000,
     "unit": "units/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-potency-unit"
  },
  {
   "name": "refuse-potency-over",
   "about": "A potency above 1,000 µg/mg",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": 1200,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-potency"
  },
  {
   "name": "refuse-potency-zero",
   "about": "A potency of 0",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": 0,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-potency"
  },
  {
   "name": "refuse-potency-molar",
   "about": "A potency with a molar stock",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 50,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 100,
     "unit": "mM"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": 484.5,
    "fwSource": "typed",
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": 750,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-potency-molar"
  },
  {
   "name": "refuse-working-equals-stock",
   "about": "Working at the stock concentration: a dilution cannot concentrate",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 0.08,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-stock-below-working"
  },
  {
   "name": "refuse-working-above-stock",
   "about": "Working above the stock",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 100,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 50,
     "unit": "µg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-stock-below-working"
  },
  {
   "name": "refuse-mass-molar-no-fw",
   "about": "µM working against a mg/mL stock with no formula weight (s06): refused, never converted",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 130,
     "unit": "µM"
    },
    "stock": {
     "value": 50,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-dimension"
  },
  {
   "name": "refuse-molar-weigh-no-fw",
   "about": "A molar stock to weigh with no formula weight",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 10,
     "unit": "µM"
    },
    "stock": {
     "value": 10,
     "unit": "mM"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": 10,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-dimension"
  },
  {
   "name": "refuse-vessels-fraction",
   "about": "A vessel count of 2.5",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 2.5,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-input"
  },
  {
   "name": "refuse-vessels-zero",
   "about": "A vessel count of 0",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 0,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-input"
  },
  {
   "name": "refuse-negative-extra",
   "about": "A negative extra",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": -5,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-input"
  },
  {
   "name": "refuse-negative-dead",
   "about": "A negative dead volume",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": -1,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-input"
  },
  {
   "name": "refuse-zero-working",
   "about": "A working concentration of 0",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 0,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-input"
  },
  {
   "name": "refuse-wrong-unit",
   "about": "A volume unit as the working concentration",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-dimension"
  },
  {
   "name": "refuse-zero-stock-volume-with-bad-potency",
   "about": "A stock volume of 0 with a potency of 1,200: the input step refuses it first",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": 0,
     "unit": "mL"
    },
    "potency": {
     "value": 1200,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "refused",
   "problem": "selection-input"
  },
  {
   "name": "blank-working",
   "about": "No working concentration yet: blank",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": null,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "blank",
   "problem": "selection-empty"
  },
  {
   "name": "blank-stock",
   "about": "No stock concentration yet: blank",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": null,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "blank",
   "problem": "selection-empty"
  },
  {
   "name": "blank-per-vessel",
   "about": "No volume per vessel yet: blank",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": null,
     "unit": "mL"
    },
    "vessels": 1,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "blank",
   "problem": "selection-empty"
  },
  {
   "name": "blank-vessels",
   "about": "No number of vessels yet: blank",
   "input": {
    "v": 1,
    "kind": "selection",
    "antibiotic": "as entered",
    "working": {
     "value": 80,
     "unit": "µg/mL"
    },
    "stock": {
     "value": 40,
     "unit": "mg/mL"
    },
    "perVessel": {
     "value": 500,
     "unit": "mL"
    },
    "vessels": null,
    "extraPercent": null,
    "dead": {
     "value": null,
     "unit": "mL"
    },
    "fw": null,
    "fwSource": null,
    "stockVolume": {
     "value": null,
     "unit": "mL"
    },
    "potency": {
     "value": null,
     "unit": "µg/mg"
    },
    "supplier": "",
    "catalogue": "",
    "lot": "",
    "sourceNote": ""
   },
   "expect": "blank",
   "problem": "selection-empty"
  }
 ]
}
