Repository navigation
Conversation
Collection pages show the Namespace selector as one 32 px control with an inline Namespace prefix beside Refresh. An Agent's page and Create Agent lead with a ghost ← Agents, then the title with Refresh (and Create new version) at its right, then a meta row with the Agent ID, a copy button and the compact selector. Settings no longer renders the selector. (UX spec 3.2, plan D3)
console-page-header checks the compact selector on collections, the Agent page's back link, meta row and actions at 1440, 1024 and 390 with a 40-character name, the phone header bottom, the ID copy button and Create Agent's header. Tests that found ← Agents, Create new version or the Deleting badge inside the page view now look in the page header; Settings frames expect no selector.
|
🦞👀 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 changesThis PR consolidates console headers, compacts Namespace selection, adds Agent ID copying, and preserves header-action focus during access checks. Example: View Research assistant in Engineering at a 390 px viewport.
Review scores
ProductKind: Refactor · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review Keep this PR open for maintainer triage: it delivers a useful console improvement, and review found no actionable introduced defect. Priority: P2 Before mergeNone. FindingsNone. Agent review detailsHow this fits togetherThe controller-hosted console turns route, session, Namespace, and Agent state into browser navigation and controls backed by existing authorized APIs. flowchart TB
Browser[Browser navigation]
Console[Console lifecycle]
Shell[Shared page header]
Detail[Agent detail view]
API[Controller APIs]
Browser --> Console
Console --> Shell
Console --> Detail
Console --> API
Detail --> Shell
Technical reviewBest possible solution: Retain the shared header implementation with its existing navigation guards and access-revalidation behavior. Do we have a high-confidence way to reproduce the issue? The base source shows the separate toolbar, and the introduced browser coverage exercises header layout and focus preservation; no target code was executed during this review. Is this the best way to solve the issue? The change uses the existing shell and Agent lifecycle owners, removes the replaced toolbar, and preserves server authorization and draft guards. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 698112e67e0a. Provenance checked
TestingProof path: in-process harness. SecurityNone. EvidenceWhat I checked:
Likely related people:
Review metrics
LabelsLabel changes: No label changes. Label justifications:
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 (4 earlier review cycles)
Reviewed October 19, 2026, 9:39 PM ET / October 20, 2026, 01:39 UTC (Revision 5). |
…te new version revalidateMountedAgent captured the focused control only inside the page view, so focus on Create new version, now in the header, fell to the body after the recheck. It now captures focus in the header actions too. Adds a regression test and Storybook stories for the header (long name, 390 px, Copy Agent ID without clipboard access) with a workflow checklist.
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
The pushed head already restores header-action focus after an Agent recheck (360b506); keep that version of revalidateMountedAgent.
Settings dropped its Namespace selector, but an unreadable Namespace kept in its URL still showed "Namespace unavailable. Switch Namespace", and the button focused nothing. Recovery now shows only on pages that render the header selector it focuses. A browser case covers both sides: Backends' Switch Namespace focuses the compact selector, Settings shows no recovery. Drops this branch's refocus test for the header's Create new version: the same behaviour is covered by the retained-revalidation cases already on the branch.
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
The Console now uses one page header. On an Agent page, the name, Agent ID, Namespace, and version action fit together even on a narrow screen. On collection pages the Namespace selector sits beside Refresh in a compact, labeled control. Settings no longer shows a Namespace selector.
Keyboard focus stays on Create new version when returning to the window triggers a successful access check. The action is unavailable during the check, and focus stays elsewhere if the reader moves it. Copy Agent ID announces a successful copy or selects the ID for manual copying when clipboard access is denied. Opening a version draft does not deploy it. The existing navigation guard still protects a save in progress.
Verification
Built Storybook from
a332cd32fe71and exercised Pages / Agent detail / Header Actions and Components / Credentials / Authentication save holds navigation at 1440 and 390 px. These previews use the Console with simulated data. The recordings show a window-focus event triggering the access recheck, the keyboard focus ring returning to the version action, and the reader moving focus elsewhere during a second check.agent-header-controls-1440.webm
agent-header-controls-390.webm
In a controller-backed browser test, the previous code lost focus from the header action while correctly leaving a user's newer focus in the sidebar. Both cases pass with the fix. I also tested this change combined with main at
69097a7e: 85 browser tests passed across the page-header, retained-revalidation, button-hierarchy, and focus-ring suites. Lint, formatting, workspace, test-suite inventory, and documentation checks passed on that tree. Hosted checks apply to their reported commit.