Repository navigation
Commit b151f67
DOC-7263 Fill missing client signatures in the command-API mapping
Classified all 1,495 empty signature lists across 14 client IDs against the released
clients, then filled the 448 that were real gaps: redis_py 35, node_redis 63, go-redis 23,
jedis 20, php 20, lettuce 47 per variant, nredisstack 46 per variant, redis_rs 26 sync and
28 async. 1,047 stay empty on purpose: 782 are reachable only through a generic call, 180
are unsupported or client-managed, 77 were skipped deliberately (bare container rows and 35
ioredis gaps the tab never renders), and 8 are other cases found while authoring. The skill
and its client-quirks reference now record the classification rules and the non-obvious
receivers. DOC-7266 adds the per-client reason for the generic-only and unsupported rows.
Every filled signature was checked against the released artifact: inspect.signature for
redis-py 8.1.0, javac against Lettuce 7.9.0 and Jedis 8.0.2, go vet against go-redis v9.23.0
and v9.22.0, dotnet build against StackExchange.Redis 3.3.1 and 3.4.31, cargo check against
redis 1.8.1 and 1.6.0, PHP reflection on Predis v3.7.1 and v3.5.1. node-redis was checked by
loading the installed 6.3.1 package and running each command's parseCommand; tsc was not
available. The classification pass first used name matching and was wrong often enough to
matter: it called SSUBSCRIBE unsupported in NRedisStack (it works through
RedisChannel.Sharded), treated SlaveOf and ReplicaOf as callable (both are obsolete errors
in StackExchange.Redis), and put CLIENT SETINFO on go-redis Cmdable (it is on
StatefulCmdable). Reading the method, not the name, is what caught these.
A missing client key and an empty list render the same "No method signature available"
text, so deleting keys would change nothing. The tab also lists a fixed set of clients:
ioredis, RedisVL and Ruby never render, so their 97 empties were not filled.
Fragments were applied by script that only replaced lists that were already [], refused any
file that did not round-trip through json.dumps(indent=2), and kept each file's trailing
whitespace, so the diff is the 448 new lists and nothing else. Judgment calls kept: Jedis
UNSUBSCRIBE, PUNSUBSCRIBE and SUNSUBSCRIBE are authored on the callback objects where they
live, Lettuce clusterSlaves and ftTagvals are deprecated in 7.9.0 but included, NRedisStack
SAVE uses an obsolete SaveType member (a warning), and Predis QUIT is authored although
quit() only disconnects.
Learned: name matching misclassifies; read the method and its receiver before calling a gap
Constraint: only replace lists that are currently [], so existing entries are never overwritten
Directive: do not delete empty client keys to tidy the tab, it renders identically and loses the record
Gaps: generic-only and unsupported verdicts rest on finding no method, none were run against a server
Gaps: node-redis signatures were not type-checked with tsc
Ticket: DOC-7263
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>1 parent e5ee195 commit b151f67
157 files changed
Lines changed: 20444 additions & 1319 deletions
File tree
- .claude/skills/command-api-mapping
- reference
- data
- command-api-mapping
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
79 | 108 | | |
80 | 109 | | |
81 | 110 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
154 | 180 | | |
155 | 181 | | |
156 | 182 | | |
| |||
0 commit comments