Skip to content

fix(console): mark the latest version's outcome and make the Versions list one tab stop - #3006

Merged
freeqaz merged 3 commits into
mainfrom
fdr32-rail
Oct 20, 2026
Merged

freeqaz merged 3 commits into
mainfrom
fdr32-rail

Conversation

@freeqaz

@freeqaz freeqaz commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Dogfood round 32:

  • Finding 2095 (D665): the Versions list marks only the current version, so a failed v2 looks like v1.
  • Finding 2101 (D671): every version in the list is its own Tab stop, 51 on one Agent between Create new version and the tabs.

Change

agents/detail.mjs:

  • The latest version carries its deployment's outcome beside its number while it is Queued, In progress or Failed (danger tone for Failed), and its accessible name says so ("View version v3, deployment failed"). The page reads only the latest version's deployment record, so older versions stay plain; no extra requests. The badge is set in place when that record lands after the list rendered.
  • The list is a vertical toolbar (role=toolbar, labelled Versions) with one Tab stop on the viewed version (else the newest), like the tab strip (UX plan C7): Up/Down wrap, Home/End jump, Enter or Space opens a version, Tab leaves the list and Shift+Tab comes back to the viewed version. "Create new version" and "Show older versions" keep their own stops.
  • Storybook: Long version history walks the one Tab stop, arrows, Home/End, activation and Shift+Tab return; New version failed checks v7's red Failed badge and its spoken name. focus-and-disabled-workflow.md and badge-and-card-workflow.md step through the same behavior.

Verification

  • New test "Versions list marks the latest version's outcome and is one Tab stop" fails on main (no outcome badge) and passes with the fix; 20/20 at 2 CPUs on the final head.
  • Internal review: added the toolbar role so the single stop is announced as one control.
  • console-agent-overview, -detail, -detail-2, -state, -draft-guards, console-focus-ring, console-button-hierarchy green locally.
  • prettier and eslint clean.

Media (fixture: v1 current, v2, v3 latest failed; focus on the first version):

before (main) after
1440 rail-before-versions-1440 rail-after-versions-1440
390 rail-before-versions-390 rail-after-versions-390

Risks

… list one Tab stop

The Versions list marked only the current version, so a failed v2 looked
like v1 (finding 2095), and every version was its own Tab stop, 51 on one
Agent (finding 2101). The latest version now carries an In progress,
Queued or Failed badge from its deployment record, and the list uses a
roving tab stop on the viewed version with Up/Down/Home/End.
@freeqaz
freeqaz requested a review from a team as a code owner October 20, 2026 05:01
@clawsweeper

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

…s test before arrowing

A list that is one Tab stop needs a composite role so screen readers say
the arrows move through it (internal review).
@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. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed 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 20, 2026
@clawsweeper

clawsweeper Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge.

What this changes

This PR adds deployment outcome badges to the latest readable version and makes version buttons one keyboard Tab stop.

Example: An Agent has current v1, historical v2, and latest v3 whose deployment failed.

  • Before: v3 has no outcome badge, and each version button is a separate Tab stop.
  • After: v3 shows a red Failed badge, and arrow keys navigate the version buttons from one Tab stop.

Review scores

Measure Result What it means
Overall readiness 🦪 silver shellfish (2/6) The focused implementation and meaningful browser regression coverage support correctness, while supplied visual evidence covers only part of the changed behavior.
Proof confidence 🦪 silver shellfish (2/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: Failed latest versions look indistinguishable from ordinary history, and long histories require many Tab presses.
Reason: The maintainer-authored direction addresses observed usability failures through existing console owners.

Merge readiness

✅ Ready for maintainer review

This PR addresses concrete console usability problems and resolves the earlier Storybook finding; no actionable code defect was found.

Priority: P3
Reviewed head: dccc860e730e0d7ff4f824db72561005fe67fc1f

Before merge

None.

Findings

None.

Tests

  • Missing end-to-end proof: A final-revision browser walkthrough of Tab entry, arrow wrapping, Home/End, activation, and Shift+Tab return remains unshown; the reported base-fail/head-pass test comparison was not rerun during this read-only review.
Agent review details

How this fits together

The console Agent detail page combines authorized revision summaries and the existing latest deployment read into version navigation and outcome labels.

flowchart TB
  A[Authorized API reads] --> B[Revision summaries]
  A --> C[Latest deployment record]
  B --> D[Versions toolbar]
  C --> D
  E[Keyboard input] --> D
  D --> F[Viewed version details]
Loading

Technical review

Best possible solution:

Keep the focused change within the existing version renderer and deployment read, preserving the distinction between selected version and deployment outcome.

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

Current-main source exposes every version button as a Tab stop and shows only the Current badge; the submitted before screenshots corroborate the missing failure label.

Is this the best way to solve the issue?

The implementation reuses the existing deployment record and navigation handlers, adds no requests or public contracts, and keeps older versions plain when their outcomes have not been read.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning medium; reviewed against 166def51e1c5.

Provenance checked

  • Version picker and immutable version browsing keeps the original intent (7c3ecbf: Group version history, immutable details, and the saved draft while separating deployment records from live serving.)
  • Current version badge keeps the original intent (a25e598: Current denotes OCC selection rather than health, so its badge uses an informational tone.)
  • Composite keyboard navigation keeps the original intent (4e45875: Use one Tab stop with arrow navigation and explicit activation for the Agent tab strip.)

Testing

Proof path: in-process harness.

Security

None.

Evidence

What I checked:

  • Pinned patch and current main: The introduced patch adds roving keyboard navigation and updates badges through the existing deployment callback; inspected current main still renders separate version buttons without these outcomes. (apps/controller/src/console/agents/detail.mjs:501, dccc860e730e)
  • Earlier finding resolved: The head updates Long version history, New version failed, and both existing workflow documents, satisfying the earlier request for matching Storybook instructions. (scripts/console-storybook/public/scenarios.mjs:3411, dccc860e730e)
  • Inspected visual evidence and discussion: All four prepared screenshots were inspected: the after images show v3 Failed at desktop and phone widths. The body supplies gist-hosted screenshots, and the author comment requests re-review; neither supplies a keyboard recording or native GitHub media attachments.
  • Applicable repository policy: The full root AGENTS.md was read; no nested AGENTS.md files were found under the changed trees. Console changes require matching Storybook updates plus screenshots and a short walkthrough video uploaded as native GitHub attachments. No maintainer-notes directory or pr-simplify skill is present. (AGENTS.md, dccc860e730e)
  • Feature history: History traces the version picker to Clarify Agent deployment versions and add on-demand diagnostics #482 and the existing composite keyboard pattern to feat(console): tabs with tablist semantics #2878. One additional content-history search encountered an unavailable old blob; the relevant current lines and cited feature commits were readable. (apps/controller/src/console/agents/detail.mjs, 166def51e1c5)

Likely related people:

  • stevenlee-oai: Raw commit 7c3ecbf adds apps/controller/src/console/agents/detail.mjs:693 relative to its recorded parents. This identifies author metadata, not feature responsibility or a PR merger. (role: source-line author; confidence: high; commits: 7c3ecbfce4fa; files: apps/controller/src/console/agents/detail.mjs)

Labels

Label changes:

  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR.
  • remove status: ⏳ waiting on author: Current PR status label is status: 👀 ready for maintainer look.

Label justifications:

  • P3: The change improves status clarity and keyboard ergonomics without changing deployment behavior or access.
  • rating: 🦪 silver shellfish: Overall readiness is 🦪 silver shellfish; proof is 🦪 silver shellfish 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.

History

Review history (1 earlier review cycle)
  • reviewed 2026-10-20T05:21:45.161Z sha 57b35dd :: needs changes before merge. :: [P3] Update the existing Storybook scenarios and keyboard walkthrough

Reviewed October 20, 2026, 1:31 AM ET / 05:31 UTC (Revision 2).

@freeqaz

freeqaz commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

🦞👀
Exact review queued.

Re-review progress:

@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. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. 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 20, 2026
@freeqaz
freeqaz merged commit 52d3033 into main Oct 20, 2026
75 checks passed
@freeqaz
freeqaz deleted the fdr32-rail branch October 20, 2026 05:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. 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