Skip to content

Wrap orchestration reactor starts in Effect.fn#1513

Merged
juliusmarminge merged 4 commits intomainfrom
feature/effect-fn-reactors
Mar 29, 2026
Merged

Wrap orchestration reactor starts in Effect.fn#1513
juliusmarminge merged 4 commits intomainfrom
feature/effect-fn-reactors

Conversation

@juliusmarminge
Copy link
Copy Markdown
Member

@juliusmarminge juliusmarminge commented Mar 29, 2026

  • Convert reactor start handlers to callable effects
  • Update orchestration tests and harness call sites
  • Refresh effect-fn checklist documentation

What Changed

Why

UI Changes

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Medium Risk
Changes the public service API for multiple orchestration reactors from an Effect value to a start() function, so any missed call site will fail at runtime/compile time. Also touches event-stream processing wiring in ProviderCommandReactor, which could subtly affect which events get enqueued if the filter logic is wrong.

Overview
Reworks orchestration reactor startup to use named, callable effects. The start field for OrchestrationReactor, CheckpointReactor, ProviderCommandReactor, and ProviderRuntimeIngestion is changed from an Effect value to a start() function implemented via Effect.fn("start"), and all call sites/tests/harnesses are updated to invoke start() (e.g. wsServer, integration harness, and layer tests).

Internally, ProviderRuntimeIngestion wraps several generator helpers in Effect.fn for naming/stack traces and adjusts its layer construction to pass make(); ProviderCommandReactor refactors its stream handler to a named callback and switches event filtering to an explicit allow-list before enqueueing. The effect-fn-checklist doc is updated to mark ProviderRuntimeIngestion items complete.

Written by Cursor Bugbot for commit 0c323ad. This will update automatically on new commits. Configure here.

Note

Wrap orchestration reactor start fields in Effect.fn named functions

  • Converts start from an Effect value to a callable function (start()) across all orchestration reactor service interfaces and implementations: CheckpointReactor, OrchestrationReactor, ProviderCommandReactor, and ProviderRuntimeIngestion.
  • Updates all call sites — including wsServer.ts and OrchestrationEngineHarness.integration.ts — to invoke reactor.start() instead of piping the effect value directly.
  • Wraps several internal helpers in ProviderRuntimeIngestion with named Effect.fn callbacks; logic is preserved.
  • Also changes ProviderCommandReactor's event filtering from negative (skip non-target types) to positive (explicitly match allowed types).
  • Behavioral Change: start must now be called as a function; any call site that pipes reactor.start as an effect value directly will break.

Macroscope summarized 0c323ad.

- Convert reactor start handlers to callable effects
- Update orchestration tests and harness call sites
- Refresh effect-fn checklist documentation
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 29, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: c54202a0-c15c-4081-b00a-58944f4eacf4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/effect-fn-reactors

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Mar 29, 2026
@juliusmarminge juliusmarminge enabled auto-merge (squash) March 29, 2026 05:55
@juliusmarminge juliusmarminge merged commit a60daa1 into main Mar 29, 2026
11 checks passed
@juliusmarminge juliusmarminge deleted the feature/effect-fn-reactors branch March 29, 2026 05:57
Chrono-byte pushed a commit to Chrono-byte/t3code that referenced this pull request Mar 31, 2026
xddinside pushed a commit to xddinside/t3code that referenced this pull request Apr 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant