Repository navigation
test(controller): pin status-read, http library, baseUrl hint and superseded rules that survived mutation - #2452
Conversation
…ded rules that survived mutation Mutant sweep of #2430, #2437, #2442, #2436 and #2446: status-read 3xx and 2xx boundaries with held-open bodies, write bodies, methods and cancellation through the shared Kubernetes HTTP library, the numeric last label hint as the URL parser reads the host, and the REPOSITORY_REVISION_SUPERSEDED code and superseded copy in Agent detail.
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
…299 as a parse row Rows for a last label that only starts or ends with digits (N6, N7 survived); the shared-library cancellation aborts once the server holds the read; the in-limit test runs for 200 and 299 and the 400 case stands alone.
|
Codex review: needs maintainer review before merge. What this changesThis PR expands tests for runtime status boundaries, Kubernetes request forwarding and cancellation, numeric-host validation hints, and superseded deployment rendering. Example: The shared Kubernetes HTTP library accidentally sends GET instead of POST when creating Namespace tenant.
Review scores
ProductKind: Test only · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review Keep this PR open for maintainer triage: it adds useful regression coverage without changing production behavior, and no actionable introduced defect was found. Priority: P3 Before mergeNone. FindingsNone. Tests
Agent review detailsHow this fits togetherThese suites exercise Kubernetes transport and status readers, Configuration and Preset admission, and console deployment rendering, turning controlled HTTP responses and deployment records into observable assertions. flowchart TD
A[Regression scenarios] --> B[Kubernetes SDK and shared client]
A --> C[Configuration and Preset API]
A --> D[Console browser]
B --> E[Loopback HTTP and TLS servers]
C --> F[Admission and validation]
D --> G[Deployment rendering]
E --> H[Observable assertions]
F --> H
G --> H
Technical reviewBest possible solution: Retain these focused cases in the existing suites and keep production behavior owned by the current implementations. Do we have a high-confidence way to reproduce the issue? This is regression-test expansion rather than a current product bug; source inspection confirms the covered paths, and no target code was run during review. Is this the best way to solve the issue? Extending the owning suites is appropriate: the cases observe real transport, API responses, and rendering without adding production seams or duplicating implementation logic. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 1b5d06c039bc. Provenance checked
TestingProof path: in-process harness. SecurityNone. EvidenceWhat I checked:
Likely related people:
Review metrics
LabelsLabel changes:
Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed October 14, 2026, 1:58 PM ET / 17:58 UTC. |
Problem
A mutation sweep checked the rules that landed on 10-14 afternoon: #2430, #2437, #2442, #2436, #2446 and the Slack part of #2439. Their own tests left some conditions unpinned. The suites killed 44 of 77 mutants. Each real survivor is a regression that would ship green:
0Xand a bare0xREPOSITORY_REVISION_SUPERSEDED. Nothing asserted the neutral stage descriptions or the version record's neutral note.Change
Test-only. Rows and assertions sit next to the existing tests, with no new helpers.
tests/conformance/bounded-response-reads.test.mjstests/conformance/kubernetes-client.test.mjs: one test, appended at the end. AcreateNamespacethrough the shared clients sends POST with its JSON body. A read the server holds open stops when the operation's signal aborts mid-request.tests/integration/configuration-controller.test.mjssyntheticCredentialUrl.api.a<1,api.1<a).tests/browser/console-agent-state.test.mjs: the superseded test now asserts the two neutral stage descriptions and the version record's neutral note. It ends with a refresh toREPOSITORY_REVISION_SUPERSEDED, which renders neutral with the status line hidden.Verification
binary().manualalso reports unavailable after one request.erroronly on a failed status.taskset, 2 CPUs) of each touched file on the final head: console-agent-state 20/20 (22-35 s), configuration-controller 20/20 (5.5-7.2 s), kubernetes-client 20/20 (6.2-7.2 s), bounded-response-reads 20/20 (2.0-2.3 s).prettier --checkis clean on the touched files; I first confirmed it fails on an unformatted file.eslintis clean.postgres-platform-state) and a live cluster aren't needed for these rows.Risks
Test-only.
holdingServersending a single 64 KiB chunk, which is within the status limit. A comment says so.