Skip to content

fix(console): show a superseded deployment as superseded, not failed - #2446

Merged
freeqaz merged 7 commits into
mainfrom
fix-1353
Oct 14, 2026
Merged

freeqaz merged 7 commits into
mainfrom
fix-1353

Conversation

@freeqaz

@freeqaz freeqaz commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

The controller ends an older version's deployment work with REVISION_SUPERSEDED (or REPOSITORY_REVISION_SUPERSEDED) when a newer version took over before it became current. The deployment status API reports that as failed, and the console had no case for it. A member who can read only older versions of a busy Agent saw "Latest visible deployment v2 · Failed", a red "Deployment work failed; check the recorded error and current version" stage, a warning banner "v2 deployment is recorded as failed … Live serving is unverified", and the code in red as an error, while the Agent was serving a newer version fine (dogfood finding 1353).

Change

  • console/agents/list.mjs: supersededDeployment(record) (status failed with one of the two superseded codes) and deploymentOutcome(record) (superseded for those, the API status otherwise). The Agents list shows vN · superseded with "Superseded by a newer version." instead of the stored error.
  • console/agents/detail.mjs:
    • Summary: vN · Superseded, note "Superseded by a newer version." No "Probably down" and no status-line banner from a superseded result alone. A hidden requested version still gets its own line.
    • Deployment activity and the version's deployment record: Recorded status/outcome: superseded, neutral grey "Deployment work" and "Completion recorded" stages, and a muted note naming the code ("This version did not fail; no action is needed.") instead of a red error and Logs link.
    • The diagnostics hint no longer tells the reader to "resolve" a superseded record first.
  • console.css: a neutral marker for the superseded stage.
  • Nothing names the newer version. The record does not carry it, and the console only shows what the Current version card already showed.
  • Real failures are unchanged. The API is unchanged.
  • Storybook: new story Pages/Agent detail → Deployment superseded by a newer version (deploymentSuperseded): v7 superseded while an unreadable v8 is selected. The console guide says a superseded result is neutral.

Verification

Risks

Low. Display only. Only a failed record with one of the two superseded codes changes. If the controller ever used those codes for a real failure, the console would now understate it, but the worker sets them only when a newer or equal active version (or a successor) has taken over.

The controller ends an older version's deployment work with REVISION_SUPERSEDED
(or REPOSITORY_REVISION_SUPERSEDED) when a newer version took over first. The API
records that as failed, so the Agent detail page showed a red failed stage, a
'Failed' latest deployment and a 'live serving is unverified' banner while the Agent
served the newer version. Render it as a neutral 'Superseded' outcome in the summary,
stage list, deployment records, diagnostics hint and Agents list, without naming the
newer version. Real failures render as before.
Pages/Agent detail gains 'Deployment superseded by a newer version': v7 ended
with REVISION_SUPERSEDED while an unreadable v8 is selected. The console guide
says a superseded result is neutral, not a failure.
@freeqaz
freeqaz requested a review from a team as a code owner October 14, 2026 16:28
@clawsweeper

clawsweeper Bot commented Oct 14, 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.

Plainer copy, the guide names both superseded codes, the test scopes its
negative check to the outcome panels and covers the diagnostics hint.
@clawsweeper clawsweeper Bot added P2 Normal priority bug or improvement with limited blast radius. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Oct 14, 2026
@clawsweeper

clawsweeper Bot commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge.

What this changes

This PR displays superseded deployments as neutral outcomes across the console’s Agent list, detail page, deployment records, and diagnostics.

Example: Readable v7 has REVISION_SUPERSEDED while selected v8 is unreadable.

  • Before: The console shows “v7 · Failed,” a red deployment stage, and a failure banner.
  • After: The console shows “v7 · Superseded” with neutral stages, without naming v8 or claiming live serving.

Review scores

Measure Result What it means
Overall readiness 🦐 gold shrimp (3/6) A focused, source-supported presentation fix with useful browser regression coverage and inspected screenshots; the repository’s UI media attachment gate remains unmet.
Proof confidence 🦐 gold shrimp (3/6) Real behavior proof is not required for maintainer- or bot-authored pull requests.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Product

Kind: Bug fix · Worth it: Yes · Fix scope: Complete
User problem: An older deployment that was superseded appears to have failed and asks the operator to investigate an unnecessary error.
Reason: The correction has clear operator value, stays within the existing console owner, and retains genuine failure behavior.

Merge readiness

✅ Ready for maintainer review

Keep this PR open: current main still presents superseded deployments as failures, and this focused correction preserves genuine failure handling without changing the API or IAM.

Priority: P2
Reviewed head: 9e445cc3cbcb3ddad6b89a9d67612e7d2a343e10

Before merge

None.

Findings

None.

Tests

  • Missing end-to-end proof: The supplied evidence demonstrates simulated console rendering rather than live backend supersession; repository-required native screenshot and video attachments remain outstanding.
Agent review details

How this fits together

The controller records deployment results; authorized API reads supply those records to console modules that render deployment history separately from live runtime health.

flowchart LR
Worker[Controller worker] --> Record[Deployment record]
Record --> API[Authorized deployment API]
API --> Outcome[Console outcome mapping]
Outcome --> List[Agent list]
Outcome --> Detail[Agent detail and diagnostics]
Loading

Technical review

Best possible solution:

Keep supersession neutral in the console while preserving raw deployment records, genuine failure guidance, and existing access boundaries.

Do we have a high-confidence way to reproduce the issue?

Current-main source maps both superseded codes to failed presentation, and inspected before screenshots show that result; no target code or tests were run during this review.

Is this the best way to solve the issue?

The narrow console mapping fits the reported problem and preserves the API contract, real failure rendering, and the distinction between recorded deployment outcomes and live health.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against 3a65e931a305.

Provenance checked

Testing

Proof path: in-process harness.

Security

None.

Evidence

What I checked:

Labels

Label changes:

  • add P2: False failure indications confuse Agent operators, but the affected presentation does not interrupt deployment or message delivery.
  • add rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦐 gold shrimp and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.

Label justifications:

  • P2: False failure indications confuse Agent operators, but the affected presentation does not interrupt deployment or message delivery.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦐 gold shrimp and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.

Rating scale

6/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.

Workflow

ClawSweeper edits this one comment on every review. Comment @clawsweeper re-review for a fresh review only. Repair and merge execution lanes are retired.

Reviewed October 14, 2026, 12:46 PM ET / 16:46 UTC.

This branch had an error being deployed

1 failed deployment
integration-qa-pr — 9e445cc3 Deployed Oct 14, 2026 by freeqaz via QA advisory (compose) #911
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2 Normal priority bug or improvement with limited blast radius. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant