LivingGLP1
Verbatim review · round 2 · protocol version 0.2.0

Fable 5.1

Anthropic; independent agent session, read-only instructions. A language model review, published as received except for removed tool progress messages and shortened local paths.

minor revision

Peer review round 2: LivingGLP1 protocol 0.2.0 (reviewer fable-5.1)

What I verified on 2026-10-12, so the owner knows the software and query claims are not in dispute: the rendered 1.1.0 PubMed query runs with no field errors (28,674 records); the mechanism block adds 185 records the rest of the strategy misses (the text says 190); "Glucagon-Like Peptide-1 Receptor/agonists"[Mesh] NOT the rest returns 0; "GLP-1RA*"[tiab] returns 3,594 against 3,592 for the explicit forms, so truncation inside quoted hyphenated tokens works; Europe PMC TITLE_ABS equals TITLE OR ABSTRACT and the rendered query returns 28,735; OpenAlex search.title_and_abstract maps to the title_and_abstract.search filter; netcontrib defaults to shortestpath in netmeta 3.7.0; every cell of turner_map.csv matches Turner 2015 Table IV. The remaining problems are in the tables and the text.

1. Round 1 comments

Item Status Reason
F1 Resolved O10B with W09 (12 to 52, target 24) for P12 and P15.
F2 Resolved O110A to O114, one row per substance and construct, directions correct.
F3 Resolved O11A to O11E; O27A to O27E.
F4 Resolved Rare outcome rule: median risk below 2 per 1,000, ratio 1.25, effects per 10,000.
F5 Resolved nrs_synthesis column; all 16 yes rows specified in harms_nrs.csv.
F6 Resolved P01 in O10, O11A to O11E and W06; stratum rule stated.
F7 Resolved S2/S3 split plus S4 is better than my covariate proposal; reason accepted.
F8 Resolved Two node rule and inventory only rule in Comparators.
F9 Resolved Flexible, MTD and free combination rules added. Combining comparator dose arms within a trial is Handbook practice and keeps node sets identical across networks; reason accepted.
F10 Resolved P07A/P07B fixed; LVEF 40 cut matches trial eligibility; 50 percent sensitivity.
F11 Resolved Turner applied to log hazard and log rate. The geometry rule is fixed before outcome extraction and is acceptable; define "direct comparison" as a distinct node pair with direct evidence (not trials or arms), otherwise dose networks flip the rule.
F12 Resolved cloglog with log follow-up offset primary; odds ratio sensitivity.
F13 Partly resolved Appendix A generated, CENTRAL and Chinese databases added; but no Chinese term for any Chinese origin investigational agent (item 9) and no logged run of 1.1.0 (item 13).
F14 Partly resolved Rule based nodes end the amendment problem; the retatrutide 9 mg note is not executable (item 7).
F15 Resolved Independent duplicate extraction of outcome data.
F16 Resolved Wording corrected.
F17 Partly resolved The O22/O22B split is stricter than I asked but leaves the registered composites of LEADER, REWIND and SELECT unmapped (item 1).
F18 Resolved Mapping rule in O04.
F19 Resolved P14A to P14E; notes fixed.
F20 Resolved EM16 to EM22; EM11 categories defined (EM02 omission, item 11).
F21 Resolved Kappa 0.8 with percent agreement.
F22 Resolved Ordered hierarchy.
F23 Resolved Shortest path; verified as the netmeta default.
F24 Resolved ML-NMR wording corrected.
F25 Resolved Critical and important outcomes rated.
F26 Resolved Approved versus studied uses distinguished.
F27 Resolved Claims tested, mechanism block and codes added. NN9487 was omitted because PubMed has no record today; in a living review a zero count is the reason to include a development code, not to exclude it.

2. New errors and inconsistencies

Major

  1. outcomes.csv O22, O22B (P01 primary outcome). The registered kidney composites of LEADER (NCT01179048), REWIND (NCT01394952) and SELECT (NCT03574597) include new onset persistent macroalbuminuria, and REWIND uses a 30 percent eGFR decline; none maps to O22 (kidney failure, 50 percent decline, kidney death) or O22B (40 percent decline or cardiovascular death). FLOW maps to O22B. O22 is therefore nearly empty in P01 and P02. Replacement mapping_rules for O22: "The trial's prespecified kidney composite is used and its components recorded. Doubling of serum creatinine maps to a 50 percent decline. Composites that include new onset macroalbuminuria, or an eGFR decline threshold below 40 percent, are O22C and never pooled with O22 or O22B; when a trial also reports a composite without albuminuria, that result is used for O22 or O22B." Add row O22C (P01;P02, time_to_event, log_hazard, lower_better, important, horizon 156) and add O22C to turner_map.csv.

  2. windows.csv W12 (O41, P07A;P07B, 36 to 64). FIGHT (NCT01800968) measured KCCQ at 180 days and LIVE (NCT01472640) ran 24 weeks, so the P07B network for O41, one of its two primary outcomes, is empty as written; this is the error class of my round 1 item 1. Replacement: add "W26, O41, P07A;P07B, secondary, 26, 12, 36", or make it the P07B primary window.

  3. windows.csv W01, W02, W06, W07: O05 in P01. O05 for P01 sits in two primary windows (W01 36 to 64; W06 40 to 104) and two secondary windows (W02 20 to 36; W07 20 to 40), which breaks the stated invariant that windows for one outcome and population are contiguous. Replacement: remove O05 from W06 and W07 and add "W27, O05, P02, primary, 68, 40, 104" and "W28, O05, P02, secondary, 26, 20, 40".

Minor

  1. windows.csv W00 and W25. outcome_ids holds free text and target_week holds "longest" in a table that datapackage.R registers with key window_id. Replacement: enumerate the IDs for W00 (O04;O14;O20;O21;O21B;O22;O22B;O23;O23B;O25;O26;O27A;O27B;O27C;O27D;O27E;O28;O29;O30;O31;O32A;O32B;O33;O34;O35A;O35B;O36A;O36B;O37A;O37B;O38;O39;O40;O50;O121), leave target_week empty and add a column selection_rule with values nearest_target or longest_follow_up.

  2. Other window gaps and text. W14 (O70, 36 to 64) excludes SCALE Sleep Apnea (32 weeks): set lower_week_inclusive to 24. W13 (O60, O61, 48 to 104) excludes 24 week histology trials (pemvidutide IMPACT): add a secondary window 12 to 48, target 24. W11 (O13A, O13B, 40 to 104) has no home for 24 week pediatric exenatide trials: add a secondary window 20 to 40, target 26. In Outcomes and prioritization, "Each ... outcome has primary and secondary windows" is false for W09 to W17 and W24, and "the primary window for HbA1c and weight is 36 to 64 weeks" holds for O02 only, since O10 and O11 in P01 use W06 (40 to 104): write "HbA1c and weight in kilograms (O01, O02)".

  3. concepts.yaml pubmed_mesh. insulin degludec, liraglutide drug combination[nm] is not a supplementary concept name; PubMed parses it as a text AND (84 records). The record is IDegLira (C000613158); "IDegLira"[nm] returns 57. No supplementary concept exists for iGlarLixi (0 records). Replace the first line with IDegLira[nm] and delete the second.

  4. nodes.csv RETA_SC_9MG_QW. Every phase 3 retatrutide registration masks arms as Dose 1 to 3, and registry_dose_candidates.csv lists 0.5, 1, 2, 4, 8 and 12 mg and no 9 mg, so "verify against registrations" cannot be executed. Delete the row (the node rule recreates it from a publication) and remove the copied note from the other five retatrutide rows.

  5. priors.csv PR02 and PR06; outcomes.csv O36B, O120. PR02's Normal(0; 5^2) baseline on the cloglog scale depends on the offset's time unit; state "follow-up in years" in the row and in the Bayesian section. PR06 switches priors below 5 per 1,000 while the rare outcome rule switches thresholds below 2 per 1,000; state in the rationale that the cutoffs serve different purposes, or align them. O36B (retained gastric content) and O120 (major malformations, baseline about 3 percent) carry relative thresholds without the rare outcome note and are not rare; give absolute thresholds (O36B 50 per 1,000; O120 5 per 1,000) or a reason.

  6. concepts.yaml chinese_terms. Nine marketed agents only; none of the Chinese origin investigational agents that motivated the CNKI and Wanfang searches (supaglutide, ecnoglutide, bofanglutide, noiiglutide, PB-119, glutazumab, efsubaglutide, HRS9531, HRS-7535, HS-20094) has a Chinese term. Completeness of the list is a methods gap; verification is the administrative one. Add candidate names for verification (for example 依诺格鲁肽 ecnoglutide, 诺利糖肽 noiiglutide, 苏帕鲁肽 supaglutide, 博凡格鲁肽 bofanglutide) and state that development codes and English INNs are also searched in both databases.

  7. turner_map.csv O14. Incident type 2 diabetes is mapped to "cause-specific mortality/major morbidity" (LN(-3.71; 1.74^2)); Turner's "Infection/onset of new acute/chronic disease" (LN(-2.49; 1.52^2); LN(-2.73; 1.58^2)) is the natural category. Remap or justify.

  8. effect_modifiers.csv EM02. The unit says "BMI standard deviation score in P03" but P03 is missing from populations; add P03.

  9. populations.csv P01 strata. "S3 prandial; premixed or basal bolus insulin" uses the list delimiter inside one stratum; write "S3 prandial, premixed or basal bolus insulin".

  10. search/runs/2026-10-12/run_log.json. The only logged run is concepts 1.0.0 with three sources; OpenAlex has never been exercised in a logged run, and ClinicalTrials.gov reported 3,422 but retrieved 2,755 without reconciliation. Back the Timeline's "validated with a harvest" claim with a logged 1.1.0 run of all four API sources, with the shortfall explained, before the baseline search.

Conclusion

The methods are sound and the software and query claims reproduce. Items 1 to 3 break two primary outcome networks and one stated invariant, but each is a row level edit; nothing needs redesign. With those fixed and the administrative conditions met, I would approve the methods for registration.

VERDICT: MINOR REVISION