{
 "about": {
  "method": "michaelis-menten-profile-interval",
  "recordedOn": "2026-10-12",
  "script": "pipeline/assay-analyser/oracles/michaelis_menten_profile_v2.py",
  "scriptSha256": "6e4e46f614b6ad0b511a83d44ef438d7da7c9a0e9982adc24ca27db1c5d1500d",
  "origin": "Self-constructed rates from known parameters, with fixed noise vectors; the coverage replicates from a seeded NumPy generator",
  "tolerances": {
   "threshold": "within 1e-8 relative",
   "finite bounds": "within 1e-3 absolute in ln units of the direct profile",
   "statuses, reasons and the poorly-determined flag": "exact, with the same box",
   "kcat interval": "within 1e-3 relative (the Vmax tolerance carried through a division)"
  },
  "crossCheck": {
   "tool": "R stats::nls with a direct likelihood-ratio profile (optimize, uniroot) and confint()",
   "version": "R version 4.4.3 (2025-02-28)",
   "script": "pipeline/assay-analyser/oracles/r/michaelis_menten_confint.R",
   "scriptSha256": "954e7b31721f7bb50d9cf119e1b8984a55781c72e30f6fbcc5bd861444d8602c",
   "ran": true,
   "settings": "nls.control(maxiter = 1000, tol = 1e-8, then 1e-6 as reference.R's NLS_TOLERANCES, minFactor = 1e-12, scaleOffset = 1), started from the SciPy estimates; each case records the tolerance that held; scaleOffset 1 because R's convergence test divides by the residual size, which is zero on noiseless data",
   "tolerances": {
    "estimates": "1e-5 relative",
    "threshold": "1e-8 relative",
    "bounds": "1e-3 ln units, R's direct profile on every side SciPy resolves (status crossing); a side SciPy ends at the search box is recorded, not compared (R has no box)",
    "confint": "recorded with the same 1e-3 ln test and r = (RSS - RSSmin) / (threshold - RSSmin) from R's own profile at each confint bound; not part of agreement"
   },
   "cases": 8,
   "agreeing": 8,
   "scipyOnly": [
    {
     "case": "bound-contact",
     "status": "bound"
    }
   ],
   "result": [
    {
     "case": "noisy-duplicates",
     "converged": true,
     "nlsTol": 1e-08,
     "parameters": {
      "vmax": 10.0171060990385,
      "km": 2.0093835959615
     },
     "maxRelativeDifference": 4.61064077466843e-15,
     "direct": {
      "rssMin": 0.199301611800666,
      "threshold": 0.27814575039923,
      "thresholdRelativeDifference": 7.983030645132091e-16,
      "rssAtEstimate": {
       "km": 0.199301611800666,
       "vmax": 0.199301611800666
      },
      "sides": {
       "km.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 0.623487179081403,
         "value": 1.86542177264827,
         "bracket": [
          0.567828006362658,
          0.647828006362658
         ]
        },
        "lnDifference": 6.460387780293786e-13
       },
       "km.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 0.772155975607924,
         "value": 2.16442768030221,
         "bracket": [
          0.747828006362658,
          0.827828006362658
         ]
        },
        "lnDifference": 6.495914917081791e-13
       },
       "vmax.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 2.28070993312199,
         "value": 9.78362366310598,
         "bracket": [
          2.25429424147115,
          2.30429424147115
         ]
        },
        "lnDifference": 1.4916956558863603e-12
       },
       "vmax.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 2.32809177030129,
         "value": 10.2583475606142,
         "bracket": [
          2.30429424147115,
          2.35429424147115
         ]
        },
        "lnDifference": 8.286704655802168e-13
       }
      }
     },
     "confint": {
      "km.low": {
       "compared": true,
       "r": 1.86542245295974,
       "lnDifference": 3.64695079135835e-07,
       "rDirect": 0.999990193004493
      },
      "km.high": {
       "compared": true,
       "r": 2.1644370016967,
       "lnDifference": 4.306623828109757e-06,
       "rDirect": 1.00011585267779
      },
      "vmax.low": {
       "compared": true,
       "r": 9.78362490041813,
       "lnDifference": 1.264691613656055e-07,
       "rDirect": 0.9999892317276
      },
      "vmax.high": {
       "compared": true,
       "r": 10.2583544408519,
       "lnDifference": 6.706954325252923e-07,
       "rDirect": 1.00005608814329
      }
     },
     "agrees": true,
     "confintAgrees": true
    },
    {
     "case": "noisy-with-kcat",
     "converged": true,
     "nlsTol": 1e-08,
     "parameters": {
      "vmax": 10.0171060990385,
      "km": 2.0093835959615
     },
     "maxRelativeDifference": 4.61064077466843e-15,
     "direct": {
      "rssMin": 0.199301611800666,
      "threshold": 0.27814575039923,
      "thresholdRelativeDifference": 7.983030645132091e-16,
      "rssAtEstimate": {
       "km": 0.199301611800666,
       "vmax": 0.199301611800666
      },
      "sides": {
       "km.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 0.623487179081403,
         "value": 1.86542177264827,
         "bracket": [
          0.567828006362658,
          0.647828006362658
         ]
        },
        "lnDifference": 6.460387780293786e-13
       },
       "km.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 0.772155975607924,
         "value": 2.16442768030221,
         "bracket": [
          0.747828006362658,
          0.827828006362658
         ]
        },
        "lnDifference": 6.495914917081791e-13
       },
       "vmax.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 2.28070993312199,
         "value": 9.78362366310598,
         "bracket": [
          2.25429424147115,
          2.30429424147115
         ]
        },
        "lnDifference": 1.4916956558863603e-12
       },
       "vmax.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 2.32809177030129,
         "value": 10.2583475606142,
         "bracket": [
          2.30429424147115,
          2.35429424147115
         ]
        },
        "lnDifference": 8.286704655802168e-13
       }
      }
     },
     "confint": {
      "km.low": {
       "compared": true,
       "r": 1.86542245295974,
       "lnDifference": 3.64695079135835e-07,
       "rDirect": 0.999990193004493
      },
      "km.high": {
       "compared": true,
       "r": 2.1644370016967,
       "lnDifference": 4.306623828109757e-06,
       "rDirect": 1.00011585267779
      },
      "vmax.low": {
       "compared": true,
       "r": 9.78362490041813,
       "lnDifference": 1.264691613656055e-07,
       "rDirect": 0.9999892317276
      },
      "vmax.high": {
       "compared": true,
       "r": 10.2583544408519,
       "lnDifference": 6.706954325252923e-07,
       "rDirect": 1.00005608814329
      }
     },
     "agrees": true,
     "confintAgrees": true
    },
    {
     "case": "floor-four-levels",
     "converged": true,
     "nlsTol": 1e-08,
     "parameters": {
      "vmax": 9.9846568511377,
      "km": 2.00439331545471
     },
     "maxRelativeDifference": 1.5509054260866117e-15,
     "direct": {
      "rssMin": 0.050080002701883,
      "threshold": 0.513641053352645,
      "thresholdRelativeDifference": 1.080738209473807e-15,
      "rssAtEstimate": {
       "km": 0.050080002701883,
       "vmax": 0.0500800027018832
      },
      "sides": {
       "km.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 0.323133595229163,
         "value": 1.38144989369346,
         "bracket": [
          0.232541429162083,
          0.437341429162084
         ]
        },
        "lnDifference": 5.551115123125783e-17
       },
       "km.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 1.09367580745705,
         "value": 2.98522704956292,
         "bracket": [
          0.953341429162084,
          1.15814142916208
         ]
        },
        "lnDifference": 1.7763568394002505e-15
       },
       "vmax.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 2.1750020193149,
         "value": 8.80220289658913,
         "bracket": [
          2.17104959984136,
          2.25104959984136
         ]
        },
        "lnDifference": 1.2527756609870266e-12
       },
       "vmax.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 2.44607741592666,
         "value": 11.5429794914995,
         "bracket": [
          2.43104959984136,
          2.55904959984136
         ]
        },
        "lnDifference": 8.247624805335363e-12
       }
      }
     },
     "confint": {
      "km.low": {
       "compared": true,
       "r": 1.3819416486084,
       "lnDifference": 0.00035590679974245587,
       "rDirect": 0.998055527666186
      },
      "km.high": {
       "compared": true,
       "r": 2.98578894395201,
       "lnDifference": 0.00018820729716750861,
       "rDirect": 1.0008986271539
      },
      "vmax.low": {
       "compared": true,
       "r": 8.8024813346204,
       "lnDifference": 3.1632267715853146e-05,
       "rDirect": 0.999475345483763
      },
      "vmax.high": {
       "compared": true,
       "r": 11.5437583946329,
       "lnDifference": 6.747624828662424e-05,
       "rDirect": 1.00084306083863
      }
     },
     "agrees": true,
     "confintAgrees": true
    },
    {
     "case": "unsaturated",
     "converged": true,
     "nlsTol": 1e-08,
     "parameters": {
      "vmax": 5.59787091012532,
      "km": 18.6180633305556
     },
     "maxRelativeDifference": 2.0990287643220395e-15,
     "direct": {
      "rssMin": 6.24190576430606e-06,
      "threshold": 1.82710684591782e-05,
      "thresholdRelativeDifference": 2.5961177449594223e-15,
      "rssAtEstimate": {
       "km": 6.24190576430614e-06,
       "vmax": 6.24190576435102e-06
      },
      "sides": {
       "km.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 2.34923382896418,
         "value": 10.4775390617339,
         "bracket": [
          2.13365225626524,
          2.46133225626524
         ]
        },
        "lnDifference": 1.1675105326958146e-12
       },
       "km.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 4.27865400922109,
         "value": 72.1432704505452,
         "bracket": [
          4.23890025626524,
          5.07776105626524
         ]
        },
        "lnDifference": 7.283063041541027e-13
       },
       "vmax.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 1.17907852028085,
         "value": 3.25137674432393,
         "bracket": [
          0.931906330828327,
          1.25958633082833
         ]
        },
        "lnDifference": 1.638689184346731e-13
       },
       "vmax.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 3.04544732980501,
         "value": 21.0194317184494,
         "bracket": [
          3.03715433082833,
          3.87601513082833
         ]
        },
        "lnDifference": 4.306333067916057e-12
       }
      }
     },
     "confint": {
      "km.low": {
       "compared": true,
       "r": 11.2567293854017,
       "lnDifference": 0.07173228844542079,
       "rDirect": 0.713597662170886
      },
      "km.high": {
       "compared": true,
       "r": 72.1329192642576,
       "lnDifference": 0.00014349126176682603,
       "rDirect": 0.999897849983569
      },
      "vmax.low": {
       "compared": true,
       "r": 3.47549756032622,
       "lnDifference": 0.06665913131407586,
       "rDirect": 0.71420356174029
      },
      "vmax.high": {
       "compared": true,
       "r": 21.0164756501499,
       "lnDifference": 0.00014064491906662369,
       "rDirect": 0.999898744642908
      }
     },
     "note": "Bounds agree with R's direct profile (largest difference 4.3e-12 ln). R's confint lower bounds (Km 11.2567, Vmax 3.4755) are 0.0717 and 0.0667 ln narrower. R's own profile gives r = 0.714 and 0.714 there, so they fall inside the 95% region. This is interpolation error in confint, not a different interval.",
     "agrees": true,
     "confintAgrees": false
    },
    {
     "case": "unsaturated-noisy",
     "converged": true,
     "nlsTol": 1e-08,
     "parameters": {
      "vmax": 4.40894682365235,
      "km": 14.5323315187639
     },
     "maxRelativeDifference": 6.111740697308782e-16,
     "direct": {
      "rssMin": 0.000156041241823695,
      "threshold": 0.000456757970958066,
      "thresholdRelativeDifference": 7.121072262042968e-16,
      "rssAtEstimate": {
       "km": 0.000156041241823695,
       "vmax": 0.000156041241823694
      },
      "sides": {
       "km.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 1.19169748679132,
         "value": 3.29266572279426,
         "bracket": [
          0.522747127115801,
          1.3616079271158
         ]
        },
        "lnDifference": 1.2523315717771766e-13
       },
       "km.high": {
        "compared": false,
        "scipy": "search-limit",
        "r": {
         "status": "box"
        }
       },
       "vmax.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 0.159523870543357,
         "value": 1.17295226089435,
         "bracket": [
          -0.669992954560541,
          0.168867845439459
         ]
        },
        "lnDifference": 9.064970996064403e-14
       },
       "vmax.high": {
        "compared": false,
        "scipy": "search-limit",
        "r": {
         "status": "box"
        }
       }
      }
     },
     "confint": {
      "km.low": {
       "compared": true,
       "r": 9.13283131508926,
       "lnDifference": 1.0201782709228857,
       "rDirect": 0.0365209420680211
      },
      "km.high": {
       "compared": false,
       "scipy": "search-limit",
       "r": null,
       "rDirect": null
      },
      "vmax.low": {
       "compared": true,
       "r": 2.80076476709586,
       "lnDifference": 0.8703686404500462,
       "rDirect": 0.0407833363132965
      },
      "vmax.high": {
       "compared": false,
       "scipy": "search-limit",
       "r": null,
       "rDirect": null
      }
     },
     "note": "Bounds agree with R's direct profile (largest difference 1.3e-13 ln). R's confint lower bounds (Km 9.13283, Vmax 2.80076) are 1.02 and 0.87 ln narrower. R's own profile gives r = 0.0365 and 0.0408 there, so they fall inside the 95% region. This is interpolation error in confint, not a different interval. Upper sides end at the search box and are not compared.",
     "agrees": true,
     "confintAgrees": false
    },
    {
     "case": "noiseless",
     "converged": true,
     "nlsTol": 1e-08,
     "parameters": {
      "vmax": 10,
      "km": 2
     },
     "maxRelativeDifference": 1.77635683940025e-16,
     "direct": {
      "compared": false,
      "scipy": "not-available",
      "reason": "zero-residual"
     },
     "confint": {
      "compared": false,
      "scipy": "not-available",
      "reason": "zero-residual"
     },
     "note": "Zero residual: no interval; R's estimates agree.",
     "agrees": true,
     "confintAgrees": null
    },
    {
     "case": "metamorphic-substrate-mM",
     "converged": true,
     "nlsTol": 1e-08,
     "parameters": {
      "vmax": 10.0171060992964,
      "km": 0.00200938359606964
     },
     "maxRelativeDifference": 1.9424503258523423e-15,
     "direct": {
      "rssMin": 0.199301611800666,
      "threshold": 0.27814575039923,
      "thresholdRelativeDifference": 5.987272983849061e-16,
      "rssAtEstimate": {
       "km": 0.199301611800666,
       "vmax": 0.199301611800666
      },
      "sides": {
       "km.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": -6.28426809990073,
         "value": 0.00186542177264827,
         "bracket": [
          -6.33992727256566,
          -6.25992727256566
         ]
        },
        "lnDifference": 6.430411758628907e-13
       },
       "km.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": -6.13559930337421,
         "value": 0.00216442768030221,
         "bracket": [
          -6.15992727256566,
          -6.07992727256566
         ]
        },
        "lnDifference": 6.519229600598919e-13
       },
       "vmax.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 2.28070993312199,
         "value": 9.78362366310597,
         "bracket": [
          2.2542942414969,
          2.3042942414969
         ]
        },
        "lnDifference": 1.4916956558863603e-12
       },
       "vmax.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 2.32809177030129,
         "value": 10.2583475606142,
         "bracket": [
          2.3042942414969,
          2.3542942414969
         ]
        },
        "lnDifference": 8.286704655802168e-13
       }
      }
     },
     "confint": {
      "km.low": {
       "compared": true,
       "r": 0.00186542245296231,
       "lnDifference": 3.6469645614545243e-07,
       "rDirect": 0.999990192967437
      },
      "km.high": {
       "compared": true,
       "r": 0.00216443700169642,
       "lnDifference": 4.30662369854673e-06,
       "rDirect": 1.00011585267435
      },
      "vmax.low": {
       "compared": true,
       "r": 9.78362490041397,
       "lnDifference": 1.2646873592814245e-07,
       "rDirect": 0.999989231763881
      },
      "vmax.high": {
       "compared": true,
       "r": 10.25835444085,
       "lnDifference": 6.70695247784181e-07,
       "rDirect": 1.00005608812781
      }
     },
     "agrees": true,
     "confintAgrees": true
    },
    {
     "case": "metamorphic-rate-nM-per-min",
     "converged": true,
     "nlsTol": 1e-08,
     "parameters": {
      "vmax": 10017.1061012591,
      "km": 2.00938359756338
     },
     "maxRelativeDifference": 3.813354584480386e-15,
     "direct": {
      "rssMin": 199301.611800666,
      "threshold": 278145.75039923,
      "thresholdRelativeDifference": 2.092703585437505e-16,
      "rssAtEstimate": {
       "km": 199301.611800666,
       "vmax": 199301.611800666
      },
      "sides": {
       "km.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 0.623487179081404,
         "value": 1.86542177264827,
         "bracket": [
          0.56782800715986,
          0.64782800715986
         ]
        },
        "lnDifference": 6.447065103998284e-13
       },
       "km.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 0.772155975607924,
         "value": 2.16442768030221,
         "bracket": [
          0.74782800715986,
          0.82782800715986
         ]
        },
        "lnDifference": 6.497025140106416e-13
       },
       "vmax.low": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 9.18846521210413,
         "value": 9783.62366310597,
         "bracket": [
          9.16204952067498,
          9.21204952067498
         ]
        },
        "lnDifference": 1.4956924587750109e-12
       },
       "vmax.high": {
        "compared": true,
        "r": {
         "status": "crossing",
         "ln": 9.23584704928343,
         "value": 10258.3475606142,
         "bracket": [
          9.21204952067498,
          9.26204952067498
         ]
        },
        "lnDifference": 8.260059303211165e-13
       }
      }
     },
     "confint": {
      "error": "number of iterations exceeded maximum of 1000"
     },
     "note": "R confint stopped: 'number of iterations exceeded maximum of 1000'. R's direct profile agrees (1.5e-12 ln).",
     "agrees": true,
     "confintAgrees": false
    }
   ],
   "summary": "R direct profile agrees on 7 of 7 cases with an interval; R confint agrees on 4 of 7.",
   "confintAgreeing": 4,
   "ruling": "docs/board/memos/2026-10-12-cso-michaelis-menten-profile-r-cross-check.md",
   "mass": "7.3-64",
   "confintFrom": "stats"
  },
  "coverage": {
   "replicates": 2000,
   "seed": 20261010,
   "noise": "Gaussian, SD 0.02 x true Vmax",
   "unresolvedSides": "counted as open to the search box",
   "designs": [
    {
     "design": "saturating-7x2",
     "about": "7 levels x 2 at 0.125 to 8 x Km (Vmax 10, Km 2)",
     "replicates": 2000,
     "noiseSd": "0.02 x true Vmax",
     "errors": 0,
     "withEstimate": 2000,
     "noEstimateFraction": 0.0,
     "km": {
      "coverage": 0.9525,
      "wilson95": [
       0.9422790928066445,
       0.9609859794038216
      ],
      "unresolvedFraction": 0.0
     },
     "vmax": {
      "coverage": 0.95,
      "wilson95": [
       0.9395558910656041,
       0.9587187663812682
      ],
      "unresolvedFraction": 0.0
     }
    },
    {
     "design": "floor-4x1",
     "about": "4 levels x 1 at 0.25, 0.5, 2 and 4 x Km (Vmax 10, Km 2)",
     "replicates": 2000,
     "noiseSd": "0.02 x true Vmax",
     "errors": 0,
     "withEstimate": 2000,
     "noEstimateFraction": 0.0,
     "km": {
      "coverage": 0.943,
      "wilson95": [
       0.9319642649870394,
       0.9523372311217704
      ],
      "unresolvedFraction": 0.0
     },
     "vmax": {
      "coverage": 0.946,
      "wilson95": [
       0.9352121487009426,
       0.9550778451241797
      ],
      "unresolvedFraction": 0.0
     }
    },
    {
     "design": "unsaturated-6x1",
     "about": "6 levels x 1 at 0.1 to 1 against Km 20 (Vmax 6): the fixture's unsaturated design",
     "replicates": 2000,
     "noiseSd": "0.02 x true Vmax",
     "errors": 0,
     "withEstimate": 967,
     "noEstimateFraction": 0.5165,
     "km": {
      "coverage": 0.9607032057911065,
      "wilson95": [
       0.9465229468549059,
       0.9712376121990105
      ],
      "unresolvedFraction": 0.9886246122026887
     },
     "vmax": {
      "coverage": 0.9607032057911065,
      "wilson95": [
       0.9465229468549059,
       0.9712376121990105
      ],
      "unresolvedFraction": 0.9772492244053774
     }
    }
   ],
   "gate": "the saturating design must cover at least 0.90 for both Km and Vmax before the copy says approximate 95 percent",
   "gatePassed": true
  },
  "computedBy": {
   "script": "pipeline/assay-analyser/oracles/michaelis_menten_profile.py",
   "sha256": "f5437209ff5ddddd5a0e4f45867eb7b428ef1230087c1f4a820ed3cd0e919a84",
   "lineage": "pipeline/assay-analyser/oracles/lineage.py",
   "lineageSha256": "e122fc0c22e32c739645d7866e9a4c723c5d4279f7c08f4f7e548ad194005d27",
   "note": "the base script run by the wrapper in a temporary copy of its directory, never in place"
  },
  "environment": {
   "image": "ghcr.io/biotechmat/drybench/oracle-env:11b8a5e4456df7eb@sha256:7e69891ca1d9f24838660e0a9887bdb654ce7771d2f2ac7e7275e9b1eb3b6a09",
   "r": "R version 4.4.3 (2025-02-28)",
   "packages": {
    "jsonlite": "2.0.0",
    "MASS": "7.3-64"
   },
   "python": "3.11.15",
   "numpy": "2.0.2",
   "scipy": "1.13.1",
   "recordedOn": "2026-10-12",
   "cpu": "AMD EPYC 9V74 80-Core Processor",
   "cpuClass": "x86-64-v3",
   "simd": [
    "SSSE3",
    "SSE41",
    "POPCNT",
    "SSE42",
    "AVX",
    "F16C",
    "FMA3",
    "AVX2"
   ],
   "openblasCore": "Haswell",
   "threads": 1
  },
  "basedOn": {
   "file": "pipeline/assay-analyser/oracles/fixtures/michaelis-menten-profile.json",
   "version": "0.4.0",
   "sha256": "f5d68bd6d5b07628acb0d6aeaff6dcd7c26bcf59b9d326a16cf5145ad6c3c68c",
   "script": "pipeline/assay-analyser/oracles/michaelis_menten_profile.py",
   "scriptSha256": "f5437209ff5ddddd5a0e4f45867eb7b428ef1230087c1f4a820ed3cd0e919a84",
   "environment": "not recorded",
   "classes": {
    "rules": [
     {
      "pattern": "^cases\\[\\d+\\]\\.expected\\.km$",
      "class": "conc"
     },
     {
      "pattern": "^cases\\[\\d+\\]\\.expected\\.vmax$",
      "class": "span"
     },
     {
      "pattern": "^cases\\[\\d+\\]\\.expected\\.(rss|intervals\\.rssMin)$",
      "class": "rss"
     },
     {
      "pattern": "^cases\\[\\d+\\]\\.expected\\.intervals\\.(threshold|fQuantile)$",
      "class": "threshold"
     },
     {
      "pattern": "^cases\\[\\d+\\]\\.expected\\.intervals\\.(km|vmax)\\.(estimateLn|low\\.ln|high\\.ln)$",
      "class": "one"
     },
     {
      "pattern": "^cases\\[\\d+\\]\\.expected\\.intervals\\.km\\.(low|high)\\.value$",
      "class": "conc"
     },
     {
      "pattern": "^cases\\[\\d+\\]\\.expected\\.intervals\\.vmax\\.(low|high)\\.value$",
      "class": "span"
     },
     {
      "pattern": "^cases\\[\\d+\\]\\.expected\\.kcatInterval\\.(low|high)$",
      "class": "one"
     }
    ],
    "default": "exact",
    "spanFrom": "rate",
    "scales": "span: max - min of the case's spanFrom values; rss: 1e-20 x their sum of squares; one: 1; conc: 1e-6",
    "tolerance": 1e-08,
    "thresholdTolerance": 1e-10,
    "illConditioned": [
     {
      "case": "unsaturated-noisy",
      "fields": "^expected\\.(km|vmax|intervals\\.(km|vmax)\\.estimateLn)$"
     }
    ],
    "illTolerance": 1e-06,
    "illRssTolerance": 1e-12,
    "ruling": "docs/board/memos/2026-10-12-cso-lineage-tolerance-under-the-cpu-pin.md"
   },
   "agreement": {
    "exact": {
     "largestScaledDifference": 0.0,
     "where": "cases[0].substrate[0]",
     "tolerance": 0.0
    },
    "threshold": {
     "largestScaledDifference": 2.1614764189476186e-15,
     "where": "cases[2].expected.intervals.threshold",
     "tolerance": 1e-10
    },
    "rss": {
     "largestScaledDifference": 1.93937705682471e-13,
     "where": "cases[5].expected.rss",
     "tolerance": 1e-08
    },
    "one": {
     "largestScaledDifference": 4.344185198452077e-09,
     "where": "cases[3].expected.intervals.vmax.estimateLn",
     "tolerance": 1e-08
    },
    "span": {
     "largestScaledDifference": 7.4823651473595e-09,
     "where": "cases[3].expected.vmax",
     "tolerance": 1e-08
    },
    "conc": {
     "largestScaledDifference": 7.809930804518765e-09,
     "where": "cases[3].expected.km",
     "tolerance": 1e-08
    },
    "illConditioned": [
     {
      "case": "unsaturated-noisy",
      "fields": [
       "expected.intervals.km.estimateLn",
       "expected.intervals.vmax.estimateLn",
       "expected.km",
       "expected.vmax"
      ],
      "reason": "an unsaturated design (Km 14.5 against a highest substrate of 1.0): Km and Vmax move together along the ridge Vmax/Km determines, while the RSS agrees to about 1e-13",
      "measured": {
       "fields": {
        "expected.intervals.vmax.estimateLn": 7.04887993253555e-08,
        "expected.intervals.km.estimateLn": 4.1241133263948123e-08,
        "expected.vmax": 1.0457970753259887e-07,
        "expected.km": 1.1037677781212847e-07
       },
       "rss": {
        "expected.intervals.rssMin": 1.7370442580021697e-15,
        "expected.rss": 1.7370442580021697e-15
       }
      },
      "tolerances": {
       "fields": "1e-06 x max(|old|, scale of the field's class)",
       "rss": "1e-12 relative"
      },
      "ruling": "docs/board/memos/2026-10-12-cso-ill-conditioned-cases-and-ssfpl.md"
     }
    ]
   }
  }
 },
 "oracle": {
  "engine": "scipy.optimize.least_squares (trf, bounded) for the refits; scipy.optimize.curve_fit (trf, bounded, three starts) for the estimate",
  "threshold": "RSS_min * (1 + scipy.stats.f.ppf(0.95, 1, n - 2) / (n - 2))",
  "root": "scipy.optimize.brentq, xtol 1e-12",
  "steps": "0.02, 0.04, 0.08, ... ln units from the estimate, the last clamped to the box",
  "scipy": "1.13.1",
  "numpy": "2.0.2",
  "python": "3.11.15"
 },
 "cases": [
  {
   "name": "noisy-duplicates",
   "about": "Duplicate rates at seven levels (michaelis-menten.json's case): both bounds of both parameters cross the threshold",
   "substrate": [
    0.25,
    0.25,
    0.5,
    0.5,
    1,
    1,
    2,
    2,
    4,
    4,
    8,
    8,
    16,
    16
   ],
   "rate": [
    1.1377777777777778,
    1.0711111111111111,
    2.036,
    1.976,
    3.4333333333333336,
    3.2600000000000002,
    5.04,
    4.87,
    6.8933333333333335,
    6.5600000000000005,
    8.096,
    7.776,
    9.066666666666666,
    8.8
   ],
   "substrateUnit": "µM",
   "rateUnit": "µM/min",
   "enzyme": null,
   "expected": {
    "status": "estimated",
    "intervals": {
     "status": "computed",
     "level": 0.95,
     "df": 12,
     "fQuantile": 4.747225346722511,
     "rssMin": 0.19930161180066558,
     "threshold": 0.2781457503992298,
     "box": {
      "lnVmax": [
       -11.610905873330433,
       9.11235996361598
      ],
      "lnKm": [
       -8.294049640102028,
       9.680344001221918
      ]
     },
     "vmax": {
      "estimateLn": 2.304294241471153,
      "low": {
       "status": "crossing",
       "ln": 2.2807099331204985,
       "value": 9.783623663091372
      },
      "high": {
       "status": "crossing",
       "ln": 2.3280917703021187,
       "value": 10.258347560622736
      }
     },
     "km": {
      "estimateLn": 0.6978280063626576,
      "low": {
       "status": "crossing",
       "ln": 0.6234871790820491,
       "value": 1.8654217726494748
      },
      "high": {
       "status": "crossing",
       "ln": 0.7721559756072744,
       "value": 2.1644276803008062
      }
     },
     "kmPoorlyDetermined": false
    },
    "vmax": 10.017106099038454,
    "km": 2.0093835959614963,
    "rss": 0.19930161180066558
   }
  },
  {
   "name": "noisy-with-kcat",
   "about": "The duplicate series with 10 nM active enzyme: kcat's interval is the Vmax interval divided by [E]",
   "substrate": [
    0.25,
    0.25,
    0.5,
    0.5,
    1,
    1,
    2,
    2,
    4,
    4,
    8,
    8,
    16,
    16
   ],
   "rate": [
    1.1377777777777778,
    1.0711111111111111,
    2.036,
    1.976,
    3.4333333333333336,
    3.2600000000000002,
    5.04,
    4.87,
    6.8933333333333335,
    6.5600000000000005,
    8.096,
    7.776,
    9.066666666666666,
    8.8
   ],
   "substrateUnit": "µM",
   "rateUnit": "µM/min",
   "enzyme": {
    "value": 10,
    "unit": "nM"
   },
   "expected": {
    "status": "estimated",
    "intervals": {
     "status": "computed",
     "level": 0.95,
     "df": 12,
     "fQuantile": 4.747225346722511,
     "rssMin": 0.19930161180066558,
     "threshold": 0.2781457503992298,
     "box": {
      "lnVmax": [
       -11.610905873330433,
       9.11235996361598
      ],
      "lnKm": [
       -8.294049640102028,
       9.680344001221918
      ]
     },
     "vmax": {
      "estimateLn": 2.304294241471153,
      "low": {
       "status": "crossing",
       "ln": 2.2807099331204985,
       "value": 9.783623663091372
      },
      "high": {
       "status": "crossing",
       "ln": 2.3280917703021187,
       "value": 10.258347560622736
      }
     },
     "km": {
      "estimateLn": 0.6978280063626576,
      "low": {
       "status": "crossing",
       "ln": 0.6234871790820491,
       "value": 1.8654217726494748
      },
      "high": {
       "status": "crossing",
       "ln": 0.7721559756072744,
       "value": 2.1644276803008062
      }
     },
     "kmPoorlyDetermined": false
    },
    "vmax": 10.017106099038454,
    "km": 2.0093835959614963,
    "rss": 0.19930161180066558,
    "kcatInterval": {
     "low": 978.3623663091372,
     "high": 1025.8347560622735,
     "unit": "per minute",
     "basis": "Vmax interval divided by [E]; enzyme concentration taken as exact"
    }
   }
  },
  {
   "name": "floor-four-levels",
   "about": "The floor design, four levels once each with a fixed noise vector: the widest intervals the floor allows",
   "substrate": [
    0.5,
    1,
    4,
    8
   ],
   "rate": [
    2.11,
    3.1733333333333333,
    6.756666666666667,
    7.93
   ],
   "substrateUnit": "µM",
   "rateUnit": "µM/min",
   "enzyme": null,
   "expected": {
    "status": "estimated",
    "intervals": {
     "status": "computed",
     "level": 0.95,
     "df": 2,
     "fQuantile": 18.512820512820497,
     "rssMin": 0.050080002701882974,
     "threshold": 0.5136410533526455,
     "box": {
      "lnVmax": [
       -11.744857522317517,
       8.978408314628894
      ],
      "lnKm": [
       -7.600902459542082,
       8.987196820661973
      ]
     },
     "vmax": {
      "estimateLn": 2.3010495998413556,
      "low": {
       "status": "crossing",
       "ln": 2.1750020193136472,
       "value": 8.802202896578097
      },
      "high": {
       "status": "crossing",
       "ln": 2.4460774159184124,
       "value": 11.54297949140433
      }
     },
     "km": {
      "estimateLn": 0.6953414291620837,
      "low": {
       "status": "crossing",
       "ln": 0.3231335952291631,
       "value": 1.3814498936934627
      },
      "high": {
       "status": "crossing",
       "ln": 1.0936758074570518,
       "value": 2.9852270495629267
      }
     },
     "kmPoorlyDetermined": false
    },
    "vmax": 9.984656851137704,
    "km": 2.0043933154547067,
    "rss": 0.050080002701882974
   }
  },
  {
   "name": "unsaturated",
   "about": "Substrate only to 1 uM against a true Km of 20 uM (michaelis-menten.json's case, noise about 0.4 percent of the largest rate): every side resolves; recorded as found",
   "substrate": [
    0.1,
    0.2,
    0.4,
    0.6,
    0.8,
    1.0
   ],
   "rate": [
    0.03105074626865672,
    0.05850594059405942,
    0.11874705882352944,
    0.17335728155339802,
    0.23156923076923078,
    0.2851142857142857
   ],
   "substrateUnit": "µM",
   "rateUnit": "µM/min",
   "enzyme": null,
   "expected": {
    "status": "estimated",
    "intervals": {
     "status": "computed",
     "level": 0.95,
     "df": 4,
     "fQuantile": 7.708647422176786,
     "rssMin": 6.241905764306065e-06,
     "threshold": 1.8271068459178154e-05,
     "box": {
      "lnVmax": [
       -15.070375734551511,
       5.652890102394899
      ],
      "lnKm": [
       -9.210340371976182,
       6.907755278982137
      ]
     },
     "vmax": {
      "estimateLn": 1.7223863308283272,
      "low": {
       "status": "crossing",
       "ln": 1.1790785202806862,
       "value": 3.2513767443233905
      },
      "high": {
       "status": "crossing",
       "ln": 3.0454473298093165,
       "value": 21.019431718539913
      }
     },
     "km": {
      "estimateLn": 2.924132256265243,
      "low": {
       "status": "crossing",
       "ln": 2.3492338289653474,
       "value": 10.477539061746185
      },
      "high": {
       "status": "crossing",
       "ln": 4.278654009220362,
       "value": 72.14327045049238
      }
     },
     "kmPoorlyDetermined": false
    },
    "vmax": 5.597870910125325,
    "km": 18.61806333055556,
    "rss": 6.241905764306065e-06
   }
  },
  {
   "name": "unsaturated-noisy",
   "about": "The unsaturated design with five times that noise: the upper Km side stops unresolved where the refitted Vmax reaches its box (Vmax's box is reached first), the upper Vmax side reaches its own box unresolved, and the Km interval is poorly determined",
   "substrate": [
    0.1,
    0.2,
    0.4,
    0.6,
    0.8,
    1.0
   ],
   "rate": [
    0.03585074626865672,
    0.05490594059405942,
    0.12314705882352944,
    0.16775728155339803,
    0.23476923076923079,
    0.2827142857142857
   ],
   "substrateUnit": "µM",
   "rateUnit": "µM/min",
   "enzyme": null,
   "expected": {
    "status": "estimated",
    "intervals": {
     "status": "computed",
     "level": 0.95,
     "df": 4,
     "fQuantile": 7.708647422176786,
     "rssMin": 0.00015604124182369452,
     "threshold": 0.0004567579709580663,
     "box": {
      "lnVmax": [
       -15.078829040399159,
       5.644436796547253
      ],
      "lnKm": [
       -9.210340371976182,
       6.907755278982137
      ]
     },
     "vmax": {
      "estimateLn": 1.4836358454394598,
      "low": {
       "status": "crossing",
       "ln": 0.15952387054326636,
       "value": 1.172952260894248
      },
      "high": {
       "status": "search-limit",
       "reason": "profiled-at-box"
      }
     },
     "km": {
      "estimateLn": 2.676375927115802,
      "low": {
       "status": "crossing",
       "ln": 1.1916974867911947,
       "value": 3.2926657227938443
      },
      "high": {
       "status": "search-limit",
       "reason": "refitted-at-box"
      }
     },
     "kmPoorlyDetermined": true
    },
    "vmax": 4.408946823652353,
    "km": 14.53233151876391,
    "rss": 0.00015604124182369452
   }
  },
  {
   "name": "noiseless",
   "about": "Exact rates from Vmax 10 and Km 2: zero residual variance, interval not available (no search attempted)",
   "substrate": [
    0.25,
    0.5,
    1,
    2,
    4,
    8,
    16
   ],
   "rate": [
    1.1111111111111112,
    2.0,
    3.3333333333333335,
    5.0,
    6.666666666666667,
    8.0,
    8.88888888888889
   ],
   "substrateUnit": "µM",
   "rateUnit": "µM/min",
   "enzyme": null,
   "expected": {
    "status": "estimated",
    "intervals": {
     "status": "not-available",
     "reason": "zero-residual"
    },
    "vmax": 10.000000000000002,
    "km": 2.0,
    "rss": 8.332343311396937e-30
   }
  },
  {
   "name": "bound-contact",
   "about": "Rates exactly proportional to substrate: no estimate, so no interval",
   "substrate": [
    0.5,
    1,
    2,
    3,
    4
   ],
   "rate": [
    0.25,
    0.5,
    1,
    1.5,
    2
   ],
   "substrateUnit": "µM",
   "rateUnit": "µM/min",
   "enzyme": null,
   "expected": {
    "status": "bound",
    "intervals": {
     "status": "not-available",
     "reason": "no-estimate"
    }
   }
  },
  {
   "name": "metamorphic-substrate-mM",
   "about": "The noisy duplicates with substrate in mM (every value x 1e-3): Km and its bounds x 1e-3 exactly, Vmax and its bounds unchanged",
   "substrate": [
    0.00025,
    0.00025,
    0.0005,
    0.0005,
    0.001,
    0.001,
    0.002,
    0.002,
    0.004,
    0.004,
    0.008,
    0.008,
    0.016,
    0.016
   ],
   "rate": [
    1.1377777777777778,
    1.0711111111111111,
    2.036,
    1.976,
    3.4333333333333336,
    3.2600000000000002,
    5.04,
    4.87,
    6.8933333333333335,
    6.5600000000000005,
    8.096,
    7.776,
    9.066666666666666,
    8.8
   ],
   "substrateUnit": "mM",
   "rateUnit": "µM/min",
   "enzyme": null,
   "expected": {
    "status": "estimated",
    "intervals": {
     "status": "computed",
     "level": 0.95,
     "df": 12,
     "fQuantile": 4.747225346722511,
     "rssMin": 0.19930161180066588,
     "threshold": 0.2781457503992302,
     "box": {
      "lnVmax": [
       -11.610905873330433,
       9.11235996361598
      ],
      "lnKm": [
       -15.201804919084164,
       2.772588722239781
      ]
     },
     "vmax": {
      "estimateLn": 2.304294241496902,
      "low": {
       "status": "crossing",
       "ln": 2.2807099331204985,
       "value": 9.783623663091372
      },
      "high": {
       "status": "crossing",
       "ln": 2.3280917703021187,
       "value": 10.258347560622736
      }
     },
     "km": {
      "estimateLn": -6.209927272565662,
      "low": {
       "status": "crossing",
       "ln": -6.284268099900087,
       "value": 0.0018654217726494762
      },
      "high": {
       "status": "crossing",
       "ln": -6.135599303374862,
       "value": 0.002164427680300807
      }
     },
     "kmPoorlyDetermined": false
    },
    "vmax": 10.017106099296386,
    "km": 0.002009383596069636,
    "rss": 0.19930161180066588
   }
  },
  {
   "name": "metamorphic-rate-nM-per-min",
   "about": "The noisy duplicates with rates in nM/min (every value x 1e3): Vmax and its bounds x 1e3, Km and its bounds unchanged",
   "substrate": [
    0.25,
    0.25,
    0.5,
    0.5,
    1,
    1,
    2,
    2,
    4,
    4,
    8,
    8,
    16,
    16
   ],
   "rate": [
    1137.7777777777778,
    1071.111111111111,
    2036.0,
    1976.0,
    3433.3333333333335,
    3260.0000000000005,
    5040.0,
    4870.0,
    6893.333333333334,
    6560.000000000001,
    8096.0,
    7776.0,
    9066.666666666666,
    8800.0
   ],
   "substrateUnit": "µM",
   "rateUnit": "nM/min",
   "enzyme": null,
   "expected": {
    "status": "estimated",
    "intervals": {
     "status": "computed",
     "level": 0.95,
     "df": 12,
     "fQuantile": 4.747225346722511,
     "rssMin": 199301.61180066576,
     "threshold": 278145.75039923005,
     "box": {
      "lnVmax": [
       -4.703150594348295,
       16.020115242598116
      ],
      "lnKm": [
       -8.294049640102028,
       9.680344001221918
      ]
     },
     "vmax": {
      "estimateLn": 9.212049520674979,
      "low": {
       "status": "crossing",
       "ln": 9.188465212102635,
       "value": 9783.623663091366
      },
      "high": {
       "status": "crossing",
       "ln": 9.235847049284256,
       "value": 10258.347560622742
      }
     },
     "km": {
      "estimateLn": 0.6978280071598596,
      "low": {
       "status": "crossing",
       "ln": 0.6234871790820488,
       "value": 1.8654217726494744
      },
      "high": {
       "status": "crossing",
       "ln": 0.7721559756072743,
       "value": 2.164427680300806
      }
     },
     "kmPoorlyDetermined": false
    },
    "vmax": 10017.106101259138,
    "km": 2.0093835975633807,
    "rss": 199301.61180066576
   }
  }
 ]
}
