Skip to content

Fix transcript subscriber delivery#4036

Open
rasmusfaber wants to merge 1 commit into
UKGovernmentBEIS:mainfrom
METR:event-store-transcript-subscribers
Open

Fix transcript subscriber delivery#4036
rasmusfaber wants to merge 1 commit into
UKGovernmentBEIS:mainfrom
METR:event-store-transcript-subscribers

Conversation

@rasmusfaber
Copy link
Copy Markdown
Contributor

@rasmusfaber rasmusfaber commented May 25, 2026

This PR contains:

  • New features
  • Changes to dev-tools e.g. CI config / github tooling
  • Docs
  • Bug fixes
  • Code refactor

What is the current behavior? (You can also link to an open issue here)

Transcript has multiple private subscriber paths with subtly different behavior. Event delivery can become fragile when callbacks re-enter transcript logging or raise exceptions, and duplicate callback registrations are harder to reason about.

What is the new behavior?

Transcript keeps subscription as an internal hook, but uses one consistent multicast implementation. Each subscription gets an independent unsubscribe handle and re-entry guard, and subscriber exceptions are logged without blocking other subscribers or normal transcript processing.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

No. This PR does not add a public transcript subscription API; it keeps the hook private and updates internal call sites/tests to use the unified private path.

Other information:

This is PR 1 of 3 in the event-store transcript split. PR 2 (#4037) builds on this private subscriber hook for buffer-backed streaming completion.

@rasmusfaber rasmusfaber force-pushed the event-store-transcript-subscribers branch 4 times, most recently from 0fc2d6e to bd39170 Compare May 26, 2026 09:48
@rasmusfaber rasmusfaber force-pushed the event-store-transcript-subscribers branch from bd39170 to 0f9d976 Compare May 26, 2026 10:04
@rasmusfaber rasmusfaber changed the title Support multiple transcript subscribers Fix transcript subscriber delivery May 26, 2026
@rasmusfaber rasmusfaber marked this pull request as ready for review May 26, 2026 12:05
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