LivingGLP1
2026-10-13 · concepts 1.2.0 to 1.3.1

PRESS 2015 review of the search strategy

Two language model reviewers assessed the search with the PRESS 2015 checklist in place of a human information specialist, a substitution the protocol reports as a limitation. Every added term was checked by live counts (term-verification.csv), and the changes were re-checked until both reviewers confirmed them.

Response to every finding

PRESS 2015 review: response and reconciliation

Search reviewed: concepts version 1.2.0 as rendered on 2026-10-13. Revised version: concepts 1.3.0 (protocol 0.20.0, amendment A019).

Two language model reviewers (gpt-6-astra, fable-5.1) assessed the search independently with the PRESS 2015 checklist, checked the Chinese names, and judged the checklist decisions for registration. They stand in for a human information specialist and a Chinese-reading team member; the protocol reports both substitutions as limitations. Every term added below was checked by live counts on 2026-10-13 (term-verification.csv: PubMed title and abstract, Europe PMC title and abstract, ClinicalTrials.gov intervention and general term searches). Counts verify that a term exists in a source; they are not tests of each search interface.

PRESS elements

Element gpt-6-astra fable-5.1 Decision
Translation of the question revision required (registry term search) no revision Revised: the ClinicalTrials.gov general term search now includes every agent name
Boolean and proximity operators no revision no revision No change
Subject headings revision suggested revision suggested Revised (below)
Text words revision required revision required Revised (below)
Spelling, syntax, line numbers no revision revision suggested Revised (below)
Limits and filters no revision no revision No change

Text words

  • Development codes, brand names and INNs of listed agents (both reviewers): added where any source returned a record: GSK716155 (albiglutide); BIM-51077, RO5073031, ITM077 (taspoglutide); SAR439977 (efpeglenatide); benaglutide (beinaglutide); visepegenatide (PB-119); PEX168 (loxenatide); XW004 (ecnoglutide); ZP7570 (dapiglutide); JNJ-64565111 (efinopegdutide); OWL833, Foundayo (orforglipron); NNC0487-0111 (amycretin); AMG133, "maridebart cafraglutide"; ribupatide, KAI-9531 (HRS9531); KAI-7535 (HRS-7535); enicepatide (CT-388); olatorepatide (HS-20094); NN9068 (IDegLira); LY2148568 (exenatide); ZP10, ZP10A (lixisenatide).
  • Supaglutide and efsubaglutide alfa (both): the same molecule; merged into one agent, efsubaglutide, keeping both names and adding "efsubaglutide alfa" and YN-011.
  • New agents (both; added to agents.csv as "to verify at first inclusion", with a provisional class): ebenatide (CJC-1134-PC), CJC-1131, NLY01, ROSE-010, MET-097, TG103, AZD5004 (ECC5004), CT-996 (RO7795081), VCT220, HDM1002, TTP273, TTP054, XW014, CT-868, RAY1225, BGM0504, HDM1005, SAR425899, NN1177 (NNC9204-1177), MK-8521, AZD9550, PB-718, pegapamodutide (LY2944876, OPK88003, TT-401), HEC88473, NNC9204-1706, HM15275, SAR441255, HR17031, and three whose mechanism the registry text does not confirm (GZR101, HRS-4729, GMA106).
  • Ambiguous codes (decision of the review owner after checking titles): CX11 (VCT220), DD01 and ZT002 also name unrelated things (a cervical cancer trial, a tolterodine study, a zebrafish gene). They are searched in the ClinicalTrials.gov intervention field and, in bibliographic sources, only together with the mechanism context terms.
  • Not added: no record in any source on 2026-10-13: "gulgafafusp alfa", NN1535, albenatide, naperiglipron, NN9838. The reviewers disagreed on albenatide and ebenatide for CJC-1134-PC; ebenatide and CJC-1134-PC return records and are used.
  • Unhyphenated class phrases and plain synonyms (fable-5.1): added ("GLP1 receptor agonist*", "GLP1R agonist*", "GLP1 RA", "GLP1 RAs", "GLP1 analog*", "GLP1 analogue*", "glucagon-like peptide-1 agonist*", "GLP-1 mimetic*", "GLP-1 based therap*", "GLP-1 therap*", "GLP-1 receptor agonism", "glucagon-like peptide-1 receptor agonism"). The reviewer measured 731 PubMed and 1,084 Europe PMC records not retrieved before, mostly narrative reviews, which the inventory keeps.
  • Mechanism block (fable-5.1): added multi-agonist, multiagonist, triagonist, twincretin, dual receptor agonist and incretin receptor agonist, and the context terms GLP-1/GIP, GIP/GLP-1, GLP-1/glucagon, glucagon/GLP-1, GLP-1/GIP/glucagon, GLP-1R, GLP1R and GIPR (ANDed with the agonist terms only, since alone they add noise).

Subject headings

  • "Semaglutide"[Mesh] and "Tirzepatide"[Mesh] (gpt-6-astra): both exist (2,456 and 933 records); added.
  • "Glucagon-Like Peptide 1/agonists"[Mesh] and "Glucagon-Like Peptide 1/analogs and derivatives"[Mesh] (both): added, for class records indexed before the 2024 class heading. The hormone heading itself stays out (native GLP-1 physiology, outside scope).
  • cotadutide[nm] and danuglipron[nm] (fable-5.1): added.
  • "Glucagon-Like Peptide-1 Receptor/agonists"[Mesh] (gpt-6-astra): not added; fable-5.1 measured 0 records.
  • MESH_DESCR for Europe PMC (gpt-6-astra, suggested): not added; Europe PMC records with MeSH are MEDLINE records already searched through PubMed with the same headings.
  • Emtree (gpt-6-astra): not applicable; Embase is not searched (protocol, information sources).

Spelling, syntax and reconciliation

  • therap* now expands to therapy, therapies, therapeutic and therapeutics in sources without phrase truncation (fable-5.1).
  • The Europe PMC renderer comment was wrong (every term is quoted); fixed (fable-5.1).
  • PubMed phrases not found are stored in the run log of every run (fable-5.1); 23 codes are not yet indexed in PubMed and are kept, because a living search must find their first report.
  • The ClinicalTrials.gov reported count is the sum of two searches; the union is the retrieved count, and both are in the reconciliation (fable-5.1).
  • OpenAlex keeps explicit word forms without wildcards (gpt-6-astra).

Chinese terms

  • Added the approved names 聚乙二醇洛塞那肽 (loxenatide), 依苏帕格鲁肽α and 依苏帕格鲁肽 (efsubaglutide), and 艾塞那肽微球, and the combination names 德谷胰岛素利拉鲁肽, 甘精胰岛素利司那肽 and 依柯胰岛素司美格鲁肽.
  • Ecnoglutide: the reviewers disagreed (gpt-6-astra: approved name 埃诺格鲁肽, with 伊诺格鲁肽 historical; fable-5.1: 依诺格鲁肽 in CDE listings). All three are searched; the first CNKI search shows which occur.
  • Candidates kept unverified until the first CNKI search: 诺利格鲁肽 and 诺利糖肽, 博凡格鲁肽, 维培那肽 and 维派那肽, 艾本那肽, 瑞普泊肽, 奥莱泊肽, 舒地胰岛素诺利格鲁肽, 瑞他鲁肽, 卡格列肽, 阿必鲁肽, 他司鲁肽, 奥福格列龙; and fourteen brand names.
  • Class terms added: 胰高糖素样肽-1受体激动剂, GLP-1RA, GLP-1类似物, 胰高血糖素样肽-1类似物, 肠促胰素, 肠促胰岛素, 双靶点激动剂, 双重激动剂, 三靶点激动剂, 三重激动剂, GIP/GLP-1双受体激动剂.

Registration decisions

Item Reviewers Decision
(a) Team Both: name the guarantor; keep the gate before screening Guarantor named with affiliation, ORCID and address; second and third reviewers named by amendment before calibration
(b) Funding and competing interests Both: a declaration cannot be "to be confirmed" Declared: no funder, no sponsor, no competing interests
(c) Embase Both: name the gaps; fable-5.1: the institution licenses Embase Not searched because it needs an authenticated interactive session; gaps for nonrandomized harms and conference abstracts named; may be added by amendment
(d) PRESS by language models Both: acceptable only as a disclosed substitution Disclosed in the protocol with dates, files and the limitation that terms were checked by counts
(e) Chinese terms Both: as (d), with official sources and the first CNKI search as the check As proposed
(f) Thresholds Both: amend the lines that promised confirmation; prespecified operational thresholds Owner set and locked at registration; later changes only for outcomes without extracted data, otherwise sensitivity analysis
(g) PROSPERO and OSF Both: register the same version in both Not applicable: the owner chose registration as a GitHub release only
(h) Further review Both: no full round; a pre-registration amendment and a targeted check of the re-rendered queries Amendment A019; targeted check of the 1.3.0 queries by the same two reviewers; four-source harvest with 1.3.0 before registration

PRESS review: GPT-6 Astra

PRESS 2015 review of the search strategy (reviewer gpt-6-astra, 2026-10-13)

Overall: revision required. Supplied renderings reviewed; no files changed. One-off API requests failed, so no new live counts verified. Findings below establish omissions, not exhaustive worldwide agent/brand coverage.

Task 1. PRESS 2015

  1. Text-word searching: revision required. Class coverage cannot reliably replace missing drug names, especially in registrations. Add these exact strings while retaining existing aliases:

    Existing agent Missing terms
    Beinaglutide benaglutide
    Albiglutide GSK716155
    Taspoglutide RO5073031, BIM-51077, ITM077, ITM 077
    Efpeglenatide SAR439977
    Efinopegdutide JNJ-64565111
    Orforglipron OWL833, Foundayo
    Dapiglutide ZP7570, ZP-7570
    Amycretin/zenagamtide NNC0487-0111
    PB119 visepegenatide
    Glutazumab gulgafafusp alfa
    CT-388 enicepatide
    HRS9531; HRS-7535 ribupatide, KAI-9531; KAI-7535
    HS-20094 olatorepatide
    IDegLira; IcoSema NN9068; NN1535

    Supaglutide and efsubaglutide alfa are aliases, not separate molecules: merge their concept identity, retain both search names, add efsubaglutide alfa and YN-011. NCATS substance record.

    Entire missing clinical programs include albenatide/CJC-1134-PC, AZD5004/ECC5004, CT-996 and CT-868, NLY01, ROSE-010, SAR425899, NN1177/NNC9204-1177, MK-8521, TTP273, naperiglipron, and Chinese programs below.

    Per-source implementation: OR each string as "term"[tiab] in PubMed, TITLE_ABS:"term" in Europe PMC, and "term" in OpenAlex chunks. Add to both ClinicalTrials.gov name branches described below. Include identical English/code strings in CNKI/Wanfang searches. Retain compact and documented separated codes; add AMG133 and maridebart cafraglutide alongside current MariTide terms.

  2. Translation of research question: revision required. Intervention-only searching appropriately avoids indication, comparator and design restrictions. However, ClinicalTrials.gov puts agent names exclusively in query.intr. Observational registrations can describe drug exposure elsewhere without listing it as an intervention. Change query.term to:

    (<all agent/name/code terms>) OR (<existing class terms>) OR (<existing mechanism block>)

    Keep separate query.intr search and union identifiers. Do not submit both parameters together as an AND restriction.

  3. Subject headings: revision suggested. Add "Semaglutide"[Mesh] OR "Tirzepatide"[Mesh]; both now have descriptors. Existing [nm] terms need not be deleted. Retain class [Mesh] and [pa]. Semaglutide, tirzepatide.

    Add legacy "Glucagon-Like Peptide 1/analogs and derivatives"[Mesh] OR "Glucagon-Like Peptide-1 Receptor/agonists"[Mesh]. Current class descriptor dates only from 2024. Finding 484 excluded infusion studies among 6,988 additional records does not establish that all remaining records are irrelevant. NLM history.

    Europe PMC: suggest OR-ing MESH_DESCR:"Glucagon-Like Peptide-1 Receptor Agonists" before patent exclusion. Emtree cannot be certified without Embase access; later translation should validate exploded glucagon like peptide 1 receptor agonist and individual drug headings in its actual interface, not copy MeSH tags.

  4. Spelling, syntax and line numbers: no revision for supplied Boolean renderings; vocabulary corrections above remain necessary. PubMed supports quoted truncation. Europe PMC’s explicit singular/plural forms avoid phrase-wildcard ambiguity. ClinicalTrials.gov does not support truncation. OpenAlex’s explicit forms are valid; current wildcard searching requires .exact, so do not introduce * into existing stemmed requests. PubMed, ClinicalTrials.gov guide, OpenAlex.

  5. Boolean/proximity operators: no revision. OR connects alternatives; mechanism/context AND is correctly parenthesized and remains an alternative retrieval route. No unnecessary proximity restriction found.

  6. Limits/filters: no revision for date, language, design, indication or recruitment status. Europe PMC’s patent exclusion is an explicit source restriction, not “no restrictions whatsoever.” Manual CENTRAL/CNKI/Wanfang/ICTRP strategies were not supplied, so their syntax remains unreviewed. Stored counts reconcile: PubMed 28,678 identifiers = 28,544 articles + 134 books; registry union = 2,464 + 1,060 − 692 = 2,832. Book eligibility still requires handling. Saved OpenAlex status remains not_run.

Task 2. Chinese terms

  1. Entry-by-entry assessment. Approved-name stems below omit dosage-form suffixes appropriately for searching.

    YAML entry Judgment/correct form
    GLP-1受体激动剂 Valid class phrase, not approved drug name.
    胰高血糖素样肽-1受体激动剂 Valid variant; also add 胰高糖素样肽-1受体激动剂.
    semaglutide: 司美格鲁肽 Standard.
    liraglutide: 利拉鲁肽 Standard.
    dulaglutide: 度拉糖肽 Standard.
    exenatide: 艾塞那肽 Standard.
    lixisenatide: 利司那肽 Standard.
    beinaglutide: 贝那鲁肽 Standard.
    loxenatide: 洛塞那肽 Incomplete marketed name: add 聚乙二醇洛塞那肽; retain short form.
    tirzepatide: 替尔泊肽 Standard.
    mazdutide: 玛仕度肽 Standard.
    supaglutide: 苏帕鲁肽 Historical name. Add approved 依苏帕格鲁肽α.
    ecnoglutide: 依诺格鲁肽 Incorrect. Replace with 埃诺格鲁肽; retain historical 伊诺格鲁肽.
    noiiglutide: 诺利糖肽 Historical sponsor usage; add newer 诺利格鲁肽. Approved-name status not established.
    bofanglutide: 博凡格鲁肽 Sponsor-confirmed investigational name; not verified as approved generic name.

    Sources: NHSA established drugs, tirzepatide, mazdutide insert, efsubaglutide, ecnoglutide approval, historical ecnoglutide name, noiiglutide, bofanglutide.

  2. Confirmed missing Chinese search entries: 维培那肽, formerly 维派那肽, PB119; 艾本那肽, albenatide; 瑞普泊肽, HRS9531; 奥莱泊肽, HS-20094; 德谷胰岛素利拉鲁肽; 甘精胰岛素利司那肽; 依柯胰岛素司美格鲁肽; 舒地胰岛素诺利格鲁肽/舒地胰岛素诺利糖肽, HR17031.

    Also add Chinese trial labels BGM0504注射液, RAY1225注射液, and HRS-4729注射液/KAI-4729. No verified Chinese generic names found for these; do not invent translations.

Task 3. Registration decisions

  1. (d), (e): accept only as disclosed substitutions. Describe “two separately conducted LLM assessments using PRESS 2015” and “source-assisted Chinese terminology checks.” Neither fulfills promised human specialist/Chinese-reader review. Record models, versions, dates, prompts, sources, disagreements and owner adjudication. Separate outputs do not establish independent errors. Mark checklist items waived with rationale, not completed. PRESS guidance.

  2. (f): conditional acceptance. Lock as owner-prespecified operational thresholds, not clinically validated minimum important differences. Record sources/rationale and prespecify sensitivity to plausible alternatives. Amend outcome-importance confirmation at protocol lines 437–438, threshold confirmation at 1177–1179, and patient involvement at 1274–1276. Later patient interpretation must not silently alter primary thresholds.

  3. (a): acceptable staged staffing. Name Ahmad Sofi-Mahmudi, McMaster University, guarantor now; supply required contact details. Describe other appointments as pending. Amend checklist’s pre-registration staffing promise; preserve named-human-reviewer gate before screening.

  4. (b): conditional acceptance. Owner must affirm no funding and current competing interests before submission. Record institutional/in-kind support separately; obtain declarations from later contributors. “To be confirmed” is not a completed declaration.

  5. (c): acceptable resource limitation. Preserve no-access explanation, but remove any implication of equivalent coverage: CENTRAL’s trial coverage does not replace Embase for observational harms or all conference material. Cochrane guidance.

  6. (g): appropriate. Use identical version on OSF registration and PROSPERO; cross-link identifiers and synchronize amendments. An editable OSF project alone is not registration. OSF guidance.

  7. (h): pre-registration amendment sufficient; wholesale rereview unnecessary. Log each decision, rationale, affected section and prior results exposure; bump protocol/concepts versions. Seek focused methodological rereview of threshold changes if available. Resolve required search revisions, benchmark recall and reconcile all four API harvests before declaring registration checklist closed.

PRESS review: Fable 5.1

PRESS 2015 review of the search strategy (reviewer fable-5.1, 2026-10-13)

Basis. Reviewer: fable-5.1, 2026-10-13. Read: concepts.yaml 1.2.0, R/search_strategy.R, the four rendered queries, run_log.json, protocol 0.19.0, agents.csv, nodes.csv. Live checks: PubMed esearch counts of (candidate) NOT (full 2026-10-13 PubMed query), Europe PMC hit counts, ClinicalTrials.gov API v2 intervention searches compared with the NCT IDs in ctgov_records.csv.gz. OpenAlex was not queried, to leave the running harvest alone. The other reviewer's log was not read.

Task 1. PRESS 2015

Element Judgment
1 Translation of the question No revision
2 Boolean and proximity No revision
3 Subject headings Revision suggested
4 Text words Revision required
5 Spelling, syntax, line numbers Revision suggested
6 Limits and filters No revision

1. (Element 4, required) Missing development codes: about 170 ClinicalTrials.gov registrations absent from the harvest. For each code below, query.intr returns registrations whose NCT IDs are not in ctgov_records.csv.gz; for NCT06577428, NCT06712836, NCT04790006 and NCT03586830 I confirmed that neither full query string retrieves them. PubMed loses little (papers also name the class), but the registry search depends on names, and protocol line 300 keeps codes so a living search finds the first report. Add to agents, flagged "to verify at first inclusion" in agents.csv (missed registrations in parentheses):

  • Listed agents: NNC0487-0111, oral amycretin (21); JNJ-64565111, efinopegdutide (7); ZP7570, dapiglutide (3); GSK716155, albiglutide (2); LY2148568, exenatide; PEX168, PEG-loxenatide (0, but 16 PubMed records); visepegenatide, the INN of PB-119; ZP10 and ZP10A, lixisenatide (9 new PubMed records); OWL833, orforglipron; AMG133; NN9068, IDegLira; NN9838, CagriSema; XW004, oral ecnoglutide.
  • Oral small molecules: AZD5004 and ECC5004 (13); VCT220 and CX11 (11); CT-996 and RO7795081 (6); HDM1002 (5); TTP273 and TTP054 (2); XW014 (1).
  • Injectable GLP-1 agonists: MET-097, MET-097i, MET097 (10); ZT002 (9, registry text says GLP-1); TG103 (7); ebenatide, CJC-1134-PC, CJC-1131 (4; Changshan, phase 3 in China, one PubMed paper in 2025).
  • Dual and triple agonists: RAY1225 (11); BGM0504 (11); HDM1005 (10); AZD9550 (5); SAR425899 (4); HM15275 (3); CT-868 (3); NNC9204-1177 (3); NNC9204-1706 (2); PB-718 (2); DD01 (2); HEC88473, GLP-1/FGF21 (2); LY2944876, OPK88003, TT-401, pegapamodutide (2); SAR441255 (1); MK-8521 (1).
  • Mechanism not confirmed in registry text, verify before adding: GZR101 (4; probably bofanglutide plus GZR4 insulin fixed ratio), HRS-4729 (2), GMA106 (1).

2. (Element 4, suggested) Unhyphenated class phrases and plain synonyms. PubMed and Europe PMC tokenize "GLP1" and "GLP-1" differently (Europe PMC: "GLP1 receptor agonist" 80 hits versus 2,825). Add "GLP1 receptor agonist*", "GLP1R agonist*", "GLP1 RA", "GLP1 RAs", "GLP1 analog*", "GLP1 analogue*", "glucagon-like peptide-1 agonist*" (240 new), "GLP-1 mimetic*" (58), "GLP-1 based therap*" (90), "GLP-1 therap*" (53), "GLP-1 receptor agonism", "glucagon-like peptide-1 receptor agonism". Union: 731 PubMed records not retrieved; the same set adds 1,084 Europe PMC records. Sampled records are mostly narrative reviews, hence suggested; the inventory does keep reviews.

3. (Element 4, suggested) Mechanism block. Add to mechanism: "multi-agonist*", "multiagonist*", "triagonist*", "twincretin*", "dual receptor agonist*", "incretin receptor agonist*". Add to mechanism_context: "GLP-1/GIP", "GIP/GLP-1", "GLP-1/glucagon", "glucagon/GLP-1", "GLP-1/GIP/glucagon", "GLP-1R", "GLP1R", "GIPR". As standalone phrases the slash forms add 746 noisy records; ANDed with agonist terms they add 63 precise ones, which is what the block is for. Note that PubMed drops "glucagon/GLP-1 receptor agonist*" as a phrase not found (see query_translation), so the slash context is the only route to "glucagon/GLP-1 receptor co-agonist".

4. (Element 3, suggested) MeSH. Add "Glucagon-Like Peptide 1/agonists"[Mesh] and "Glucagon-Like Peptide 1/analogs and derivatives"[Mesh]: 240 records not retrieved, sampled as reviews and editorials on the class indexed before the 2024 heading existed. Considered and rejected: "Incretins"[pa] (11,903, hormone physiology), "Incretins/therapeutic use" (318, DPP-4 inhibitor trials in the sample), "Glucagon-Like Peptide 1/therapeutic use" (450, native GLP-1 infusions, excluded by the protocol's rationale), "incretin therap*" (122, DPP-4 inhibitors), "glucagon-like peptide-1 (7-36)amide"[nm] (353, hormone), "exendin (9-39)"[nm] (162, antagonist), "Glucagon-Like Peptide-1 Receptor/agonists" (0). Supplementary concepts: retatrutide, mazdutide, orforglipron, cagrilintide and beinaglutide have records, all already retrieved; cotadutide[nm] and danuglipron[nm] add 2 and 1, harmless to add; none exist for iGlarLixi, loxenatide, efinopegdutide, pemvidutide, lotiglipron.

5. (Element 5, suggested) Rendering and reconciliation. (a) europepmc_query() quotes and expands every free-text term, so no single-word wildcard reaches Europe PMC although the comment says it does; harmless, but fix the comment. (b) expand_truncation renders therap* as therapy and therapies only; add therapeutic and therapeutics (21 PubMed records). (c) PubMed silently drops quoted phrases absent from its index; the run log shows about 20 dropped (NN9536, GMA102, HS-20094, "insulin icodec/semaglutide" and others). Expected for a living search; store esearch's phrasesnotfound list per run so first appearances are visible. (d) ctgov.reported_count 3,524 is the sum of two queries, not a union; label it, since the union of 2,832 is the correct figure. (e) Spaced code variants ("BIM 51077", "MEDI 0382" and 22 others) add 7 records; no revision. (f) Three class phrases collapse to one PubMed translation; harmless.

6. (Elements 1, 2, 6) No revision. A single-concept intervention search with no design, language or date limit matches the all-indication scope; nesting is correct in all renderings. Europe PMC ignores a wildcard inside a phrase ("GLP-1 receptor agonist*" 2,825, same as unstarred) and treats hyphen as space ("exendin-4" = "exendin 4", 2,434), so explicit expansion is correct and hyphen variants are unnecessary. PubMed phrase truncation adds nothing beyond singular and plural for the class phrases checked, so Europe PMC, OpenAlex and ClinicalTrials.gov lose no recall there. ClinicalTrials.gov applies its own synonym map (ZP10 retrieves 54 lixisenatide trials), which helps but does not replace codes. NOT SRC:PAT and the EDAT partition are appropriate.

7. Agent identity. Supaglutide and efsubaglutide are the same Innogen molecule (supaglutide was the pre-INN name; INN efsubaglutide alfa, NMPA approval January 2025): keep both strings, merge into one agent and node family. Zenagamtide is amycretin, confirmed by 2026 PubMed titles ("unimolecular GLP-1 and amylin receptor agonist").

Task 2. Chinese terms

Basis: recall of NMPA announcements, package inserts and CDE listings; PubMed and Europe PMC index no Chinese strings, so nothing here is live-verified. Confidence is given per entry. Verify against the NMPA data query (by 通用名) before registration, and treat the first CNKI and Wanfang search as the empirical check: a zero-hit generic name is wrong, and CNKI records show the Chinese generic name beside the English one; log it in search/manual/log.csv.

8. agents entries. All nine are the standard NMPA generic names (high confidence). Add 聚乙二醇洛塞那肽 (the approved product name; 洛塞那肽 alone also matches) and 艾塞那肽微球 (extended release).

9. candidates. 依诺格鲁肽, 诺利糖肽 and 博凡格鲁肽 match CDE listings (moderate confidence). 苏帕鲁肽 is the early name; the approved name is 依苏帕格鲁肽α: add 依苏帕格鲁肽α and 依苏帕格鲁肽, and move the entry to agents after the NMPA check.

10. Missing. 艾本那肽 (ebenatide, CJC-1134-PC; phase 3 in China; high confidence); 瑞他鲁肽 (retatrutide, China sites; moderate); 卡格列肽 (cagrilintide; moderate); 阿必鲁肽 and 他司鲁肽 (albiglutide, taspoglutide, for Chinese meta-analyses; moderate); 奥福格列龙 (orforglipron, variant 奥福格利龙; low, verify); PB-119 and survodutide Chinese names (verify). Code-only Chinese agents (HRS9531, HRS-7535, TG103, RAY1225, BGM0504, HDM1002, HDM1005, GZR18, UBT251, DR10624, HS-20094, ZT002, XW003) are covered by the English and code search the protocol already specifies. Class terms to add: 胰高糖素样肽-1受体激动剂 (common spelling variant), GLP-1RA, GLP-1类似物, 胰高血糖素样肽-1类似物, 肠促胰素, 肠促胰岛素, 双靶点激动剂, 双重激动剂, 三靶点激动剂, 三重激动剂, GIP/GLP-1双受体激动剂. Brand names (moderate confidence, low priority): 诺和力, 诺和泰, 诺和盈, 诺和忻, 度易达, 百泌达, 百达扬, 利时敏, 孚来美, 谊生泰, 菲塑美, 穆峰达, 信尔美, 诺和益.

Task 3. Registration decisions

11. (a) PROSPERO's mandatory team field and PRISMA-P item 3a expect the screening team at registration, and OSF registrations are frozen. Name the second reviewer before registering (the protocol requires duplicate screening, so a one-person registration describes a team that does not exist), or register PROSPERO with the guarantor and add names by record update before screening, and register OSF only once the team is named.

12. (b) "To be confirmed" cannot stand: both registries require definitive funding and conflict statements, including the protocol's 36-month manufacturer rule.

13. (c) The owner is at McMaster, whose health sciences library licenses Embase (Ovid): state why institutional access is unavailable, or reviewers will not accept "no access". If truly unavailable, the prespecified justification holds for randomized trials (CENTRAL's Embase feed) but not for nonrandomized harms studies or conference abstracts; name those two gaps, and consider a colleague running the Embase rendering once per release, logged in search/manual/log.csv.

14. (d) Acceptable as a disclosed deviation if protocol line 313 says what was done (PRESS 2015 by two independent language-model reviewers, dates, full responses in protocol/peer-review/), each finding gets a logged response, the two model reviews are reconciled rather than filed, the human information specialist item stays open and is reported per release under PRISMA-S item 12, and the limitation states that terms were verified by one-off API counts, not interface testing.

15. (e) Same structure as (d), plus the NMPA data query as source of record and the first CNKI search as the empirical check (item 10 gives confidence levels so the disclosure is honest).

16. (f) Locking contradicts protocol lines 438 and 1177, which say advisors and partners confirm thresholds before extraction; amend the text. Proposed rule: thresholds are owner-set, sourced in outcomes.csv and prespecified; a later change proposed by advisors or patient partners is an amendment applied only to outcomes with no data yet extracted, recorded with the existing before_or_after_results flag, otherwise run as a sensitivity analysis. GRADE requires prespecified thresholds, not patient-confirmed ones: a limitation, not a flaw.

17. (g) Dual registration is fine; PROSPERO has a living review field and accepts registration after preliminary searches (declare that stage). Register the identical protocol version in both and cite the OSF DOI in PROSPERO.

18. (h) No full review round. Items b to f and the term additions form pre-registration version 0.20.0, logged as A019. Because the checklist requires the harvest to match the registered concepts version, bump concepts to 1.3.0 after items 1 to 5, let the 1.2.0 OpenAlex run finish for the record, re-run all four sources and reconcile, then register. A targeted re-check of the re-rendered queries (syntax and counts) by the same two reviewers suffices; another external round is needed only if scope, eligibility, outcomes or thresholds change.

Re-check: response

Targeted re-check: response

Version checked: protocol 0.20.0 with concepts 1.3.0. Revised: protocol 0.21.0 with concepts 1.3.1 (amendment A020). Verdicts: gpt-6-astra REVISE; fable-5.1 REVISE. Both judged that no further external round is needed because scope, eligibility, outcomes and thresholds are unchanged; both are asked to confirm the corrections.

Finding Reviewer Change
Codes with no record today were rejected, against the protocol's rule for a living search both Kept: NN9838 (CagriSema), NN1535 (IcoSema), KAI-4729 (HRS-4729), "gulgafafusp alfa" (glutazumab), naperiglipron with LY3549492 (a new agent; LY3549492 has 10 ClinicalTrials.gov records), and albenatide as a name of ebenatide; "ITM 077" and "ZP-7570" added
Ambiguous codes missing from the ClinicalTrials.gov general term search gpt-6-astra Added there, with the mechanism context
Quoted phrases PubMed does not index were not stored fable-5.1 Run logs now store quotedphrasesnotfound as well as phrasesnotfound
Chinese check overstated both Protocol and concepts.yaml now say the names were compared with listings cited by one reviewer and with the other reviewer's knowledge, not live verified, and not verified by the team; the disputed 依诺格鲁肽 moved to candidates; a name with no CNKI records is investigated, not removed
Checklist items described as completed both Described as waived with disclosed substitutions; the checklist is complete except the harvest, which precedes the release
Funding statement gpt-6-astra The guarantor confirmed no funding and no competing interests; the text now also states no dedicated support in kind, and each later contributor discloses their own support and interests
Embase justification contradicted by the manual sources both Stated as the guarantor's resource decision, not a lack of access; the two gaps and the amendment route are kept
Thresholds said to have sources that outcomes.csv does not record gpt-6-astra Described as undocumented operational judgments (a limitation), with a new sensitivity analysis halving and doubling every threshold for critical outcomes
Registration wording both "To be registered"; a release is self-archiving, not a registry entry; every output cites the commit hash; reported as a limitation
Acceptance attributed to the wrong version gpt-6-astra Subtitle: version 0.19.0 accepted in round 19; 0.21.0 completes the checklist
Count of new agents both A019 corrected to 33 (31 plus two with ambiguous codes)
ClinicalTrials.gov reported count is an unlabeled sum fable-5.1 Left as is; the reconciliation carries both searches and the union (accepted by the reviewer)

Confirmation round

Both reviewers confirmed every earlier change and asked for three one-line corrections (VERDICT: REVISE from both; confirm-review-*.md), resolved as documented below for protocol 0.21.0 before the harvest:

Correction Reviewer Change
Threshold sensitivity halved ratio thresholds directly (1.25 to 0.625) and named the wrong domains both Imprecision, heterogeneity and incoherence of critical outcomes, with absolute thresholds multiplied by 0.5 and 2 and ratio thresholds on the log scale (1/1.25 to 1.25 becomes 1/1.118 to 1.118 and 1/1.563 to 1.563), including relative only estimates
The 2026-10-13 run log named the replacement harvest as concepts 1.3.0 both Now: replacement four-source harvest with concepts 1.3.1 pending
Release text called each release immutable with a Zenodo DOI, against the registration limitation fable-5.1 The owner chose GitHub only, so the release text was aligned with it (tagged GitHub snapshot identified by its commit hash) rather than adding a Zenodo deposit

Final confirmation

fable-5.1: ACCEPT. gpt-6-astra: REVISE, asking only that this file say the confirmation-round corrections were "resolved as documented below" rather than "applied verbatim", since the release correction differed from the proposal; that wording was changed exactly as specified, and all substantive corrections passed. Reviews: final-review-*.md. The search and the registration text are final for the four-source harvest with concepts 1.3.1.

Re-check: GPT-6 Astra

Targeted re-check (reviewer gpt-6-astra, 2026-10-13)

Revisions required before harvest and registration. Compared against my review-gpt-6-astra.md. Files unchanged; pipeline not run. YAML parsed successfully. R execution failed with Fatal error: creating temporary file for '-e' failed, so query assessment rests on renderer source, as permitted.

  1. Text words: partly resolved. Most additions, provisional agent classifications, and supaglutide/efsubaglutide merge are correct. Rejecting verified names solely because today’s counts are zero is unsound for a living search and contradicts protocol.qmd:315.

    Add gulgafafusp alfa under glutazumab, NN1535 under IcoSema, and naperiglipron with LY3549492 as its agent/code pair. Sources confirm these identities: NCATS, Novo Nordisk, Lilly. LY3549492 already appears in NCT07073170. Apply the same retention rule to rejected NN9838, documented for CagriSema in Novo’s report.

    Add omitted KAI-4729, confirmed by Hengrui. Account explicitly for my requested ITM 077 and ZP-7570: retain them or document equivalent retrieval. Keeping ebenatide/CJC-1134-PC while treating “albenatide” as unverified is reasonable; zero counts alone do not establish synonym validity.

  2. ClinicalTrials.gov translation: partly resolved. Ordinary agent names now enter both searches correctly. However, CX11, DD01, and ZT002 are absent from the general-term branch, preserving an exposure-outside-intervention gap. In search_strategy.R:84, append ambiguous_block(concepts, quoted, expand = TRUE) as another OR alternative. Context restriction is a reasonable noise safeguard.

    Boolean nesting, spelling/syntax, and limits: no new revision otherwise. Mechanism/context nesting, outer Europe PMC patent exclusion, four-form therap* expansion, and OpenAlex chunking are sound by inspection. No obvious new branch causes large unrelated noise; supplied hit counts alone cannot establish precision.

  3. Subject headings: resolved through additions and defensible non-adoptions. Semaglutide, tirzepatide, and legacy GLP-1 subheadings are present. Omitting the reported zero-hit receptor/agonists heading is reasonable. Omitting Europe PMC MeSH duplication is defensible for the combined PubMed/Europe PMC harvest. Emtree advice becomes inapplicable with Embase omitted.

  4. Chinese findings and registration (d)/(e): partly resolved. Requested Chinese additions are largely present; retaining variants supports recall. Disclosure overstates verification: Fable’s report:38 explicitly says its Chinese assessment relied on recollection and was not live-verified.

    Correct protocol, response, and YAML comments to distinguish source-cited assessment from recollection. Mark disputed 依诺格鲁肽 as an unverified candidate while retaining it in searches. Describe human-review requirements as waived with disclosed substitutions, rather than completed. Replace automatic correction of zero-hit Chinese names with investigation: zero retrieval does not prove a name wrong.

  5. Registration (a): resolved; (b): partly resolved. Guarantor details and named-human-reviewer gate are adequate. Funding/conflict declaration is now explicit, but my institutional/in-kind-support point remains unanswered. State that support or explicitly state none. Replace “every later contributor declares the same” with a requirement to disclose each contributor’s actual support and interests.

  6. Registration (c)/(f): partly resolved. Embase omission and coverage gaps are disclosed adequately. Clarify that foregoing manual Embase searching is an owner resource/workflow decision; claiming the review does not use interactive searching conflicts with its planned manual sources.

    Threshold locking, operational-status wording, and protection against changing primary thresholds after extraction are sound. However, outcomes.csv contains no threshold sources/rationales despite “with their sources.” Document those, including explicit owner judgment where applicable. Prespecify alternative-threshold sensitivity or record why that recommendation was declined.

  7. Registration (g): not applicable; (h): partly resolved. GitHub-only choice accepted. Change “Registered” to “Will be registered” and remove “checklist completed” until reconciliation and release occur; timeline:1324 still lists both as future. Attribute round-19 acceptance to 0.19.0. Correct A019: diff shows 33 added agent IDs, including DD01/ZT002, plus supaglutide removal, not 31. Full protocol rereview remains unnecessary.

VERDICT: REVISE

Re-check: Fable 5.1

Targeted re-check (reviewer fable-5.1, 2026-10-13)

Basis: response.md, term-verification.csv, concepts.yaml 1.3.0, R/search_strategy.R and the four source modules, the rendered 1.3.0 queries, agents.csv, amendments.csv, protocol 0.20.0 (git diff 755de4a). Live one-off counts: PubMed esearch and one esummary, Europe PMC searchPOST, ClinicalTrials.gov v2, OpenAlex chunks 12 and 13.

1. Status of my findings

# Finding Status
1 Missing codes and agents Resolved. 33 new agent_ids (A019 says 31; the count excludes DD01 and ZT002). NN9838 and NN1535 were left out as "no record in any source", which contradicts the protocol's rule (search strategy) that codes with no records today are kept for the living search. Add both; zero noise.
2 Unhyphenated class phrases Resolved
3 Mechanism and context terms Resolved
4 MeSH subheadings, cotadutide[nm], danuglipron[nm] Resolved
5a, 5b Europe PMC comment; therap* expansion Resolved
5c Store phrases not found Partly. source_pubmed.R stores errorlist.phrasesnotfound (23 unquoted codes today) but not warninglist.quotedphrasesnotfound (21 quoted phrases today: "glucagon/GLP-1 receptor agonist*", "HRS-9531", "MET-097", "CT-996", "insulin icodec/semaglutide" and others). First appearances of those will never reach the run log. Capture both lists.
5d ClinicalTrials.gov sum Partly: reported_count is still the unlabeled sum; the reconciliation block carries the union. Acceptable.
5e, 5f, 6 No revision Unchanged
7 Supaglutide merge Resolved in concepts.yaml and agents.csv (nodes.csv has no node for either, as before)
8 to 10 Chinese terms Resolved as agents and candidates
11, 12 Team, funding Resolved
13 Embase Gaps named: resolved. Justification: not resolved (section 3)
14, 15 Substitutions disclosed Resolved, with one overstatement (section 3)
16 Threshold rule Resolved; lines 466, 1207 to 1213 and 1308 are consistent
17 Registries Not applicable by owner decision; sound provided the text is honest about what a release is (section 3)
18 Process Followed as proposed

2. The 1.3.0 renderings

All four parse and nest correctly. PubMed 29,561 (1.2.0: 28,678), no phrases ignored, both subheadings kept in the translation, sent by POST. Europe PMC 29,572 (28,735), searchPOST. ClinicalTrials.gov intervention 2,680 (2,464) and term 3,044 (1,060), HTTP 200 at 5.5 KB. OpenAlex mechanism chunk 2,269 works; ambiguous chunk 11 works, the top three all DD01 dual agonist papers, so the context AND does its job. Nothing narrows recall. Noise: the term search with agent names will pull registrations naming a GLP-1 RA only in eligibility criteria; expect the registry union to grow by a few hundred, acceptable at screening. The hyphen twins the new codes lack (CT996, "ZP-7570" and 47 others) retrieve 18 PubMed records outside the query; esummary shows all 18 off topic (Chlamydia, zolpidem, cement). No revision there. OpenAlex is the open precondition for the four-source harvest: the 1.2.0 run is still not_run in run_log.json and the log tail sits in a 24,725 s backoff; without a key OpenAlex returns 429 for queries with more than five operators at more than one request per second, and the pipeline uses the key.

3. Protocol text 0.20.0

(a) Embase, not honest as written. "Can be searched only in an authenticated interactive session, which the logged workflow of this review does not use" is contradicted fifteen lines above by the table: CENTRAL (manual export, logged), CNKI and Wanfang (manual, logged), regulatory documents and manufacturer registers (manual, logged). State the actual reason (effort per release, export terms, or an owner decision) and keep the two named gaps and the amendment route.

(b) Chinese check overstated. Protocol line 337 and the concepts.yaml comment say both reviewers checked names "against official Chinese listings". My review states its entries came from recall and were not live verified; only the other reviewer cited NHSA documents. Replace with: compared with listings cited by one reviewer and the other reviewer's knowledge, not verified by the review team; the first CNKI search is the check.

(c) Checklist "(completed in version 0.20.0)" lists the 1.3.0 four-source harvest, which has not run. Say "completed except the harvest, which precedes the release".

(d) Registration. "Registered as a public, frozen release" names something a registry does not provide: a tag and a release are owner-mutable. Add one sentence: the release is self-archiving, not a registry entry; the commit hash is cited in every output; an immutable archive of the release (for example a DOI) is recommended; reported as a limitation.

(e) A019: 31 new agents should read 33 (or "31 plus two ambiguous-code agents").

Sequence: add NN9838 and NN1535 (and, under the same rule, "gulgafafusp alfa", naperiglipron, albenatide), bump concepts to 1.3.1, capture quotedphrasesnotfound, then harvest; apply (a) to (e) before the release. Scope, eligibility, outcomes and thresholds are unchanged, so no further external round is needed.

VERDICT: REVISE (changes: add NN9838 and NN1535 and bump concepts; store warninglist.quotedphrasesnotfound; rewrite the Embase justification; soften the Chinese check wording in protocol and concepts.yaml; mark the harvest as pending in the checklist; add the release-is-not-a-registry limitation; correct A019 to 33 new agents)

Confirmation: GPT-6 Astra

Confirmation of the corrections (reviewer gpt-6-astra, 2026-10-13)

Two corrections remain before registration.

  • Threshold sensitivity is underspecified. protocol.qmd:1220 says “every threshold halved and doubled,” but critical outcome O35B stores ratio threshold 1.25. Literal halving gives 0.625, reversing reciprocal bounds. Specify: multiply absolute thresholds by 0.5 and 2; multiply log-ratio thresholds by 0.5 and 2. For 1.25, resulting ranges are 0.8944–1.1180 and 0.64–1.5625. Apply these consistently to imprecision, heterogeneity and incoherence, including relative-only estimates. Align A020 and response wording.

  • Harvest provenance contradicts pending status. run_log.json:63 and its completeness field describe supersession by a four-source 1.3.0 run. Replace with “three-source concepts 1.2.0 harvest; OpenAlex stopped; replacement four-source harvest with concepts 1.3.1 pending.” Preserve historical counts, hashes and version fields.

Status against my previous required changes:

  1. Text words: resolved. gulgafafusp alfa, NN1535, naperiglipron/LY3549492, NN9838, KAI-4729, ITM 077 and ZP-7570 are present consistently in concepts and agent dictionary. No existing search terms removed. Additional albenatide retention is supported by PubChem’s CJC-1134-PC synonym record.
  2. ClinicalTrials.gov: resolved. General-term branch adds correctly nested, context-restricted ambiguous codes.
  3. Subject headings, syntax and limits: previously accepted decisions remain intact; no new renderer defect found by inspection.
  4. Chinese assessment and substitutions: resolved. Source citations versus recollection distinguished; disputed name retained as candidate; human requirements explicitly waived; zero hits trigger investigation.
  5. Support: resolved. Financial and in-kind support addressed; later contributors disclose their own interests.
  6. Embase: resolved. Resource decision stated, coverage gaps retained. Threshold provenance now honestly identifies undocumented owner judgments; sensitivity needs correction above.
  7. Registration: substantially resolved. Future registration, self-archiving limitation, commit citation, pending harvest and 0.19.0 acceptance correctly stated. A019 correctly records 33 additions plus supaglutide removal; harvest-log inconsistency remains.

PubMed now carries both missing-phrase lists into reconciliation. YAML/CSV checks passed; code assessed by inspection. Files untouched; pipeline not run.

VERDICT: REVISE

Confirmation: Fable 5.1

Confirmation of the corrections (reviewer fable-5.1, 2026-10-13)

Basis: recheck-response.md, git diff 87ae395 81675a6, the 1.3.1 renderings, live one-off counts (PubMed esearch, Europe PMC searchPOST, ClinicalTrials.gov v2).

1. My required changes

Change Status
NN9838, NN1535; concepts 1.3.1 Applied, with gulgafafusp alfa, naperiglipron (LY3549492), albenatide, KAI-4729, "ITM 077", "ZP-7570" in concepts.yaml and agents.csv; 33 identifiers added at 87ae395 and naperiglipron at 81675a6, matching A019 and A020
Store quotedphrasesnotfound Applied. Today's esearch returns 28 unquoted and 25 quoted phrases not found; the new codes land where expected (NN9838, NN1535, LY3549492 unquoted; "gulgafafusp alfa", "KAI-4729", "ZP-7570" quoted), so their first appearance will reach the run log
Embase justification Applied; gaps and amendment route kept
Chinese check wording Applied in protocol and concepts.yaml
Checklist Applied
Registration limitation Applied, except the recommended immutable archive (3b)
A019 count Applied: 33

2. The 1.3.1 renderings

PubMed 29,561 and Europe PMC 29,572, unchanged from 1.3.0; ClinicalTrials.gov intervention 2,689 (1.3.0: 2,680) and term 3,055 (3,044), HTTP 200. The ambiguous block in the term search adds eleven registrations, no noise. Nothing narrows recall; the harvest can run with 1.3.1 now. OpenAlex stays the operational precondition (chunk 1 of 8 stopped on the daily credit budget; 1.3.1 renders 13 chunks).

3. Inconsistencies introduced by the corrections

(a) Protocol line 1220, "repeats the imprecision and inconsistency judgments of critical outcomes with every threshold halved and doubled". The threshold domains are imprecision, heterogeneity and incoherence; "inconsistency" is none of them. Halving the critical relative threshold of O35B (hazard ratio 1.25), or the ratio range for rare outcomes, gives 0.625, which is not a threshold. Replace with: "repeats the imprecision, heterogeneity and incoherence judgments of critical outcomes with every threshold halved and doubled, on the log scale for ratio thresholds (1.25 becomes 1.12 and 1.56)".

(b) Protocol line 65 says a release owner could move a tag; line 1243 says each release is a "tagged, immutable snapshot" with a Zenodo DOI. Add at line 65: "the registered release is deposited with a Zenodo DOI like every evidence release", which also supplies the archive I asked for.

(c) search/runs/2026-10-13/run_log.json lines 63 and 68, edited in this commit, name the superseding harvest as concepts 1.3.0; it is 1.3.1.

Each is a one-line text change needing no further external check; the harvest need not wait for them.

VERDICT: REVISE (changes 3a, 3b and 3c before the release)

Final confirmation: GPT-6 Astra

Final confirmation (reviewer gpt-6-astra, 2026-10-13)

Substantive corrections in b4a7b8b pass:

  • Threshold sensitivity correctly scales absolute thresholds directly and ratio thresholds logarithmically across imprecision, heterogeneity and incoherence, including relative-only estimates. Numerical examples round correctly.
  • Run log correctly identifies concepts 1.3.1 replacement harvest as pending. Historical counts, hashes and version fields remain unchanged.
  • GitHub-only release wording resolves prior contradiction. Commit identification agrees with disclosed movable-tag and self-archiving limitations; Zenodo deposit is unnecessary for consistency. A020 agrees.

One documentation inconsistency remains: recheck-response.md:28 says corrections were applied “verbatim,” although release correction intentionally differs.

Exact change: replace applied verbatim in protocol 0.21.0 before the harvest: with resolved as documented below for protocol 0.21.0 before the harvest:.

Files untouched; pipeline not run.

VERDICT: REVISE

Final confirmation: Fable 5.1

Confirmation (reviewer fable-5.1, 2026-10-13)

Basis: git diff 81675a6 b4a7b8b, the current protocol.qmd, amendments.csv and search/runs/2026-10-13/run_log.json.

3a. Applied. Lines 1220 to 1224 now name imprecision, heterogeneity and incoherence, multiply absolute thresholds by 0.5 and 2 and ratio thresholds on the log scale, and give 1.118 and 1.563 (exp(ln 1.25 / 2) = 1.1180; 1.25^2 = 1.5625), including relative only estimates. A020 and the response table say the same.

3b. Resolved differently and correctly. "Immutable" and the Zenodo DOI are gone from the Versions paragraph; a release is a tagged GitHub snapshot identified by its commit hash, which matches lines 63 to 69 (self-archived, tag movable, commit hash cited, limitation reported). No other file promises a release DOI; the remaining Zenodo mention (line 429) concerns study data deposits. The archive was a recommendation; GitHub only is a legitimate choice once stated as a limitation, which it is.

3c. Applied at lines 63 and 68; counts, hashes and version fields untouched.

No new inconsistency. One non-blocking note: the tracked site render site/src/generated/protocol.html still shows version 0.19.0 and should be rebuilt before the release.

VERDICT: ACCEPT