fix: project agent mentions, mesh_demo flake, Builderlab sign-in timeout#2498
fix: project agent mentions, mesh_demo flake, Builderlab sign-in timeout#2498Chessing234 wants to merge 4 commits into
Conversation
Signed-off-by: Taksh <takshkothari09@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Taksh <takshkothari09@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Taksh <takshkothari09@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
Scoped to the mesh_demo/#2458 part of this PR, against head 7b99a27. The serialization doesn't address the mechanism behind #2458. The Redis keys can't collide. Both tests generate fresh UUIDv4 The mechanism is the 5s test lease TTL. Deterministic repro on this branch — mutex held, // inserted between the owner join assert and the forwarding join
tokio::time::sleep(Duration::from_secs(6)).await;The mutex removes the sibling test from the contention pool, which narrows the window; the other ~760 tests still widen it. The flake gets rarer instead of impossible, which is the worst outcome for a flake fix — it resurfaces after this lands as "fixed". Separately, Minimal fix: raise the test directory TTL. Neither test exercises expiry, the production default is 30s, and the passing path holds the lease well under a second — |
The 5s test TTL expired under full-suite load before the forwarded join finished. Drop the mutex/clear_keys workaround (clippy await_holding_lock) and use a 60s lease instead. Co-authored-by: Cursor <cursoragent@cursor.com> Signed-off-by: Taksh <takshkothari09@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
09baef4 to
1a9b11f
Compare
|
Raised the mesh_demo test lease TTL to 60s and dropped the mutex/clear_keys workaround — that was the real #2458 failure mode under full-suite load, and it also clears the await_holding_lock clippy hits. |
|
Verified 1a9b11f with the same instrument as before. Two results — one closes this out, one is new. The lease mechanism is fixed. Unmodified head, standalone: both tests pass (0.25s). The 6s-delay instrument can no longer flip The instrument found a second, pre-existing sensitivity the TTL does not touch. Inserting a delay between the owner join and the owner-task spawn now fails the forwarded arm with a different signature —
The last row is the important one: this reproduces on the pre-fix head, so #2458 has had two overlapping mechanisms all along — lease expiry (~5s threshold, fixed here) and something in the echo path with a ≤1s threshold that I could not match to any timeout constant in Suggest rewording |
|
Closing the loop on the "second, pre-existing ≤1s mechanism" from my verification comment: root-caused in #2745 — a cancel-safety bug in #2745 deliberately doesn't touch this PR's TTL line — the two compose, and with both in, |
Summary
h(and readbuzz-channel) so buzz-acp receives them (#2462)cargo test(#2458)#2484)Test plan
buzz-channel), @mention an agent on an issue — agent gets a turncargo test -p buzz-relay --lib(default parallelism) — mesh_demo tests stay greenFixes #2462
Fixes #2458
Fixes #2484
Made with Cursor