From fb5b491c93b197ab6fa392265d452234fe44ea8b Mon Sep 17 00:00:00 2001 From: stepan_romankov Date: Mon, 25 May 2026 16:26:15 +0200 Subject: [PATCH] fix(skill): drop gRPC reference from naming.md HTTP heuristic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The "Why it's bad" cell for HTTP status codes used gRPC as a hypothetical contrast ("the same behaviour at gRPC would be unnamable"). The rule is about not coupling the test name to the transport layer at all — calling out gRPC narrows the framing unnecessarily. Reworded to make the transport-independence the point: the domain outcome reads the same regardless of how the response is shaped. --- cmd/claude-setup/skill/naming.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/claude-setup/skill/naming.md b/cmd/claude-setup/skill/naming.md index 46d2a17..2abb932 100644 --- a/cmd/claude-setup/skill/naming.md +++ b/cmd/claude-setup/skill/naming.md @@ -19,7 +19,7 @@ If you cannot identify the actor or the outcome from the body, the `Test()` is d | Pattern | Why it's bad | What to look at in the body instead | |---|---|---| | CamelCase token matching a Go identifier in the Test body | Couples the test name to the SUT symbol; rename of the function breaks the name | The effect of that call in domain terms | -| Bare HTTP status code (`200 → accepts`, `404 → reports missing`, `409 → rejects duplicate id`) | Leaks the HTTP layer; the same behaviour at gRPC would be unnamable | The outcome verb the code stands for, not the code itself | +| Bare HTTP status code (`200 → accepts`, `404 → reports missing`, `409 → rejects duplicate id`) | Couples the test name to the HTTP layer; the domain outcome reads the same regardless of how the response is shaped | The outcome verb the code stands for, not the code itself | | `is / equals / returns / not nil / has length / contains` describing a value | Describes the assertion, not the step | The action that produced the value; the assertion is implementation | | `empty / nil / with N keys / map / slice / struct` | Leaks the input data structure | The domain meaning of the input: `no past loans`, `missing preferences`, `unset filter` |