chore(lint): disable returnEffectInGen#25050

merged1
lint-rules/eslint-no-control-regex
lint-rules/returnEffectInGen
opened5d agobyJJulius Marminge
View on GitHubTwo-way sync enabledPR last imported 4d ago

Returning an Effect as a value is allowed; flattening it would change semantics. This rule is explicitly off, so these allowed patterns no longer emit advisory diagnostics.

This PR changes only this rule and its existing call sites. Each changed rule has its own PR.

Stack validation: rebased onto b76a110. The earlier 234-file test run passed, and the cancellation regression test passes after its local exception. Rebased format, lint, Knip, and all 34 affected-package typecheck tasks pass. The final local test rerun and fresh CI are pending.

Model: GPT-6.1 Sol. Harness: Codex.

Checks

23 successful · 14 skipped
All checks passed
3f8d8fe
Synced from GitHub

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ No successful main baseline artifact is available yet. This run establishes the initial measurement.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire—5.0 KiB—6.8 KiB✅
CodexThread snapshot wire—3.8 KiB—4.9 KiB✅
CodexLive turn WebSocket wire—1.2 KiB—2.0 KiB✅
CodexLive turn WebSocket decoded—20.9 KiB—29.3 KiB✅
CodexLive turn messages—2—8✅
ClaudeTotal thread wire—5.0 KiB—6.8 KiB✅
ClaudeThread snapshot wire—3.8 KiB—4.9 KiB✅
ClaudeLive turn WebSocket wire—1.2 KiB—2.0 KiB✅
ClaudeLive turn WebSocket decoded—21.2 KiB—29.3 KiB✅
ClaudeLive turn messages—2—8✅

Baseline: unavailable · PR result: 3f8d8fe · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

Synced from GitHub

Approvability

Verdict: Needs Human Approval

Macroscope's review found this PR requires human approval — The PR replaces several targeted Effect diagnostic suppressions with a shared returnEffectInGen disable in the base TypeScript configuration, broadening suppression across inheriting projects. This has no direct product runtime effect but changes repository-wide static-analysis coverage.

No code changes detected at 3f8d8fe. Prior analysis still applies.

You can add or adjust custom eligibility rules. Learn more.

Synced from GitHub

Review in Change Stack →

No actionable comments were generated in the recent review.

External image Recent review info
External image Run configuration
External image Commits

Reviewing files that changed from the base of the PR and between edbe1a124bd7158d724cc9ffa6010c932004f236 and 3f8d8fee2022d6bb1219e72fa712813a044bc423.

External image Files selected for processing: 1
  • apps/server/src/ws.ts
External image Files with no reviewable changes: 1
  • apps/server/src/ws.ts

Limit details: You’ve used all 10 included reviews currently available.

Walkthrough

The base TypeScript configuration sets the returnEffectInGen diagnostic severity to "off". Five local diagnostic-suppression comments are removed. The surrounding implementations remain unchanged.

Changes: Effect diagnostic setting

Layer / File(s)Summary
Diagnostic setting and suppression cleanup
tsconfig.base.json, apps/server/src/observability/EventLoopMonitor.ts, apps/server/src/orchestration-v2/LiveStreamBudget.ts, apps/server/src/orchestration-v2/ShellStream.ts, apps/server/src/ws.ts, infra/relay/src/hooks/HookInboxObject.ts
The configuration sets returnEffectInGen to "off". Five local suppression comments are removed. The surrounding implementations are unchanged.

Priority: External image Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Suggested reviewers: macroscopeapp

Merge Risk: External image Minimal · up to 3f8d8

The diagnostic cleanup leaves the affected server and relay code covered by the shared setting. No actionable merge risk was identified.

Pre-merge checks: Passed 4
Check nameStatusExplanation
Title checkPassedThe title clearly identifies the lint rule that this pull request disables.
Description checkPassedThe description explains the problem, the change scope, and the verification results. It also states that the final local test rerun and fresh CI were pending. The description does not use the require…
Linked Issues checkPassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes checkPassedCheck skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains the problem, the change scope, and the verification results. It also states that the final local test rerun and fresh CI were pending. The description does not use the required section headings or provide a linked issue or explicit maintainer approval, but it provides sufficient information for this focused configuration change.

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Added 1 commit

  • chore(lint): disable returnEffectInGen3f8d8fe