Skip to content

fix(ui): distinguish tool approval from callable readiness - #1730

Merged
Dumbris merged 2 commits into
mainfrom
codex/ux-callable-readiness
Oct 22, 2026
Merged

Dumbris merged 2 commits into
mainfrom
codex/ux-callable-readiness

Conversation

@Dumbris

@Dumbris Dumbris commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Description

Fix UX audit F3/F7 on Web and CLI: selective approval previously left a headline saying all tools were approved, and profile tier counts looked like callable counts. Review now separates approved/unblocked tools from blocked tools and reports connected, connecting, authentication-required, error, disconnected, disabled, or quarantined state. Profile cards use the existing effective-tools projection for callable/held/hidden counts and label policy tier counts as “allowed by profile.”

Readiness refreshes are bounded, handle transient failures and connection events, preserve pending tool selections, and stop after unmount. CLI approval explains that policy completion can precede connection/discovery. Enforcement is unchanged.

Testing

  • 27 focused frontend tests, TypeScript check, production build, focused runtime/CLI tests and go vet ./cmd/mcpproxy ./internal/runtime pass.
  • Live isolated Web/CLI QA: two policy tools, one callable/one held; allowed call succeeds and blocked call remains denied. Disconnect reduces callable to zero; error and reconnect states display correctly. Screenshots retained in the UX audit implementation report.
  • Full frontend suite: 2701/2703 passing. Both unchanged activity-view route-query failures reproduce on a clean archive of base 14cb288.
  • Independent fresh-context Claude CLI (claude-fable-5-1) review: VERDICT: PASS at 37da17c after lifecycle and readiness-state fixes.
  • Exact-head qa-gate: success. CI must pass before merge.

Scope

Native Swift review wording remains a separate follow-up requiring native QA; this PR addresses the audited Web/CLI surfaces.

Live fixture excerpt (connected; one tool blocked):

{"counts":{"visible":2,"hidden":0,"callable":1,"by_reason":{"tool_approval":1}}}

Review displays 1 approved and unblocked · 1 blocked of 2 and separately reports connected; after disconnect, callable becomes 0 and the review reports the actual connection state.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Deploying mcpproxy-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 37da17c
Status: ✅  Deploy successful!
Preview URL: https://3f5ffdb0.mcpproxy-docs.pages.dev
Branch Preview URL: https://codex-ux-callable-readiness.mcpproxy-docs.pages.dev

View logs

@github-actions

Copy link
Copy Markdown
Contributor

📦 Build Artifacts

Workflow Run: View Run
Branch: codex/ux-callable-readiness

Available Artifacts

  • archive-darwin-amd64 (32 MB)
  • archive-darwin-arm64 (28 MB)
  • archive-linux-amd64 (19 MB)
  • archive-linux-arm64 (17 MB)
  • archive-windows-amd64 (31 MB)
  • archive-windows-arm64 (28 MB)
  • frontend-dist-pr (0 MB)
  • installer-dmg-darwin-amd64 (28 MB)
  • installer-dmg-darwin-arm64 (25 MB)
  • smart-mcp-proxymcpproxy-go9PEME2.dockerbuild (0 MB)

How to Download

Option 1: GitHub Web UI (easiest)

  1. Go to the workflow run page linked above
  2. Scroll to the bottom "Artifacts" section
  3. Click on the artifact you want to download

Option 2: GitHub CLI

gh run download 39722335769 --repo smart-mcp-proxy/mcpproxy-go

Note: Artifacts expire in 14 days.

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 79.31034% with 6 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
internal/runtime/review.go 76.00% 5 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@Dumbris
Dumbris merged commit 51fd13e into main Oct 22, 2026
53 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants