You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create packages/ext-agent-orchestrator/, a new package that establishes the documented extension pattern for all fork-specific orchestration work. Extensions subscribe to orchestrationEngine.streamDomainEvents, filter for relevant event types, and dispatch commands back through orchestrationEngine.dispatch() — never modifying decider.ts or ProviderCommandReactor.ts.
Package contents
README.md documenting the extension pattern with examples
Effect Service tag + Layer template for new reactors
A minimal example reactor (e.g., logging events to disk) that demonstrates subscribe → filter → dispatch
Proper package.json, tsconfig.json, and subpath exports
Pattern contract
// Extensions depend on the existing OrchestrationEngine service// They NEVER import from decider.ts or modify core orchestration filesconstmakeMyReactor=Effect.gen(function*(){constengine=yield*OrchestrationEngineService;yield*engine.streamDomainEvents.pipe(Stream.filter(isMyEventType),Stream.runForEach((event)=>/* react + dispatch */));});
This is HITL because the pattern becomes the architectural contract all future fork work must follow.
Acceptance criteria
packages/ext-agent-orchestrator/ exists with correct package structure
README.md documents the reactor extension pattern with code examples
Minimal example reactor compiles and demonstrates subscribe → filter → dispatch
vp check passes
No changes to decider.ts, OrchestrationEngine.ts, or ProviderCommandReactor.ts
Activity