Skip to content

The thumb is placed and never withdrawn - #40

Merged
ZhenghuaBao merged 1 commit into
mainfrom
feat/thumb-is-permanent
Aug 26, 2026
Merged

The thumb is placed and never withdrawn#40
ZhenghuaBao merged 1 commit into
mainfrom
feat/thumb-is-permanent

Conversation

@ZhenghuaBao

Copy link
Copy Markdown
Contributor

A product decision that deletes more than it adds.

Withdrawing was the source of the concurrency problem the settle step kept growing conditions for. Nothing serialises invocations, so an older findings run finishing after a newer clean one deleted a thumb that correctly described the current head — and the justification for leaving that delete unguarded ("the current run re-adds it on completion") held only when the current run finished last, which nothing guarantees.

Removing the withdrawal removes the class. This closes finding 2 of #39.

What it costs

A head that was clean keeps its 👍 after a later push breaks something. The review comment on that push says so and the pinned summary says so, so the mark means "some head of this PR reviewed clean" rather than "the current one does".

The hosted reviewer has made the same trade since it shipped, so both paths now agree about what it means.

What stays

The head guard, and it matters more rather than less — a wrong add is now permanent. An unconfirmed head still counts as moved.

What else goes

The existence lookup: creating a reaction that already exists is a no-op at the API, so there is nothing to check first. That takes the 👍 off identity resolution entirely, which confines the custom-App gap in #39 to clearing 👀.

🤖 Generated with Claude Code

A product decision, and it removes more than it adds.

Withdrawing was the source of the concurrency problem the settle step kept
growing conditions for. Nothing serialises invocations, so an older findings
run finishing after a newer clean one deleted a thumb that correctly
described the current head — and the justification for leaving that delete
unguarded, "the current run re-adds it on completion", held only when the
current run finished last, which nothing guarantees. Removing the withdrawal
removes the class.

What it costs, stated plainly: a head that was clean keeps its 👍 after a
later push breaks something. The review comment on that push says so and the
pinned summary says so, so the mark now means "some head of this PR reviewed
clean" rather than "the current one does". The hosted reviewer has made the
same trade since it shipped, so the two paths agree about what it means.

The head guard stays, and matters more rather than less — a wrong add is now
permanent. An unconfirmed head still counts as moved.

The existence lookup goes too: creating a reaction that already exists is a
no-op at the API, so there is nothing to check first. That also takes the 👍
off the identity resolution entirely, which confines the custom-App gap in
issue #39 to clearing 👀.

Verified: parses, the settle step passes bash -n, and no withdrawal path
remains.
@ZhenghuaBao
ZhenghuaBao merged commit 1336182 into main Aug 26, 2026
2 checks passed
@ZhenghuaBao
ZhenghuaBao deleted the feat/thumb-is-permanent branch August 26, 2026 09:40
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