Say why the unconfigured-node assertion cannot pass vacuously - #341
Merged
Merged
Conversation
Three review notes carried over from #338, none of which justified holding that deploy. The placed node's status test now also asserts the body's shape, matching its REAL_NODE_ID sibling: the two are a deliberate pair and read better making the same claims. The absence assertion is gated on the status. `not.toHaveProperty` holds against an error body as readily as against a correct one, so on a failed request the test would have gone green for the wrong reason. The metrics and trust assertions beside it already caught that, but by accident rather than by saying so, and an absence assertion is exactly the shape that earns an explicit guard. "legacy" leaves the title. POST /api/radar/detections is the current route for a node that registers without a config, not a deprecated one, and the word implied a dead code path a reader would go looking for and not find. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Claude finished @Babissimo's task in 1m 15s —— View job Review complete
FindingsNone. This is a tiny, self-contained e2e-test hardening change (8/-1 lines, no production code) and it does what the description says:
No correctness issues, no removed behavior, nothing touching |
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.
The three minor notes the review carried over from #338. All were non-blocking, and production was a release behind at the time, so they were left rather than holding that deploy.
The one that matters
not.toHaveProperty("detection_area")was not gated on the response status. An absence assertion holds against an error body as readily as against a correct one, so a failed request would have taken the test green for the wrong reason — the exact shape of vacuous pass that is worth guarding explicitly.The
metricsandtrustassertions beside it did already catch that case, which is why the reviewer rated it clarity rather than a gap. But they caught it as a side effect rather than by intent, and a future edit could remove them without anyone noticing what else they were holding up. The status check now says it outright.The two smaller ones
Symmetry. The placed node's status test now also asserts the body is a non-null object, matching its
REAL_NODE_IDsibling. The two are a deliberate pair; they read better making the same claims.Wording. "legacy" leaves the test title.
POST /api/radar/detectionsis the current route for a node registering without a config, not a deprecated one, and the word implied a dead code path a reader would go looking for and not find.Verification
No behaviour change: three assertions added, one word removed. The Playwright job does not run on pull requests, only on deploy, so CI here cannot exercise this file — the same limitation noted on #338. The assertions themselves were checked against staging while preparing that PR: an unconfigured node returns
metrics,trust,reputationandcoverage_mapwith nodetection_area, and the endpoint answers 200 for both nodes in the pair.Follows #338. Ticket: 86cbauhxd (closed).
🤖 Generated with Claude Code