Skip to content

fix(ai-assistant): reserve @seidroid review close for the review workflow - #117

Merged
bdchatham merged 1 commit into
mainfrom
fix/ai-assistant-reserve-review-close
Oct 1, 2026
Merged

bdchatham merged 1 commit into
mainfrom
fix/ai-assistant-reserve-review-close

Conversation

@bdchatham

Copy link
Copy Markdown
Contributor

Summary

The AI Assistant now skips a comment that starts with @seidroid review close. Before this, that comment started both the review workflow's close job and the assistant.

Root cause

The assistant reserved only the exact text @seidroid review. On sei-chain#4387, @seidroid review close ran the close job and also the assistant, which read it as a request for a "close review". It posted a full competing review in its own format (comment, run 36790523252).

Change

  • The job's if: pre-filter adds !startsWith(body, '@seidroid review close') on all three event paths.
  • The route step treats a normalized body equal to @seidroid review, or starting with @seidroid review close, as a review command. The prefix matches how the caller's close job routes (startsWith).

Tests

The route logic, run with node over 7 cases:

Body Reserved
@seidroid review yes
@seidroid review close yes
@Seidroid Review Close yes
@seidroid review close\nthanks yes
@seidroid why is gas wrong no
@seidroid review the gas code no
please @seidroid review close no

Verification

actionlint: 3 findings, all present on main unchanged (the claude-code-action inputs at lines 227-229).

🤖 Generated with Claude Code

…rkflow

The assistant reserved only the exact `@seidroid review` command. A
`@seidroid review close` comment therefore started both the close job and
the assistant. On sei-chain#4387 the assistant read the comment as a request
for a "close review" and posted a competing review in a different format.

The pre-filter and the route step now also skip a comment that starts with
`@seidroid review close`. That prefix is how the caller's close job routes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cursor

cursor Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

PR Summary

Low Risk
Workflow trigger and routing guards only; no application code or secrets handling.

Overview
Fixes duplicate bot activity when someone posts @seidroid review close: the conversational assistant no longer runs for that command, so only the review workflow’s close job handles it.

The reply job’s if: guard on issue comments, review comments, and review bodies now skips bodies that start with @seidroid review close (in addition to the exact @seidroid review exclusion). The Route request step uses the same rule after normalization—exact review command or prefix review close—so downstream steps still treat those as review commands and skip the assistant path.

Reviewed by Cursor Bugbot for commit 4d2e9a6. Bugbot is set up for automated code reviews on this repo. Configure here.

@seidroid seidroid Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The assistant now skips @seidroid review close in both the job-level if: pre-filter (all three event paths) and the normalized route step. This matches the review workflow's startsWith close routing, so the two workflows no longer both respond to the same comment. I found no correctness, security or regression problems.

Findings: 0 blocking | 0 non-blocking | 0 posted inline

Blockers

  • None at the file/PR level.

Non-blocking

  • None at the file/PR level.

@bdchatham
bdchatham merged commit 1b4330b into main Oct 1, 2026
13 checks passed
@bdchatham
bdchatham deleted the fix/ai-assistant-reserve-review-close branch October 1, 2026 15:55
bdchatham added a commit that referenced this pull request Oct 1, 2026
## Summary

Drives sei-agent-driver **v0.23.0**. With it, the `claude-effort` input
(#118, default `high`) takes effect, and a re-run after a no-verdict
starts in a fresh session (sei-protocol/sei-internal-skills#467).

## Change

One release in the three places the floor comment names:

- `driver-version` default: `v0.22.0` → `v0.23.0`.
- `MIN_DRIVER_VERSION`: `v0.22.0` → `v0.23.0`. The floor comment says
why v0.23.0 is load-bearing.
- `DRIVER_SHA256_LINUX_AMD64` and `DRIVER_SHA256_LINUX_ARM64`: the
v0.23.0 archives.

The `claude-effort` description drops its note about older drivers,
because the floor now refuses them.

## Verification

```
checksums.txt (v0.23.0 release)   linux_amd64 d31a9208…, linux_arm64 39d7508a…
shasum -a 256 (downloaded)        both match
go install …@v0.23.0              resolves from an empty module cache; `review --help` runs
actionlint                        same findings as main, compared with line numbers removed
```

## Rollout

After merge: tag uci `v0.0.26` on main. It carries this change, #117 and
#118. Then sei-chain bumps its uci pin in `seidroid.yml` and
`ai-assist.yml`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
bdchatham pushed a commit to sei-protocol/sei-internal-skills that referenced this pull request Oct 1, 2026
## Summary

Bumps the seidroid workflows to uci
[v0.0.26](https://github.com/sei-protocol/uci/releases/tag/v0.0.26).

- Reviews run on sei-agent-driver v0.23.0 at `high` reasoning effort.
- A re-run after a no-verdict starts in a fresh session, instead of
repeating the refused reply.
- The AI Assistant no longer answers `@seidroid review close` with its
own review.

## Change

- `seidroid.yml`: the three jobs move from v0.0.25 (`fcdcbed`) to
v0.0.26.
- `ai-assist.yml`: `uses:` and `uci-ref` move from v0.0.19 (`eb65d6d`)
to v0.0.26. Between those versions `ai-assistant.yml` changed only by
sei-protocol/uci#117, and its inputs are unchanged.

Every input this repository passes still exists in v0.0.26. The only
input change is the new `claude-effort`, which defaults to `high`.

## Verification

`actionlint` on the changed files: clean.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
revofusion pushed a commit to revofusion/sei-chain that referenced this pull request Oct 1, 2026
## Summary

Bumps the seidroid workflows to uci
[v0.0.26](https://github.com/sei-protocol/uci/releases/tag/v0.0.26).

- Reviews run on sei-agent-driver v0.23.0 at `high` reasoning effort.
- A re-run after a no-verdict starts in a fresh session. On sei-protocol#4387, a
verdict block with one missing comma came back unchanged on every
re-run, until someone posted `@seidroid review close`.
- The AI Assistant no longer answers `@seidroid review close` with its
own review.

## Change

- `seidroid.yml`: the three jobs move from v0.0.25 (`fcdcbed`) to
v0.0.26 (`0dc48cf`).
- `ai-assist.yml`: `uses:` and `uci-ref` move from v0.0.21 (`93ebad0`)
to v0.0.26. Between those versions `ai-assistant.yml` changed only by
sei-protocol/uci#117, and its inputs are unchanged.

## Verification

`actionlint` on both files: clean.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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