Skip to content

feat(replay): Replay-Bypass guard — skip external side-effects on a d…#10

Merged
muhammetsafak merged 1 commit into
mainfrom
feat/replay-bypass
Jun 20, 2026
Merged

feat(replay): Replay-Bypass guard — skip external side-effects on a d…#10
muhammetsafak merged 1 commit into
mainfrom
feat/replay-bypass

Conversation

@muhammetsafak

Copy link
Copy Markdown
Member

…eliberate replay (ADR-0027)

Backward-compatible capability upgrade: ReceivedMessage gains an additive Headers map; an optional HeaderPublisher interface (transports MAY implement) carries out-of-band headers; InMemoryTransport implements it. Redrive's new Bypass option stamps a bq-replay-bypass header; the runtime surfaces it to the handler's context; IsReplay + BypassExternalEffects let a handler re-run its idempotent core but skip effects that already fired. No envelope change (GR-1), no breaking Transport change. Concrete broker transports + other SDKs to follow.

Summary

Type

  • Bug fix
  • Feature
  • Refactor / cleanup
  • Docs
  • CI / tooling

Wire-contract impact

  • No change to the message envelope.
  • Changes the envelope / URN / broker binding → linked ADR ADR-____ and a schema_version decision was made.

Checklist

  • Tests added or updated, and passing locally.
  • CI is green.
  • Cross-SDK parity considered (or the change is SDK-local by design).
  • Docs / CHANGELOG.md updated where user-facing.
  • Conventional-commit messages.

…eliberate replay (ADR-0027)

Backward-compatible capability upgrade: ReceivedMessage gains an additive Headers map; an optional HeaderPublisher interface (transports MAY implement) carries out-of-band headers; InMemoryTransport implements it. Redrive's new Bypass option stamps a bq-replay-bypass header; the runtime surfaces it to the handler's context; IsReplay + BypassExternalEffects let a handler re-run its idempotent core but skip effects that already fired. No envelope change (GR-1), no breaking Transport change. Concrete broker transports + other SDKs to follow.
@muhammetsafak muhammetsafak merged commit fc22ee3 into main Jun 20, 2026
24 checks passed
@muhammetsafak muhammetsafak deleted the feat/replay-bypass branch June 20, 2026 03:54
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