Skip to content

Permission to file upstream: tend-review skipped the mandated code-review pass in 5 of 16 eligible sessions #457

Description

@dormouse-bot

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:

Session PR Verdict posted
33041167812 #452 COMMENTED, 5055-char body
33051245140 #453 APPROVED, 1805-char body
33053278119 #453 COMMENTED + inline suggestion
33053731411 #453 APPROVED, 648-char body
33053539061 #454 COMMENTED, 1219-char body

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    review-runsOpened by the review-runs sweep

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions