What on this page is read, computed, and illustrative
Every block below says where its contents came from.
Two of the six stages cannot be read from anywhere public: nobody publishes their run log and nobody publishes their raw measurements. Rather than quietly dress those up, they are marked, and the parts of them that are real are marked too. That distinction is the page, so it is made here first.
The research goal, the protocol prose, the section list, the design scores and the publication date, fetched from the open library when this page was requested.
The Fingerprint, the Rigor Score, the Passport, the citation string, the run step list and every statistic, returned by the shipped functions on this request. No model, no network call, no clock.
The run statuses and timings, and the measurement table. Invented for this page, held in one file named for what it is, and never described as observed.
- 01GoalA sentence and four constraints
- 02ProtocolSections, and an identity
- 03Rigor scoreSignals present, signals missing
- 04Run logSteps, timings, deviations
- 05StatisticsA table in, return values out
- 06PassportThe record a reviewer receives
The protocol is Insulin Dose-Response Quantification of Phospho-AKT (Ser473) and Total AKT by Western Blot in Differentiated 3T3-L1 Adipocytes on 2026-06-18. It was seeded by the Olto team while the open library fills, which is a fact about the library rather than about the protocol: the text, the scores and the grade are the same ones any reader gets from the public Passport.
It starts with a sentence, and the sentence is kept.
A methods section begins at the write-up, months after the decisions were made. This record begins at the question, because the question is a column on the protocol rather than something the author is trusted to remember.
Types one sentence describing the result they want, then picks the experiment type, the timeframe, the budget and the equipment already on the bench.
Reserves one metered AI call, drafts 12 structured sections, and stores the intake next to them so the brief and the protocol never come apart.
Measure phospho-AKT and total AKT levels by Western blot after insulin stimulation across a dose-response series in adipocytes.
This is the whole input. There is no prompt to engineer and no template to pick: the generator gets a sentence and four constraints, and every later stage is downstream of exactly this. You can put your own sentence through the same route at /try, with no account.
The model writes the prose. Then the prose gets an identity it cannot argue with.
A protocol is a document, and documents drift: reworded, reformatted, re-uploaded, cited three different ways. The moment this one existed it also acquired a content address, derived from what the experiment is rather than from how it happens to be written.
Reads all 12 sections, fixes what is wrong for their bench, and publishes it to the open library.
Stores the sections, scores the design, and distills the text to a canonical experimental form that is hashed into a Reproducibility Fingerprint.
- 01Objective683 chars
- 02Hypothesis626 chars
- 03Experimental Design776 chars
- 04Materials & Reagents1,301 chars
- 05Procedure3,225 chars
- 06Variables1,167 chars
- 07Control Groups893 chars
- 08Expected Results748 chars
- 09Statistical Analysis928 chars
- 10Quality & Reproducibility976 chars
- 11Troubleshooting1,790 chars
- 12Safety & Risk Notes1,096 chars
12 of 12 sections carry prose on this protocol.
Character counts, not a checklist of ticks. A section that exists but says nothing is a common failure of generated protocols, and a length is the cheapest thing that makes it visible. Read all of them at the library page.
This protocol aims to quantify the activation of AKT (protein kinase B) in response to a graded insulin dose-response series (0–100 nM) in fully differentiated 3T3-L1 adipocytes, measured as the ratio of phospho-AKT (Ser473) to total AKT by quantitative Western blot.…
Excerpt. The stored section continues.
Vehicle control (0 nM insulin; serum-free DMEM/0.1% BSA only) serves as the negative control to define basal phospho-AKT levels and confirm adequate serum starvation. The 100 nM insulin condition serves as the positive control, expected to produce maximal AKT phosphorylation; this condition also functions as the inter-blot normalization reference.…
Excerpt. The stored section continues.
Data will be expressed as mean ± SEM across n=3 biological replicates per concentration. A one-way ANOVA with Dunnett's post-hoc multiple comparison test (versus 0 nM vehicle) will be used to identify concentrations that significantly increase phospho-AKT/total AKT ratio (α=0.05; GraphPad Prism 10). Dose-response data will be fit to a four-parameter logistic (4PL) model [Y = Bottom + (Top-Bottom)/(1+10^((LogEC50-X)×HillSlope))] using nonlinear least-squares regression in Prism to extract EC50 and Hill coefficient with 95% confidence intervals.…
Excerpt. The stored section continues.
Shown so the reader can go and check them rather than take the summary. The Statistical Analysis section is the one to notice: it names the test, the correction and the model before a single measurement exists, which is what makes stage five an execution of a plan rather than a search for one.
rpf_fdgmv49dq6aqm0n64ege7tcaprTwo people writing this experiment differently land on the same identifier: 5 mL, 0.005 L and 5000 µL collapse to one token before anything is hashed, so wording and units drop out. The engine is pure, so you can re-derive this value yourself at the Fingerprint page and read how the canonical form is built in the specification. It is a content address, not a signature: it proves two texts describe the same experiment, and it proves nothing about who wrote either.
These four are the only numbers on this page a model produced. They are labelled that way here, and the Passport weighs them at less than a fifth of the total. The Fingerprint above and the Rigor Score next are computed rather than assessed, which is the distinction the rest of this page turns on.
Score the protocol before you run it, not after peer review.
The Rigor Score reads the protocol text and reports which reproducibility signals are present and which are missing. 7 checks, each one a published regular expression in a file you can open. It is not an opinion about the science and it never calls a protocol good.
Nothing. There is no form to fill in and no call to make: the score is a function of text that already exists.
Runs 7 checks over the flattened section text and returns a verdict and a reason for each, in the same millisecond it takes to render this row.
The score is the share of checks passed, and nothing else is folded into it. A missing signal is reported as a sentence telling you what to add, not as a penalty you have to reverse-engineer.
- Experimental controlspresentControls are specified for valid comparison.
- ReplicationpresentBiological/technical replicates are described.
- Sample size / powerpresentSample size or power is justified.
- Statistical analysispresentA statistical analysis plan is included.
- Quantitative parameterspresentConcentrations, volumes, times and temperatures are quantified.
- Randomization / blindingpresentRandomization and/or blinding is addressed.
- Safety considerationspresentSafety and handling considerations are noted.
Pure and heuristic, and both halves of that matter. Pure means no model, no network and no clock touch it, so you get this exact result and so does everyone else. Heuristic means it detects the vocabulary of rigor, not rigor itself: a protocol can name a control and still have chosen a bad one. The checks live in src/lib/protocol/rigor.ts, and those 7 patterns are the whole of the method.
Version the run, not the document.
Starting a run does not copy the protocol into a notebook. It turns the procedure into numbered steps, and what happens to each step is recorded against that step: the time it took, what was observed, and where the bench departed from the plan.
Opens the run on a tablet at the bench, works the steps in order, and writes down the one thing that went sideways instead of leaving it out.
Derives 8 steps from the procedure section, timestamps each one, and keeps deviations and findings attached to the step they happened on.
- 01Step 1 – Differentiation: Seed 3T3-L1 preadipocytes at 2×10⁴ cells/cm² in 6-well plates (day −2)completed10 d 04:20Oil Red O confirmed adipocyte morphology before stimulation.
- 02Step 2 – Serum starvation: On the day of stimulation, aspirate medium from all wells and wash once with 2 mL warm PBScompleted04:02:00
- 03Step 3 – Insulin stimulation: Prepare 8 insulin working solutions (0, 0completed00:15:00Eight working solutions prepared fresh; plate returned to the incubator between additions.
- 04Step 4 – Lysis: Aspirate insulin solution, place plate on ice, wash wells twice with 2 mL ice-cold PBSdeviated00:41:30Deviation. Well C3 reached lysis buffer roughly 90 s after the rest of the plate. Recorded against the step rather than discarded, so the deviation travels with the result.
- 05Step 5 – Protein quantification: Thaw lysates on ice; perform BCA assay in triplicate using 5 µL lysate + 200 µL BCA working reagent in a 96completed01:05:00BCA standard curve R-squared above the 0.99 gate written into the protocol.
- 06Step 6 – SDS-PAGE and transfer: Load 30 µg protein per lane on a 4–20% TGX gel alongside a pre-stained ladder (Bio-Rad Precision Plus, #1610completed03:20:00
- 07Step 7 – Immunoblotting: Block membrane in 5% BSA/TBST at RT for 1 hcompleted18:10:00Primary antibody incubated overnight at 4 degrees Celsius.
- 08Step 8 – Densitometry and normalization: Quantify band intensities using Image Lab 6completed00:35:00
Read the two halves separately. The step titles are real: they were derived from this protocol when you loaded the page, by the same extractStepsFromProtocol the product calls when a run starts. The statuses, the elapsed times and the notes are not: no run log is public, so those were written for this page. Illustrative input, not a real run. Nothing in this block was measured.
The vehicle lane of replicate 2 sits above the other two at baseline. Serum starvation was extended by 30 minutes for that replicate. Logged against the step it occurred on so the analysis is read next to it rather than after it.
A deviation that stays attached to its step is the difference between a result you can defend and a result you can only assert. This is the stage where most of the evidence a reviewer eventually wants is either captured or lost.
The analysis was chosen before the data existed.
Stage two fixed the statistical plan in writing. Here it is carried out: a table goes in, and what comes out is a return value with a test name, degrees of freedom and an effect size attached, rather than a sentence about significance.
Pastes the 24 measurements into the stats workbench and picks the test the protocol already named.
Returns the test statistic, the degrees of freedom, the p-value, the effect size and the fitted curve, and writes none of it in prose.
| Insulin (nM) | Rep 1 | Rep 2 | Rep 3 | Mean | SEM |
|---|---|---|---|---|---|
| 0 | 0.071 | 0.064 | 0.079 | 0.071 | 0.0043 |
| 0.1 | 0.086 | 0.078 | 0.094 | 0.086 | 0.0046 |
| 0.5 | 0.152 | 0.139 | 0.168 | 0.153 | 0.0084 |
| 1 | 0.244 | 0.221 | 0.263 | 0.243 | 0.0121 |
| 5 | 0.612 | 0.578 | 0.649 | 0.613 | 0.0205 |
| 10 | 0.802 | 0.771 | 0.836 | 0.803 | 0.0188 |
| 50 | 0.958 | 0.931 | 0.981 | 0.957 | 0.0144 |
| 100 | 1.000 | 0.972 | 1.028 | 1.000 | 0.0162 |
The mean and the standard error columns are already computed rather than typed: they come from describe() in the same module as the tests below.
Illustrative input, not a real run. Nothing in this block was measured. No experiment was performed and these values are evidence about nothing. They exist so the three blocks after them have something to consume, and every number in those blocks moves when a number here does.
The interpretation line is generated by the statistics module from its own return values, not written here, which is why it reads like a result rather than a claim: The 8 group means differ (η² = 0.997, i.e. 100% of variance explained); highly significant (p < 0.001). Run pairwise post-hoc comparisons to locate the differences.
| Comparison | Difference in means | p | p adjusted (Holm) | Verdict at 0.05 |
|---|---|---|---|---|
| 0 nM vs 0.1 nM | -0.015 | 8.2e-2 | 1.6e-1 | does not separate |
| 0 nM vs 0.5 nM | -0.082 | 3.3e-3 | 2.0e-2 | separates |
| 0 nM vs 1 nM | -0.171 | 2.2e-3 | 2.0e-2 | separates |
| 0 nM vs 5 nM | -0.542 | 9.4e-4 | 1.1e-2 | separates |
| 0 nM vs 10 nM | -0.732 | 3.7e-4 | 5.7e-3 | separates |
| 0 nM vs 50 nM | -0.885 | 8.7e-5 | 1.9e-3 | separates |
| 0 nM vs 100 nM | -0.929 | 1.3e-4 | 2.5e-3 | separates |
A discrepancy, stated rather than smoothed over. The protocol names Dunnett’s test. The workbench ships Holm-corrected pairwise comparisons, and that is what ran here. Two consequences, both worth knowing before you read the column: the correction was applied across all 28 pairwise comparisons rather than only the 7 against the control shown here, which makes these adjusted values more conservative than a many-to-one procedure would give; and if your analysis needs Dunnett specifically, this workbench does not have it yet.
Solved by Levenberg and Marquardt in 8 iterations, from a deterministic initial guess, so this fit is the same fit on every request. The parameter labels follow the module’s own parameterisation, y = d + (a − d) / (1 + (x/IC50)^b), in which the third parameter is the half-maximal concentration and the sign of the Hill coefficient follows the direction of the curve. In the product this runs in your browser and the table never leaves your machine; on this page it ran on the server, because a marketing page has no table of yours to protect.
This is what you give the person who asks how you got that number.
The Reproducibility Passport is a public page with a completeness score, a per-dimension breakdown, a fingerprint and a citation string. It is computed from the protocol's public fields alone, which is the reason it can be shown to a stranger at all.
Sends one link, or drops the citation string into the manuscript.
Weighs 5 dimensions of the public record into one score, grades it, and says in plain sentences what would move it.
Graded Developing. The method carries 7 of 7 rigor signals, and the score is still what it is, because methodological rigor is one dimension of 5. The others measure provenance, transparency and standards alignment. Community uptake and bench evidence are shown below and deliberately carry no weight: one is other people’s behaviour and the other is private, and a grade printed beside a content fingerprint may only depend on what a reader can check.
7 of 7 reproducibility signals present.
Average design score 89/100.
Whether the method aligns to recognized methodological standards.
Where this protocol came from and how it has evolved.
How traceable the authorship and sources are.
Bench evidence is not part of the public record, so it is not scored here.
How others have engaged with this protocol. Shown for context and deliberately not scored: it measures readers, not the record.
Every value here is recomputed from the same public row that fed the stages above, by buildPassport. Open the live Passport and the grade, the completeness and the fingerprint should match this block exactly. If they ever do not, one of the two is wrong and you have caught it.
- Reference a recognized standard your method follows (e.g. ISO 17025, ASTM, USP, 21 CFR Part 11).
- Add a references section citing the sources your method builds on.
- Link the author ORCID iD for verifiable attribution.
- Iterate and version the protocol — a revision history strengthens provenance.
This list is the part a vendor would cut. It is the point of the artifact: a record that only ever flatters its subject tells a reviewer nothing, and a scorer that cannot mark its own showcase down is not an instrument. Nothing here is hidden behind a login or a paid tier, and the same list appears on the public Passport.
Insulin Dose-Response Quantification of Phospho-AKT (Ser473) and Total AKT by Western Blot in Differentiated 3T3-L1 Adipocytes [Reproducibility Passport]. (2026). Olto Discovery. https://www.oltodiscovery.com/passport/insulin-dose-response-quantification-of-phospho-akt-ser473--c4a6385cA citable permalink, with a JSON manifest and a PDF beside it that carry the same fingerprint. It is not a registered DOI: minting is written but env-gated and dormant, so the identifier here is the Passport URL, and the citation prints that rather than implying an identifier we do not hold.
Six stages, and one record that carried through all of them.
Nothing above was retyped between stages. The goal is a column on the protocol, the fingerprint is a function of the protocol, the run steps are derived from its procedure, the analysis was named in its Statistical Analysis section, and the Passport is computed from the same public fields. That continuity is the product.
A permalink
One public URL that renders the whole record, with no account and no request for a demo between a reviewer and the thing they asked to see.
A fingerprint
A content address that survives rewording and unit changes, so a reviewer can tell whether two protocols are the same experiment without reading both.
A rigor breakdown
7 named signals with a verdict and a reason each, recomputable from the published patterns by anyone who wants to disagree with one.
A citation string
Ready for a reference manager, in APA, BibTeX and RIS, with the identifier stated plainly for what it is.
What this record is not.
- Not a claim that the experiment was performed. Stages four and five are illustrative and are labelled as such wherever they appear.
- Not a signature, and not proof of authorship. The fingerprint is a content address, and the module that computes it disclaims preimage resistance in the same file.
- Not a registered DOI. Minting is dormant, so the citation carries the Passport permalink instead.
- Not a judgement about the science. A deterministic score can be reproducibly wrong, which is why every engine claim on this site stands on three legs: cited to a published source, unit-tested against it, and recomputable by you.
Exactly one model call appears in these six stages, at stage two. It drafted the prose and returned the four design scores, and it touched nothing else. Of Olto’s 454 server routes, 31 call a language model and the other 423 compute. That is stated with its limit attached, because the unscoped version would be false: one protocol risk score elsewhere in the product is a model assessment, and so are those four design scores, which is why they are labelled where they appear. What a model never writes is the Fingerprint, the Rigor Score, the statistics or the Passport. Those it can narrate. It cannot compute them.