chore: update tend workflows (0.1.14 → 0.1.15) - #3814
Conversation
worktrunk-bot
left a comment
There was a problem hiding this comment.
Self-authored, so no approval — recording the verification instead.
Regenerated .config/tend.yaml through uvx tend@0.1.15 init in a scratch checkout and diffed against this branch: all eight files are byte-identical. The diff is purely generator output, with no hand edits or drift carried in.
Traced the two blocks that carry new logic:
tend-reviewgate. Thetend-review/<pr>stamp the gate reads is written by 0.1.15's review skill (step 9, "Stamp examined HEADs"), socancel-in-progress: falseand the gate land together rather than leaving the gate reading a status nothing produces. Every failure path in the gate falls open — agherror, an HTML-body-with-200 blip that breaks thejqparse, or a garbageSTAMPEDvalue all end atshould_run=true, so a bad API moment costs a redundant agent boot rather than a silently skipped review. Skipping the pre-check foropened/reopened/ready_for_reviewis right: none of those can be a stale duplicate.tend-mentionself-review skips. Ordering holds the design the comments claim — the newREVIEW_AUTHOR = worktrunk-botgate sits after thePR_AUTHORshort-circuit, so the reviewer-to-author handoff on a bot-authored PR still fires (this run is that path), and after both@-mention scans, so an explicit summons still wins. The{body, in_reply_to_id}construction is load-bearing as documented:in_reply_to_idis absent rather than null on a fresh inline comment, and the object build normalizes it so the== nullcount sees both shapes.
Nothing to flag on the data-safety surface — the one new destructive-looking line, git checkout "$GITHUB_SHA" -- .github/actions/claude-setup, only restores a path inside the runner workspace and guards its own failure with a warning.
|
Adding measurement from today's review-runs sweep (24h to 2026-08-13T08:13Z, 155 completed tend runs, zero failures). The body's change list is accurate but doesn't mention four fixes this repo's own sweep log (#3691) has been carrying as open watches — max-sixty/tend#849, max-sixty/tend#851, max-sixty/tend#870, max-sixty/tend#873 — all of which land in 0.1.15. Two of them fired again in this window, and I measured both rather than asserting them. max-sixty/tend#873 — cancelled sessions accounted as $0. Three max-sixty/tend#876 — the CI-monitor poll cap wasn't terminal. Run 31649362807 ( Neither is a reason to change anything here — both fixes are already in 0.1.15, which is what this PR pins. Recording the numbers so the bump reads as closing measured gaps rather than as routine regeneration. Method and figuresCancelled-run usage recovered from each artifact's session JSONL. The JSONL emits one record per content block, so assistant records must be deduplicated by
Each ran on an assigned runner with 11 steps and uploaded an artifact, so these are real sessions, not runs displaced before a runner was allocated. The dollar figures use a rate model fitted by least squares against the window's 58 priced runs — output $25.03/M, cache-create $10.01/M, cache-read $0.50/M — which reproduces every one of those 58 reported costs to within $0.005. They are API-list-price proxies, not a bill. Poll timeline for 31649362807, from its session JSONL: push 23:08:10Z, comment 23:09:02Z, then poll loops at 23:09→23:18 (pending 20→9), 23:18→23:27 (9→2), and four consecutive loops 23:27→00:04 reporting Census for the window is exact in both directions: an artifact sweep over all 155 completed runs found 61 carrying a |
Automated nightly regeneration of tend's workflow files.
tend version: 0.1.14 → 0.1.15
Notable changes
tend-mentionnow skips comments ontend-rate-limit-labelled issues as well astend-outageones — the same self-trigger loop guard, widened to every issue tend files about its own health./code-reviewsecond pass is unconditional (fix(review): make the code-review second pass unconditional tend#937).gh run rerun --failedpoll now end terminally when the cap is hit instead of reading as done (fix(running-in-ci): make the CI-monitor poll cap terminal tend#876, fix(running-in-ci): make the rerun poll cap terminal, and print conclusions tend#951), and a failed GitHub-status probe no longer reads as "no incident" (fix(running-in-ci): don't let a failed status probe read as no incident tend#913).mergeablefield (fix(nightly): test-merge bot PRs locally instead of filtering the lazy mergeable field tend#898), and mention runs skip the bot's own review and a third party's content-free approval (fix(mention): skip the bot's own review on someone else's PR tend#916, fix(mention): skip a third party's content-free approval tend#955).tend check: an unreadable ruleset bypass list is reported as unknown rather than ungated (check: report an unreadable ruleset bypass list as unknown, not ungated tend#825), environment names are read one per line and addressed encoded (fix(check): read environment names one per line, and address them encoded tend#879), andcredential-environmentsno longer points at the setting it rejects (fix(check): stop pointing credential-environments at the setting it rejects tend#900) — this repo currentlySKIPs that check, so its wording should improve here.Full comparison: max-sixty/tend@0.1.14...0.1.15