Skip to content

feat!: port prop to effect/unstable/arbitrary (effect rc.113+) - #5

Merged
ScriptedAlchemy merged 2 commits into
mainfrom
fix/effect-rc113-arbitrary
Sep 25, 2026
Merged

ScriptedAlchemy merged 2 commits into
mainfrom
fix/effect-rc113-arbitrary

Conversation

@ScriptedAlchemy

Copy link
Copy Markdown
Owner

Effect removed effect/testing/FastCheck (and its fast-check dependency) in 4.0.0-rc.113 ("Native Arbitraries", Effect-TS/effect#7254). Every current effect-rstest build imports it at module top level, so importing effect-rstest fails on any Effect RC after rc.112.

This mirrors the same change in upstream @effect/vitest (rc.117 tag):

  • prop inputs are Schema.Schema | Arbitrary.Arbitrary from effect/unstable/arbitrary; schemas compile with Arbitrary.schema.
  • Breaking: the fastCheck?: FC.Parameters option is replaced by arbitrary?: Arbitrary.CheckOptions ({ runs, seed, maxDiscards, maxShrinks, size, replay }). FastCheck arbitraries are no longer accepted.
  • Properties run through Arbitrary.checkEffect: returning false, throwing, or failing the Effect falsifies and shrinks; interruption still interrupts; the test timeout interrupts the check fiber and finalizers run.
  • Peer effect is now ^4.0.0-rc.113; dev pin 4.0.0-rc.117.
  • Tests ported to Schema/Arbitrary inputs, plus a child-runner fixture (test/prop-failure.test.ts) asserting falsified properties fail, shrink to the same values upstream expects ([8, 1]), and release resources on timeout. README migration note added.

Local checks (effect 4.0.0-rc.117): pnpm check pass, pnpm test 10 files / 56 passed / 5 skipped, pnpm test:types 11 passed, pnpm build pass, pnpm publint all good. Mutation check: breaking the fixture's shrink expectation fails prop-failure.test.ts.

Unblocks ScriptedAlchemy/agent-bundle#832 (Effect rc.117 re-pin).

Effect removed effect/testing/FastCheck in 4.0.0-rc.113 (Effect-TS/effect#7254).
Mirror upstream @effect/vitest: prop inputs are Schema | Arbitrary.Arbitrary,
the fastCheck option becomes arbitrary?: Arbitrary.CheckOptions, and checks run
through Arbitrary.checkEffect so falsified properties shrink and timeouts
interrupt the property fiber. Peer effect is now ^4.0.0-rc.113.
@changeset-bot

changeset-bot Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 8166cd7

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-25T02:22:38.954071Z ce48bc4 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@ScriptedAlchemy
ScriptedAlchemy merged commit cbbf87e into main Sep 25, 2026
2 checks passed
@ScriptedAlchemy
ScriptedAlchemy deleted the fix/effect-rc113-arbitrary branch September 25, 2026 02:21
ScriptedAlchemy added a commit to ScriptedAlchemy/agent-bundle that referenced this pull request Sep 25, 2026
…rc.117 re-pin steps

- effect-rstest preview cbbf87e (ScriptedAlchemy/effect-rstest#5) replaces
  e5f8d5f, which imported the removed effect/testing/FastCheck.
- docs/effect-conventions.md: rc.117 pins, subtree from the release tag,
  re-verified platform/terminal/schema rows, lift the stream-backed
  derived-atom ban (Effect-TS/effect#7535 shipped in rc.113), bundle and
  scaffolder measurements, parked rows.
- agent-patterns: v4 has no Layer.scoped; Stream header to rc.117.
- measure-hook-cold-start: record the pinned effect version.
ScriptedAlchemy added a commit to ScriptedAlchemy/agent-bundle that referenced this pull request Sep 25, 2026
Move effect, @effect/atom-react, @effect/platform-node, and
@effect/platform-node-shared from 4.0.0-rc.112 to 4.0.0-rc.117 in lockstep and
pull the repos/effect subtree to the effect@4.0.0-rc.117 tag. Pin effect-rstest
to the pkg.pr.new preview of ScriptedAlchemy/effect-rstest#5 (cbbf87e), which
ports prop off the effect/testing/FastCheck module removed in rc.113. Finish
re-pin steps 2 and 4-6: lift the stream-backed derived-atom ban
(Effect-TS/effect#7535), re-verify unstable-module rows, refresh
agent-patterns, record bundle, scaffolder, and cold-start measurements.

git-subtree-dir: repos/effect
git-subtree-split: 14a3f140095fdebbff9162944fe7d4ea83e054e6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant