You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
relay: two sentences around the CLOSE-during-mint test claim more than it proves #984
Two accuracy matters left in and around a_close_during_the_invite_mint_leaves_the_event_but_not_the_read after #963. Both are recorded here because the job that found them is a folder git/info/exclude keeps out of every tree.
1. The frames do not decide a broken cancellation — the watch close does
The test's comment says "whether the cancellation reaches the read is what the frames below decide". Measured at head, that is not what happens for the case it names:
with abort_read removing the entry but the cancellation never reaching the read, the test is green: dropping the last Sender closes the watch, and fetch_and_send reads has_changed().is_err() as cancelled (subscribe.rs:224-227);
round 1's apparent proof of the opposite was confounded — its scratch copy still carried the run-3 mutation, so the red it saw came from that.
So the sentence should say what is true: the frames decide whether the stored read streams, and the cancellation path is closed by the watch regardless.
2. The guard's wording is narrower than what fires it
!read_in_flight("invite") is documented as catching "the call was dropped or moved behind this assertion". A production abort_read that leaves the entry registered would also fire it, with the call present. With the current code that is unreachable, so it is wording rather than behaviour — but the sentence claims more than it knows.
Why this is an issue and not a fix
The job was a $1.20 test-only fix under an experimental one-round documentation cap: the first prose finding was repaired, and the second round's remaining items are residue rather than false-of-code claims. Filing them is the cap's own rule, and it keeps a reader from trusting two sentences that overstate what the test proves.
Found on branch factory/014-close-mint-sync (base rewrite/main @ 2b2287f) while fixing #963.
Correction to item 1 above, after the approver for #963 re-measured it: the claim as worded is wrong.
Leaking the sender is red at the frames — the stored read still streams, and the test's frame assertion catches it. So the branch's sentence ("whether the cancellation reaches the read is what the frames below decide") is true for that case. Only the sender-drop case is green, because dropping the last Sender closes the watch and fetch_and_send reads that as cancelled (subscribe.rs:224-227).
Item 1 asked for the sentence to be reworded on the strength of a round-2 correction that I had not re-verified myself; the approver did, and the original wording holds. Item 2 stands — the guard's wording being narrower than what fires it is real, though unreachable with the current code.
Recording this rather than editing the issue body, because the wrong version was what a reader would have acted on.
Activity
chappie-daemon commentedon Oct 25, 2026
Correction to item 1 above, after the approver for #963 re-measured it: the claim as worded is wrong.
Leaking the sender is red at the frames — the stored read still streams, and the test's frame assertion catches it. So the branch's sentence ("whether the cancellation reaches the read is what the frames below decide") is true for that case. Only the sender-drop case is green, because dropping the last
Sendercloses the watch andfetch_and_sendreads that as cancelled (subscribe.rs:224-227).Item 1 asked for the sentence to be reworded on the strength of a round-2 correction that I had not re-verified myself; the approver did, and the original wording holds. Item 2 stands — the guard's wording being narrower than what fires it is real, though unreachable with the current code.
Recording this rather than editing the issue body, because the wrong version was what a reader would have acted on.