Skip to content

Rate-limit concurrent mutating lane-overlap warnings - #891

Merged
TheGreatAxios merged 3 commits into
mainfrom
cl-7649-deduplicate-concurrent-lane-overlap-conflict-logs
Sep 11, 2026
Merged

Rate-limit concurrent mutating lane-overlap warnings#891
TheGreatAxios merged 3 commits into
mainfrom
cl-7649-deduplicate-concurrent-lane-overlap-conflict-logs

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Collaborator

Summary

  • Emits at most one concurrent-lane-overlap conflict per shared-cwd mutating wave, and skips declared read-only peers (explore / plan / review / test).
  • Treats session-store pending_init/running as liveness so a cancelled but unsettled lane does not warn; finally still deletes the map entry. Queued workers are not inserted until admission starts them. Parked live writers stay in the map on purpose.
  • Leaves spawn isolation on the existing shared-cwd fallback; this branch does not switch spawn policy to worktree-by-default.

Verification

  • bun run typecheck and bun run build pass
  • Same-cwd overlap tests in the fleet suite pass, including queued, read-only, wave reset, and terminal-unsettled cases
  • bun run check exits 1 on four pre-existing failures outside this diff (assembleChatAgent still mocks createOptimizedContextStore while production uses createSessionStores; two createOptimizedContextStore tests fail independently)

Fixes CL-7649

@linear-code

linear-code Bot commented Sep 11, 2026

Copy link
Copy Markdown

CL-7649

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Critic · Approve

isOverlapLive is pending_init/running only; warnedMutatingCwds emits at most once while any live writer remains; explore/plan/review/test do not participate.

No blocking or should-fix findings.

Notes

  • Read-only coverage in tests is explore-only. Queued-writer test with capacity 1 never admits B while A is live.

@TheGreatAxios TheGreatAxios left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Review · Approve

Lane-overlap warnings fire once per mutating cwd wave, skip declared read-only roles, and use session-store liveness.

No findings.

Notes

GitHub blocks approve on own PRs, so this is a comment with an approve verdict.

@TheGreatAxios
TheGreatAxios force-pushed the cl-7649-deduplicate-concurrent-lane-overlap-conflict-logs branch from 687238c to 6be62de Compare September 11, 2026 03:09
Cancel can stamp finishedAt before the run promise settles and
reaches finally, so an activeLanes map entry alone was enough to
emit concurrent-lane-overlap against a worker that was already
terminal. Overlap checks now trust pending_init/running from the
session store, prune terminal or absent map entries opportunistically,
and keep the finally delete.
Shared-cwd concurrent-lane-overlap noise was one record per peer with
no filter for explore/plan/review/test directors. Emit at most one
conflict when a cwd wave first has two live mutating writers, suppress
declared read-only peers, and clear the wave flag once no live writer
remains. No age TTL or map sweep.
@TheGreatAxios
TheGreatAxios force-pushed the cl-7649-deduplicate-concurrent-lane-overlap-conflict-logs branch from 6be62de to 77440c3 Compare September 11, 2026 03:11
@TheGreatAxios
TheGreatAxios merged commit 8d0e5c7 into main Sep 11, 2026
9 checks passed
@TheGreatAxios
TheGreatAxios deleted the cl-7649-deduplicate-concurrent-lane-overlap-conflict-logs branch September 11, 2026 03:17
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