From 77d6e4a49c95b2d20c92832879b38bad36c99547 Mon Sep 17 00:00:00 2001 From: bdchatham Date: Mon, 7 Sep 2026 17:00:55 -0700 Subject: [PATCH 1/2] chore(seidroid-review): take driver v0.17.0 The `driver-version` default and the version floor move together, which the floor's own comment requires: a caller may run ahead of the default, never behind it. v0.17.0 publishes `supersedes` per finding in findings.json -- the prior threads that finding replaces. The resolve step reads it to close each superseded thread only once that finding's own replacement reached the code. On v0.15.0 or v0.16.0 the field is absent, the step reports superseded_linked=false and falls back to its per-review gate, so a review superseding three threads closes all three on the strength of one unrelated finding placing. The floor also crosses v0.16.0, which bounds the prior-thread history by bytes rather than by a count of twenty threads and three replies. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/seidroid-review.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/seidroid-review.yml b/.github/workflows/seidroid-review.yml index f1b199e..5eae545 100644 --- a/.github/workflows/seidroid-review.yml +++ b/.github/workflows/seidroid-review.yml @@ -103,14 +103,14 @@ on: The module is nested, so the repository carries path-prefixed tags (sei-agent-driver/vX.Y.Z) while `go install` takes the bare version. Pass - `v0.15.0`; `sei-agent-driver/v0.15.0` is refused as a disallowed version + `v0.17.0`; `sei-agent-driver/v0.17.0` is refused as a disallowed version string. A commit sha resolves to a pseudo-version. Verify a pin from an EMPTY module cache: a warm one is a false green, because it resolves a pin the proxy may never have served. required: false type: string - default: 'v0.15.0' + default: 'v0.17.0' trigger-phrase: description: >- The mention a person types to ask for a review. The command is that phrase @@ -1336,8 +1336,12 @@ jobs: # behind it. The conclusion a review reaches for a given set of findings is # specific to the driver that reached it -- v0.12.0 concludes `success` where # v0.11.0 concludes `neutral`; v0.14.0 writes a `failure` check for a run that - # reaches no verdict where v0.13.0 writes none; and v0.15.0 carries the threads - # a re-review closes where v0.14.0 carries none. A merge gate keyed on one of + # reaches no verdict where v0.13.0 writes none; v0.15.0 carries the threads a + # re-review closes where v0.14.0 carries none; v0.16.0 bounds the prior-thread + # history by bytes where v0.15.0 bounds it by a count; and v0.17.0 names which + # thread each finding replaces, which is what lets the resolve step below close + # a thread only once its own replacement reached the code. A merge gate keyed + # on one of # those is wrong for the others, so this file serves one and refuses the rest. # # Move this with the driver-version default above: one value in two places, @@ -1346,7 +1350,7 @@ jobs: # Raising the default alone leaves a floor that goes on admitting a driver # this file no longer drives -- the drift the whole check exists to catch, and # the direction that says nothing while it happens. - MIN_DRIVER_VERSION: 'v0.15.0' + MIN_DRIVER_VERSION: 'v0.17.0' run: | set -euo pipefail # An input default applies only when the caller omits the key. A caller that @@ -1362,7 +1366,7 @@ jobs: # # The driver is a NESTED module. The repository carries path-prefixed tags # (sei-agent-driver/vX.Y.Z) and `go install` refuses one as a disallowed - # version string; what it takes is the bare version, `v0.15.0`. A sha becomes + # version string; what it takes is the bare version, `v0.17.0`. A sha becomes # a pseudo-version. out="$RUNNER_TEMP/bin" GOBIN="$out" go install \ From 8eb907b952ce89d6af474af33d7011e5488c714d Mon Sep 17 00:00:00 2001 From: bdchatham Date: Mon, 7 Sep 2026 17:32:45 -0700 Subject: [PATCH 2/2] docs(seidroid-review): reflow the version ladder's closing sentence The v0.17.0 line left `# on one of` dangling between two full-width lines, with the line above ending mid-clause. These comments are this file's documentation, so the block has to read as prose. Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/seidroid-review.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/seidroid-review.yml b/.github/workflows/seidroid-review.yml index 5eae545..1a5d4ed 100644 --- a/.github/workflows/seidroid-review.yml +++ b/.github/workflows/seidroid-review.yml @@ -1340,9 +1340,9 @@ jobs: # re-review closes where v0.14.0 carries none; v0.16.0 bounds the prior-thread # history by bytes where v0.15.0 bounds it by a count; and v0.17.0 names which # thread each finding replaces, which is what lets the resolve step below close - # a thread only once its own replacement reached the code. A merge gate keyed - # on one of - # those is wrong for the others, so this file serves one and refuses the rest. + # a thread only once its own replacement reached the code. A merge gate keyed on + # one of those is wrong for the others, so this file serves one and refuses the + # rest. # # Move this with the driver-version default above: one value in two places, # and nothing enforces it. The two mistakes are not symmetric. Raising this