What to build
Apply the same handler registry pattern from #136 to projectEvent in apps/server/src/orchestration/projector.ts. Instead of a switch over event type, use a ProjectionHandlerRegistry where each event type registers its projection handler.
Each h-code event type (thread.archived-and-new-created, thread.trim-point-created) moves to its own file alongside its corresponding command handler (established in #136). Upstream event types migrate to their own handler files too.
Acceptance criteria
Blocked by
What to build
Apply the same handler registry pattern from #136 to
projectEventinapps/server/src/orchestration/projector.ts. Instead of a switch over event type, use aProjectionHandlerRegistrywhere each event type registers its projection handler.Each h-code event type (
thread.archived-and-new-created,thread.trim-point-created) moves to its own file alongside its corresponding command handler (established in #136). Upstream event types migrate to their own handler files too.Acceptance criteria
ProjectionHandlerRegistrycreated (reusingMethodRegistrypattern from Pre-factor: MethodRegistry generic utility #132)projectEventdispatches through registry instead of switchvp checkandvp run typecheckpassBlocked by