Repository navigation
fix(console): label a deploying version from its deployment record - #3003
Conversation
Two read failures left the version notice disagreeing with the deployment record (finding 2085): - a completed deployment whose Agent reread failed kept 'Deploying version' beside 'v2 · Completed'. It now says 'Deployed version' once that reread fails. - one failed status read while v2 still deployed flipped the notice to 'Historical', and polling stopped on the error. The notice now keeps the last record's label, and a transient failure (no answer, timeout, 429, 5xx) keeps polling; a refusal or missing record still ends it. Tests also pin a queued deployment and an older version browsed during a deploy (finding 2088).
|
🦞👀 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. |
|
Codex review: needs maintainer review before merge. What this changesThe console preserves deployment labels through transient read failures and distinguishes completed deployments whose Agent refresh failed. Example: v2 completes while v1 remains cached, and the Agent refresh returns HTTP 503.
Review scores
ProductKind: Bug fix · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review This PR fixes two current console read-failure paths and resolves both prior findings; no new actionable code defect was found. Priority: P2 Before mergeNone. FindingsNone. Tests
Agent review detailsHow this fits togetherThe Agent detail page reads authorized Agent, version-history, and deployment endpoints, then updates deployment activity and version notices without changing deployment state. flowchart TB
Browser[Agent detail page] --> Panel[Deployment activity panel]
Panel --> API[Authorized controller API]
API --> Records[Agent and deployment records]
Records --> Panel
Panel --> Notice[Version notice]
Technical reviewBest possible solution: Keep the repair in the existing deployment panel and version-notice owners, preserving hidden-version handling and the distinction between recorded completion and current selection. Do we have a high-confidence way to reproduce the issue? Current-main source establishes both failure paths, and the inspected screenshot pairs demonstrate the completed-record label mismatch; no target code was run during this review. Is this the best way to solve the issue? The repair uses the existing polling and rendering owners, retains refusal handling, and adds distinct browser cases without changing API or persistence contracts. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against e615044ad212. Provenance checked
TestingProof path: in-process harness. SecurityNone. EvidenceWhat I checked:
LabelsLabel changes:
Label justifications:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
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 HistoryReview history (2 earlier review cycles)
Reviewed October 20, 2026, 1:05 AM ET / 05:05 UTC (Revision 3). |
Review follow-up. 'Deployed version' needed only a completed record and a current version that was not known to be hidden, so a stopped Agent's last version, an unlisted current version, or a record that completed before the Agent read caught up could show it. It now needs evidence: the Agent reread after the completion failed, cleared by the next Agent read. A refused or missing record (a 4xx other than 408/429) now also clears the Deploying label it can no longer follow, as before this change; transient failures still keep it and keep polling. Adds Storybook stories for both read-failure states and tests for the completed-record and refused-read cases.
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
A failed Agent reread no longer labels the newest readable version Deployed while the page already knows a newer current version the viewer cannot read. A browser test refreshes the deployment under a hidden current version with the Agent reread failing; it fails on the previous head. The agent details guide and agent editing flow now say deployment polling continues through outages and stops at a result, a denial or a missing record.
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
Problem
#2990 labels a deploying version "Deploying". Two read failures still leave that label disagreeing with the deployment record (finding 2085):
Two mutants of the label also survived: a queued deployment and an older version browsed during a deploy were untested (finding 2088).
Change
agents/detail.mjs:Verification
tests/browser/console-agent-deploy-again.test.mjs:Other checks:
detail.mjs, run at 2 CPUs; 10/11 killed. They include both survivors from finding 2088 and the transient-poll, last-record and reread-failed paths. The survivor never clears the reread-failed flag on a later successful reread; it is near-equivalent, because a successful reread also moves the current version and the label becomes Current anyway.console-agent-deploy-again,console-agent-detailandconsole-agent-statepass on the current head. eslint, prettier, the Storybook build anddocs:check-lengthare clean.docs/guides/console/agent-details.mdanddocs/flows/platform-console/agent-editing.mdnow say polling continues through outages (transient read errors) and stops at a result, a denial or a missing record. Both stay under the 2500-word cap (2498 and 2496).git merge-treeshows no new conflicted file or hunk. feat: share discoverable Driver configuration definitions #2980 conflicts with main but not with this head.Screenshots, before | after (
version-reread-fails: deployment completed, Agent reread 503;version-status-blip: one deployment status read 503 while v2 runs):Storybook: two new Pages/Agent detail stories, Deployment completes, Agent reread fails (
deploymentCompletesRereadFails) and Deployment status read recovers (deploymentStatusReadRecovers), each with walkthrough steps; both were checked in a headless browser for the expected notice text. The existing deploymentQueued story covers the queued label.Risks
Low.