Skip to content

test(console): mark the agent name only for the taken-name sentence and list paged revision outcomes - #3617

Merged
freeqaz merged 3 commits into
mainfrom
ms1025e-create
Oct 25, 2026
Merged

freeqaz merged 3 commits into
mainfrom
ms1025e-create

Conversation

@freeqaz

@freeqaz freeqaz commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator

Problem

A mutation sweep of #3597's Create Agent name mark (create.mts) and #3598's revision marks (detail.mts, list.mts, and the OCC revision list's deploymentStatus / deploymentErrorCode) left these changes uncaught:

  • Any 409 counts as a taken name. The preflight, provisioning admission and Agent create each mark the name field only for the API's taken-name sentence. Treating every 409 as taken survived on all three paths, so another conflict would put "Another Agent in this Namespace has this name." under the field. On the admission path it would also unlock a plan that the API may still hold.
  • A page that stops before the last revision drops the outcomes. listRevisions returns early when a page fills, and that path is a separate return. Every test listed all revisions on one page, so null outcomes on that path survived. On an Agent with more versions than one page holds, the console would lose the Failed mark after a reload.

The rest was killed or is equivalent.

Change

Test only:

  • tests/browser/console-create-agent-provisioning-400.test.mjs: the first provisioning admission answers a plain 409. The name field stays unmarked, and the real taken-name 409 follows.
  • tests/browser/console-agents-2.test.ts: the preflight answers a 409 with another conflict, and the field stays unmarked. Agent create's other 409 also leaves the field unmarked.
  • tests/integration/postgres-worker-agent-revision.test.mjs: the superseded-retry test lists one revision per page and checks both outcomes and the cursor.

The faked answers use apiErrorResponse (#3615).

Verification

  • Each new assertion fails against its mutant and passes on main. The survivors were rechecked against 23 Create Agent browser files, and none caught them.
  • On a remote test VM: the two browser tests pass 20/20 at 2 CPUs in a private network namespace, and the revision test passes 20/20 against a prepared postgres-application database. tsc, prettier and eslint pass.

Equivalent:

  • Focusing the field while it is disabled: the form is enabled again before the focus runs.
  • Marking after the Agent was saved: that path sends no Agent create.

Risks

Test only. It adds about 2 s across three files.

Create Agent marks the name field when the preflight, provisioning admission or Agent
create answers 409 with the taken-name sentence. Treating any 409 as taken survived on
all three paths; another conflict would mark the field and say the name is taken. The
browser tests now send another 409 on each path and check that the field stays unmarked.
…ast revision

listRevisions returns early when a page fills before the last revision. Dropping the
outcomes on that path survived: every test listed all revisions on one page. The
superseded-retry test now lists one revision per page and checks both outcomes.
@freeqaz
freeqaz requested a review from a team as a code owner October 25, 2026 11:05
@clawsweeper

clawsweeper Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

ClawSweeper review complete

ClawSweeper finished reviewing this revision. The review result is being finalized.

View the workflow run.

@clawsweeper

clawsweeper Bot commented Oct 25, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper status: review started.

I am starting a fresh review of this pull request: test(console): mark the agent name only for the taken-name sentence and list paged revision outcomes This is item 1/1 in the current shard. Shard 0/1.

This temporary status tracks the active review worker. The completed review will appear in the durable ClawSweeper review comment.

Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted.

@clawsweeper clawsweeper Bot added clawsweeper:intake:bug Preliminary submission classification; full source review pending. clawsweeper:intake:needs-environment Preliminary submission classification; full source review pending. clawsweeper:intake:needs-repro Preliminary submission classification; full source review pending. labels Oct 25, 2026
@freeqaz
freeqaz merged commit 2675b15 into main Oct 25, 2026
48 checks passed
@freeqaz
freeqaz deleted the ms1025e-create branch October 25, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clawsweeper:intake:bug Preliminary submission classification; full source review pending. clawsweeper:intake:needs-environment Preliminary submission classification; full source review pending. clawsweeper:intake:needs-repro Preliminary submission classification; full source review pending.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant