Culture Lab is a runnable virtual laboratory for an iPSC expansion-and-banking campaign. Investigate instrument discrepancies, choose measurements, change bounded perfusion settings, and assemble an evidence-linked simulated batch dossier.
Research status: all operating histories, faults, and QC results are synthetic. The process model is documented and tested, but has not been calibrated to raw experimental campaign data. This is a research simulator, not an empirically validated digital twin or a real batch-release system.
Still preview · Interface design and verification
The live app uses the shared dark-plum laboratory design, with a restrained eight-second liquid animation. Pause motion stops it; the app also respects reduced-motion preferences. The vessel and its motion are illustrative and do not model fluid dynamics or advance campaign time.
Requires Python 3.10 or newer and a modern browser. The application has no third-party Python packages, Node build step, model-service credentials, or external frontend dependencies.
git clone https://github.com/hiddenlif/VirtualLabIPSCBioreactor.git
cd VirtualLabIPSCBioreactor
python3 -m ipsc_lab.server --port 8840Open http://127.0.0.1:8840. On macOS, run.command starts the same server. Stop it with Ctrl+C. Sessions are saved in the ignored .runtime/ directory and survive server restarts. The server binds to loopback only.
- Start a masked campaign at 48 h after a retained routine warm-up.
- Request a metabolic panel, independent pH check, or delivery verification. Results arrive after their virtual delay and consume sample volume.
- Compare explanations, inspect assay validity, and intervene using available evidence. The simulator independently validates action limits and evidence prerequisites.
- Branch the campaign to explore another action. Each branch has its own state and history.
- Collect banking QC at or after the illustrative 114 h checkpoint, before the 120 h culture endpoint. Wait for delayed results.
- Review the complete evidence, record an accept/hold/reject recommendation, and export the dossier or sample CSV.
An invalid result stays in the record. A later passing result does not erase a valid failure. Recovery does not erase historical excursions. The numerical fast control loop and the optional diagnostic rule supervisor are conventional software; the interface does not label them as LLMs.
The retained study contains 126 synthetic comparator campaigns: seven scenarios, six reporting seeds, and three conventional policies. A separate four-episode Codex pilot records 44 actual decisions from the development conversation, including measurement selection, evidence-linked interventions, and final recommendations. Fresh replay reproduced all four pilot dossiers exactly.
| Conventional policy | Mean viable yield, million cells | Mean medium, mL | Mean adverse exposure, h | Unsafe simulated accepts / 42 |
|---|---|---|---|---|
| Fixed schedule | 314.3 | 318.3 | 21.9 | 2 |
| Sampled-glucose feedback | 387.4 | 507.5 | 21.9 | 1 |
| Diagnostic rule supervisor | 434.9 | 532.3 | 2.5 | 1 |
The experiment exposed an evidence-window failure: a valid 114 h QC sample can pass while simulated endpoint viability later falls below the illustrative minimum. Those failures are retained. The pilot collected QC at 118 h, made one hold and three accept recommendations, and agreed with the hidden endpoint screen in its four cases. It also spent more medium than the diagnostic rule comparator. These observations do not establish an AI advantage: the developer-model knew the simulator, case count was small, and control policies differed in sampling times and medium use.
Read the complete investigation and failure analysis, process model, and source audit.
python3 -m unittest discover -s tests -v
python3 scripts/verify_results.py
python3 scripts/reproduce.py --out reports/reproduction-checkThe reproduction command refuses an existing output directory. It reconstructs all comparator campaigns and replays the recorded model actions; it makes no new model calls. See reproducibility details and the completed verification record.
python3 -m pip install -r requirements-dev.txt
ruff check .
ruff format --check .Ruff is pinned to 0.17.2 and configured for Python 3.10+. The cleanup verification records tests, source provenance and scientific replay results.
| Location | Purpose |
|---|---|
ipsc_lab/ |
Process and measurement model, conventional policies, local HTTP API |
web/ |
Buildless interactive laboratory interface |
config/sop.json |
Versioned illustrative evidence contract |
tests/ |
Scientific accounting, timing, provenance, action and API checks |
reports/comparison-v1/ |
Frozen plan, 126 campaign dossiers, metrics and summary |
runs/model-pilot-v1/public/ |
Actual model observations, actions and rationales |
reports/model-pilot-v1/ |
Pilot dossiers, unmasked design and matched outcomes |
docs/ |
Model, source audit, investigation, reproduction and verification records |
The companion spatial tumor laboratory is maintained in its own repository.
See the public-release review for current checks. No project-code licence has been assigned.