Repository navigation
docs(agents): add create-implementation-plan-for-redis-api-change skill - #3268
Merged
mgravell merged 2 commits intoOct 9, 2026
Merged
Conversation
…ibling skills - agent guidance is the procedure, not data; supervised runs default to ./PLAN.md - decision_class: none for no-change plans; add rows may name files not yet on main
mgravell
added a commit
that referenced
this pull request
Oct 9, 2026
Absorbs the drift up to the 3.4.0 cut. Most of main's changes landed in v3's PhysicalBridge/PhysicalConnection/CursorEnumerable, which v4 has deleted, so several are re-expressed in v4 terms rather than merged textually: - #3266 duplicate LoggerMessage event ids: taken as-is. 124/125 (maintenance), 126 (TLS established) and 127 (ConnectionFailed) shipped in 3.4.0, so the v4-only events that had claimed those ids move to 128-131; the guard test (LoggerEventIdTests) covers both. - #3268 create-implementation-plan skill: taken as-is. - #3260/#3267 scan faults after a sync timeout or dispose: the fix targets CursorEnumerable's page prefetch, which v4 does not have (no prefetch; the sync face uses the synchronous Send). The intent is kept as tests on v4's scans: a faulted page surfaces as its own exception, sync and async, and nothing is fetched once the enumeration is let go. - #3257 ConnectionAttemptCompleted: v4 has no PhysicalConnection until an attempt succeeds, so ConnectionAttempt carries the record through the transport factory and the handshake instead - stages Connect, Tunnel, Tls, Handshake, Established; client/server certificate observation and the TLS host; one outcome per attempt. Created only when someone subscribes. Abandoned (executor disposal) reports ConnectionDisposed; outliving the connect timeout reports UnableToConnect with the timeout. A refused AUTH is reported as Handshake + AuthenticationFailure although v4 keeps the connection (parity with v3's fire-and-forget AUTH). - #3264 dedicated pub/sub connection under RESP3 by default: v4's "RESP3, so share" becomes SharesSubscriptions (RESP3 *and* SharedSubscriptionConnection). v4 keeps pay-per-play dialling: the subscription socket is dialled up front only for the configuration channel, as under RESP2. The dedicated subscription connection now raises ConnectionRestored (Subscription) when it (re)connects, as v3's subscription bridge did - previously only reachable under RESP2, and silent there too (Issue922_ReconnectRaised). It does not trigger a reconfigure: topology is read over the interactive leg, and the subscription leg connects just after the initial connect. - 3.4 bump: version.json stays 4.0; the 3.4.0 API surface is reconciled into PublicAPI.Shipped.txt. Also fixed while here: the auth-refusal callback added for #3257 was a lambda capturing `this`, which landed in the closure scope OnPush chains to and let the socket root the multiplexer (GarbageCollectionTests.MuxerIsCollected). Closes ledger rows D6 and D7.
FloatingMilkshake
pushed a commit
to FloatingMilkshake/MechanicalMilkshake
that referenced
this pull request
Oct 9, 2026
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [StackExchange.Redis](https://seredis.dev/) ([source](https://github.com/StackExchange/StackExchange.Redis)) | nuget | minor | `3.3.1` → `3.4.0` | --- ### Release Notes <details> <summary>StackExchange/StackExchange.Redis (StackExchange.Redis)</summary> ### [`v3.4.0`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/3.4.0) [Compare Source](StackExchange/StackExchange.Redis@3.3.1...3.4.0) #### Major Changes - In RESP3, by default the library now uses **separate** connections for pub/sub; see [#​3264](StackExchange/StackExchange.Redis#3264) - Smart-client-handoffs is now enabled by default on Redis Enterprise and AMR; see [#​3248](StackExchange/StackExchange.Redis#3248) - Some logging events incorrectly used duplicated ids - resolved; see [#​3266](StackExchange/StackExchange.Redis#3266) #### All Changes - Recover promptly from a cluster failover; fix the configuration channel under RESP3 and with a channel prefix ([#​3254](StackExchange/StackExchange.Redis#3254)) by [@​mgravell](https://github.com/mgravell) in [#​3255](StackExchange/StackExchange.Redis#3255) - Preserve binary members as VectorSetRange bounds by [@​Laurianti](https://github.com/Laurianti) in [#​3256](StackExchange/StackExchange.Redis#3256) - Smart client handoffs: reinstate auto-enlistment for the hosted providers and remove \[Experimental] by [@​mgravell](https://github.com/mgravell) in [#​3248](StackExchange/StackExchange.Redis#3248) - docs: fix retry-category test in the custom RetryPolicy sample by [@​mgravell](https://github.com/mgravell) in [#​3265](StackExchange/StackExchange.Redis#3265) - Fix duplicate LoggerMessage event ids; add a guard test by [@​mgravell](https://github.com/mgravell) in [#​3266](StackExchange/StackExchange.Redis#3266) - Scan: observe the faults of abandoned page tasks after a sync timeout or dispose ([#​3260](StackExchange/StackExchange.Redis#3260)) by [@​mgravell](https://github.com/mgravell) in [#​3267](StackExchange/StackExchange.Redis#3267) - Report the outcome of every physical connection attempt, identifying the client certificate used by [@​mgravell](https://github.com/mgravell) in [#​3257](StackExchange/StackExchange.Redis#3257) - Use a dedicated pub/sub connection under RESP3 by default by [@​mgravell](https://github.com/mgravell) in [#​3264](StackExchange/StackExchange.Redis#3264) #### Tooling - docs(agents): add create-implementation-plan-for-redis-api-change skill by [@​uglide](https://github.com/uglide) in [#​3268](StackExchange/StackExchange.Redis#3268) #### New Contributors - [@​Laurianti](https://github.com/Laurianti) made their first contribution in [#​3256](StackExchange/StackExchange.Redis#3256) **Full Changelog**: <StackExchange/StackExchange.Redis@3.3.1...3.4.0> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNDkuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE0OS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Reviewed-on: https://git.milkshake.services/FloatingMilkshake/MechanicalMilkshake/pulls/9 Reviewed-by: Milkshake <[email protected]>
FloatingMilkshake
pushed a commit
to FloatingMilkshake/Azusa
that referenced
this pull request
Oct 9, 2026
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [StackExchange.Redis](https://seredis.dev/) ([source](https://github.com/StackExchange/StackExchange.Redis)) | nuget | minor | `3.3.1` → `3.4.0` | --- ### Release Notes <details> <summary>StackExchange/StackExchange.Redis (StackExchange.Redis)</summary> ### [`v3.4.0`](https://github.com/StackExchange/StackExchange.Redis/releases/tag/3.4.0) [Compare Source](StackExchange/StackExchange.Redis@3.3.1...3.4.0) #### Major Changes - In RESP3, by default the library now uses **separate** connections for pub/sub; see [#​3264](StackExchange/StackExchange.Redis#3264) - Smart-client-handoffs is now enabled by default on Redis Enterprise and AMR; see [#​3248](StackExchange/StackExchange.Redis#3248) - Some logging events incorrectly used duplicated ids - resolved; see [#​3266](StackExchange/StackExchange.Redis#3266) #### All Changes - Recover promptly from a cluster failover; fix the configuration channel under RESP3 and with a channel prefix ([#​3254](StackExchange/StackExchange.Redis#3254)) by [@​mgravell](https://github.com/mgravell) in [#​3255](StackExchange/StackExchange.Redis#3255) - Preserve binary members as VectorSetRange bounds by [@​Laurianti](https://github.com/Laurianti) in [#​3256](StackExchange/StackExchange.Redis#3256) - Smart client handoffs: reinstate auto-enlistment for the hosted providers and remove \[Experimental] by [@​mgravell](https://github.com/mgravell) in [#​3248](StackExchange/StackExchange.Redis#3248) - docs: fix retry-category test in the custom RetryPolicy sample by [@​mgravell](https://github.com/mgravell) in [#​3265](StackExchange/StackExchange.Redis#3265) - Fix duplicate LoggerMessage event ids; add a guard test by [@​mgravell](https://github.com/mgravell) in [#​3266](StackExchange/StackExchange.Redis#3266) - Scan: observe the faults of abandoned page tasks after a sync timeout or dispose ([#​3260](StackExchange/StackExchange.Redis#3260)) by [@​mgravell](https://github.com/mgravell) in [#​3267](StackExchange/StackExchange.Redis#3267) - Report the outcome of every physical connection attempt, identifying the client certificate used by [@​mgravell](https://github.com/mgravell) in [#​3257](StackExchange/StackExchange.Redis#3257) - Use a dedicated pub/sub connection under RESP3 by default by [@​mgravell](https://github.com/mgravell) in [#​3264](StackExchange/StackExchange.Redis#3264) #### Tooling - docs(agents): add create-implementation-plan-for-redis-api-change skill by [@​uglide](https://github.com/uglide) in [#​3268](StackExchange/StackExchange.Redis#3268) #### New Contributors - [@​Laurianti](https://github.com/Laurianti) made their first contribution in [#​3256](StackExchange/StackExchange.Redis#3256) **Full Changelog**: <StackExchange/StackExchange.Redis@3.3.1...3.4.0> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNDkuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjE0OS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Reviewed-on: https://git.milkshake.services/FloatingMilkshake/Azusa/pulls/9 Reviewed-by: Milkshake <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds the
create-implementation-plan-for-redis-api-changeagent skill (.claude/skills/create-implementation-plan-for-redis-api-change/SKILL.md): given the shared client HLD for a Redis API change, it produces this repository's implementation plan (exact public signatures per API flavor, files to change, ordered steps, test plan and the integration test classes to run) without writing code.implement-resp-commandskill, referenced by section heading (decision tree, API/arguments conventions, test matrix); this skill adds the planning structure and the repository map the planner must consult.metadata.modes: supervised, unattended): supervised in Claude Code / Codex / Cursor; unattended in the Redis clients parity pipeline (RedisClientsBot), which runs it after an HLD is approved and opens the resulting plan for human review before any code is written.Note: in unattended mode the plan's integration targets stay empty - the embedded
RedisTestConfig.jsoncarries no credentials, so the pipeline runs unit tests only here and live tests are written, not run.Running it locally
Open this repo in Claude Code and ask, for example: "Use the create-implementation-plan-for-redis-api-change skill to plan BLESS (redis/redis#15649) from ./HLD.md". The skill writes
./PLAN.md.Drafted with AI assistance (Claude Code) and reviewed by a human before opening; verify before relying on it.
🤖 Generated with Claude Code