Peer review round 16: LivingGLP1 protocol 0.16.0 (reviewer grok-4.7)
1. Round 15 comments
G15-1. Resolved. The exponential approximation is now one passage. A piecewise fit whose common reported interval is a single interval from 0 is the exponential approximation. When the piecewise route is unavailable, every covering arm must supply both event counts and person time over one period from 0 that reaches or passes the analyzed horizon. Finer count intervals are summed. Those arms contribute log hazard coordinates on one interval from 0 to the horizon and are pooled with the model above. The clause that treated the constructed interval as meeting the identical boundary requirement is removed, so that constructed interval leaves the piecewise route unavailable. The constant hazard gate and the label apply in both cases. A zero count for either event still makes the route unavailable. (d_k) is the count over the arm's period, with variance approximately (1/d_k), and (F(t)) is computed for each draw with (t) in years.
The wider period rule, periods that pass the horizon, goes past the totals ending at the horizon in my replacement. The reason is sound. Under the constant hazard gate, a rate over a longer period estimates the same hazard, which is already the standard for an outcome without a competing event. The piecewise bullet now says a last count interval may end after the horizon and that its rate applies up to the horizon. The closed form matches that rule: the pooled hazards are integrated to the horizon. The upper limit remains the horizon when an arm's own period is longer.
G15-2. Resolved. The analyzed horizon (t) is in years, computed as weeks divided by 52.18. A Kaplan-Meier value contributes (\log{-\log(1-F)}) only when (0 < F < 1), with variance by the delta method from the reported confidence interval or the Greenwood variance. That closes both readings from round 15: (t) taken as 52, and "reported interval" taken as a time partition.
Counts use a Poisson or binomial likelihood on that same log cumulative hazard, in place of the normal likelihood (\log(\lambda t)) with variance (1/d). The reason is sound. At zero events, (\log(\lambda t)) and (1/d) are undefined, so the normal model in my replacement would drop a reference arm with no deaths. The exact likelihoods keep those arms, and they add no continuity correction. I checked both links against (\theta = \log(\lambda t)). The Poisson mean (e^{\theta} E / t) equals (\lambda E). The binomial complementary log log offset (\log(f/t)) gives (\mathrm{cloglog}(p) = \log(\lambda f)). At (\lambda = 0.05) per year and (t = 1), (\log{-\log(1-F)}) and (\log(\lambda t)) still agree.
2. New issues
No major errors.
Minor 1. The one arm sentence in absolute effects prescribes a different draw from the competing risk section. File: protocol/protocol.qmd, Absolute effects, Hazard based outcomes.
When only one reference arm covers the analyzed horizon, the new sentence uses that arm's likelihood with the mean prior. For a competing event, Competing risks still says that (\tau_k) is not estimated, (u_{\mathrm{new}}) is not drawn, and each draw is from (\mathrm{N}(y_a, V_a)). The following sentence sends competing risks back to that section and does not choose between the two one arm procedures. PR15 is (\mathrm{Normal}(0, 5^2)). With sampling variance (1/d), the prior moves a one event arm about 4 percent of the distance from its estimate toward 0. The draws still differ.
Replace "When only one reference arm covers the analyzed horizon, its own likelihood is used with the mean prior and no between arm heterogeneity is estimated. Competing risks follow @sec-outcomes." with: "For an outcome without a competing event, when only one reference arm covers the analyzed horizon, that arm's likelihood is used with prior PR02 and no between arm heterogeneity is estimated. For an outcome with competing events, a single covering arm follows @sec-outcomes: (\tau_k) is not estimated and each draw of the reference log hazards is from (\mathrm{N}(y_a, V_a))."
Minor 2. An arm with both person time and a follow-up proportion has two count likelihoods. File: protocol/protocol.qmd, Absolute effects, Hazard based outcomes.
The count sentence joins the Poisson likelihood and the binomial complementary log log likelihood with "or", after saying that mixed inputs are fitted jointly. The word "otherwise" already keeps a qualifying Kaplan-Meier value out of the count likelihoods. It does not choose between the two count likelihoods, and it does not stop both from being entered for one arm. The Poisson likelihood uses person time. The binomial likelihood uses only the event indicator at (f_a). Entering both would use the same deaths twice.
Replace "its event count by a Poisson likelihood with mean (e^{\theta_a} E_a / t) for person time (E_a) in years, or its participants with an event by a binomial likelihood with complementary log log link and offset (\log(f_a / t)) for the follow-up (f_a) in years used in the outcome's own analysis." with: "if that arm reports the event count and valid person time over one common period, the count enters a Poisson likelihood with mean (e^{\theta_a} E_a / t), where (E_a) is that person time in years. Otherwise the participants with an event enter a binomial likelihood with complementary log log link and offset (\log(f_a / t)), where (f_a) is the common follow-up in years at which those statuses are known. An arm that reports both supplies only the Poisson likelihood."
Minor 3. The PR02 rationale still describes a per year baseline for every complementary log log use. File: protocol/priors.csv, row PR02.
Extending PR02 to the reference arm mean is right, and (\mathrm{Normal}(0, 5^2)), with sensitivity (\mathrm{Normal}(0, 10^2)), stays vague. The rationale still says that the complementary log log offset is log follow-up in years, so the baseline is a log cumulative hazard per year. That sentence is the network meta-analysis trial baseline. In the new reference arm model the mean is the log cumulative hazard at the horizon, and the binomial offset is (\log(f_a/t)). Each parameterization is a valid likelihood if it is used alone. Mixing a per year offset with a horizon cumulative hazard mean multiplies the hazard by (t). For all cause mortality the uncapped horizon is 156 weeks, so (t = 156/52.18 = 2.99) years. With 500 participants, no deaths, and follow-up equal to that horizon, the posterior mode is about 0.59 per 1,000 if the prior is on (\log \Lambda(t)), and about 0.67 per 1,000 if the prior is on the log rate. The likelihood equations in Absolute effects are the ones to implement.
Replace the complementary log log clause in the PR02 rationale with: "For the network meta-analysis the complementary log log offset is log follow-up in years, so the trial baseline is a log cumulative hazard per year. For the reference arm meta-analysis of a hazard based outcome without a competing event, the same Normal(0, 5^2) prior is placed on the mean of the log cumulative hazard at the analyzed horizon."
3. Checks and registration
Against the version 0.15.0 snapshot, the authoritative edits are in protocol.qmd (version lines, the piecewise last interval clause, the exponential approximation passage, the reference arm likelihood and prior, and the one arm sentence), priors.csv (PR02 applies_to), and amendments.csv (A015: 2026-10-13, version 0.16.0, competing risks, absolute effects, and priors, seven comments, before results). The other authoritative tables are unchanged. outcomes.csv has 77 outcomes. The subtitle, the status sentence, and the outcomes section say version 0.16.0, dated 2026-10-13, after fifteen rounds. No 0.15.0 string remains in protocol.qmd. The seven comments named in A015 are the seven round 15 rows in comments.csv.
search/strategies/concepts.yaml remains version 1.2.0. R/search_strategy.R still builds the PubMed, Europe PMC (excluding patents), OpenAlex, and ClinicalTrials.gov queries from the class terms, agent terms, mechanism block, and PubMed vocabulary. Chinese terms stay out of those functions. The renderer was read and was not executed. The Quarto file was read and was not rendered. The iGlarLixi switching row remains a template (is_template yes). The Aalen-Johansen inversion at constant hazards 0.04 and 0.02 per year for one year still returns those hazards, and the one year cumulative incidence is 0.0388. Reported Aalen-Johansen values that miss the horizon stay on the pre-analysis amendment, as F15-note records.
The three minors are wording conflicts. On the checks above, the one arm prior shift and the PR02 scale shift are well under one event per 1,000 in the sparse cases, and the count sentence is a choice between two likelihoods for the same constant hazard. They should be corrected with the replacements above. Relative effects, estimands, and the locked competing risk formulas stay executable on the text as written. Team names, affiliations, funding, competing interests, confirmation of Embase access, PRESS review by a human information specialist, verification of the Chinese terms by a Chinese-reading team member, and confirmation and locking of provisional thresholds by clinical advisors and patient partners remain administrative pre-registration conditions. Those conditions are separate from this verdict. I would approve the methods for registration once those conditions are completed.
VERDICT: ACCEPT