Skip to content

feat: update to Effect 4 RC - #9

Merged
tbinna merged 1 commit into
mainfrom
codex/issue-8-effect-4-rc
Aug 14, 2026
Merged

feat: update to Effect 4 RC#9
tbinna merged 1 commit into
mainfrom
codex/issue-8-effect-4-rc

Conversation

@tbinna

@tbinna tbinna commented Aug 14, 2026

Copy link
Copy Markdown
Member

Closes #8

What changed

  • accept compatible Effect peers from ^4.0.0-rc.109 while keeping the development dependency and packed-consumer smoke fixture pinned to exact RC 109
  • update the lockfile and remove transitive packages no longer used by Effect RC
  • align installation guidance with the widened Effect 4 peer contract
  • rename the consumer migration guide to migration-v3.md and correct stale package-major v2 references to v3 across the README, ADR, rewrite plan, packaging, smoke fixture, and type-contract comments

Compatibility review

The previous baseline was 4.0.0-beta.107. I reviewed the official Effect 4 RC announcement, migration guide, and the Effect changelog through 4.0.0-rc.109. The relevant breaking change is the removal of the standalone SchemaError module in favor of Schema.SchemaError; this library already uses the namespaced API, so no source change was required.

The peer range accepts RC 109 and newer compatible Effect 4 releases, including stable 4.x releases, while excluding earlier RCs and Effect 5. The exact development and smoke-test dependency keeps RC 109 as the reproducible supported baseline.

The remaining stamp and validate v2 text in the rewrite plan refers to stored-data representation version 2, not package major version 2.

Verification

  • npm run build
  • npm run typecheck
  • npm test (68 tests)
  • npm run lint
  • npm run prettier
  • npm run smoke:package
  • amended two-axis standards/spec review (0 findings)

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@tbinna, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 99 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e7aeb02a-00e2-4d68-9fd8-168737cb7076

📥 Commits

Reviewing files that changed from the base of the PR and between 716a74f and 0471d35.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (8)
  • README.md
  • docs/adr/0007-release-v2-without-a-prerelease-line.md
  • docs/adr/0007-release-v3-without-a-prerelease-line.md
  • docs/migration-v3.md
  • docs/plans/effect-v4-rewrite.md
  • package.json
  • scripts/package-smoke.mjs
  • test/type-contracts.ts

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 931ca468-5354-4374-8285-a381e7c59e55

📥 Commits

Reviewing files that changed from the base of the PR and between 6273cd7 and 716a74f.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (4)
  • README.md
  • docs/migration-v2.md
  • package.json
  • scripts/package-smoke.mjs

📝 Walkthrough

Walkthrough

The pull request updates Effect from 4.0.0-beta.107 to 4.0.0-rc.109 in package metadata, documentation, and the package smoke test.

Changes

Effect 4 release candidate alignment

Layer / File(s) Summary
Update Effect version references
package.json, README.md, docs/migration-v2.md, scripts/package-smoke.mjs
Development, peer, documented, and smoke-test Effect references now use 4.0.0-rc.109.

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

Merge Risk: ⚪ Minimal · up to 716a7

This PR updates the Effect dependency and aligns installation and package-consumer guidance; no actionable merge-blocking risk remains beyond normal checks and review.

Possibly related PRs

  • toolsplus/json-evolutions#7: Updates the same Effect version references across dependencies, documentation, and the package smoke test.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive The visible changes align with issue #8, but the required package-lock.json update cannot be verified because the file was excluded by path filters. Include package-lock.json in the review or provide evidence that it was updated to Effect 4.0.0-rc.109.
✅ Passed checks (4 passed)
Check name Status Explanation
Out of Scope Changes check ✅ Passed The documented changes support the Effect 4 release-candidate update and do not show unrelated scope.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: updating the project to the Effect 4 release candidate.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@tbinna

tbinna commented Aug 14, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@tbinna
tbinna force-pushed the codex/issue-8-effect-4-rc branch from 716a74f to 139b2df Compare August 14, 2026 04:52
@tbinna

tbinna commented Aug 14, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@tbinna

tbinna commented Aug 14, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai The requested dependency evidence is already present, so I am not making an additional code change:

  • package-lock.json pins the root development and peer dependency to effect@4.0.0-rc.109 and records the public-registry tarball URL plus integrity hash under node_modules/effect.
  • npm view effect dist-tags resolved the public rc tag to 4.0.0-rc.109.
  • npm install --save-dev --save-exact effect@4.0.0-rc.109 completed successfully from the public registry.
  • npm run smoke:package packed this library, installed that tarball together with exact effect@4.0.0-rc.109 in a fresh temporary consumer, compiled and executed both published examples, and passed.

This directly satisfies the availability concern and the inconclusive package-lock check.

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

@tbinna The supplied evidence resolves the dependency availability concern.

package-lock.json, the public rc dist-tag, the exact installation, and npm run smoke:package provide sufficient verification for effect@4.0.0-rc.109. No additional code change is required.

You are interacting with an AI system.

@tbinna
tbinna force-pushed the codex/issue-8-effect-4-rc branch from 139b2df to de0a437 Compare August 14, 2026 04:59
@tbinna

tbinna commented Aug 14, 2026

Copy link
Copy Markdown
Member Author

CodeRabbit follow-up completed on final commit de0a437:

  • clarified that the legacy migration snippet is schematic and its placeholders are intentionally application-specific;
  • made the ADR explicitly distinguish the historical effect@4.0.0-beta.107 pin from the current exact effect@4.0.0-rc.109 contract;
  • re-ran typecheck, formatting, and the isolated packed-consumer smoke test successfully;
  • final CodeRabbit CLI review raised 0 issues.

No review threads remain open.

@tbinna
tbinna force-pushed the codex/issue-8-effect-4-rc branch from de0a437 to 0471d35 Compare August 14, 2026 05:04
@tbinna
tbinna marked this pull request as ready for review August 14, 2026 05:07
@tbinna
tbinna merged commit 171af9b into main Aug 14, 2026
4 of 5 checks passed
@tbinna
tbinna deleted the codex/issue-8-effect-4-rc branch August 14, 2026 05:08
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 3.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: update to Effect 4 RC

1 participant