Class EmailShiftDoer

All Implemented Interfaces:
CaseScoped, ChannelScoped, GuardedExecution, ScopeAuthority, Scoped, Identifiable, Job<List<String>>, Doer<String, List<String>>, Orchestrator<String, List<String>>, Tool<String, List<String>>

public class EmailShiftDoer extends AbstractDoer<String, List<String>> implements CaseScoped, ChannelScoped
The shift: one customer's case, worked on the email channel. Real work overlaps several axes at once, and two unrelated bindings on one flow means implementing both markers; that leaves the class with two default scope() methods, so the compiler forces the composite override - one flow answering for both axes.

Partway through, the shift escalates one disputed order by spawning DisputeDoer: from that point the case axis is narrowed to one order for everything the escalation does, while the shift's own bindings ride into it through the runtime and keep holding.

Since:
0.1 (2026-09-28)
Author:
Andrey Santrosyan