Repository navigation
test(console): pin stopped-agent reads and dev origin rules that survived mutation - #2474
Merged
Merged
Conversation
…ived mutation - create page: a 403 Agent read is unknown, not gone; a transient failure naming a kept Agent reads as failed, not stopped - Agent page: the stopped Completion-recorded step text - dev browser origin: refuse 0.0.0.0, a non-label localhost suffix and a localhost first label; createFastifyApp refuses a valid origin outside development
Contributor
|
ClawSweeper reviews are opt-in for maintainers. If a review is required, finish the work and validation first, then comment |
freeqaz
had a problem deploying
to
integration-qa-pr
October 15, 2026 00:23 — with
GitHub Actions
Failure
freeqaz
had a problem deploying
to
integration-qa-pr
October 15, 2026 00:23 — with
GitHub Actions
Failure
This branch had an error being deployed
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.
Problem
A mutation sweep of the rules that landed on 10-14 (#2459 and #2473: the console create page and Agent page deciding stopped, failed, superseded or cancelled; #2461:
isDevelopmentBrowserOriginand its two call sites, plus the dev CA name constraints) found 8 conditions that no test pins. Main kills 51 of 66 mutants. Among the survivors:cancelledAgentStatetreating any 4xx Agent read as "gone" survives. Only a 404 means gone; a 403 must stay "unknown" and offer both paths.PROVISIONING_CANCELLED, survives. That would label each job that created its Agent and then failed after its retries "Provisioning stopped.".0.0.0.0to the loopback set, matchinglocalhostas a hostname suffix instead of the whole last label, and matching it anywhere in the hostname.createFastifyApp, D14: dropping thedevelopment.enabledrequirement indevelopmentBrowserOriginsurvives, so a valid loopback origin would be admitted outside development.Change
Test-only. Each change goes into the test that already owns its rule.
tests/browser/console-agents-2.test.mjs("reports a stop before the first deployment and links the kept Agent") gains two steps:PROVISIONING_DEPENDENCY_UNAVAILABLEjob naming the kept Agent reads "Provisioning failed.", with no.provisioning-stoppedspan.erroroverride for that step.tests/browser/console-agent-state.test.mjs(stopped-by-owner test): asserts the stage-3 stopped text.tests/integration/configuration-startup.test.mjs: three refusal rows,http://0.0.0.0:3000,https://console.notlocalhostandhttps://localhost.example.com.tests/conformance/occ-api-security.test.mjs:{ enabled: false, browserOrigin: "http://127.0.0.1:3000" }is refused.Verification
generateDevelopmentTLS: MaxPathLenZero, critical name constraints, permitted domains, wildcard trim, lifetime, CA key file) were already killed bygo test ./internal/occdev/.agentId. OnlycancelByAgentcancels, and it filters on the job'sagent_id.AgentStatusis onlyactiveordeleting.agentId.localhostis caught by the loopback set first.prettier --checkandeslint --max-warnings 0are clean on the four files.packages/occmessage rewrites in fix(console): clarify a stopped initial deployment #2459 and fix(console): show an owner's stop as stopped, not failed #2473 (provisioningProgress, the first-deployREVISION_STOPPEDsentence) are covered only by PostgreSQL integration tests, which were not run here. They were not mutated.checkStoredHostwas not mutated, because test(credentials): consolidate credential-source-api host and token_url rule tests #2471's sweep already kills its mutants.Risks
Test-only. The new browser steps reuse the existing page and routes. Each step waits for text that differs from the step before it, so none can pass on stale DOM.