Add opt-in PostgreSQL advisory lock namespacing by table prefix.#6502
Add opt-in PostgreSQL advisory lock namespacing by table prefix.#6502sdemjanenko wants to merge 1 commit into
Conversation
🦋 Changeset detectedLatest commit: 7acb7ea The changes in this PR will be included in the next version bump. This PR includes changesets to release 28 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (300)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis PR adds repository-level agent instructions, three agent skills, scratchpad extraction tooling, and Changesets configuration. It also adds numerous release-note entries covering API additions, behavior fixes, refactors, package changes, and documentation updates across Effect modules. ChangesRepository guidance and tooling
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.changeset/cluster-namespace-advisory-locks.md:
- Around line 1-5: Update the changeset release level for `@effect/cluster` from
patch to minor to reflect the backward-compatible public API addition of
namespaceAdvisoryLocks in SqlRunnerStorage; leave the descriptive changeset
content unchanged.
In `@packages/cluster/test/SqlRunnerStorage.test.ts`:
- Around line 100-163: Replace every newly added Vitest expect(...).toEqual(...)
assertion in the four SqlRunnerStorage tests with assert.deepStrictEqual(...)
using the existing `@effect/vitest` assert import, preserving each expected value
and assertion behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 13f05612-5663-4955-bb79-3a51c74a7ef9
📒 Files selected for processing (4)
.changeset/cluster-namespace-advisory-locks.mdpackages/cluster/src/SqlRunnerStorage.tspackages/cluster/test/SqlRunnerStorage.test.tspackages/cluster/test/SqlRunnerStorageNamespace.test.ts
a1e4245 to
2ddb34e
Compare
|
I decided to add this as an opt-in option because I didn't want to break existing installs, but I could see down the road this becomes a default option. |
|
Does the |
|
Yes, I believe it does. I'll be able to get to it in a day or two. Sorry for making a PR to the wrong branch. Would love to see this back ported to v3 once it lands in main. |
Running multiple clusters on one Postgres DB, where each cluster has a different prefix leads to collision of advisory locks. We fix that with an opt-in advisory lock change that keeps locks for separate prefixes separate.
2ddb34e to
7acb7ea
Compare
|
@tim-smart i've updated the PR to update |
There was a problem hiding this comment.
Actionable comments posted: 11
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.agents/AGENTS.md:
- Around line 63-67: Update the fenced block in the plan template near the
numbered Step entries to specify the text language, resolving markdownlint MD040
while preserving the displayed template content.
In @.agents/skills/scratchpad/scripts/extract-example.mjs:
- Around line 94-95: Update the output-writing flow around uniqueOutputPath and
writeFileSync to create files atomically with the "wx" flag. Retry generating
the next suffixed path when the write fails with EEXIST, while propagating other
errors and preserving the no-overwrite guarantee.
In @.changeset/add-indexeddb-kvs-layer.md:
- Line 5: Update the changeset description to hyphenate “IndexedDB-backed” when
describing the implementation, leaving the rest of the wording unchanged.
In @.changeset/add-missing-tx-modules.md:
- Around line 1-11: Update the changeset frontmatter for the “effect” package
from a patch release to a major release, preserving the documented transactional
changes and breaking API removals.
In @.changeset/chatty-poets-type.md:
- Around line 1-5: Update the release classifications for both breaking API
changes: in .changeset/chatty-poets-type.md lines 1-5, bump Effect.Yieldable
removal from patch to major; in .changeset/fix-class-constructor-defaults.md
lines 1-5, bump the MakeOptions.disableValidation-to-disableChecks rename to
major, or retain a disableValidation alias if it must remain a patch.
In @.changeset/config-withdefault-eager.md:
- Around line 1-7: The changeset currently labels the breaking
Config.withDefault signature change as a patch; update its release
classification to major. Preserve the existing description of changing from
LazyArg to an eager value and its evaluation semantics.
In @.changeset/consolidate-encoding.md:
- Around line 1-5: Update the changeset frontmatter in the encoding
consolidation entry from patch to major, and expand its description with
migration guidance: replace imports from effect/encoding with the top-level
Encoding module and update renamed functions to their
encodeBase64/decodeBase64/encodeHex/decodeHex-style names.
In @.changeset/consolidate-sql-error.md:
- Around line 1-16: Update the changeset metadata for the SqlError shape change
from patch to major across effect and every listed SQL driver package. Add
migration guidance describing the new reason-based error structure and the
required downstream handling changes, while preserving the existing summary of
native failure classification and Unknown fallback.
In @.changeset/curly-spies-relax.md:
- Line 5: Update the release-note text in curly-spies-relax.md to replace the
truncated “while option” wording with the complete intended phrase, such as
“when using the option,” while preserving the note’s meaning.
In @.changeset/fix-ai-empty-params-structured-output.md:
- Line 5: Update the changeset release-note wording to replace “empty tool
params” with the clearer phrase “empty tool parameters,” while preserving the
rest of the message unchanged.
In @.changeset/fix-graph-topo-types.md:
- Around line 1-5: Update the changeset for Graph.topo’s type restriction from
patch to major, preserving the existing description about directed-graph typing
and runtime validation.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: e2790e80-2775-446a-a2ad-87643595f9e0
📒 Files selected for processing (300)
.agents/AGENTS.md.agents/skills/grill-me/SKILL.md.agents/skills/jsdocs/SKILL.md.agents/skills/scratchpad/SKILL.md.agents/skills/scratchpad/agents/openai.yaml.agents/skills/scratchpad/scripts/extract-example.mjs.changeset/add-adaptive-rate-limiter-store.md.changeset/add-atom-equality.md.changeset/add-bigdecimal-sumall-multiplyall.md.changeset/add-chunk-schema.md.changeset/add-command-hidden.md.changeset/add-config-nested.md.changeset/add-flag-hidden.md.changeset/add-from-string-schemas.md.changeset/add-headers-remove-many.md.changeset/add-http-client-request-update-headers.md.changeset/add-indexeddb-kvs-layer.md.changeset/add-make-msgpack.md.changeset/add-make-option.md.changeset/add-missing-tx-modules.md.changeset/add-newtype-module.md.changeset/add-scalar-show-operation-id.md.changeset/add-schedule-tap.md.changeset/add-schema-annotate-encoded.md.changeset/add-schema-array-ensure.md.changeset/add-schema-bigdecimal.md.changeset/add-schema-datetime.md.changeset/add-schema-error-module.md.changeset/add-schema-option-from-optional-nullor.md.changeset/add-schema-option-from-undefined-nullish.md.changeset/add-schema-string-encoding.md.changeset/add-schema-tagged-union-discriminants.md.changeset/add-sql-pglite.md.changeset/add-standard-jsdoc-rule.md.changeset/add-stream-broadcastn.md.changeset/add-unstable-encoding-export.md.changeset/add-update-service-scoped.md.changeset/add-values-unprepared.md.changeset/afraid-cobras-like.md.changeset/ai-openai-config-field-leak.md.changeset/ai-openai-file-nullable-fields.md.changeset/anthropic-4-6-structured-output.md.changeset/anthropic-open-model-enum.md.changeset/apply-httpapi-endpoint-client-transform.md.changeset/asyncresult-exhaustive.md.changeset/atom-stream-error-type.md.changeset/beige-goats-sin.md.changeset/beige-paths-sort.md.changeset/better-apples-nail.md.changeset/better-rocks-arrive.md.changeset/better-shrimps-follow.md.changeset/big-pans-look.md.changeset/blue-dingos-greet.md.changeset/blue-ligers-cheat.md.changeset/blue-onions-smile.md.changeset/blue-ravens-type.md.changeset/blue-trams-kiss.md.changeset/bold-chairs-yawn.md.changeset/bold-planets-shout.md.changeset/breezy-meals-see.md.changeset/bright-bugs-bow.md.changeset/bright-canyons-clean.md.changeset/bright-dogs-fail.md.changeset/bright-flags-stand.md.changeset/bright-laws-teach.md.changeset/bright-lemons-dance.md.changeset/bright-planes-smash.md.changeset/bright-rats-attend.md.changeset/bright-toes-rush.md.changeset/bumpy-boxes-teach.md.changeset/busy-lions-sneeze.md.changeset/busy-maps-attend.md.changeset/calm-buckets-own.md.changeset/calm-carrots-march.md.changeset/calm-cars-rest.md.changeset/calm-heads-close.md.changeset/calm-masks-count.md.changeset/calm-panthers-nail.md.changeset/calm-ravens-reflect.md.changeset/calm-seas-smile.md.changeset/calm-squids-hug.md.changeset/calm-tracers-sample.md.changeset/chatty-poets-type.md.changeset/chilled-mice-wash.md.changeset/chilly-pumas-rule.md.changeset/chubby-buckets-feel.md.changeset/chubby-parents-flow.md.changeset/chubby-planets-fall.md.changeset/clean-balloons-tan.md.changeset/clean-bulldogs-care.md.changeset/clean-cats-document.md.changeset/clean-dryers-sneeze.md.changeset/clean-geese-work.md.changeset/clean-goats-wave.md.changeset/clean-needles-shake.md.changeset/clean-tires-guess.md.changeset/clear-hairs-pump.md.changeset/clear-spies-boil.md.changeset/cli-config-built-ins.md.changeset/cli-help-choices.md.changeset/cli-wizard-mode.md.changeset/cluster-namespace-advisory-locks.md.changeset/cold-knives-lie.md.changeset/cold-rooms-show.md.changeset/cold-sloths-wave.md.changeset/common-mammals-tickle.md.changeset/compact-json-schema-enum.md.changeset/config-withdefault-eager.md.changeset/config.json.changeset/consolidate-encoding.md.changeset/consolidate-sql-error.md.changeset/crisp-seas-warn.md.changeset/cron-locale-independent-aliases.md.changeset/cron-single-value-step.md.changeset/cron-testclock-infinity.md.changeset/cuddly-rooms-bet.md.changeset/curly-poems-talk.md.changeset/curly-spies-relax.md.changeset/curvy-apples-float.md.changeset/curvy-birds-float.md.changeset/custom-http-security-openapi-generator.md.changeset/cute-heads-thank.md.changeset/cyan-loops-grow.md.changeset/cyan-radios-switch.md.changeset/cyan-shirts-grin.md.changeset/deep-rivers-spend.md.changeset/dirty-lamps-trade.md.changeset/dirty-laws-wear.md.changeset/duration-temporal-object-input.md.changeset/eager-coats-cheat.md.changeset/early-birds-dream.md.changeset/early-donuts-argue.md.changeset/early-peaches-check.md.changeset/eff-691-default-logger-ordering.md.changeset/eff-693-rpcgroup-handler-deps.md.changeset/eff-694-cli-completions-module.md.changeset/eff-695-layer-mock-dual-api.md.changeset/eff-697-rpcserialization-json-array-decode.md.changeset/eff-698-rpcserialization-unreachable-branch.md.changeset/eff-700-httpapi-middleware-errors.md.changeset/eff-701-httpapierror-respondable.md.changeset/eff-704-stream-merge-predicate.md.changeset/eff-705-layer-tap-apis.md.changeset/eff-706-servicemap-mutate.md.changeset/eff-716-response-id-tracker-map.md.changeset/eff-717-openai-socket-cancel.md.changeset/eff-718-embedding-model-surface.md.changeset/eff-725-fix-catch-jsdoc.md.changeset/eff-726-model-dimensions.md.changeset/eff-727-cli-help-alignment.md.changeset/eff-730-language-model-incremental-fallback.md.changeset/eff-736-cached-with-ttl.md.changeset/eff-738-cron-prev.md.changeset/eff-739-openai-function-call-done.md.changeset/eff-740-missing-summary-parts.md.changeset/eff-742-http-client-request-web.md.changeset/eff-744-sqlite-migrator-lock.md.changeset/eff-746-fixed-iteration-catchup.md.changeset/eff-747-unify-effect.md.changeset/eff-754-url-builder-any.md.changeset/eff-755-references-core.md.changeset/eff-769-select-text-highlight.md.changeset/eff-774-mutable-list-append-all-empty-array.md.changeset/eff-777-schema-make-effect.md.changeset/eff-778-http-middleware-path-logger.md.changeset/eff-779-keyvaluestore-layer-sql.md.changeset/eff-780-layer-unify.md.changeset/eff-781-fix-stream-toqueue-types.md.changeset/eff-782-httpapi-status-literals.md.changeset/eff-783-atom-http-api-errors.md.changeset/eff-819-cluster-workflow-shard-groups.md.changeset/eff-849-transpose-option.md.changeset/eff-946-concurrent-traversal-cleanup.md.changeset/eff-952-terminal-failure-stack.md.changeset/eff-953-interruptor-stack-trace.md.changeset/eff-955-run-sync-dispatcher.md.changeset/eff-956-await-all-children.md.changeset/eight-turkeys-own.md.changeset/eighty-lies-deny.md.changeset/eighty-poets-draw.md.changeset/eighty-swans-scream.md.changeset/eighty-teeth-sniff.md.changeset/eleven-apes-share.md.changeset/eleven-numbers-bake.md.changeset/empty-env-values-missing.md.changeset/empty-gifts-beg.md.changeset/empty-http-rpc-client.md.changeset/eventlog-unencrypted.md.changeset/every-olives-burn.md.changeset/expand-schema-filter-output.md.changeset/export-schema-encode-keys-interface.md.changeset/extract-semaphore-latch.md.changeset/fair-bees-relax.md.changeset/fair-birds-limit.md.changeset/fair-buttons-share.md.changeset/fair-cooks-stop.md.changeset/fair-cups-train.md.changeset/fair-dryers-speak.md.changeset/fair-forks-shake.md.changeset/fair-jobs-like.md.changeset/fair-pandas-prove.md.changeset/fair-pants-float.md.changeset/fair-poems-visit.md.changeset/famous-wolves-lead.md.changeset/fancy-glasses-grow.md.changeset/fast-graph-path-queues.md.changeset/fast-times-camp.md.changeset/few-birds-matter.md.changeset/few-cougars-dig.md.changeset/few-foxes-grin.md.changeset/few-mirrors-pull.md.changeset/few-socks-poke.md.changeset/fiber-runtime-start-metrics.md.changeset/fiery-jokes-care.md.changeset/fiery-mammals-call.md.changeset/fine-walls-decide.md.changeset/first-success-of.md.changeset/five-parents-relax.md.changeset/five-worms-rhyme.md.changeset/fix-1332.md.changeset/fix-1917.md.changeset/fix-1927.md.changeset/fix-1940.md.changeset/fix-1947.md.changeset/fix-2002.md.changeset/fix-2012.md.changeset/fix-2015.md.changeset/fix-2260.md.changeset/fix-2268.md.changeset/fix-2271.md.changeset/fix-2384.md.changeset/fix-2414.md.changeset/fix-2419.md.changeset/fix-2497.md.changeset/fix-2499.md.changeset/fix-6464.md.changeset/fix-6491.md.changeset/fix-6521.md.changeset/fix-ai-empty-params-structured-output.md.changeset/fix-ai-text-toolkit-typing.md.changeset/fix-anthropic-caller-toolid.md.changeset/fix-anthropic-memory-tool-requires-handler.md.changeset/fix-anthropic-memory-tool.md.changeset/fix-atom-kvs-async-write.md.changeset/fix-catch-orelse-error-erasure.md.changeset/fix-class-constructor-defaults.md.changeset/fix-cli-missing-flag-values.md.changeset/fix-cli-mixed-global-flag-context.md.changeset/fix-cli-subcommands-requirements.md.changeset/fix-cluster-entity-context-bleed.md.changeset/fix-config-array-default.md.changeset/fix-config-withDefault.md.changeset/fix-config-withdefault-filter.md.changeset/fix-cron-and-representations.md.changeset/fix-cron-make-validation.md.changeset/fix-cron-next-missing-day-overflow.md.changeset/fix-cron-parser-semantics.md.changeset/fix-cron-prev-month-rollover.md.changeset/fix-cron-prev-weekday-wrap.md.changeset/fix-cron-timezone-hash.md.changeset/fix-datetime-gmt.md.changeset/fix-devtools-flush-on-teardown.md.changeset/fix-durable-race-replay.md.changeset/fix-duration-symmetric-rounding.md.changeset/fix-entity-manager-defect-replay.md.changeset/fix-entity-proxy-rpc-handler-context.md.changeset/fix-entity-proxy-server-path-params.md.changeset/fix-fiberhandle-clear-race.md.changeset/fix-from-json-string-identifier.md.changeset/fix-from-readable-stream-cancel-defect.md.changeset/fix-graph-allocator-equality.md.changeset/fix-graph-bellman-ford-self-cycle.md.changeset/fix-graph-curried-getters.md.changeset/fix-graph-edge-transforms.md.changeset/fix-graph-finite-edge-weights.md.changeset/fix-graph-mutable-hash.md.changeset/fix-graph-mutable-topo.md.changeset/fix-graph-topo-types.md.changeset/fix-graph-undirected-traversal.md.changeset/fix-graph-walker-repeatability.md.changeset/fix-graphviz-dot-escaping.md.changeset/fix-has-interrupts-only-empty.md.changeset/fix-hashmap-bit31-ordering.md.changeset/fix-headers-proto-enumerability.md.changeset/fix-http-incoming-message-parse-options.md.changeset/fix-http-pre-response-handler-types.md.changeset/fix-http-tracer-response-cause.md.changeset/fix-httpapi-authorization-decoding.md.changeset/fix-httpapi-client-error-content-type.md.changeset/fix-httpapi-endpoint-error-inference.md.changeset/fix-httpapi-malformed-json-400.md.changeset/fix-httpapi-runtime-shape.md.changeset/fix-httpapi-schema-types.md.changeset/fix-httpapi-security-middleware-cache.md.changeset/fix-invalid-value-doubled-expected.md.changeset/fix-is-json-dag.md.changeset/fix-json-schema-anyof-oneof-siblings.md.changeset/fix-json-schema-import-json.md.changeset/fix-keepalive-blocked-timers.md.changeset/fix-mcp-param-name-resolution.md
🚧 Files skipped from review as they are similar to previous changes (1)
- .changeset/cluster-namespace-advisory-locks.md
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 11
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.agents/AGENTS.md:
- Around line 63-67: Update the fenced block in the plan template near the
numbered Step entries to specify the text language, resolving markdownlint MD040
while preserving the displayed template content.
In @.agents/skills/scratchpad/scripts/extract-example.mjs:
- Around line 94-95: Update the output-writing flow around uniqueOutputPath and
writeFileSync to create files atomically with the "wx" flag. Retry generating
the next suffixed path when the write fails with EEXIST, while propagating other
errors and preserving the no-overwrite guarantee.
In @.changeset/add-indexeddb-kvs-layer.md:
- Line 5: Update the changeset description to hyphenate “IndexedDB-backed” when
describing the implementation, leaving the rest of the wording unchanged.
In @.changeset/add-missing-tx-modules.md:
- Around line 1-11: Update the changeset frontmatter for the “effect” package
from a patch release to a major release, preserving the documented transactional
changes and breaking API removals.
In @.changeset/chatty-poets-type.md:
- Around line 1-5: Update the release classifications for both breaking API
changes: in .changeset/chatty-poets-type.md lines 1-5, bump Effect.Yieldable
removal from patch to major; in .changeset/fix-class-constructor-defaults.md
lines 1-5, bump the MakeOptions.disableValidation-to-disableChecks rename to
major, or retain a disableValidation alias if it must remain a patch.
In @.changeset/config-withdefault-eager.md:
- Around line 1-7: The changeset currently labels the breaking
Config.withDefault signature change as a patch; update its release
classification to major. Preserve the existing description of changing from
LazyArg to an eager value and its evaluation semantics.
In @.changeset/consolidate-encoding.md:
- Around line 1-5: Update the changeset frontmatter in the encoding
consolidation entry from patch to major, and expand its description with
migration guidance: replace imports from effect/encoding with the top-level
Encoding module and update renamed functions to their
encodeBase64/decodeBase64/encodeHex/decodeHex-style names.
In @.changeset/consolidate-sql-error.md:
- Around line 1-16: Update the changeset metadata for the SqlError shape change
from patch to major across effect and every listed SQL driver package. Add
migration guidance describing the new reason-based error structure and the
required downstream handling changes, while preserving the existing summary of
native failure classification and Unknown fallback.
In @.changeset/curly-spies-relax.md:
- Line 5: Update the release-note text in curly-spies-relax.md to replace the
truncated “while option” wording with the complete intended phrase, such as
“when using the option,” while preserving the note’s meaning.
In @.changeset/fix-ai-empty-params-structured-output.md:
- Line 5: Update the changeset release-note wording to replace “empty tool
params” with the clearer phrase “empty tool parameters,” while preserving the
rest of the message unchanged.
In @.changeset/fix-graph-topo-types.md:
- Around line 1-5: Update the changeset for Graph.topo’s type restriction from
patch to major, preserving the existing description about directed-graph typing
and runtime validation.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro Plus
Run ID: e2790e80-2775-446a-a2ad-87643595f9e0
📒 Files selected for processing (300)
.agents/AGENTS.md.agents/skills/grill-me/SKILL.md.agents/skills/jsdocs/SKILL.md.agents/skills/scratchpad/SKILL.md.agents/skills/scratchpad/agents/openai.yaml.agents/skills/scratchpad/scripts/extract-example.mjs.changeset/add-adaptive-rate-limiter-store.md.changeset/add-atom-equality.md.changeset/add-bigdecimal-sumall-multiplyall.md.changeset/add-chunk-schema.md.changeset/add-command-hidden.md.changeset/add-config-nested.md.changeset/add-flag-hidden.md.changeset/add-from-string-schemas.md.changeset/add-headers-remove-many.md.changeset/add-http-client-request-update-headers.md.changeset/add-indexeddb-kvs-layer.md.changeset/add-make-msgpack.md.changeset/add-make-option.md.changeset/add-missing-tx-modules.md.changeset/add-newtype-module.md.changeset/add-scalar-show-operation-id.md.changeset/add-schedule-tap.md.changeset/add-schema-annotate-encoded.md.changeset/add-schema-array-ensure.md.changeset/add-schema-bigdecimal.md.changeset/add-schema-datetime.md.changeset/add-schema-error-module.md.changeset/add-schema-option-from-optional-nullor.md.changeset/add-schema-option-from-undefined-nullish.md.changeset/add-schema-string-encoding.md.changeset/add-schema-tagged-union-discriminants.md.changeset/add-sql-pglite.md.changeset/add-standard-jsdoc-rule.md.changeset/add-stream-broadcastn.md.changeset/add-unstable-encoding-export.md.changeset/add-update-service-scoped.md.changeset/add-values-unprepared.md.changeset/afraid-cobras-like.md.changeset/ai-openai-config-field-leak.md.changeset/ai-openai-file-nullable-fields.md.changeset/anthropic-4-6-structured-output.md.changeset/anthropic-open-model-enum.md.changeset/apply-httpapi-endpoint-client-transform.md.changeset/asyncresult-exhaustive.md.changeset/atom-stream-error-type.md.changeset/beige-goats-sin.md.changeset/beige-paths-sort.md.changeset/better-apples-nail.md.changeset/better-rocks-arrive.md.changeset/better-shrimps-follow.md.changeset/big-pans-look.md.changeset/blue-dingos-greet.md.changeset/blue-ligers-cheat.md.changeset/blue-onions-smile.md.changeset/blue-ravens-type.md.changeset/blue-trams-kiss.md.changeset/bold-chairs-yawn.md.changeset/bold-planets-shout.md.changeset/breezy-meals-see.md.changeset/bright-bugs-bow.md.changeset/bright-canyons-clean.md.changeset/bright-dogs-fail.md.changeset/bright-flags-stand.md.changeset/bright-laws-teach.md.changeset/bright-lemons-dance.md.changeset/bright-planes-smash.md.changeset/bright-rats-attend.md.changeset/bright-toes-rush.md.changeset/bumpy-boxes-teach.md.changeset/busy-lions-sneeze.md.changeset/busy-maps-attend.md.changeset/calm-buckets-own.md.changeset/calm-carrots-march.md.changeset/calm-cars-rest.md.changeset/calm-heads-close.md.changeset/calm-masks-count.md.changeset/calm-panthers-nail.md.changeset/calm-ravens-reflect.md.changeset/calm-seas-smile.md.changeset/calm-squids-hug.md.changeset/calm-tracers-sample.md.changeset/chatty-poets-type.md.changeset/chilled-mice-wash.md.changeset/chilly-pumas-rule.md.changeset/chubby-buckets-feel.md.changeset/chubby-parents-flow.md.changeset/chubby-planets-fall.md.changeset/clean-balloons-tan.md.changeset/clean-bulldogs-care.md.changeset/clean-cats-document.md.changeset/clean-dryers-sneeze.md.changeset/clean-geese-work.md.changeset/clean-goats-wave.md.changeset/clean-needles-shake.md.changeset/clean-tires-guess.md.changeset/clear-hairs-pump.md.changeset/clear-spies-boil.md.changeset/cli-config-built-ins.md.changeset/cli-help-choices.md.changeset/cli-wizard-mode.md.changeset/cluster-namespace-advisory-locks.md.changeset/cold-knives-lie.md.changeset/cold-rooms-show.md.changeset/cold-sloths-wave.md.changeset/common-mammals-tickle.md.changeset/compact-json-schema-enum.md.changeset/config-withdefault-eager.md.changeset/config.json.changeset/consolidate-encoding.md.changeset/consolidate-sql-error.md.changeset/crisp-seas-warn.md.changeset/cron-locale-independent-aliases.md.changeset/cron-single-value-step.md.changeset/cron-testclock-infinity.md.changeset/cuddly-rooms-bet.md.changeset/curly-poems-talk.md.changeset/curly-spies-relax.md.changeset/curvy-apples-float.md.changeset/curvy-birds-float.md.changeset/custom-http-security-openapi-generator.md.changeset/cute-heads-thank.md.changeset/cyan-loops-grow.md.changeset/cyan-radios-switch.md.changeset/cyan-shirts-grin.md.changeset/deep-rivers-spend.md.changeset/dirty-lamps-trade.md.changeset/dirty-laws-wear.md.changeset/duration-temporal-object-input.md.changeset/eager-coats-cheat.md.changeset/early-birds-dream.md.changeset/early-donuts-argue.md.changeset/early-peaches-check.md.changeset/eff-691-default-logger-ordering.md.changeset/eff-693-rpcgroup-handler-deps.md.changeset/eff-694-cli-completions-module.md.changeset/eff-695-layer-mock-dual-api.md.changeset/eff-697-rpcserialization-json-array-decode.md.changeset/eff-698-rpcserialization-unreachable-branch.md.changeset/eff-700-httpapi-middleware-errors.md.changeset/eff-701-httpapierror-respondable.md.changeset/eff-704-stream-merge-predicate.md.changeset/eff-705-layer-tap-apis.md.changeset/eff-706-servicemap-mutate.md.changeset/eff-716-response-id-tracker-map.md.changeset/eff-717-openai-socket-cancel.md.changeset/eff-718-embedding-model-surface.md.changeset/eff-725-fix-catch-jsdoc.md.changeset/eff-726-model-dimensions.md.changeset/eff-727-cli-help-alignment.md.changeset/eff-730-language-model-incremental-fallback.md.changeset/eff-736-cached-with-ttl.md.changeset/eff-738-cron-prev.md.changeset/eff-739-openai-function-call-done.md.changeset/eff-740-missing-summary-parts.md.changeset/eff-742-http-client-request-web.md.changeset/eff-744-sqlite-migrator-lock.md.changeset/eff-746-fixed-iteration-catchup.md.changeset/eff-747-unify-effect.md.changeset/eff-754-url-builder-any.md.changeset/eff-755-references-core.md.changeset/eff-769-select-text-highlight.md.changeset/eff-774-mutable-list-append-all-empty-array.md.changeset/eff-777-schema-make-effect.md.changeset/eff-778-http-middleware-path-logger.md.changeset/eff-779-keyvaluestore-layer-sql.md.changeset/eff-780-layer-unify.md.changeset/eff-781-fix-stream-toqueue-types.md.changeset/eff-782-httpapi-status-literals.md.changeset/eff-783-atom-http-api-errors.md.changeset/eff-819-cluster-workflow-shard-groups.md.changeset/eff-849-transpose-option.md.changeset/eff-946-concurrent-traversal-cleanup.md.changeset/eff-952-terminal-failure-stack.md.changeset/eff-953-interruptor-stack-trace.md.changeset/eff-955-run-sync-dispatcher.md.changeset/eff-956-await-all-children.md.changeset/eight-turkeys-own.md.changeset/eighty-lies-deny.md.changeset/eighty-poets-draw.md.changeset/eighty-swans-scream.md.changeset/eighty-teeth-sniff.md.changeset/eleven-apes-share.md.changeset/eleven-numbers-bake.md.changeset/empty-env-values-missing.md.changeset/empty-gifts-beg.md.changeset/empty-http-rpc-client.md.changeset/eventlog-unencrypted.md.changeset/every-olives-burn.md.changeset/expand-schema-filter-output.md.changeset/export-schema-encode-keys-interface.md.changeset/extract-semaphore-latch.md.changeset/fair-bees-relax.md.changeset/fair-birds-limit.md.changeset/fair-buttons-share.md.changeset/fair-cooks-stop.md.changeset/fair-cups-train.md.changeset/fair-dryers-speak.md.changeset/fair-forks-shake.md.changeset/fair-jobs-like.md.changeset/fair-pandas-prove.md.changeset/fair-pants-float.md.changeset/fair-poems-visit.md.changeset/famous-wolves-lead.md.changeset/fancy-glasses-grow.md.changeset/fast-graph-path-queues.md.changeset/fast-times-camp.md.changeset/few-birds-matter.md.changeset/few-cougars-dig.md.changeset/few-foxes-grin.md.changeset/few-mirrors-pull.md.changeset/few-socks-poke.md.changeset/fiber-runtime-start-metrics.md.changeset/fiery-jokes-care.md.changeset/fiery-mammals-call.md.changeset/fine-walls-decide.md.changeset/first-success-of.md.changeset/five-parents-relax.md.changeset/five-worms-rhyme.md.changeset/fix-1332.md.changeset/fix-1917.md.changeset/fix-1927.md.changeset/fix-1940.md.changeset/fix-1947.md.changeset/fix-2002.md.changeset/fix-2012.md.changeset/fix-2015.md.changeset/fix-2260.md.changeset/fix-2268.md.changeset/fix-2271.md.changeset/fix-2384.md.changeset/fix-2414.md.changeset/fix-2419.md.changeset/fix-2497.md.changeset/fix-2499.md.changeset/fix-6464.md.changeset/fix-6491.md.changeset/fix-6521.md.changeset/fix-ai-empty-params-structured-output.md.changeset/fix-ai-text-toolkit-typing.md.changeset/fix-anthropic-caller-toolid.md.changeset/fix-anthropic-memory-tool-requires-handler.md.changeset/fix-anthropic-memory-tool.md.changeset/fix-atom-kvs-async-write.md.changeset/fix-catch-orelse-error-erasure.md.changeset/fix-class-constructor-defaults.md.changeset/fix-cli-missing-flag-values.md.changeset/fix-cli-mixed-global-flag-context.md.changeset/fix-cli-subcommands-requirements.md.changeset/fix-cluster-entity-context-bleed.md.changeset/fix-config-array-default.md.changeset/fix-config-withDefault.md.changeset/fix-config-withdefault-filter.md.changeset/fix-cron-and-representations.md.changeset/fix-cron-make-validation.md.changeset/fix-cron-next-missing-day-overflow.md.changeset/fix-cron-parser-semantics.md.changeset/fix-cron-prev-month-rollover.md.changeset/fix-cron-prev-weekday-wrap.md.changeset/fix-cron-timezone-hash.md.changeset/fix-datetime-gmt.md.changeset/fix-devtools-flush-on-teardown.md.changeset/fix-durable-race-replay.md.changeset/fix-duration-symmetric-rounding.md.changeset/fix-entity-manager-defect-replay.md.changeset/fix-entity-proxy-rpc-handler-context.md.changeset/fix-entity-proxy-server-path-params.md.changeset/fix-fiberhandle-clear-race.md.changeset/fix-from-json-string-identifier.md.changeset/fix-from-readable-stream-cancel-defect.md.changeset/fix-graph-allocator-equality.md.changeset/fix-graph-bellman-ford-self-cycle.md.changeset/fix-graph-curried-getters.md.changeset/fix-graph-edge-transforms.md.changeset/fix-graph-finite-edge-weights.md.changeset/fix-graph-mutable-hash.md.changeset/fix-graph-mutable-topo.md.changeset/fix-graph-topo-types.md.changeset/fix-graph-undirected-traversal.md.changeset/fix-graph-walker-repeatability.md.changeset/fix-graphviz-dot-escaping.md.changeset/fix-has-interrupts-only-empty.md.changeset/fix-hashmap-bit31-ordering.md.changeset/fix-headers-proto-enumerability.md.changeset/fix-http-incoming-message-parse-options.md.changeset/fix-http-pre-response-handler-types.md.changeset/fix-http-tracer-response-cause.md.changeset/fix-httpapi-authorization-decoding.md.changeset/fix-httpapi-client-error-content-type.md.changeset/fix-httpapi-endpoint-error-inference.md.changeset/fix-httpapi-malformed-json-400.md.changeset/fix-httpapi-runtime-shape.md.changeset/fix-httpapi-schema-types.md.changeset/fix-httpapi-security-middleware-cache.md.changeset/fix-invalid-value-doubled-expected.md.changeset/fix-is-json-dag.md.changeset/fix-json-schema-anyof-oneof-siblings.md.changeset/fix-json-schema-import-json.md.changeset/fix-keepalive-blocked-timers.md.changeset/fix-mcp-param-name-resolution.md
🚧 Files skipped from review as they are similar to previous changes (1)
- .changeset/cluster-namespace-advisory-locks.md
🛑 Comments failed to post (11)
.agents/AGENTS.md (1)
63-67: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Specify a language for this fenced block.
markdownlintreports MD040 here; usetextfor this plan template sopnpm lintpasses.🧰 Tools
🪛 markdownlint-cli2 (0.23.0)
[warning] 63-63: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/AGENTS.md around lines 63 - 67, Update the fenced block in the plan template near the numbered Step entries to specify the text language, resolving markdownlint MD040 while preserving the displayed template content.Source: Linters/SAST tools
.agents/skills/scratchpad/scripts/extract-example.mjs (1)
94-95: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
Make output-file creation atomic.
existsSync()followed by a normal write races with another invocation, so the second process can overwrite the first file despite the documented no-overwrite guarantee. Create withflag: "wx"and retry with the next suffix onEEXIST.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.agents/skills/scratchpad/scripts/extract-example.mjs around lines 94 - 95, Update the output-writing flow around uniqueOutputPath and writeFileSync to create files atomically with the "wx" flag. Retry generating the next suffixed path when the write fails with EEXIST, while propagating other errors and preserving the no-overwrite guarantee..changeset/add-indexeddb-kvs-layer.md (1)
5-5: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Hyphenate “IndexedDB-backed”.
Change “IndexedDB backed implementation” to “IndexedDB-backed implementation”.
🧰 Tools
🪛 LanguageTool
[grammar] ~5-~5: Use a hyphen to join words.
Context: ...m-browser": patch --- Adds an IndexedDB backed implementation ofKeyValueStore...(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.changeset/add-indexeddb-kvs-layer.md at line 5, Update the changeset description to hyphenate “IndexedDB-backed” when describing the implementation, leaving the rest of the wording unchanged.Source: Linters/SAST tools
.changeset/add-missing-tx-modules.md (1)
1-11: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Publish these transaction changes as a major release.
This entry documents removal of
Effect.atomic,Effect.atomicWith, andTxRandom, plus a requiredEffect.tx(...)migration. Markingeffectaspatchcan ship breaking API changes without a major version; change it tomajoror split the breaking removals into a major changeset.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.changeset/add-missing-tx-modules.md around lines 1 - 11, Update the changeset frontmatter for the “effect” package from a patch release to a major release, preserving the documented transactional changes and breaking API removals..changeset/chatty-poets-type.md (1)
1-5: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash set -euo pipefail printf '\n== changeset files ==\n' git ls-files '.changeset/*.md' | sed -n '1,20p' printf '\n== search for Yieldable ==\n' rg -n "Yieldable" . -g '!**/node_modules/**' -g '!**/dist/**' -g '!**/build/**' printf '\n== search for disableValidation / disableChecks ==\n' rg -n "disableValidation|disableChecks" . -g '!**/node_modules/**' -g '!**/dist/**' -g '!**/build/**' printf '\n== locate relevant source files by filename ==\n' fd -a "effect|schema|class|constructor|options" . 2>/dev/null | sed -n '1,120p'Repository: Effect-TS/effect
Length of output: 18300
🏁 Script executed:
#!/bin/bash set -euo pipefail printf '\n== changeset files ==\n' git ls-files '.changeset/*.md' | sed -n '1,20p' printf '\n== search for Yieldable ==\n' rg -n "Yieldable" . -g '!**/node_modules/**' -g '!**/dist/**' -g '!**/build/**' printf '\n== search for disableValidation / disableChecks ==\n' rg -n "disableValidation|disableChecks" . -g '!**/node_modules/**' -g '!**/dist/**' -g '!**/build/**'Repository: Effect-TS/effect
Length of output: 9594
🏁 Script executed:
#!/bin/bash set -euo pipefail printf '\n== package versions ==\n' jq -r '.name + " " + .version' packages/effect/package.json packages/sql/package.json 2>/dev/null || true for f in packages/effect/package.json packages/sql/package.json package.json; do [ -f "$f" ] && echo "--- $f" && sed -n '1,80p' "$f" done printf '\n== changeset config ==\n' for f in .changeset/config.json .changeset/config.js .changeset/config.cjs .changeset/config.mjs; do if [ -f "$f" ]; then echo "--- $f" sed -n '1,220p' "$f" fi done printf '\n== referenced changesets ==\n' for f in .changeset/chatty-poets-type.md .changeset/fix-class-constructor-defaults.md; do echo "--- $f" sed -n '1,80p' "$f" doneRepository: Effect-TS/effect
Length of output: 7319
🏁 Script executed:
#!/bin/bash set -euo pipefail printf '\n== Effect.ts public API around Yieldable ==\n' rg -n -C 4 "Yieldable" packages/effect/src/Effect.ts packages/effect/src/index.ts packages/effect/src/internal/effect.ts printf '\n== Schema.ts MakeOptions area ==\n' rg -n -C 4 "interface MakeOptions|disableValidation|disableChecks" packages/effect/src/Schema.ts printf '\n== changelog entries mentioning these changes ==\n' rg -n -C 2 "remove Effect\.Yieldable|MakeOptions\.disableValidation|disableChecks" packages/effect/CHANGELOG.mdRepository: Effect-TS/effect
Length of output: 199
🏁 Script executed:
#!/bin/bash set -euo pipefail printf '\n== index.ts Yieldable references ==\n' rg -n -C 3 "Yieldable" packages/effect/src/index.ts packages/effect/src/Effect.ts packages/effect/src/Schema.ts || true printf '\n== MakeOptions definition ==\n' rg -n -C 4 "interface MakeOptions|type MakeOptions|disableValidation|disableChecks" packages/effect/src/Schema.ts || true printf '\n== Effect.ts exported members around yield/gen ==\n' rg -n -C 2 "export .*gen|export .*Effect|yield\*|interface Yieldable|type Yieldable" packages/effect/src/Effect.ts || trueRepository: Effect-TS/effect
Length of output: 50374
Bump these API changes to major
.changeset/chatty-poets-type.md#L1-L5:Effect.Yieldableis removed from the public surface..changeset/fix-class-constructor-defaults.md#L1-L5:MakeOptions.disableValidationis renamed todisableChecks; keep an alias if this stays a patch.📍 Affects 2 files
.changeset/chatty-poets-type.md#L1-L5(this comment).changeset/fix-class-constructor-defaults.md#L1-L5🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.changeset/chatty-poets-type.md around lines 1 - 5, Update the release classifications for both breaking API changes: in .changeset/chatty-poets-type.md lines 1-5, bump Effect.Yieldable removal from patch to major; in .changeset/fix-class-constructor-defaults.md lines 1-5, bump the MakeOptions.disableValidation-to-disableChecks rename to major, or retain a disableValidation alias if it must remain a patch..changeset/config-withdefault-eager.md (1)
1-7: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
Mark this API change as major.
Changing
Config.withDefaultfromLazyArgto an eager value can break existing callers and changes evaluation semantics. Use a major changeset or provide a compatibility migration path.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.changeset/config-withdefault-eager.md around lines 1 - 7, The changeset currently labels the breaking Config.withDefault signature change as a patch; update its release classification to major. Preserve the existing description of changing from LazyArg to an eager value and its evaluation semantics..changeset/consolidate-encoding.md (1)
1-5: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
Mark the encoding API removal as major.
Removing the
effect/encodingexport and renaming functions breaks existing imports and callers. This should use a major changeset and include migration guidance.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.changeset/consolidate-encoding.md around lines 1 - 5, Update the changeset frontmatter in the encoding consolidation entry from patch to major, and expand its description with migration guidance: replace imports from effect/encoding with the top-level Encoding module and update renamed functions to their encodeBase64/decodeBase64/encodeHex/decodeHex-style names..changeset/consolidate-sql-error.md (1)
1-16: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
Mark the
SqlErrorshape change as major.Changing the public error structure across
effectand all SQL drivers can break downstream type checks and error handling. Patch metadata is insufficient; use major entries and document the migration.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.changeset/consolidate-sql-error.md around lines 1 - 16, Update the changeset metadata for the SqlError shape change from patch to major across effect and every listed SQL driver package. Add migration guidance describing the new reason-based error structure and the required downstream handling changes, while preserving the existing summary of native failure classification and Unknown fallback..changeset/curly-spies-relax.md (1)
5-5: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Clarify the incomplete release-note wording.
“while option” appears truncated; please replace it with the intended phrase, such as “when using the option.”
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.changeset/curly-spies-relax.md at line 5, Update the release-note text in curly-spies-relax.md to replace the truncated “while option” wording with the complete intended phrase, such as “when using the option,” while preserving the note’s meaning..changeset/fix-ai-empty-params-structured-output.md (1)
5-5: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Clarify the compound modifier.
Change “empty tool params” to “empty-tool params” or, preferably, “empty tool parameters” for clearer release-note wording.
🧰 Tools
🪛 LanguageTool
[grammar] ~5-~5: Use a hyphen to join words.
Context: ..."effect": patch --- Improve unstable AI structured output handling for empty too...(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.changeset/fix-ai-empty-params-structured-output.md at line 5, Update the changeset release-note wording to replace “empty tool params” with the clearer phrase “empty tool parameters,” while preserving the rest of the message unchanged.Source: Linters/SAST tools
.changeset/fix-graph-topo-types.md (1)
1-5: 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift
Mark the
Graph.topotype restriction as major.Restricting the accepted graph type can break existing TypeScript consumers at compile time. Use a major changeset or provide a compatibility transition.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.changeset/fix-graph-topo-types.md around lines 1 - 5, Update the changeset for Graph.topo’s type restriction from patch to major, preserving the existing description about directed-graph typing and runtime validation.
Type
Description
In Postgres, running multiple Effect workflow clusters on the same DB caused contention on an advisory lock, even when the clusters were configured with different prefixes.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation