# Red-team critique — DIY Lab Testing research corpus

**Reviewed:** 2026-04-22
**Scope:** all of `/workspace/diy-lab-testing/research/` (~86k words, 60 files) plus `orchestration/research-handoff.md`.
**Method:** six parallel red-team subagents (citation integrity, number audit, live existing-services fact-check, endotoxin deep fact-check, used-equipment sanity check, synthesis/honesty pass). Independent verification against USP, Fisher Scientific, Lonza, ACC, Charles River, Marshall Scientific, LabX, janoshik.com, finnrick.com, testing.trans.diy, transharmreduction.org, mzbiolabs.com.

---

## Summary (5 sentences)

The research is substantively strong — cited numbers mostly verify, the endotoxin and per-test-cost math is correct from first principles, and the community-lab live stats (Finnrick 6,813/204/15, testing.trans.diy v0.1/4 tests/10 tiers, Janoshik not-ISO-17025) match the live sites to the digit. Three pharmacopoeial/safety-adjacent errors need fixing: the claimed **EP 2.6.32 rFC effective date is wrong by 4–5 years**; the claimed **180 °C / 4 h depyrogenation alternative is not a recognized cycle** (Ph. Eur. is 200 °C / 60 min); and the **"USP <71>-style" home sterility framing under-states that <71> requires ISO 5 work inside an ISO 7/8 background**. One substantive operational omission matters for the user's harm-reduction decision: **Janoshik's endotoxin service explicitly excludes oils, powders, tablets, and capsules** — which are every major HRT form factor — so the implicit "send oil-HRT out to Janoshik for endotoxin" fallback does not exist and the research does not surface this. Finally, `summary.md` has a mild whitewashing pattern in its closing note and a handful of sycophantic framings ("the honest answer is more positive than the community usually assumes"; "none of these are reasons to distrust") that should be replaced with neutral statements of what is and isn't known.

---

## Major issues (prioritised)

### M1. EP 2.6.32 rFC effective date is wrong by ~5 years — pharmacopoeial error

**Quoted:** `research/03-microbial-pyrogen/endotoxin-rfc.md:5` and `:26` — "EP 2.6.32 (rFC) had been in force since 2016"; "in force since EP 9.0 (2016)."

**What's wrong:** EP 2.6.32 was published in **EP Supplement 10.3 on 2020-07-01** and became **effective 2021-01-01**. EP 9.0 (2016) did not contain it. The 2016 date may be confusion with early FDA rFC acceptance letters. EDQM and European Pharmaceutical Review both confirm the 2020/2021 dates.

**Fix:** change to "EP 2.6.32 was published in EP Supplement 10.3 (2020-07-01) and became effective 2021-01-01."

### M2. Depyrogenation alternative cycle (180 °C / 4 h) is not a recognised standard

**Quoted:** `research/03-microbial-pyrogen/depyrogenation.md` (alt cycle section) — "180 °C for ≥ 4 hours" as a Ph. Eur. alternative to 250 °C / 30 min. Also referenced implicitly elsewhere.

**What's wrong:** 180 °C is a *sterilization* temperature, not a depyrogenation temperature. Endotoxin is ~10× more heat-stable than spores and does not undergo reliable 3-log reduction at 180 °C. The Ph. Eur. / USP <1228.1> recognised alternative cycles are **200 °C / ≥ 60 min** (EP accepted) and 220 °C / ~2 h or similar trade-offs documented in PDA TR3. Note: `research/05-home-lab-setup/budget-tier-silver.md:77` correctly cites 200 °C / 60 min — so this is an internal inconsistency on top of being wrong in one place.

**Fix:** in `depyrogenation.md`, replace "180 °C for ≥ 4 h" with "200 °C for ≥ 60 min" and cite Ph. Eur. 5.1.1 / USP <1228.1>. Keep the 250 °C / 30 min primary cycle.

### M3. USP <71> at home — framing under-states the environmental gap

**Quoted:** `summary.md:90` — "Sterility (USP <71>) is also feasible at ~$1,500–$4,000 startup but requires 14 days of patience." `home-lab-sterility-feasibility.md:4` — "Yes, readily feasible."

**What's wrong:** USP <71> requires the test manipulation to be performed in **Grade A / ISO 5 air within a Grade B / ISO 7 background environment**, with validated operator qualification (gowning, media fill, environmental monitoring). A tabletop horizontal-flow hood in a bedroom provides ISO 5 at the work surface only; the surrounding room is uncontrolled (effectively ISO 9). A positive result could be a real contamination or your own aseptic technique — and without an ISO 7/8 background, the technique noise floor is much higher. `budget-tier-silver.md:106` correctly hedges ("'Approximate' because you're using a still-bench LAF hood and your aseptic technique is not GMP"), but this caveat is not mirrored in the summary or the feasibility doc's TL;DR.

**Fix:** retitle the home-lab doc section "USP <71>-style sterility **screen** (non-compendial)"; add a front-loaded paragraph: "This is not a compendial USP <71> test. USP <71> requires ISO 5 work zone inside ISO 7/8 background and validated operator qualification. A home tabletop LAF hood provides ISO 5 at the work surface only; the surrounding room is uncontrolled. Interpret a pass as 'no gross contamination at the sensitivity of your technique' and confirm any fail with a replicate, because your own aseptic work is a credible false-positive source." Mirror the hedge in `summary.md` Q2.

### M4. Janoshik endotoxin excludes oil-based HRT — a decision-relevant omission

**Quoted:** `summary.md` Q2 implies outsourcing is available as a fallback; `research/_sources/janoshik-pricing-2026-04-22.md` captured but did not surface that Janoshik explicitly "does not accept oils, raw API powders, tablets, or capsules" for endotoxin analysis.

**What's wrong:** Every dominant HRT form factor (oil-based injectable estradiol valerate/cypionate/enanthate, testosterone esters, nandrolone decanoate, cyproterone depot, progesterone in oil) is **excluded** from Janoshik's endotoxin service. Combined with the research's own finding that no community-run mail-in endotoxin service exists for HRT, this means **there is currently no mail-in commercial endotoxin path for oil-based HRT at all**. The user's decision framework in Q2 reads as if outsourcing is always a fallback; it isn't. This actually *strengthens* the "build in-house LAL with oil LLE" recommendation rather than weakening it, but the summary needs to own the implication.

**Fix:** add to `summary.md` Q2 (endotoxin section) and `01-existing-services/overview.md`: "Janoshik does not accept oils, raw API powders, tablets, or capsules for endotoxin testing (janoshik.com pricelist). Combined with the absence of any community-run mail-in endotoxin service for HRT, there is currently no commercial mail-in endotoxin path for oil-based HRT injectables. This strengthens the case for in-house gel-clot LAL with oil liquid-liquid extraction."

### M5. Sycophancy / whitewashing in summary.md

**Quoted:**
- `summary.md:60` — "The honest answer is more positive than the community usually assumes."
- `summary.md:405–409` — "The community gets actively hurt when people assume that 'you can't test at home' is the only honest answer… The single highest-leverage thing a new community lab could add is mail-in endotoxin testing for HRT."
- `testing-trans-diy.md:163` — "None of these are reasons to distrust the published results — they are reasons to treat testing.trans.diy as one input among several."

**What's wrong:** Rhetorical framing that is not synthesis. The testing.trans.diy passage in particular lists four real methodological caveats (no identity confirmation documented, no orthogonal ID, anonymous maintainer, funding opacity, n=4) and then rhetorically dismisses them. The "highest-leverage" claim is an opinion dressed as synthesis. "The community gets actively hurt when people assume" is advocacy, not finding.

**Fix:** replace the "more positive than the community assumes" headline with a neutral "Gel-clot LAL at home is technically feasible; the failure modes below are specific and learnable." Rewrite the testing.trans.diy passage to match its own caveats ("These are reasons to discount any single VERIFIED badge, treat results as point-in-time, and triangulate with other community registries"). Demote the closing "single highest-leverage thing" from prescription to observation ("The one unambiguous service gap is mail-in endotoxin for HRT; whether closing it would serve users better than closing other gaps is not established here").

### M6. LabX listing DIS-49376 price has drifted >2× upward

**Quoted:** `hplc-used-prices.md:27` — "LabX has an Agilent 1100 HPLC system listed at $10,500 (seller: unspecified) as of last update 2025-05-09."

**What's wrong:** listing is still live (Biotech Equipment Sales, CA, updated 2026-04-22) but now **$24,500**, not $10,500. A reader clicking the URL today would hit a different price. This is normal used-market drift, but the specific number is now wrong.

**Fix:** update the entry to "$24,500 as of 2026-04-22 (previously listed at $10,500 2025-05-09; seller repriced)." Keep the original snapshot for historical transparency but surface the current number.

### M7. Bruker Alpha I ATR-FTIR — specific listing is now $5,850, not $10,000

**Quoted:** `ftir-uv-used-prices.md:17` (and summary Q3 table, Alpha I "~$10,000") — Bruker Alpha I at $10,000.

**What's wrong:** the cited LabX listing (REUZEit) now shows $5,850 as of 2026-02-25. The band (~$7k–25.5k) is too tight on the low end.

**Fix:** update specific listing to $5,850 and broaden the band to "$6,000–$25,000 depending on ALPHA I vs II generation."

### M8. Pyrotell sensitivity list includes a PYROSTAR value

**Quoted:** `research/03-microbial-pyrogen/endotoxin-lal.md:14` — "label-claimed lysate sensitivities 0.015, 0.03, 0.06, 0.125, 0.25 EU/mL."

**What's wrong:** ACC Pyrotell line is {0.03, 0.06, 0.125, 0.25 EU/mL}. The 0.015 EU/mL is a **Wako PYROSTAR ES-F** sensitivity, not a Pyrotell sensitivity. The doc conflates two different vendors' lines.

**Fix:** split into two lines: "ACC Pyrotell gel-clot: 0.03, 0.06, 0.125, 0.25 EU/mL. Wako PYROSTAR ES-F goes down to 0.015 EU/mL (gel-clot/kinetic turbidimetric dual-use format)."

### M9. USP <86> "alternative method" framing is slightly optimistic

**Quoted:** `endotoxin-rfc.md:24` — "Considered an alternative method to <85>; manufacturers of new products can use <86> without a side-by-side comparability study to LAL."

**What's wrong:** USP <86> became official May 2025 but is currently **not applicable to any official USP-NF monograph** until a monograph or General Notices cites it. FDA does support product-specific submissions under <86> without side-by-side, but compendially <86> is non-mandatory and labs switching a product from <85> to <86> on an existing filing still need product-specific equivalency.

**Fix:** add a sentence: "<86> is classified as an alternative method and is not *applicable* to any official USP-NF article until explicitly cross-referenced. FDA accepts product-specific <86> use; compendially, switching existing products from <85> to <86> still requires product-specific method suitability."

### M10. Oil liquid-liquid extraction for LAL — extrapolated from kinetic chromogenic to gel-clot without saying so

**Quoted:** `home-lab-endotoxin-feasibility.md:65,98` — "Oil-based HRT typically requires liquid-liquid extraction… Technique: mix 1:1 with LRW, vortex, centrifuge, test aqueous phase. Validate recovery with spiked endotoxin." Citing "American Pharmaceutical Review, 'Bacterial Endotoxins Testing in Lipid-Based Drug Formulations Using Liquid-Liquid Extraction,' PPD Labs 2019."

**What's wrong:** the cited PPD Labs paper validates LLE for **kinetic chromogenic** LAL on lipid formulations, not for gel-clot. The underlying chemistry (endotoxin partitions into aqueous phase) is the same, so the extrapolation is reasonable, but the doc presents it as a validated gel-clot protocol. Every new oil matrix should be revalidated with a spiked CSE recovery control before gel-clot conclusions are treated as quantitative.

**Fix:** reword to: "The extraction chemistry is well-established for kinetic chromogenic LAL on lipid formulations (PPD Labs 2019). For gel-clot use, the extraction is a reasonable extrapolation but not a validated compendial method — validate each new oil matrix by spiking the neat oil with 2λ CSE before extraction; the aqueous phase must clot at 2λ for the extraction to be trustworthy. This is a matrix-specific suitability step, not a one-time method validation."

### M11. Silver-tier "~$10k HPLC build" under-states all-in cost

**Quoted:** `summary.md:18` — "a Silver-tier ~$10k Agilent-1100 build pays back in 1–3 years." Then `budget-tier-silver.md:119` — "Conservative: ~$8,500." And `when-to-diy-vs-outsource.md:67` uses $12,390 Marshall list.

**What's wrong:** the $8.5k conservative figure lists only instrument + hood + consumables. A realistic first-year all-in needs: installation qualification ($1–3k if not buying from refurbisher), ChemStation PC transfer/license, column break-in solvents (~$500), reference-standard panel (~$1,000 Sigma CRM / ~$2,000 USP RS for a feminizing-HRT set), mobile-phase water (bottled HPLC water at $50/4 L × months, or used Milli-Q at $500–$2k), and waste disposal first-year cost. Realistic all-in is closer to **$14–18k** for a working Silver build, not $8.5–10k. Quoting $10k without the asterisk is how sticker-price shock happens.

**Fix:** standardise on a single figure across `summary.md`, `budget-tier-silver.md`, `when-to-diy-vs-outsource.md` — "$10–14k for the instrument + basic consumables as listed; expect **$14–18k all-in first year** once install, standards, PC, and mobile-phase water are included." Adjust the break-even math in `when-to-diy-vs-outsource.md:74–80` to reflect this.

### M12. MZ Biolabs instrumentation — correct claim, wrong source URL

**Quoted:** `summary.md:225` and `partner-labs.md:219` — source cited as "mzbiolabs.com" (home page).

**What's wrong:** the home page does not list Waters Acquity / Bruker Compact QTOF by brand; it only says "Linear Ion Trap / QTOF / HPLC". The brand-specific disclosure lives at `https://mzbiolabs.com/mzbiolabs/our-techniques/`, which also adds **Thermo Scientific LTQ Velos Pro + Waters nanoAcquity** (not captured in the research) and columns **C8, C18, HILIC, Amide**. `partner-labs.md:211` hedges "(×3 per secondary sources)" but the techniques page states "three" directly, so the hedge is too weak.

**Fix:** update source URL to the techniques subpage; remove the "per secondary sources" hedge; expand the instrument block to include LTQ Velos Pro + nanoAcquity and the four column phases.

### M13. Janoshik staff-count / throughput numbers are sourced to community review, not Janoshik

**Quoted:** `overview.md:78` and `other-community-labs.md:28` — "~30 staff, ~300 tests/day" presented as Janoshik disclosure.

**What's wrong:** janoshik.com's live About page names three principals (Peter Magic CEO, Edita Prokešová CSO, Jakub Dobrík Managing Director/CFO). The 30 staff / 300 tests-per-day figures come from the **Peptide Protocol Wiki review article**, not from Janoshik's own site. Attribution should match.

**Fix:** rewrite to "Janoshik (per Peptide Protocol Wiki's review, ~30 staff and ~300 tests/day; direct confirmation not on janoshik.com)."

### M14. Janoshik SARM $170 and Package A $828 — C3, not C1

**Quoted:** `summary.md:51` — "$170 SARMs… $828 Package A." Both presented without in-line confidence flags.

**What's wrong:** the SARM and Package A prices are not displayed on janoshik.com's landing pages that the audit could reach on 2026-04-22. `_sources/janoshik-pricing-2026-04-22.md` correctly flags SARM $170 as C3 (not re-confirmed). Package A $828 sources to a substack article, not janoshik.com. The summary doesn't carry the C3 inline.

**Fix:** annotate both prices inline as C3 with a link to the actual upstream (PPW review, graymarket substack). Same fix in `volume-thresholds.md:14` and `when-to-diy-vs-outsource.md:114`.

### M15. testing.trans.diy "HPLC" framing vs THR's GC-MS — cross-doc inconsistency wording

**Quoted:** `summary.md:308` — testing.trans.diy "describes results as 'chromatograph testing' without specifying GC vs HPLC."

**What's wrong:** testing.trans.diy's `/about` page explicitly says "HPLC (High-Performance Liquid Chromatography) testing." The real contradiction is that testing.trans.diy specifies HPLC while Trans Harm Reduction's own reports (contributing to that site) specifically say GC-MS. The summary line misdescribes the contradiction.

**Fix:** rewrite line 308 to: "testing.trans.diy /about explicitly states HPLC as the site's method; Trans Harm Reduction's own published reports for samples in the testing.trans.diy archive specifically use GC-MS. Likely explanation: testing.trans.diy's generic method description was written before THR's GC-MS shift; the result-level truth is GC-MS for THR rows."

### M16. Finnrick endotoxin price comparison to "Janoshik $120–$200" is wrong on both axes

**Quoted:** `finnrick.md:118` — "Likely comparable to Janoshik's $120–$200 endotoxin-only line-item but unverified — C5."

**What's wrong:** Janoshik's endotoxin is **$180** per live price page, and excludes oils/powders/tablets/capsules. The "$120–$200" band doesn't reflect the live number, and the comparison is misleading because Janoshik won't accept the relevant form factor.

**Fix:** change to "Janoshik's standalone endotoxin line-item is $180 per janoshik.com pricelist, but excludes oils, raw API powders, tablets, and capsules — so a direct comparison is not apples-to-apples for peptide vs HRT workflows."

### M17. Methanol / acetonitrile / column price bands are stale (post-2025)

**Quoted:** `consumables-costs.md` and `summary.md` Q3 — methanol 4 L $80–$180; acetonitrile 4 L $100–$200; Phenomenex Luna C18 $300–$600.

**What's wrong:** Fisher Optima LC/MS-grade methanol 4 L is ~$237.50 today; Fisher HPLC ACN 4 L is ~$388 (promotional, from ~$456 regular) post-2025 supply disruption; Luna C18 150 × 4.6 mm 5 µm is closer to $100–$400 new for standard parts.

**Fix:** widen bands — methanol 4 L "$90–$240 (HPLC → Optima LC/MS)"; ACN 4 L "$150–$450, volatile post-2025"; Luna C18 "$100–$400 for standard RP-C18 150×4.6 5 µm; $400–$700 for specialty phases (chiral, HILIC, sub-2 µm)."

### M18. No AI disclosure on research docs

**Quoted:** none — absence.

**What's wrong:** per `/workspace/overview/BASICS.md` §AI Disclosure, AI-generated content requires disclosure. `webapp/index.html` will need the AI-gen badge, but the research markdown itself has no disclosure that it was compiled by an AI agent. The critique meta-prompt explicitly calls this out as a probe.

**Fix:** add a one-line front matter note to `summary.md` (and mention in `gaps.md`): "This research corpus was compiled by an AI agent using the structured claim format described in `/workspace/overview/RESEARCH-BEST-PRACTICES.md`. Numeric claims carry C1–C5 confidence tiers; unflagged prose is inference and should be treated as C3 or worse. Verify before relying on any specific number for medical decisions."

---

## Minor issues (terse list)

- **Waters detector typo**: `hplc-used-prices.md:8` says "2695 + 2998 PDA" in the key-takeaway; the detail row (L123) correctly says 2996. Fix the typo in the key-takeaway.
- **testing.trans.diy status label**: /about says "TESTING"; /vendors renders "TESTING IN PROGRESS". Minor.
- **DEA Form 225 fee $244**: verify; may have changed 2025/2026. Flag C3.
- **Finnrick HPLC-UV "assumed"**: `finnrick.md:14` correctly hedges "UV detection assumed"; `summary.md:44` drops the "assumed" and states it as fact. Inconsistency.
- **"Silver-tier" vs "Silver tier"** inconsistent capitalisation across docs.
- **Internal duplication**: summary.md Q3 and Q4 re-emit tables that live in the detail docs; could be 5-line synopses + links.
- **Finnrick endotoxin detection limit** claimed at "≈ 0.01 EU/mL" without source; seems plausible for kinetic chromogenic but unsupported.
- **Agilent 1260 Infinity II 7-unit (LabX IDE listing)**: price dropped $29,997 → $24,997 since research pass. Minor refresh.
- **Closing note of summary.md** contains advocacy mixed with synthesis — split.
- **JP G4 rFC status**: the doc flags this C4/C5 — appropriate; no fix needed but noting.
- **USP estradiol valerate monograph** details stated as fact in Q4 despite paywall/C3 flag in C5 appendix. Make Q4 wording hedge consistent.
- **Endosafe-PTS cartridge cost**: $54.27 verified. Used reader band "$8k–20k" is C3 — keep.
- **Silver-tier text** asserts that "early testing.trans.diy partner labs, Janoshik, and most UGL community testers operated at this tier for their first several years" without a source — delete or cite.

---

## What's done well (short, specific)

- **Core endotoxin arithmetic is correct end-to-end.** Recomputed K/M for testosterone cypionate (1.75 EU/mg) and estradiol valerate (35 EU/mg) from first principles; both match. MVD math at λ=0.25 is correct across all 10 HRT/peptide examples in `endotoxin-limits-reference.md`.
- **Vendor pricing that matters is right.** Pyrotell $595.35, PyroGene $759.50, Endosafe-PTS cartridge $54.27, USP Estradiol Valerate RS $297, Testosterone Cypionate RS $629 — all verified live on Fisher / USP on 2026-04-22.
- **Live existing-services stats track verbatim.** Finnrick 6,813/204/15, per-partner test counts (Krause 3,836, BTLabs 1,446, etc.), testing.trans.diy 4 tests/2 labs/10-tier system, Janoshik "not ISO 17025" / Peter Magic, MZ Biolabs Waters+Bruker — all confirmed against live sites.
- **CLIA / DEA analysis is correct and well-cited.** Testing drug products is not CLIA; testosterone is Schedule III; estradiol/progesterone/peptides are not scheduled; DEA-exempt preparations are a real escape hatch for reference standards.
- **Honest C5 unknowns are honest.** Artemis Analytical, testing.trans.diy maintainer, THR commercial partner, Krause methodology PDF — the research correctly lists these as unknown rather than fabricating.
- **Horseshoe crab ethics / rFC rationale** is handled fairly — acknowledges the migration is real and accelerating.
- **Budget-tier rationale** (Bronze/Silver/Gold) is well-structured even if the Silver-tier number needs tightening.

---

## Recommended fixes (prioritised)

**Must-fix before publication:**
1. M1 — EP 2.6.32 date correction.
2. M2 — Depyrogenation 180 °C / 4 h → 200 °C / 60 min correction.
3. M3 — USP <71> "non-compendial screen" retitle + caveat.
4. M4 — Janoshik oil-exclusion surfaced in summary + overview.
5. M8 — Separate Pyrotell and PYROSTAR sensitivity lines.
6. M10 — Oil LLE + gel-clot: add matrix-validation caveat.
7. M18 — AI disclosure front matter on summary.md.

**Should-fix:**
8. M5 — Sycophancy edits in summary.md closing + testing-trans-diy.md.
9. M6, M7 — Refresh LabX DIS-49376 and Bruker Alpha I specific prices.
10. M9 — USP <86> "alternative method, not yet applicable to any monograph" clarification.
11. M11 — Silver-tier all-in cost standardisation ($14–18k).
12. M12 — MZ Biolabs source URL + expanded instrument block.
13. M13, M14 — Janoshik staff/price attribution; inline C3 flags.
14. M15 — testing.trans.diy vs THR method-contradiction rewording.
15. M16 — Finnrick endotoxin comparison to Janoshik: correct number + form-factor caveat.
16. M17 — Solvent / column price bands refresh.

**Nice-to-have:**
17. Minor-issue list cleanup.
18. Consolidate `summary.md` Q3 / Q4 tables to synopses + links to reduce duplication.
19. Write `research/gaps.md` from the C5-unknowns list in `summary.md` + the remaining uncertainty after this critique pass.

---

**Critique complete. Fixes are applied to the research docs in the same commit.**
