Permission to file an issue at max-sixty/tend: tend-review sessions are still skipping the mandated /tend-ci-runner:code-review second pass, and upstream tend#937 pre-registered exactly this observation as the trigger for its follow-up.
The bundled review skill's step 4 says the pass is unconditional — "Every review that reaches this step runs a /tend-ci-runner:code-review pass over the PR's merged tree — trivial diffs included; the depth-scaling above sets how deep the pass goes, never whether it happens." In the 2026-08-26 → 2026-08-27 window on this repo, 5 of the 16 review sessions that reached step 4 never invoked it — no Skill call, no tool-use error, and no mention of the pass anywhere in the session's reasoning. All five posted a review verdict anyway.
The remedy is upstream, not repo-local: the mandate is generic bundled-skill text, and tend#937's own closing paragraph names the next step — "If a later cycle finds sessions still skipping the pass with this text in place, the next step is a harder mechanism (a distinct numbered step, or a step-5 pre-post check that the pass ran) rather than more wording." This is that later cycle, from a second adopter repo.
May I file it there?
Evidence — the five sessions, the eleven counter-examples, and how they were separated
Every tend-review run in the window was downloaded and its Skill tool calls enumerated from the session JSONL. Sessions that legitimately took step 1's trivial-skip path (which explicitly says "Do NOT proceed to steps 2–6", and so never reaches step 4) are excluded: four posted nothing at all, and one posted the prescribed empty-body APPROVE.
Reached step 4 and skipped the pass — 5 sessions:
The last one is a PR's first review, so no incremental existed and the trivial-skip path could not have applied.
Reached step 4 and ran the pass — 11 sessions: 33003113749, 33004079412, 33004222904, 33005047706, 33033200749, 33033762380, 33034690191, 33040345276, 33041750750, 33050163753, 33100212747.
Excluded as legitimate trivial-skip: 33005705215, 33005806839, 33054039826, 33054138250 (posted nothing, resolved threads, stamped HEAD), and 33042204119 (empty-body APPROVE).
Each of the five was checked for a subagent invocation as well as a Skill call — all five used only Bash plus the two mandatory skill loads (tend-ci-runner:running-in-ci, running-tend), and the string code-review appears zero times in their assistant text.
Sixth occurrence, historical: session 32704548722 (review of #441), recorded under review-runs run 32706405380 in #336.
Why the shape differs from upstream's evidence, and what that implies for the fix
Upstream's evidence was 4 of 4 on numbagg/numbagg — a uniform skip, which is what motivated the wording change in tend#937. Here it is 5 of 16, mixed even within a single PR: on #452 rounds 4 and 6 ran the pass while round 5 did not. So the post-#937 text is not uniformly licensing the skip; the failure is intermittent, which classifies it as stochastic rather than structural.
That is the argument for the mechanism upstream already proposed rather than a third round of wording: wording moved this from 4/4 to 5/16 and did not reach zero, and a step-5 pre-post check ("did the pass run?") is deterministic where prose is not.
The correlated cost is one wrong outward action, though the causal link is not proven. 33053278119 — one of the five — posted an inline claim that under bash -e the form [ "$i" -lt 3 ] && sleep 15 would exit the shell on the last iteration and skip the following ::error:: line (discussion_r3869957259). nedtwigg tested it and it does not reproduce — POSIX set -e exempts every command in an && list except the last (issuecomment-5436368751). The session log shows the claim was asserted from memory; it ran no shell to check it. code-review's verify pass is adversarial over findings, so it is plausible it would have caught this, but that is inference, not evidence.
Gate assessment
- Evidence level / occurrences: 6 total — 5 this window plus 1 historical in #336.
- Structural vs stochastic: stochastic (mixed outcomes under identical conditions on the same PR). The 5+ floor applies and is met at 6. Per
review-gates.md, upstream's pre-registered condition does not lower that floor — it is met on count alone.
- Cost class: wrong outward action — one confirmed wrong claim posted publicly by a session in this set; reduced review assurance for the other four.
- Change type: targeted fix to a bundled skill, upstream. Nothing repo-local would fix it, and a
running-tend overlay note would duplicate a bundled mandate that every consumer already carries.
- Verdict: passes all three gates.
Permission to file an issue at
max-sixty/tend:tend-reviewsessions are still skipping the mandated/tend-ci-runner:code-reviewsecond pass, and upstream tend#937 pre-registered exactly this observation as the trigger for its follow-up.The bundled
reviewskill's step 4 says the pass is unconditional — "Every review that reaches this step runs a/tend-ci-runner:code-reviewpass over the PR's merged tree — trivial diffs included; the depth-scaling above sets how deep the pass goes, never whether it happens." In the 2026-08-26 → 2026-08-27 window on this repo, 5 of the 16 review sessions that reached step 4 never invoked it — noSkillcall, no tool-use error, and no mention of the pass anywhere in the session's reasoning. All five posted a review verdict anyway.The remedy is upstream, not repo-local: the mandate is generic bundled-skill text, and tend#937's own closing paragraph names the next step — "If a later cycle finds sessions still skipping the pass with this text in place, the next step is a harder mechanism (a distinct numbered step, or a step-5 pre-post check that the pass ran) rather than more wording." This is that later cycle, from a second adopter repo.
May I file it there?
Evidence — the five sessions, the eleven counter-examples, and how they were separated
Every
tend-reviewrun in the window was downloaded and itsSkilltool calls enumerated from the session JSONL. Sessions that legitimately took step 1's trivial-skip path (which explicitly says "Do NOT proceed to steps 2–6", and so never reaches step 4) are excluded: four posted nothing at all, and one posted the prescribed empty-bodyAPPROVE.Reached step 4 and skipped the pass — 5 sessions:
COMMENTED, 5055-char bodyAPPROVED, 1805-char bodyCOMMENTED+ inline suggestionAPPROVED, 648-char bodyCOMMENTED, 1219-char bodyThe last one is a PR's first review, so no incremental existed and the trivial-skip path could not have applied.
Reached step 4 and ran the pass — 11 sessions: 33003113749, 33004079412, 33004222904, 33005047706, 33033200749, 33033762380, 33034690191, 33040345276, 33041750750, 33050163753, 33100212747.
Excluded as legitimate trivial-skip: 33005705215, 33005806839, 33054039826, 33054138250 (posted nothing, resolved threads, stamped HEAD), and 33042204119 (empty-body
APPROVE).Each of the five was checked for a subagent invocation as well as a
Skillcall — all five used onlyBashplus the two mandatory skill loads (tend-ci-runner:running-in-ci,running-tend), and the stringcode-reviewappears zero times in their assistant text.Sixth occurrence, historical: session 32704548722 (review of #441), recorded under
review-runsrun 32706405380 in #336.Why the shape differs from upstream's evidence, and what that implies for the fix
Upstream's evidence was 4 of 4 on
numbagg/numbagg— a uniform skip, which is what motivated the wording change in tend#937. Here it is 5 of 16, mixed even within a single PR: on #452 rounds 4 and 6 ran the pass while round 5 did not. So the post-#937 text is not uniformly licensing the skip; the failure is intermittent, which classifies it as stochastic rather than structural.That is the argument for the mechanism upstream already proposed rather than a third round of wording: wording moved this from 4/4 to 5/16 and did not reach zero, and a step-5 pre-post check ("did the pass run?") is deterministic where prose is not.
The correlated cost is one wrong outward action, though the causal link is not proven. 33053278119 — one of the five — posted an inline claim that under
bash -ethe form[ "$i" -lt 3 ] && sleep 15would exit the shell on the last iteration and skip the following::error::line (discussion_r3869957259).nedtwiggtested it and it does not reproduce — POSIXset -eexempts every command in an&&list except the last (issuecomment-5436368751). The session log shows the claim was asserted from memory; it ran no shell to check it.code-review's verify pass is adversarial over findings, so it is plausible it would have caught this, but that is inference, not evidence.Gate assessment
review-gates.md, upstream's pre-registered condition does not lower that floor — it is met on count alone.running-tendoverlay note would duplicate a bundled mandate that every consumer already carries.