Skip to content

feat(console): stat row for Agent facts and one disclosure per page - #2995

Merged
freeqaz merged 4 commits into
mainfrom
ux-p5
Oct 20, 2026
Merged

freeqaz merged 4 commits into
mainfrom
ux-p5

Conversation

@freeqaz

@freeqaz freeqaz commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

UX spec P5 (sections 3.5 and 3.6; plan rows S1b and D5). The Agent page shows its three facts (Selected version, Latest visible deployment, Live serving) as a two-column table. The sentences that say what the page cannot confirm are repeated under facts and cards: "Deployment records don't verify live serving or model access." under Live serving, "Selection does not confirm that this version is serving." in the current version's tab notice, and the listed-bindings caveat in the Share Agent panel.

Change

  • Stat row (.stats inside a .card). There are three columns with hairlines between them. Each column has a 12 px muted label, an 18 px semibold value (--text-xl) and optional 12 px help. A recorded outcome is the version plus a .badge: Failed is danger, Completed is success, Queued and In progress are info, and Superseded and Stopped are neutral. Live serving is a badge too: "May be offline" is warning and "Not verified" is neutral. At 760 px and narrower the facts form one column, with each label and value on one line. The Runtime "Stop requested" fact, when present, takes a fourth column. The text stays "v7 · Failed": the separator is visually hidden, so screen readers and existing text matches keep it.
  • One disclosure per page. A closed details.disclosure "What this page can tell you" (an underlined --text-md summary with a chevron) sits under the facts. It holds the three guarantee sentences verbatim. The bindings sentence shows only while the Share Agent panel is shown, through a CSS :has rule. The per-card copies are removed: the Live serving notes, the second sentence of the current version notice, and the bindings clause after "Current policy loaded."
  • The deployment panel becomes its own card under the stat card, as in the mockup. The failed-deployment status block now has 32 px below it, which was the fable nit left from P4.
  • The "Latest visible deployment" label is kept. The mockup says "Latest deployment", but "visible" says that only readable versions count. Renaming it would also reflow the agent-details.md table that five open PRs edit.
  • Storybook: badge-and-card-workflow.md step 7 walks the stat row and the disclosure.

Verification

  • New browser tests in console-agent-overview.test.mjs:
    • "The Agent's facts are a stat row with one disclosure" at 1440x900 and 390x844. It checks the structure and 18 px values, the badge tones, three columns or one column with label and value on one line, and that each guarantee appears exactly once on the page, inside the closed disclosure, and is visible only when it is opened.
    • "The page's disclosure names listed bindings only beside the sharing panel" (sharing read 403).
    • On main's sources all three fail (3/3). With only main's console.css, all three also fail (3/3).
    • Pinned 20/20 at 2 CPUs (3 tests per run).
  • Touched and related browser files: 470/470 across 14 files. These are agent-detail, agent-detail-2, agent-logs, agent-overview, agent-saves, agent-state, agents-2, agents-list-return, retained-revalidation, console, status-block, button-hierarchy, page-header and deploy-again. After the final edits, overview, state and detail passed 101/101.
  • After merging main (fix(console): call a deploying version deploying, not historical #2990, fix(console): name the default preset and fill use preset once a preset is chosen #2991, fix(console): open the configuration editor from edit current configuration #2992): 462/462 across the overview, state, detail, detail-2, deploy-again, saves, presets, retained-revalidation, agents-list-return, logs, console and agents-2 files.
  • Visual review (internal):
    • At 761-1100 px, four facts overran their columns. Stat columns now take 16 px padding there, and a fourth fact (Stop requested) stacks the row. Probed at 761, 768, 860, 1024 and 1101: no badge or value overflow.
    • The stat and deployment cards are now 24 px apart.
    • The open chevron is nudged 2 px.
  • prettier and eslint pass on the touched files.

Acceptance (spec 5, P5), measured with shots.mjs and a word probe on Storybook stories at 1440:

main this PR
.stats present no yes
Guarantee sentences visible outside the disclosure (draft / failed / succeeded) 1 / 2 / 3 0 / 0 / 0
Each guarantee in the DOM 0-1 copies, in cards exactly 1, inside details
Words above the tabs, draft 294 280 (-5 %)
Words above the tabs, draft, without the Share Agent card (what P6 moves out) 145 144; vs 294 on main: -51 %
.button--primary on the failed page / accent / danger (shots) 2 / 3 / 6 2 / 3 / 7 (+1 is the red "Failed" badge, which the spec asks for)

The -40 % overview word target is shared with P6, which moves Share Agent (136 words) to an Access tab. P5 alone removes only the repeated sentences. The 330-word baseline in the spec is from dd92bd62a; main is at 294.

Open-PR conflict map (git merge-tree of this head and of origin/main against each open PR that touches detail.mjs, access.mjs, console.css, agent-details.md or scenarios.mjs):

Media (secret gist): https://gist.github.com/freeqaz/78d0ec71d4a0eeeedc95aed0153e14ab

Failed deployment, 1440 (before / after / mockup):
before-failed-1440
after-failed-1440
mockup-failed-1440

Failed deployment, 390 (before / after / mockup):
before-failed-390
after-failed-390
mockup-failed-390

Draft, 1440 (before / after / mockup):
before-draft-1440
after-draft-1440
mockup-draft-1440

Draft, 390 (before / after):
before-draft-390
after-draft-390

Disclosure open (1440 failed, 390 draft):
failed-disclosure-open-1440
draft-disclosure-open-390

Recordings of the failed story at 1440 and 390, opening and closing the disclosure by click and then by Enter: disclosure-1440.webm · disclosure-390.webm

Risks

  • This is a console-only layout and copy change; no API change. The guarantee sentences are unchanged, verbatim, and still on the page, folded.
  • Relative time under "Latest visible deployment" (spec 3.5) is not added. The console has no relative-time helper, and the record's timestamp is already in Deployment details. It is left for a follow-up.
  • The bindings sentence's visibility depends on CSS :has, which the console already uses for the one-primary rule.

The three Agent facts become a .stats row inside one card (spec 3.5): label,
18 px value, optional help; outcome and Live serving are badges; one column
at phone width. The guarantee sentences that sat under facts and cards are
said once, in a closed 'What this page can tell you' disclosure under the
facts (spec 3.6, plan D5). The deployment panel becomes its own card, and
the failed-deployment block gets 32 px below it.
@freeqaz
freeqaz requested a review from a team as a code owner October 20, 2026 03:12
@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 the clawsweeper:intake:feature Preliminary submission classification; full source review pending. label Oct 20, 2026
…w cards

Visual review: at 761-1100 px four facts overran their columns. Stat columns
take 16 px padding there and a fourth fact (Stop requested) stacks the row;
labels and values no longer break mid-word. The stat and deployment cards are
24 px apart, as in the mockups, and the open chevron sits on the text's centre.
# Conflicts:
#	apps/controller/src/console/agents/detail.mjs
@clawsweeper clawsweeper Bot added P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. 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. and removed clawsweeper:intake:feature 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 presents Agent facts as responsive stats and consolidates repeated caveats into one expandable disclosure.

Example: Version v7 fails while v6 remains selected.

  • Before: The overview presents the facts as table rows, with caveats repeated across cards.
  • After: The overview shows v6, a red v7 Failed badge, and an amber May be offline badge above one disclosure.

Review scores

Measure Result What it means
Overall readiness 🦐 gold shrimp (3/6) The focused patch has credible browser coverage and useful static visual evidence, but the repository's UI evidence requirement remains incomplete.
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: Feature · Worth it: Yes · Fix scope: Complete
User problem: Repeated caveats and table-style facts make the Agent overview harder to scan.
Reason: The maintainer-authored direction improves scanning while retaining the existing status meanings and warnings.

Merge readiness

✅ Ready for maintainer review

Keep open: this maintainer-authored PR makes a focused console improvement, and source review found no actionable correctness or security defect.

Priority: P3
Reviewed head: 0f9592f3d6bd276cd42d8b7b3a1a8862fdb32730

Before merge

None.

Findings

None.

Tests

  • Missing end-to-end proof: The supplied evidence lacks the required final-revision video showing disclosure interaction at desktop and phone widths.
Agent review details

How this fits together

The Agent detail renderer consumes existing authorized Agent, deployment, and sharing-policy responses and produces console status cards without changing backend operations.

flowchart TB
  A[Authorized API responses] --> B[Agent detail renderer]
  B --> C[Responsive stat card]
  B --> D[Deployment evidence card]
  B --> E[Page disclosure]
  F[Sharing panel visibility] --> E
Loading

Technical review

Best possible solution:

Retain the focused presentation change while preserving the existing distinctions between selected, recorded, and verified runtime state.

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

This is a presentation enhancement; source comparison and the prepared before/after images establish the existing layout and intended change without executing target code.

Is this the best way to solve the issue?

The implementation uses the existing renderer, card tokens, badges, and native disclosure element while retaining permission-sensitive status and recovery logic.

AGENTS.md: found and applied where relevant.

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

Provenance checked

  • Agent overview and deployment evidence keeps the original intent (7c3ecbf: Separate current selection, readable deployment records, and live-serving uncertainty; later recovery work kept failures prominent.)
  • Sharing-policy readback caveat keeps the original intent (48930e0: Current bindings cannot establish whether an earlier uncertain mutation settled.)
  • Overview card layout changes intended behavior with a stated reason (4bf2532: Keep routine deployment evidence folded and failed-deployment recovery visible.)

Testing

Proof path: in-process harness.

Security

None.

Evidence

What I checked:

Likely related people:

  • Free Wortley: Raw commit 48930e0 adds apps/controller/src/console/agents/access.mjs:172 relative to its recorded parents. This identifies author metadata, not feature responsibility or a PR merger. (role: source-line author; confidence: high; commits: 48930e064782; files: apps/controller/src/console/agents/access.mjs)
  • stevenlee-oai: Raw commit 7c3ecbf adds apps/controller/src/console/agents/detail.mjs:518 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)

Review metrics

Metric Value Why it matters
Change distribution Production +273/-76; browser tests +158; workflow documentation +8 Growth is concentrated in responsive presentation and observable browser coverage, with no new subsystem or dependency.

Labels

Label changes:

  • add P3: This is console layout and readability polish with unchanged backend behavior.
  • 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:

  • P3: This is console layout and readability polish with unchanged backend behavior.
  • 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.

Rank-up moves

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

  • Attach final-revision desktop and phone screenshots plus a short video opening and closing the disclosure.

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 19, 2026, 11:41 PM ET / October 20, 2026, 03:41 UTC.

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: 🦐 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