Skip to content

chore(ci): bump umm-actually to v0.4.5 - #31

Merged
aliasunder merged 4 commits into
mainfrom
bump-umm-actually-v0.4.5
Sep 17, 2026
Merged

aliasunder merged 4 commits into
mainfrom
bump-umm-actually-v0.4.5

Conversation

@aliasunder

@aliasunder aliasunder commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Pin umm-actually to v0.4.5.
  • Expose the shared review deadline and document its safe ceiling.

Validation

  • bun run validate passed.
  • actionlint passed for .github/workflows/umm_review.yml.
  • git diff --check passed.

@aliasunder aliasunder changed the title chore: bump umm-actually to v0.4.5 chore(ci): bump umm-actually to v0.4.5 Sep 17, 2026
Comment thread .github/workflows/umm_review.yml Outdated
@umm-actually

umm-actually Bot commented Sep 17, 2026

Copy link
Copy Markdown

umm-actually re-reviewed at 9dc6fbc

2 new finding(s) posted (5 tracked finding(s) across all runs).

Review phase subtle-bugs did not complete; its findings are missing from this run. See the check run for details.

The review deadline expired; results from completed phases are shown.


umm-actually · deepseek/deepseek-v4-flash-0731

Comment thread .github/workflows/umm_review.yml
@umm-actually

umm-actually Bot commented Sep 17, 2026

Copy link
Copy Markdown

Mirror issue.pull_request in the concurrency noop condition
Medium severity · subtle bugs · high confidence

.github/workflows/umm_review.yml:20 — beyond the diff's line ranges, in code the changes touch or depend on.

The concurrency noop condition omits the github.event.issue.pull_request leg that the job if guard checks, so an owner comment starting '@umm review' on a regular issue is treated as a real review run. Because issue and PR numbers share one sequence, that run's group collides with an in-flight review of the same-numbered PR and cancels it before the job is skipped.

Failure scenario: While a review of PR #42 is running, the owner writes '@umm review' on issue #42 (a regular issue, not a PR). The new run gets the non-noop group umm-review-42, so cancel-in-progress: true kills the live review, and then the run's job is skipped by the if guard.

Suggested fix
Add `github.event.issue.pull_request` to the issue_comment leg of the noop condition, mirroring the job guard:

```yaml
((github.event_name == 'issue_comment' && !(github.event.issue.pull_request && github.event.comment.user.login == github.repository_owner && startsWith(github.event.comment.body, '@umm review'))) || ...)
```

umm-actually · minimax/minimax-m3, deepseek/deepseek-v4-flash-0731

@aliasunder

Copy link
Copy Markdown
Owner Author

False positive for issue comment #5707575345 — GitHub uses one repository-wide number for an issue or pull request, so a regular issue #42 and PR #42 cannot coexist. An owner trigger on a regular issue therefore cannot share a concurrency group with a same-numbered PR.


🔍 ship-check · pr-monitor · gpt-5.6-sol

@aliasunder
aliasunder merged commit 23d87e6 into main Sep 17, 2026
9 checks passed
@aliasunder
aliasunder deleted the bump-umm-actually-v0.4.5 branch September 17, 2026 02:45
Comment on lines +105 to +107
# Shared cap across review work. Empty = 1500. Use 1500 or less
# to leave publication headroom before the 30-minute job timeout.
review_timeout_seconds: ${{ vars.UMM_REVIEW_TIMEOUT_SECONDS }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warn that a request timeout consumes most of the review budget
Low severity · ci · medium confidence

The new review_timeout_seconds comment bounds the shared review budget against the job timeout only, never against the sibling request_timeout_seconds knob. The wired defaults (900s per attempt, 1500s shared) mean a single timed-out primary attempt consumes 60% of the review budget, so the fallback model receives less than its own per-attempt allowance and a review that needs both attempts is cut off by the shared cap even though neither request exceeded its own timeout — nothing in the workflow warns of this interaction, and the request-timeout comment still presents the retry/fallback ladder as the recovery path.

Failure scenario: A maintainer raises UMM_REQUEST_TIMEOUT_SECONDS to 1400s to accommodate a slow model while UMM_REVIEW_TIMEOUT_SECONDS stays at the 1500s default. The primary request times out at 1400s, consuming nearly all of the shared review budget; the fallback attempt is killed within seconds even though its own per-attempt timeout is 1400s, and the review run posts no findings — with no comment anywhere in the workflow explaining why.

Suggested fix
Extend the review_timeout_seconds comment with the budget relationship, e.g. append: "Keep request_timeout_seconds well below this value — a timed-out attempt consumes the shared budget and can starve the fallback model."

umm-actually · deepseek/deepseek-v4-flash-0731

@umm-actually

umm-actually Bot commented Sep 17, 2026

Copy link
Copy Markdown

Include the owner issue-comment path in the noop concurrency group
Medium severity · correctness · high confidence

.github/workflows/umm_review.yml:26 — beyond the diff's line ranges, in code the changes touch or depend on.

The concurrency noop condition omits the github.event.issue.pull_request leg that the job if guard checks, so an owner comment starting '@umm review' on a regular issue is treated as a real review run. Because issue and PR numbers share one sequence, that run's group collides with an in-flight review of the same-numbered PR and cancels it before the job is skipped.

Failure scenario: An owner comments @umm review on a non-PR issue #N while a review of PR #N is running. The PR's concurrency key umm-review-N is created, then the queued issue job reuses that key; the PR job finishes before the issue job, so the group is released, but that release happens after the issue job was queued behind it — the PR review pauses until the issue job completes, and if the issue job is queued first, the PR job's group unblocks only when the issue job finishes, delaying the PR review for the issue run's interpreter execution time.

Suggested fix
Mirror the job-if guard in the concurrency group expression, or append '-noop-' whenever `github.event_name == 'issue_comment'` and the issue is not a pull request:

```yaml
((github.event_name == 'pull_request' && !(github.event.pull_request.user.login == github.repository_owner && github.event.pull_request.head.repo.full_name == github.repository)) ||
  (github.event_name == 'issue_comment' && !(github.event.issue.pull_request && github.event.comment.user.login == github.repository_owner && startsWith(github.event.comment.body, '@umm review'))) ||
  (github.event_name == 'workflow_dispatch' && true)) && format('-noop-{0}', github.run_id) || ''
```

umm-actually · deepseek/deepseek-v4-flash-0731

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant