Table of Contents

CHR0014: Reducer cannot combine EventStore with explicit event sequence

Rule Description

A reducer that declares [EventStore("...")] must use implicit inbox routing. It cannot also define an explicit event sequence.

Severity

Error

Example

Violation

using Cratis.Chronicle.Events;
using Cratis.Chronicle.Reducers;

[EventStore("identity-service")]
[Reducer(eventSequence: "custom-sequence")]
public class UserSummaryReducer : IReducer
{
}

Fix

using Cratis.Chronicle.Events;
using Cratis.Chronicle.Reducers;

[EventStore("identity-service")]
[Reducer]
public class UserSummaryReducer : IReducer
{
}

Why This Rule Exists

[EventStore] on a reducer is intended to drive outbox-to-inbox routing. Combining it with explicit event sequence configuration creates ambiguous routing intent.

  • CHR0013: Reactor cannot combine EventStore with explicit event sequence