DefenseBio / Research

soliderphys-bench: the coding-agent pilot

Model development across pulse, core temperature and metabolic cost.

01Introduction

This pilot tests whether a coding agent can construct an executable physiological predictor, use development feedback, and select a final artifact. The model being compared is the coding agent. Its output is a separate trained predictor.

Ten agents each receive three tasks at seeds 0, 1 and 2. These repeats use the same people; they are not independent biological cohorts or evidence of clinical performance.

02The environment

Pulse uses GalaxyPPG wrist PPG and acceleration with provisional ECG-derived labels, split across 13/5/5 training/development/test people. Heat forecasts measured rectal temperature at +5/+10/+20 minutes in a 24-person cycling cohort, split 14/5/5. Load predicts gross metabolic watts at 4 km/h and 0/5/10/15 kg load in EVOBREATH, split 28/10/10.

Training labels are public. Development labels and all test recordings stay with the trusted controller. Predictor programs have no network or GPU access. Whole people remain within one split.

03Methodology

Each episode schedules two open-ended Python training programs, development evaluation, then final selection. Each of the three participant phases has a 1,536-token output limit including reasoning and at most one response repair. The complete participant request body is capped at 4,096 bytes. Model API waits overlap; Docker workers run one at a time under the frozen CPU/memory allocation.

Six participants use Medium effort. Kimi K3 and DeepSeek V4 Flash use High because their native endpoints did not advertise Medium. Economy provider routes and quantization differ and are recorded in the public configuration.

Lower person-balanced MAE wins task matches. A valid attempt beats an invalid attempt; two invalid attempts skip. Overall Elo pools all matched task-and-seed comparisons, so partial results contribute and every participant retains a numeric rating, including models with no valid predictors. This post-run analysis replaces the original complete-suite ranking in the site; the original suite scores remain in the downloadable data. Elo starts at 1,000 with K=32 and is relative to this opponent pool.

The separate GPT-6.1 Sol Medium judge reviews compressed experiment decisions, development results and selection evidence. It assigns five 0–4 criteria or null when unobservable, citing event IDs. It receives neither the competitor identity nor hidden test scores, and its packet does not include the full executable code. Seven reviews are missing. Browse the saved verdicts and cited evidence ↗

04Results

All 90 attempts sealed. 34 produced valid predictors. GPT-6 Astra leads the pooled-task Elo table, followed by Sonnet 5.5 and Opus 5.5. Ratings reflect both predictive accuracy and execution failures; all ten models receive a score.

Fine-tuned Granite Micro for Defense (3B) is a notable feasibility result under the fixed evaluation budget: it produced one valid predictor in nine attempts and scored 863.1 pooled Elo. That ranks 7th of 10, above three competitors but below the six models with higher ratings. It is about 98 Elo above the untuned Granite Micro baseline, which produced no valid predictors. This is encouraging evidence that a small fine-tuned model can complete part of this workflow; one successful attempt is too little to establish a reliable advantage over the base model or a competitive result across tasks.

ModelPrediction EloHigher is better
GPT-6 Astramedium1268.4
8/9 valid
Claude Opus 5.5medium1238.9
8/9 valid
Claude Sonnet 5.5medium1200.2
6/9 valid
Gemini 4 Argonmedium1133.0
5/9 valid
Gemini 3.8 Flashmedium1077.0
4/9 valid
Kimi K3high929.8
2/9 valid
Fine-tuned Granite Micro for Defensestep 28863.1
1/9 valid
DeepSeek V4 Flash 0423high767.3
0/9 valid
Granite 4.0 Micro765.1
0/9 valid
Grok 4.7medium757.1
0/9 valid

Higher is better. Overall Elo pools matched attempts across all three tasks. Valid predictors beat failed attempts; two failures skip. No confidence intervals estimated. Both Granite Micro runs are self-hosted on RunPod and use the same suite and judge configuration.

View exact scores and coverage
ModelPrediction EloValid attempts
GPT-6 Astramedium effort1268.48/9
Claude Opus 5.5medium effort1238.98/9
Claude Sonnet 5.5medium effort1200.26/9
Gemini 4 Argonmedium effort1133.05/9
Gemini 3.8 Flashmedium effort1077.04/9
Kimi K3high effort929.82/9
Fine-tuned Granite Micro for Defensestep 28 effort863.11/9
DeepSeek V4 Flash 0423high effort767.30/9
Granite 4.0 Micro765.10/9
Grok 4.7medium effort757.10/9
10 models · 3 trials per task · 18 Oct 2026Judge traces ↗Match audit ↗Download data ↗
Figure 1Performance across tasksPrediction Elo · higher is better

Pulse

Heart-rate estimation

  1. GPT-6 Astra1141
    1141.5 Elo; 3 of 3 valid attempts; medium effort.
  2. Sonnet 5.51141
    1141.2 Elo; 2 of 3 valid attempts; medium effort.
  3. Opus 5.51076
    1076.0 Elo; 2 of 3 valid attempts; medium effort.
  4. Gemini 3.8 Flash1053
    1053.1 Elo; 1 of 3 valid attempts; medium effort.
  5. Fine-tuned Granite Micro for Defense999
    998.8 Elo; 1 of 3 valid attempts; step 28 effort.
  6. Gemini 4 Argon987
    986.8 Elo; 1 of 3 valid attempts; medium effort.
  7. Kimi K3975
    975.4 Elo; 1 of 3 valid attempts; high effort.
  8. Granite 4.0 Micro880
    880.5 Elo; 0 of 3 valid attempts; base effort.
  9. DeepSeek V4 Flash875
    875.0 Elo; 0 of 3 valid attempts; high effort.
  10. Grok 4.7872
    871.6 Elo; 0 of 3 valid attempts; medium effort.

Heat

Core-temperature forecasting

  1. GPT-6 Astra1189
    1188.5 Elo; 3 of 3 valid attempts; medium effort.
  2. Sonnet 5.51181
    1180.7 Elo; 3 of 3 valid attempts; medium effort.
  3. Opus 5.51156
    1155.6 Elo; 3 of 3 valid attempts; medium effort.
  4. Gemini 4 Argon1056
    1056.0 Elo; 2 of 3 valid attempts; medium effort.
  5. Gemini 3.8 Flash977
    976.9 Elo; 1 of 3 valid attempts; medium effort.
  6. Kimi K3972
    972.3 Elo; 1 of 3 valid attempts; high effort.
  7. DeepSeek V4 Flash869
    869.1 Elo; 0 of 3 valid attempts; high effort.
  8. Granite 4.0 Micro867
    867.4 Elo; 0 of 3 valid attempts; base effort.
  9. Grok 4.7867
    867.3 Elo; 0 of 3 valid attempts; medium effort.
  10. Fine-tuned Granite Micro for Defense866
    866.2 Elo; 0 of 3 valid attempts; step 28 effort.

Load

Metabolic-cost prediction

  1. Opus 5.51196
    1195.7 Elo; 3 of 3 valid attempts; medium effort.
  2. Gemini 3.8 Flash1113
    1112.5 Elo; 2 of 3 valid attempts; medium effort.
  3. GPT-6 Astra1112
    1112.4 Elo; 2 of 3 valid attempts; medium effort.
  4. Gemini 4 Argon1106
    1105.8 Elo; 2 of 3 valid attempts; medium effort.
  5. Sonnet 5.51015
    1014.5 Elo; 1 of 3 valid attempts; medium effort.
  6. Fine-tuned Granite Micro for Defense895
    895.4 Elo; 0 of 3 valid attempts; step 28 effort.
  7. Kimi K3892
    892.0 Elo; 0 of 3 valid attempts; high effort.
  8. DeepSeek V4 Flash892
    891.7 Elo; 0 of 3 valid attempts; high effort.
  9. Grok 4.7891
    890.8 Elo; 0 of 3 valid attempts; medium effort.
  10. Granite 4.0 Micro889
    889.2 Elo; 0 of 3 valid attempts; base effort.

Shared scale; three trials per task. Valid predictors beat failed attempts; two failures skip. No confidence intervals estimated.

65 saved reviews · 7 missing · GPT-6.1 Sol, Medium. Scores assess research decisions separately from prediction Elo.

Evidence use2.39 / 4
44 observable reviews
Experiment choice2.13 / 4
45 observable reviews
Feedback integration2.30 / 4
33 observable reviews
Reproducibility1.36 / 4
45 observable reviews
Final selection3.67 / 4
33 observable reviews

Episode-weighted means over observable scores; nulls are excluded. The judge received compressed decision and development evidence, not full code or hidden test results.

GPT-6 Astra · heat · seed 2

Successful repair, unsupported diagnosis

The retry succeeded, but its explanation named a different error from the one in the evidence.

Judge · Feedback integration2 / 4
The retry succeeds after failure, but its stated diagnosis does not match the supplied failure; the actual repair is not visible.
Read verdict and cited events ↗
Claude Opus 5.5 · heat · seed 2

Retaining the better baseline

After a regularization change worsened development MAE, the model kept its original candidate.

Judge · Feedback integration3 / 4
Explicitly carries baseline feedback into the next trial and retains the better baseline after the alternative worsens MAE.
Read verdict and cited events ↗
Gemini 4 Argon · load · seed 0

Ambitious proposal, identical results

A proposed CV and physics-feature experiment returned the same development loss as the baseline.

Judge · Feedback integration1 / 4
A follow-up experiment follows the baseline result, but does not explicitly interpret it; identical reported losses receive no visible diagnosis.
Read verdict and cited events ↗
Claude Sonnet 5.5 · load · seed 1

Sound selection, failed final attempt

The model correctly selected its valid development candidate; the final predictor still failed. Process and prediction scores capture different outcomes.

Judge · Final selection4 / 4
Explicitly selects the only valid evaluated artifact and cites both results, appropriately excluding the failed candidate.
Read verdict and cited events ↗

05Failure analysis

56 attempts failed under this short protocol. Failure includes inability to return a valid tool response within the fixed attempt budget or produce an executable predictor. These are not zero-error scores and do not establish unconstrained model incapability. The downloadable results include a failure reason for every invalid attempt.

  • Response/tool protocol: 45
  • Other execution failure: 11

Infrastructure interruptions also occurred: Docker became unavailable, coordinators restarted from saved state, and the xAI endpoint returned 72,797 completion tokens despite a 1,536-token limit. That response was rejected and its charge retained. The request-cap-based cost estimate consequently stopped being a completion guarantee. These exceptions are documented with the reference protocol.

06Limitations

This is a retrospective, builder-exposed pilot with small fixed cohorts and provisional pulse reference quality. Three agent seeds do not support population-level ranking confidence. Tight generation limits, native tool compatibility, provider quantization and incomplete review coverage affect the results. Process judgments have not been validated against human expert ratings.

Confirmed provider charges are $1.66. Another $6.14 is held as conservative accounting for calls with unconfirmed billing; it is not confirmed spend. Neither amount is presented as a per-model cost metric.

Exact protocol and source snapshot ↗ · Evaluate a fine-tuned checkpoint ↗ · Download public results