Skip to content

Add opt-in PostgreSQL advisory lock namespacing by table prefix.#6502

Open
sdemjanenko wants to merge 1 commit into
Effect-TS:mainfrom
sdemjanenko:cluster-namespace-advisory-locks
Open

Add opt-in PostgreSQL advisory lock namespacing by table prefix.#6502
sdemjanenko wants to merge 1 commit into
Effect-TS:mainfrom
sdemjanenko:cluster-namespace-advisory-locks

Conversation

@sdemjanenko

@sdemjanenko sdemjanenko commented Jul 20, 2026

Copy link
Copy Markdown

Type

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

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

    • Added numerous schema utilities, including date/time, encoding, collection, BigDecimal, option, and JSON schema support.
    • Expanded CLI capabilities with hidden flags, grouped subcommands, wizard mode, examples, completions, and improved help output.
    • Added HTTP, RPC, SQL, browser storage, graph, scheduling, streaming, AI, and workflow APIs.
    • Introduced enhanced rate limiting, embeddings, transactional modules, and configurable advisory locks.
  • Bug Fixes

    • Improved error handling, authorization decoding, streaming behavior, cron calculations, caching, graph algorithms, and provider integrations.
    • Corrected multiple type inference, serialization, content decoding, and runtime edge cases.
  • Documentation

    • Added repository contribution guidance and development workflow documentation.

@sdemjanenko
sdemjanenko requested a review from tim-smart as a code owner July 20, 2026 16:30
@github-project-automation github-project-automation Bot moved this to Discussion Ongoing in PR Backlog Jul 20, 2026
@changeset-bot

changeset-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 7acb7ea

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 28 packages
Name Type
effect Patch
@effect/opentelemetry Patch
@effect/platform-browser Patch
@effect/platform-bun Patch
@effect/platform-node-shared Patch
@effect/platform-node Patch
@effect/vitest Patch
@effect/ai-anthropic Patch
@effect/ai-openai-compat Patch
@effect/ai-openai Patch
@effect/ai-openrouter Patch
@effect/atom-react Patch
@effect/atom-solid Patch
@effect/atom-vue Patch
@effect/sql-clickhouse Patch
@effect/sql-d1 Patch
@effect/sql-libsql Patch
@effect/sql-mssql Patch
@effect/sql-mysql2 Patch
@effect/sql-pg Patch
@effect/sql-pglite Patch
@effect/sql-sqlite-bun Patch
@effect/sql-sqlite-do Patch
@effect/sql-sqlite-node Patch
@effect/sql-sqlite-react-native Patch
@effect/sql-sqlite-wasm Patch
@effect/docgen Patch
@effect/openapi-generator Patch

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

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Review Change Stack

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e2790e80-2775-446a-a2ad-87643595f9e0

📥 Commits

Reviewing files that changed from the base of the PR and between 2ddb34e and 7acb7ea.

📒 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

📝 Walkthrough

Walkthrough

This 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.

Changes

Repository guidance and tooling

Layer / File(s) Summary
Agent instructions and skills
.agents/AGENTS.md, .agents/skills/*
Adds contribution guidance, interview and JSDoc workflows, and scratchpad skill documentation.
Scratchpad extraction CLI
.agents/skills/scratchpad/scripts/extract-example.mjs, .agents/skills/scratchpad/agents/openai.yaml
Adds JSDoc example discovery, runner handling, collision-free output generation, and OpenAI skill configuration.
Changesets configuration
.changeset/config.json
Updates ignored entries, private-package handling, and fixed package mappings.
Release metadata
.changeset/*.md
Adds release notes for the documented Effect, platform, SQL, AI, HTTP, schema, CLI, graph, scheduling, and runtime changes.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

  • Effect-TS/effect#6433: Covers the related published declaration fix for HttpEffect.appendPreResponseHandlerUnsafe.
  • Effect-TS/effect#6516: Covers related SqlRunnerStorage advisory-lock behavior and connection refresh orchestration.

Suggested labels: enhancement

Suggested reviewers: tim-smart, gcanti, imax153

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

@coderabbitai coderabbitai Bot added the enhancement New feature or request label Jul 20, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 7ccbd9c and a1e4245.

📒 Files selected for processing (4)
  • .changeset/cluster-namespace-advisory-locks.md
  • packages/cluster/src/SqlRunnerStorage.ts
  • packages/cluster/test/SqlRunnerStorage.test.ts
  • packages/cluster/test/SqlRunnerStorageNamespace.test.ts

Comment thread .changeset/cluster-namespace-advisory-locks.md
Comment thread packages/cluster/test/SqlRunnerStorage.test.ts
@github-project-automation github-project-automation Bot moved this from Discussion Ongoing to Waiting on Author in PR Backlog Jul 20, 2026
@sdemjanenko
sdemjanenko force-pushed the cluster-namespace-advisory-locks branch from a1e4245 to 2ddb34e Compare July 20, 2026 17:08
@sdemjanenko

Copy link
Copy Markdown
Author

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.

@tim-smart

Copy link
Copy Markdown
Contributor

Does the main / v4 branch need the fix too?

@sdemjanenko

Copy link
Copy Markdown
Author

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.
@sdemjanenko
sdemjanenko force-pushed the cluster-namespace-advisory-locks branch from 2ddb34e to 7acb7ea Compare July 24, 2026 18:18
@github-actions github-actions Bot added the 3.0 Used for issues, pull requests, etc. that are relevant for the `v3` branch targeting Effect v3. label Jul 24, 2026
@sdemjanenko
sdemjanenko changed the base branch from v3 to main July 24, 2026 18:19
@github-actions github-actions Bot added 4.0 and removed 3.0 Used for issues, pull requests, etc. that are relevant for the `v3` branch targeting Effect v3. labels Jul 24, 2026
@sdemjanenko

Copy link
Copy Markdown
Author

@tim-smart i've updated the PR to update main and made the PR clean. I would love a backport to v3 for this.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 2ddb34e and 7acb7ea.

📒 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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 2ddb34e and 7acb7ea.

📒 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.

markdownlint reports MD040 here; use text for this plan template so pnpm lint passes.

🧰 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 with flag: "wx" and retry with the next suffix on EEXIST.

🤖 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 of KeyValueStore...

(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, and TxRandom, plus a required Effect.tx(...) migration. Marking effect as patch can ship breaking API changes without a major version; change it to major or 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"
done

Repository: 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.md

Repository: 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 || true

Repository: Effect-TS/effect

Length of output: 50374


Bump these API changes to major

  • .changeset/chatty-poets-type.md#L1-L5: Effect.Yieldable is removed from the public surface.
  • .changeset/fix-class-constructor-defaults.md#L1-L5: MakeOptions.disableValidation is renamed to disableChecks; 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.withDefault from LazyArg to 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/encoding export 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 SqlError shape change as major.

Changing the public error structure across effect and 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.topo type 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.

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

Labels

4.0 enhancement New feature or request

Projects

Status: Waiting on Author

Development

Successfully merging this pull request may close these issues.

2 participants