Skip to content

fix(console): drop repeated settings and namespace text and step down the create card heading - #3009

Merged
freeqaz merged 6 commits into
mainfrom
fdr32-copy
Oct 20, 2026
Merged

freeqaz merged 6 commits into
mainfrom
fdr32-copy

Conversation

@freeqaz

@freeqaz freeqaz commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Dogfood round 32:

  • Finding 2097 (D667): on Create Agent the intro card's heading ("Your next teammate", h2) is 24 px, the page title's size.
  • Finding 2099 (D669): an account with no display name carries its email as the name, so Settings shows Name and Email as the same address.
  • Finding 2102 (D672): the Create Namespace dialog prints "Request ID: req_…" under an ordinary taken-name conflict (and under a field validation refusal).

Change

  • console.css: .launch-intro h2 uses --text-xl (18 px) and its line height, one step under the 24 px title.
  • console.mjs: Settings shows the Name row only when the name differs from the email.
  • namespaces.mjs: the request ID shows only for an outcome the console cannot explain (5xx, network, unexpected answers) or a denial (403), which an administrator may need to trace; refusals the reader can fix (400, 409, 429) show the message alone.
  • Storybook: new Pages / Settings / Account without a display name story (the fixture session takes a sessionUser override) shows one Email row. page-header-workflow.md checks the Create Agent card heading is a step below the title; namespace-create-workflow.md says Create Conflict shows no request ID and Create Denied keeps one.

Verification

  • New/extended tests fail on main and pass with the fix, 20/20 at 2 CPUs each:
    • console-page-header "Create Agent leads with ← Agents…": card heading 18 px vs title 24 px (main: 24 px).
    • console-shell "Settings shows an account without a display name by its email once" (main: Name and Email rows).
    • console-namespace-create: no request ID after a 409 conflict or a 400 field refusal (main shows one); new "an unexpected Namespace creation failure shows its request ID" keeps it for a 503.
  • console-shell, console-namespace-create, console-page-header, console-dialogs, console.test green locally.
  • prettier and eslint clean.

Media (Settings uses a session whose name is its email; the Namespace dialog shows a taken name):

before (main) after
create 1440 copy-before-create-1440 copy-after-create-1440
create 390 copy-before-create-390 copy-after-create-390
settings-noname 1440 copy-before-settings-noname-1440 copy-after-settings-noname-1440
settings-noname 390 copy-before-settings-noname-390 copy-after-settings-noname-390
namespace-dup 1440 copy-before-namespace-dup-1440 copy-after-namespace-dup-1440
namespace-dup 390 copy-before-namespace-dup-390 copy-after-namespace-dup-390

Risks

…d nothing

Settings showed an account with no display name as Name and Email both
set to the email (finding 2099); it now shows the email once. The Create
Namespace dialog printed a request ID under a taken-name or validation
refusal (finding 2102); request IDs now stay for outcomes the console
cannot explain.
The intro card's 'Your next teammate' heading was 24 px, the page title's
size (finding 2097). It now uses --text-xl.
An administrator asked about a denied create can trace it by that ID
(internal review).
@freeqaz
freeqaz requested a review from a team as a code owner October 20, 2026 05:06
@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.

@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 removes duplicate Settings account details and routine Namespace request IDs, and reduces the Create Agent card heading.

Example: An account has operator@example.com as both its name and email.

Review scores

Measure Result What it means
Overall readiness 🦪 silver shellfish (2/6) The focused patch is correct and the prior code finding is resolved, while the explicit repository visual-evidence gate remains incomplete.
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: Users see a repeated email address, competing heading sizes, and support identifiers beside routine correctable Namespace refusals.
Reason: The bounded presentation improvements have clear value, and collaborator authorship supplies the direction decision.

Merge readiness

✅ Ready for maintainer review

Keep this PR open: the focused presentation improvements remain useful on main, the previous Storybook finding is fixed, and no actionable code defects remain.

Priority: P3
Reviewed head: e16cda8242400774a95d4590c990de3e227dd87b

Before merge

None.

Findings

None.

Tests

  • Missing end-to-end proof: Complete the repository-required visual walkthrough and native attachments; the body reports base-fail/head-pass browser comparisons, which were not rerun during this read-only review.
Agent review details

How this fits together

The controller serves the Console, whose existing renderers turn session details and Namespace API responses into browser views styled by shared typography tokens.

flowchart TB
  A[Session response] --> B[Settings renderer]
  C[Namespace API response] --> D[Creation dialog]
  E[Console typography] --> F[Create Agent card]
  B --> G[Browser view]
  D --> G
  F --> G
Loading

Technical review

Best possible solution:

Keep the direct changes in the existing Console renderers and complete the required visual handoff.

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

Current-main renderers establish all three presentation cases, the account provisioner confirms the email fallback, and inspected screenshots demonstrate the heading difference; no target code was run.

Is this the best way to solve the issue?

The existing owners provide the smallest complete fix, preserving distinct display names and useful denial and unexpected-failure diagnostics without adding production machinery.

AGENTS.md: found and applied where relevant.

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

Provenance checked

  • Settings account rows changes intended behavior with a stated reason (184b495: The Settings redesign displayed the available account facts in an account card.)
  • Namespace request identifiers changes intended behavior with a stated reason (4671b2f: The earlier repair refined creation feedback and linked server refusals to the name field; this PR explains which outcomes still need tracing.)
  • Launch-card typography changes intended behavior with a stated reason (5cc2a3d: The styling change aligned Console typography with OpenClaw; this PR explains the smaller card-heading hierarchy.)

Testing

Proof path: shipped entry point.

Security

None.

Evidence

What I checked:

  • Introduced patch: The pinned introduced diff makes small changes within three existing presentation owners, with browser coverage and Storybook updates; it changes no API, dependency, authorization, or persistence contract. (e16cda824240)
  • Current main retains the reported behavior: Main still renders Name unconditionally, uses the 24 px launch-card heading, and displays every available Namespace creation request ID; the subsequent Refresh repair changes a separate part of the Namespace workflow. (apps/controller/src/console/console.mjs:2448, 166def51e1c5)
  • Reachable account fallback: The account provisioner uses the email when a display name is absent, confirming that the duplicate Settings case is supported application state. (apps/controller/src/auth/index.ts:719, e16cda824240)
  • Previous finding resolved: The latest commit adds Pages / Settings / Account without a display name, supplies its session fixture and walkthrough steps, and updates the heading and Namespace diagnostic instructions. (scripts/console-storybook/pages-settings.stories.mjs:6, e16cda824240)
  • Visual evidence and review limits: The four prepared before/after screenshots show the smaller Create Agent heading at desktop and phone widths. Additional Settings and Namespace images are linked but were not locally prepared; direct retrieval was blocked by the gist.githubusercontent.com allowlist, and the GitHub App could not read the gist API. Those images remain unassessed. (e16cda824240)
  • Repository UI evidence requirement: Root policy requires matching Storybook coverage and native GitHub screenshot and video attachments before merging UI changes; the current body supplies gist screenshots and no walkthrough video. (AGENTS.md, e16cda824240)

Likely related people:

  • Free Wortley: Raw commit 184b495 adds apps/controller/src/console/console.mjs:2436 relative to its recorded parents. This identifies author metadata, not feature responsibility or a PR merger. (role: source-line author; confidence: high; commits: 184b49511a01; files: apps/controller/src/console/console.mjs)
  • Derek Carr: Raw commit 5a2cb36 adds apps/controller/src/console/namespaces.mjs:48 relative to its recorded parents. This identifies author metadata, not feature responsibility or a PR merger. (role: source-line author; confidence: high; commits: 5a2cb363d5b2; files: apps/controller/src/console/namespaces.mjs)

Review metrics

Metric Value Why it matters
Production and supporting changes Production +15/-6 lines; browser tests +63; Storybook and instructions +32/-5 The production repair stays small, while supporting changes cover distinct visible outcomes and resolve the prior review finding.

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: These changes improve visual hierarchy and remove redundant text without repairing a blocked workflow.
  • 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.

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Complete the visual evidence described in realBehaviorProof.

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:22:05.082Z sha 505c11f :: needs changes before merge. :: [P3] Add the changed Settings state to Storybook

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 453a952 into main Oct 20, 2026
72 of 73 checks passed
@freeqaz
freeqaz deleted the fdr32-copy 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