Skip to content

Levels: equal exposure per mg hormone for Basic esters; telmisartan at the 40 mg arm (presets-2026-10d) - #20

Merged
ApolloF merged 5 commits into
mainfrom
ApolloF/Levels
Oct 12, 2026
Merged

ApolloF merged 5 commits into
mainfrom
ApolloF/Levels

Conversation

@ApolloF

@ApolloF ApolloF commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Why

A release audit (#19) found two level-model problems. Analysis:

1. Basic model exposure grows with half-life. The sheet's Basic peak (14·M·F·0.875) doesn't depend on t½, so one dose's area under the curve is ∝ t½ (AUC/F = 20.71·M·t½). Per mg of hormone, Tren E showed 7.3× Tren A's exposure, Parabolan 5.3×, Masteron E 2.25× Masteron P, Test Dec 1.9× the study-based testosterone esters. The ester only sets the release rate, so the same mg of hormone should give the same exposure.

2. Telmisartan Cmax is the average of a nonlinear pair. The sheet's 7.70 ng/mL per mg = mean per mg of the two arms of PMID 17009837 (40 mg: 163.2 ng/mL, 80 mg: 905.7 ng/mL; supraproportional per label). Linear use gave 1.9× too high at 40 mg (308 vs 163 ng/mL).

Also checked: retatrutide's sheet values are the exact means of the six Coskun 2022 (Cell Metab, Table 1) arms (Cmax 114.95 ng/mL per mg, t½ 147 h, Tmax 40 h); tirzepatide = 874 ng/mL at 15 mg, t½ 116.7 h. No change.

What

  • SheetRow.exposureAnchors: Basic esters anchored to their hormone's reference: Test PP/Iso/Dec → mean of Test E/C/P; Tren E, Parabolan → Tren A; Masteron E → Masteron P. Peak set so AUC per mg hormone equals the anchors' mean; t½, Tmax, rise unchanged. Test Iso's 0.6 multiplier is replaced. Not anchored: Tren A, Masteron P (family anchors), Primobolan Depot, DHB, estradiol valerate (sheet-calibrated multipliers), MENT, orals, SARMs.
  • Telmisartan multiplier 163.2/40/7.700625 = 0.5298 → 4.08 ng/mL per mg (40 mg arm, the usual dose). Underestimates 80 mg ~2.8×.
  • Presets.VERSION → presets-2026-10d. PresetMigration upgrades log snapshots / edited presets holding the exact v0.6.0 (-10c) kinetics of the 7 changed presets (checked against a real v0.6.0 backup).
  • docs/MODELS.md: anchoring section, tables, telmisartan note, limitations (Deca ≈1.85× NPP and Nebido ≈1.75× Test E per mg hormone remain; both study-based).
Steady state, avg (trough–peak) ng/dL 10c 10d
Tren E 100 mg / 3.5 d 4,622 (4,487–4,687) 630 (612–639)
Parabolan 75 mg / 3.5 d 2,344 (2,218–2,396) 439 (416–449)
Masteron E 400 mg/wk 3,888 (2,391–5,420) 1,728 (1,062–2,409)
Test Dec 250 mg/wk 2,693 (1,872–3,433) 1,379 (959–1,759)
Telmisartan 40 mg once (peak, ng/mL) 308 163

Tests

  • New BasicExposureTest: equal exposure per mg hormone (closed form 1e-9 and numeric integration 0.5 %), ratios ≈ 1, unanchored rows keep the plain peak, anchors same hormone.
  • PresetMigrationTest: 10c → 10d for Tren E, Test Dec, telmisartan (exact v0.6.0 values); edited copies stay. PresetsTest: telmisartan 40 mg peaks at 163.2 ng/mL.
  • PkSheetGoldenTest: Tren E and Test Iso references scaled by exact peak ratio (3/22, 1.5426172); others unchanged.
  • ./gradlew :core:domain:test passes locally. No app/ or resource changes.

Note for release notes

A user who set Adjust level on Trenbolone or Drostanolone to tame the old curve will now see it applied on top of the lower curve.

@ApolloF
ApolloF enabled auto-merge (squash) October 11, 2026 22:47
LevelsGateTest.openingLevelsStartsTheTrialOnce missed its 30 s wait on CI runners twice (#18, #20)
while passing locally; the gated Levels screen test already waits 60 s.
@ApolloF
ApolloF merged commit a223801 into main Oct 12, 2026
3 checks passed
@ApolloF
ApolloF deleted the ApolloF/Levels branch October 12, 2026 15:14
@ApolloF ApolloF mentioned this pull request Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant