Skip to content

Record a loop-body signal once when delivery races the wait - #222

Merged
alexanderguy merged 2 commits into
mainfrom
intr-568-a-signal-delivered-to-a-loop-body-is-recorded-twice-and-can
Oct 11, 2026
Merged

alexanderguy merged 2 commits into
mainfrom
intr-568-a-signal-delivered-to-a-loop-body-is-recorded-twice-and-can

Conversation

@alexanderguy

Copy link
Copy Markdown
Member

Summary

  • A SignalReceived whose id is already on the run is not appended again, on the buffered commit path and on the immediate commit path. A duplicate that arrives after the run is terminal still fails in applyEvent before it is buffered. The immediate path still flushes events already in the buffer.
  • A loop body on a host signal channel receives one delivery after the relay wait is subscribed, and one delivery while that wait is still buffered. The parent log and the iteration log each hold one SignalReceived. The run completes converged, and the escalation handler does not run.

Verification

  • make all exits 0 on this branch.
  • Unit tests report 8768 pass and 0 fail. Workflow tests report 35 pass and 0 fail.

Closes INTR-568

@alexanderguy

Copy link
Copy Markdown
Member Author

Self-review (code-review skill) returned clean.

@linear

linear Bot commented Oct 11, 2026

Copy link
Copy Markdown

INTR-568

@alexanderguy
alexanderguy merged commit ad6c2ba into main Oct 11, 2026
6 checks passed
@alexanderguy
alexanderguy deleted the intr-568-a-signal-delivered-to-a-loop-body-is-recorded-twice-and-can branch October 11, 2026 03:20
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