Can frontier LLMs accurately interpret spaceflight biology? RR-10 benchmark & interactive 3D viewer

Hi everyone, @AIMLawg

I wanted to share an open-science project I put together using NASA OSDR data from the Rodent Research-10 (RR-10) mission called Orbiting Minds.

The project had two main goals: First, to test how well modern frontier AI models can reason through real spaceflight transcriptomics without hallucinating or over-interpreting the data. Second, to make the underlying biology and mission telemetry more intuitive to explore through an interactive 3D WebGL viewer and a slide deck.

I recorded a short 45-second walkthrough showing the benchmark, the data metrics, and the 3D viewer: https://youtu.be/nmOXcB6kAaQ

The Datasets (OSD-563 and OSD-564)

I focused on two RNA-seq accessions from female mice flown on SpaceX-21 (30 days in low Earth orbit) processed through the NASA GeneLab standard pipeline:

  1. OSD-563: Cerebellum tissue, where PC1 accounts for 25.6% of variance and PC2 explains 18.5%.
  2. OSD-564: Hippocampus tissue, where PC1 accounts for 28.3% of variance and PC2 explains 15.7%.
  3. Quality Control Concordance: Count-level reprocessing confirmed a 1.000 correlation with published variance-stabilized tables across the ribosomal RNA-depleted sets.

What the AI Benchmark Found

I set up a 5-part evaluation task on Kaggle testing frontier model families across biological comprehension, statistical rigor (handling DESeq2 vs EdgeR and FDR thresholds), code reproducibility, and epistemic caution.

The most interesting finding across all models was Epistemic Caution. While frontier models handle basic biological mechanisms well, their primary failure mode is overclaiming: repeatedly extrapolating 30-day rodent low Earth orbit microgravity into deep-space or Mars radiation scenarios without stating the real experimental constraints.

Interactive 3D WebGL Explorer

Alongside the benchmark, I built a lightweight WebGL simulation viewer to make exploring the data interactive:

  • Anatomical region pins linking directly to dataset readouts.
  • An Analytic Evidence drawer showing the PCA plots and QC concordance distributions.
  • Commander Pip, an orbital companion designed to help translate the space biology concepts for students and the public.

Project Links:

Looking Ahead & Feedback

I would love to get thoughts from the working groups on extending this framework:

  1. Testing additional central nervous system accessions (such as OSD-102 or OSD-254) to see if model reasoning holds up across longer mission durations.
  2. Exploring multi-omics integration (connecting transcriptomic shifts with proteomics or methylation data).

Any suggestions, critique, or discussion are very welcome! Thanks.

5 Likes

Gaston — valuable work, and I think the epistemic-caution finding is the most important result in it. Offering a mechanistic explanation, a resource, and two dataset corrections.

Why the models overclaim direction

I’ve been running a fragility/collapse-detection sweep across the OSDR corpus (637 datasets identified, 302 processed to date) under an open standard I published as λ-SPEC / FI-SPEC (v1.1, DOI 10.5281/zenodo.20724294; validated at r = 0.661, n = 117, p = 2×10⁻⁴ across 117 OSDR datasets).

One asymmetry recurs. Demarcation by co-expression structure reaches r = 0.992 across cohorts, while directional agreement collapses to r ≈ 0.15. The corpus robustly supports which genes move together; it does not robustly support which way they move.

If that holds for your accessions, model overclaiming isn’t purely a reasoning defect — models are being asked to commit to a quantity the corpus does not constrain, and they fill the gap. That turns “epistemic caution” from a behavioural trait into a measurable property of the evidence base. Worth noting your two accessions carry n = 10 each, so low directional stability is the expected regime there rather than an anomaly.

A concrete contribution: 992 contradictory genes

The sweep surfaced 992 genes whose direction of change is contradictory between OSDR datasets. That’s a ready-made overclaim trap with ground truth: ask a model for the direction of one of those genes and the correct answer is an explicit “not determinable from the available evidence.” Your rubric currently scores overclaiming qualitatively; this would let you score it against a known key. Happy to prepare the list with provenance per gene — which datasets disagree, and by how much — and contribute it to the Kaggle suite.

Two notes on the accessions

First, OSD-563 and OSD-564 each carry two assays, not one: bulk RNA-seq and spatially resolved transcriptional profiling on Illumina. The spatial layer is a second, independent handle on the same tissue — a strong test of whether a model’s claims survive when regional structure is available rather than averaged away.

Second, on your proposed extensions: per current OSDR metadata, OSD-102 is Rodent Research-1 mouse kidney and OSD-254 is RR-7 dorsal skin — neither is a CNS accession. But each fits one of your two questions, effectively swapped from how you framed them. OSD-102 carries four modalities (transcriptomics, proteomics, whole-genome bisulfite methylation, RNA methylation, n = 16), which makes it a natural substrate for your multi-omics integration question. OSD-254 carries Duration as an explicit experimental factor at n = 80, which is a much better-powered test of whether model reasoning degrades with mission length. For CNS specifically at longer durations, the accession set would need a separate pass.

One caveat on my own side, in the spirit of the thread: I have not yet verified whether OSD-563 and OSD-564 fall inside my 302 processed datasets. I’ll confirm before claiming anything specific about your two accessions.

— Omar Rafael Pérez Gallardo, OMROS LAB (Querétaro, MX) · ORCID 0009-0008-8328-6978

1 Like

One addendum to my note above, since it sharpens the power point rather than softening it.

Checking the OSDR metadata directly: OSD-563 and OSD-564 each carry 10 samples split 5 Space Flight / 5 Ground Control. So the operative figure is n = 5 per arm, not n = 10 per accession as I wrote.

That matters for the epistemic-caution result. At five replicates per arm, DESeq2 and EdgeR have limited power to fix a sign, and directional instability is the expected regime rather than an anomaly. It also means a model asked to commit to a direction from these two accessions is being asked for something the design does not support — which is arguably the cleanest possible demonstration of your finding, since the overclaim can be shown to exceed the experiment rather than merely the literature.

Both assays are present at that same split (bulk RNA-seq and spatial), so the spatial layer is a within-design replicate of the same five animals per arm rather than additional biological replication — worth stating explicitly if the benchmark is extended to it.

— Omar Rafael Pérez Gallardo, OMROS LAB

1 Like

Hi Omar,

Thank you for the detailed analysis and the clear context on the sample sizes ($n = 5$ per arm). That $n=5$ constraint really sharpens the core finding: expecting a model to state a definitive direction from these accessions asks it to commit to a quantity that the experimental design itself does not support.

I would love to accept your offer to integrate the 992 contradictory gene list with provenance into the Kaggle evaluation suite. Having a quantitative ground-truth key for directional conflict will make the overclaiming rubric much more objective, and it provides a grounded key to validate model outputs across the Orbiting Minds build.

Expanding across the broader Rodent Research payload series (RR-1 to RR-21+) to evaluate multi-omics and mission duration was the long-term vision I had when starting the Orbiting Minds build, so your callouts on OSD-102 (kidney multi-omics) and OSD-254 (skin duration series) align seamlessly with where this build is headed.

How do you feel about this plan to blend both approaches into a unified architecture:

  1. Kaggle Evaluation Key: Use your 992-gene dataset as an explicit overclaim test module for frontier models.
  2. Scaled Corpus Tasks: Incorporate the expanded RR payload series to evaluate cross-modality reasoning and duration decay.
  3. Simulator Guardrails: Connect the expanded datasets and the 992-gene lookup table back into the 3D WebGL viewer and companion assistant logic.

I’m wrapping up a couple of other project deliverables over the next week or two, maybe even month, but let’s connect on a quick call this weekend regarding data formatting for the CSV/JSON so I can prep it for integration into the benchmark pipeline and my development cycle.

- Gaston D.

Gaston — great, let’s talk. Before we lock a time, one thing needs correcting first, in the same spirit as the thread.

The number changed, and not for the reason you’d expect from my last note. When I offered the 992-gene set, that figure was from a June sweep over a different, larger processed set. For this contribution I didn’t reuse it — I rebuilt the whole thing from scratch against the live OSDR API, so the result reflects the corpus as it stands today rather than a three-month-old snapshot.

Current numbers: 634 datasets in the OSDR catalogue → 244 with a published DE table → 128 with a spaceflight-vs-control contrast → 118 usable, across 77 organism::tissue contexts (8 organisms — this isn’t mouse-only). Grouping is now organism::tissue instead of tissue alone, resolved from actual sample metadata rather than guessed from study titles (an early pass that keyed on titles pooled unlabelled datasets and compared mouse liver against Drosophila — caught and discarded before it went anywhere).

Result: 10,727 genes with robust directional fragility (contradictory across ≥2 independent dataset pairs within the same context, not just one dataset disagreeing with another).

One structural finding along the way, worth flagging for anyone building on GeneLab tables programmatically: the platform publishes the complete contrast matrix, so every comparison exists in both directions, e.g. (Space Flight)v(Ground Control) and its reciprocal. That’s deliberate and documented, not a bug — but it means orientation has to be read from the contrast name, not assumed, and reciprocals need collapsing before counting volume or they inflate 2x. Caught that in my own draft before sending it your way.

What’s ready now, in your format:

  • fragile_genes_ranked.csv — the 10,727 genes, discordant-pair count, contexts
  • contradictions_full.csv — every pairwise contradiction with effect sizes
  • concordant_controls.csv — matched controls (same count, confidently called, same sign everywhere) — needed so the benchmark measures calibration rather than rewarding blanket abstention
  • benchmark_items.jsonl — 21,454 items total, pre-formatted as prompt/expected/accept/reject/evidence, ready to drop into a scoring pipeline
  • METHODS.md — full method, thresholds, and limits stated plainly, including the point above

Happy to send these over however’s easiest — attach directly, or I can put it up with a DOI (I did that for the λ-SPEC standard) if you’d rather cite a permanent record than an email attachment.

For the call: I’m free tomorrow, Saturday the 12th, afternoon — say 3pm Mexico City time (that’s 4pm Eastern / 1pm Pacific, let me know your zone and I’ll convert). If that doesn’t work, Sunday works too. Main things worth deciding together: exact schema for the JSONL so it drops into your pipeline without reshaping, and whether the spatial layer on OSD-563/564 is worth a second pass once the base integration is working.

— Omar

1 Like

Gaston — rather than wait to coordinate a call, I think we can make the next step concrete and test the integration asynchronously.

I propose starting with a 200-item pilot from the new benchmark: 100 directional-fragility cases + 100 matched concordant controls, using the current prompt / expected / accept / reject / evidence schema with OSDR provenance.

The immediate question is simple: can your current Kaggle scorer ingest and score that pilot without reshaping the data?

Before I send it over, could you please confirm two things?

  1. That you have access to receive the 200-item pilot.
  2. Your preferred integration format: JSONL, CSV, both, or a specific schema your Kaggle scorer already expects.

If the pilot runs cleanly, we freeze the schema and scale directly to the full 21,454-item set. After that, the same evidence key can become the guardrail layer for the WebGL viewer/companion, so displayed biological claims can distinguish supported direction, contradictory evidence, and insufficient evidence.

That gives us one measurable next milestone before expanding the architecture further.

— Omar

1 Like

Gaston — I finished the first runnable pilot and attached it here in
both JSONL and CSV.

Pilot: 200 items = 100 directional-fragility traps + 100 matched
concordant controls, across 6 organism::tissue contexts and 22 clean
OSD datasets.

Canonical JSONL SHA-256:
aeb8511444ac72f44c6489954495db6cc67b75e977c7f9963ddbc37004533af5

The JSONL is the canonical object. The CSV is a full flattened mirror
with prompt, context, pairing ID, per-dataset log2FC/q, literal
contrast, orientation sign, source file and gene-ID provenance.

Scoring should report at least:

  • trap accuracy
  • control accuracy
  • blanket-abstention rate

One methodological note before you run it: this v1.0 is intentionally
a broad-context calibration / overclaiming benchmark. The prompt asks
for a single direction at organism::tissue level, while some
contributing studies differ in ancillary conditions such as infection,
disease state, genotype, duration or treatment. Therefore
indeterminate means the published evidence does not support one
universal direction at that broad level; it is not a claim that the
underlying biology is unreliable.

I also found two downstream ingestion issues while rebuilding the corpus:

  1. reciprocal DE contrast orientations coexist in the public tables
    and must be normalized/collapsed before model ingestion;
  2. several nominal Space Flight vs Ground Control contrasts contain
    compound factor differences (e.g. centrifugation gravity level, light
    condition, unequal exposure duration). I excluded those from this
    pilot.

I included a short audit note with the exact scope and matching
diagnostics. If your Kaggle scorer expects a different field shape,
the data are now provenance-complete and I can reshape without
changing the canonical item definitions.

— Omar Rafael Pérez Gallardo
OMROS LAB · Querétaro, México
ORCID 0009-0008-8328-6978

(Attachment osdr_pilot_200.jsonl is missing)

(Attachment osdr_pilot_200_full_mirror.csv is missing)

(attachments)

OSDR_PILOT_V1_AUDIT_NOTE.md (1.97 KB)

1 Like

Gaston —

Quick transport fix: the OSDR/Discourse email gateway rejected the
.jsonl and .csv attachment extensions, not the pilot itself.

I’m resending the canonical 200-item pilot as a single permitted .md
attachment. The file contents are byte-for-byte identical to the
original JSONL; only the transport extension changed.

To run it, simply rename:

osdr_pilot_200_JSONL_PAYLOAD.md
→ osdr_pilot_200.jsonl

Canonical SHA-256:
aeb8511444ac72f44c6489954495db6cc67b75e977c7f9963ddbc37004533af5

Pilot remains:
100 directional-fragility traps + 100 matched concordant controls,
with the same provenance-complete schema.

No reshaping should be necessary. If it ingests cleanly in your
current Kaggle scorer, we can freeze this schema and move directly to
the larger benchmark.

— Omar

(attachments)

osdr_pilot_200_JSONL_PAYLOAD.md (257 KB)

1 Like

Gaston —

I froze the RR-10 200-item pilot as v1.0 before any model comparison
and packaged the validation/scoring layer so the next step can be an
actual scorer run rather than more format discussion.

The canonical 200-item JSONL is unchanged.

Canonical SHA-256:
aeb8511444ac72f44c6489954495db6cc67b75e977c7f9963ddbc37004533af5

I verified locally:

  • 200/200 records parse cleanly
  • 100 fragility traps + 100 concordant controls
  • 6 organism::tissue contexts
  • 22 OSD datasets
  • 501 provenance rows
  • evidence/provenance counts, q-values and |log2FC| summaries are
    internally consistent
  • every trap is directionally discordant in its included provenance
  • every control is directionally concordant with its expected label
  • all 100 numeric-suffix trap/control pairs share the same context
  • validator regression suite: 3/3 tests passed

The runnable layer adds:

  1. manifest.json + frozen SHA
  2. schema.json
  3. zero-dependency validate.py
  4. zero-dependency score.py
  5. regression tests
  6. a gold smoke-test predictions file

The scorer reports the original trap/control accuracy plus:

  • trap overclaim rate
  • control abstention rate
  • per-class precision/recall/F1 and macro-F1
  • context-stratified accuracy
  • Paired Directional Robustness (PDR): the fraction of matched
    trap/control pairs where the model both abstains appropriately on the
    fragile case and commits correctly on the concordant control.

I kept PDR as a secondary diagnostic; it does not replace your primary metrics.

One small schema detail I froze explicitly: the canonical JSONL does
not contain a pair_id field, so the scorer derives pair identity from
the numeric suffix (FRAG-00001 ↔ CTRL-00001) and validates matching
context rather than mutating the canonical data.

Attachments:

  • benchmark_JSONL_PAYLOAD.md — byte-for-byte canonical JSONL; rename
    to benchmark.jsonl after download and verify the SHA above.
  • RR10_v1.0_RUNNABLE_PACKAGE.md — mail-safe copy of the
    schema/manifest/validator/scorer/tests.
  • RR10_v1.0_runnable.zip — convenience package; if Discourse drops
    .zip, the two .md files are sufficient.

Concrete next step: please run the pilot through the current Kaggle
scorer. If it ingests cleanly, I suggest we freeze this v1.0 contract
and then scale. If the scorer expects a different prediction-field
shape, send me that exact shape and I’ll adapt the adapter without
changing the canonical items.

— Omar Rafael Pérez Gallardo
OMROS LAB · Querétaro, México
ORCID 0009-0008-8328-6978

(Attachment RR10_v1.0_runnable.zip is missing)

(attachments)

RR10_v1.0_RUNNABLE_PACKAGE.md (20.4 KB)

1 Like

Hi @OMROSLAB,

Apologies for the delay, I’m just getting back onto the platform and catching up on my messages across the threads.

Incredible work on the rebuild. Scaling this from the initial snapshot to 10,727 fragile genes across 77 contexts is a massive jump. Your structural finding regarding the reciprocal contrast matrices is also a crucial catch for anyone parsing GeneLab tables programmatically.

I completely agree with your phased approach. Testing this first in the Kaggle scorer makes the most sense. Once we validate the ingestion and scale it, mapping that exact same frozen schema into the 3D WebGL viewer as a guardrail layer will be incredibly straightforward.

To that end, I spun up a Kaggle environment tonight to test the pilot pipeline. The schema parsed perfectly with zero errors and matched the canonical SHA-256 hash exactly. I also ran the gold smoke-test predictions through the scorer and it output exactly 1.0 (100%) across the board, proving the Kaggle pipeline is fully synced and calibrated to your exact grading rules.

Per your audit notes, I am keeping the dataset and the notebook strictly private on my end to ensure no unapproved NASA data is prematurely redistributed. I would normally drop the notebook link here for you to verify the build, but since the repo is locked to private, it will just throw a 404 error for non-collaborators. However, once we are ready to scale and formally publish this, I can easily push it to public with the correct licensing that best reflects the OSDR platform and our collaborative efforts here in the lab.

The base ingestion is running cleanly, and my architecture is prepped. Here is the final output log from last night’s validation run.

JSON:

{
  "n_items": 200,
  "coverage": 1.0,
  "accuracy_total": 1.0,
  "trap_accuracy": 1.0,
  "control_accuracy": 1.0,
  "trap_overclaim_rate": 0.0,
  "overall_abstention_rate": 0.5,
  "control_abstention_rate": 0.0,
  "paired_directional_robustness": 1.0,
  "pair_complete_rate": 1.0
}

Let me know when you are ready to drop the full 21k set and we can get it scaled!
Enjoy the rest of your good Sunday and upcoming week ahead.

- Gaston D.

Gaston — thanks, and I agree with keeping the next step narrow and measurable.

Before handing the pilot back for the Kaggle run, I re-ran the exact
mail-safe bundle that I had sent through the Discourse gateway.

The canonical benchmark itself is intact and unchanged:

  • 200/200 records validate cleanly
  • 100 fragility traps + 100 concordant controls
  • 6 organism::tissue contexts
  • 22 OSD datasets
  • 501 provenance rows
  • canonical SHA-256 remains:
    aeb8511444ac72f44c6489954495db6cc67b75e977c7f9963ddbc37004533af5

I did catch two packaging defects in the runnable layer I had sent:

  1. example_predictions.jsonl was referenced by the README/tests but
    omitted from the mail-safe bundle.
  2. the all-indeterminate regression test contained an escaped newline,
    so it wrote invalid JSONL.

Neither issue changes any canonical item, label, evidence/provenance
record, or scoring definition. I patched only the runnable/test layer
as v1.0.1 and re-ran it from the transported files.

Current verification:

  • validator: PASS
  • pytest regression suite: 3/3 PASS
  • gold smoke test: 100% total / trap / control accuracy; PDR = 1.0
  • all-indeterminate baseline: trap accuracy = 1.0, control accuracy =
    0.0, control abstention = 1.0, PDR = 0.0

I attached the corrected mail-safe runtime bundle:
RR10_v1.0.1_RUNNABLE_PACKAGE.md

Please pair it with the previously sent canonical benchmark payload.
The benchmark SHA above is unchanged.

Concrete next step: run the 200-item pilot through the current Kaggle
scorer. If it ingests cleanly, I suggest we freeze the v1.0
benchmark/scoring contract and scale. If your scorer expects a
different prediction-field shape, send me that exact shape and I’ll
adapt the interface without changing the canonical items.

— Omar Rafael Pérez Gallardo
OMROS LAB · Querétaro, México
ORCID 0009-0008-8328-6978

(attachments)

RR10_v1.0.1_RUNNABLE_PACKAGE.md (29.2 KB)

1 Like

Evening Omar,

Thanks for the patched runnable package. I just ran the updated RR10_v1.0.1 pilot through the Kaggle scorer on my end, and everything ingested flawlessly.

The benchmark is fully intact. The validation script confirmed the matching SHA-256 (aeb8511444ac72f44c6489954495db6cc67b75e977c7f9963ddbc37004533af5), and the Gold Smoke-Test nailed a 1.0 across the board for trap accuracy, control accuracy, and PDR, with zero invalid or missing entries.

Consider the v1.0 benchmark/scoring contract officially frozen. You have the green light to drop the full 21,000-item payload whenever you’re ready.

As we hit this critical aspect, I know we have newer AWG members trying to catch up on this thread. For full context and transparency, here is what the output looks like from my Kaggle validation run:

View Kaggle v1.0.1 Validation Logs
✓ Copied benchmark.jsonl (263469 bytes)
✓ Extracted validate.py
✓ Extracted score.py
✓ Extracted example_predictions.jsonl

--- Running validate.py ---
{
  "ok": true,
  "sha256": "aeb8511444ac72f44c6489954495db6cc67b75e977c7f9963ddbc37004533af5",
  "records": 200,
  "errors": []
}

--- Scoring Gold Smoke-Test ---
{
  "n_items": 200,
  "coverage": 1.0,
  "accuracy_total": 1.0,
  "trap_accuracy": 1.0,
  "control_accuracy": 1.0,
  "paired_directional_robustness": 1.0,
  "invalid_or_missing": 0
}

For those who prefer to listen to a project recap, I also ran our project notes through an audio model to generate a comprehensive “Milestone Briefing” podcast. I’m dropping the link here for anyone who wants an accessible catch-up before we scale:
Stopping AI Hallucinations in Spaceflight Biology

By the way, I have to give you props for how clean your updates are. Your formatting is so perfectly structured it practically reads like an LLM output. It definitely keeps our pipeline moving fast! Kudos.

Ready for the massive dataset, when you are.

Best,

Gaston D.
AI Systems Architect & Multimodal Technologist
ORCID: 0009-0007-1011-860X | Google Scholar: Profile

Gaston —

Perfect. I’m freezing the v1.0 benchmark/scoring contract exactly as
validated on your Kaggle run.

Your independent result gives us the acceptance point we needed:

  • canonical SHA-256 matched
  • 200/200 records validated
  • zero invalid or missing entries
  • Gold Smoke-Test = 1.0 for trap accuracy, control accuracy and PDR
  • current Kaggle ingestion path confirmed

I’ll keep the scoring semantics and canonical v1.0 interface unchanged
from this point forward.

The next deliverable will be the full 21,454-item benchmark payload
under that frozen contract, with its own manifest/checksum and
provenance preserved per item. I’ll also include the context fields
needed so the first full-model evaluation can be reported both
globally and stratified by organism::tissue/context rather than
collapsing everything into a single score.

For the first scaled run, let’s keep the same core outputs:

  • overall accuracy
  • trap accuracy
  • control accuracy
  • paired directional robustness (PDR)
  • invalid/missing rate
  • abstention behavior

That will give us a clean test of whether the directional-fragility
signal survives at full scale and where model behavior changes by
biological context.

Please keep the current Kaggle scorer and validation logs as the
reference implementation for the frozen v1.0 contract. I’ll target the
full payload to that exact interface so we do not introduce another
moving part between pilot validation and scale-up.

And the Milestone Briefing was a good move — it gives newer AWG
members a practical way to catch up while we keep the technical thread
reproducible.

Thanks for independently validating it. We now have the green light to scale.

— Omar Rafael Pérez Gallardo
OMROS LAB · Querétaro, México
ORCID 0009-0008-8328-6978

Gaston —

The full set is built under the frozen v1.0 contract, and there is one number to correct before you run it.

Under the pilot rules, the full corpus gives 5,630 items (2,815 fragility traps + 2,815 matched concordant controls), not 21,454.

The 21,454 figure came from the 9 Sep sweep. That sweep predates two corrections that are now part of the frozen contract:

  1. the confound filter: 17 datasets whose only spaceflight-vs-ground contrast also differs in another factor (on-board 1G centrifugation, unequal duration, etc.) are excluded;
  2. contexts keyed on OSDR Material Type exactly as in the pilot, instead of the looser tissue grouping used on 9 Sep.
    The 9 Sep run also used a different trap definition (>=2 discordant dataset pairs) and had no 1:1 matched controls. The two numbers measure different things, so I’m not presenting 5,630 as a subset of 21,454.

Release (same schema, same labels, same prompt template, same FRAG/CTRL pairing, same scoring semantics as the pilot):

  • benchmark_full.jsonl: 5,630 records, 11 organism::tissue contexts, 34 OSD datasets, 11,711 provenance rows
  • SHA-256: 92915008e0431549ff0f7572f8436cf3bd8c3f416050f9dd127423080114785c
  • manifest_full.json: per-context counts, rules, and every exclusion with its reason
  • AUDIT_NOTE_FULL.md

Download (JSONL, runnable package, manifest, audit note):
https://www.google.com/url?q=https://claude.ai/artifact/Rbvk9MJEy5dzWdvjEfNxpK&source=gmail&ust=1790286089094000&sa=E
The JSONL saves as benchmark_full_JSONL_PAYLOAD.txt. Rename it to benchmark_full.jsonl and check the SHA above. The file is about 6.6 MB, too large for the Discourse gateway.

Reproducibility: I swept the corpus again from zero against the public OSDR API today. 500/501 pilot provenance values reproduce exactly. The one difference (OSD-635 ADCY8, 4th decimal) matches an upstream table revision. The pilot file is untouched (aeb85114…33af5) and remains the reference object.

Runnable layer v1.1, with the interface unchanged:

  • validate.py takes --manifest manifest_full.json for larger releases. Item-level checks are identical, and it behaves the same on the pilot.
  • score.py: PDR and pair_complete_rate were hard-coded to divide by 100. They now divide by the actual pair count (2,815 here). It also reports n_pairs and invalid_or_missing. Your Kaggle wrapper needs this one change; otherwise it will overstate PDR on the full set.
  • Verified: validator PASS on both files; gold predictions = 1.0 on total/trap/control accuracy and PDR; all-indeterminate baseline = trap 1.0 / control 0.0 / PDR 0.0; pytest 4/4.
  • sweep.py + build_full.py regenerate the set from the public API.

Scope, unchanged from the pilot: “indeterminate” means the published DE tables do not support one direction at the broad organism::tissue level. It is a calibration/overclaiming benchmark, not a same-condition replication benchmark. Coverage is uneven: homo_sapiens::cells (1,006 pairs) and mus_musculus::liver (822) dominate, and Material Type is not harmonised (liver and left_lobe_of_the_liver stay separate), which undercounts rather than inflates.

Next step: run the Gold Smoke-Test and the first frontier-model pass on the full set with the v1.1 scorer, and report results globally and stratified by context.

— Omar Rafael Pérez Gallardo
OMROS LAB · Querétaro, México
ORCID 0009-0008-8328-6978

Gaston — the page in my previous post is access-restricted. Here is a direct download of the complete bundle:

https://www.google.com/url?q=https://gofile.io/d/vESuX8xH&source=gmail&ust=1790295412197000&sa=E (RR10_full_v1.1.zip, 410 KB)
zip SHA-256: f7aa80948b77baca5348c28f145e45bd13cd3b4f5c9d52ef22a5831e43a8a87c

Contents:

  • benchmark_full.jsonl (canonical, SHA-256 92915008e0431549ff0f7572f8436cf3bd8c3f416050f9dd127423080114785c)
  • manifest_full.json, AUDIT_NOTE_FULL.md
  • validate.py / score.py (runnable layer v1.1), schema.json, tests/
  • sweep.py + build_full.py (regenerate from the public OSDR API)
  • benchmark.jsonl (frozen 200-item pilot, unchanged) + example_predictions.jsonl

Run:
python3 validate.py benchmark_full.jsonl --manifest manifest_full.json
python3 score.py <predictions.jsonl> --benchmark benchmark_full.jsonl

Please mirror the zip into your private Kaggle dataset once downloaded; the host link is temporary.

— Omar

@GasMan — attaching the full set directly here so nothing depends on external links or sharing permissions.

  • benchmark_full_JSONL_GZ_B64.md — canonical benchmark_full.jsonl, gzip+base64 so it fits the forum limits. Decode with the one-liner at the top of the file; the decoded file must hash to 92915008e0431549ff0f7572f8436cf3bd8c3f416050f9dd127423080114785c.
  • RR10_full_v1.1_RUNNABLE_PACKAGE.md — manifest, audit note, validator/scorer v1.1, tests, sweep + build scripts. Split on the FILE: markers.
python3 validate.py benchmark_full.jsonl --manifest manifest_full.json
python3 score.py <predictions.jsonl> --benchmark benchmark_full.jsonl

Reminder for your Kaggle wrapper: PDR / pair_complete_rate must divide by the real pair count (2,815), not 100.

Hey Omar, thanks for putting all of this together.

I saw the direct download link and the base64 markdown attachment you dropped in the thread, good call on doing that to bypass any external permission headaches. I also caught the heads-up about tweaking the score.py wrapper so the PDR divides by 2,815 instead of 100. I’ll make sure that gets updated so the numbers are accurate.

I’ve got a few other areas in the lab and platform taking up my time right now, but I will definitely dive into this over the weekend. I’ll get the files mirrored over to my private Kaggle, run the smoke test, and kick off the frontier-model pass.

I’ll have those results and everything else together for you no later than the end of the weekend. Thanks again for doing the heavy lifting on the data sweep!
-Gaston D.

Gaston, quick check-in on the full v1.0 run (5630 items, PDR denominator 2815). Did the smoke test and the frontier-model pass go through on your Kaggle mirror? If anything in the bundle blocked you, tell me what and I’ll fix it on my side. Happy to look at partial results too.

Omar

This is a compelling and vital analysis of the directional instability inherent in low-replicate ((n=5)) spaceflight accessions. The observation that co-expression structures remain highly robust ((r=0.992)) while downstream directional signs collapse ((r \approx 0.15)) hits the exact mathematical bottleneck of bottom-up aerospace transcriptomics.
In the spirit of managing this ‘overclaim trap’ and establishing true epistemic caution, I have deployed an open-source trajectory framework on the forum engineered precisely to address high-entropy directional variance.
Rather than forcing a model to commit to static, unstable directional gene signs across tiny sample sizes, the methodology templates we are testing utilize scale-invariant natural log ratios (\ln[S(t)/S_0]) to compress multi-omic volume gaps. By treating the underlying system through its macro-scale inertial existence as a dynamic viscoelastic trajectory, the equation isolates baseline technical noise within a stochastic error parameter ((\varepsilon )) while solving for overarching, non-linear kinetic thresholds ((\tau )) natively.
The source scripts and code optimization layers are live on Forum-Space for community testing. If any analyst in this AI/ML sub-group has the pipeline bandwidth to evaluate whether a top-down macro-kinetic cage can help stabilize these reported directional collapse regions, the complete framework and repository are fully accessible above for collaborative testing.