Skip to content

feat(gui): add routing profiles and why-this-route views - #1018

Draft
Wibias wants to merge 12 commits into
lidge-jun:devfrom
Wibias:feat/ri-10-routing-intelligence-ui
Draft

feat(gui): add routing profiles and why-this-route views#1018
Wibias wants to merge 12 commits into
lidge-jun:devfrom
Wibias:feat/ri-10-routing-intelligence-ui

Conversation

@Wibias

@Wibias Wibias commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

RI-10 - the final PR of the Router Intelligence / Routing Control Plane
programme. Adds the dashboard surfaces (routing profiles, dry-run
evaluation, routing analytics, why-this-route in the Logs detail) plus the
documentation set across all locales.

Routing Intelligence page

GUI surfaces

  • New Routing page (#routing, gui/src/pages/RoutingProfiles.tsx):
    • profile list with public model slug and revision digest;
    • profile detail: candidates, hard requirements, optimization weights,
      limits, unknown-evidence policy;
    • dry-run form (context window, tools, image, structured output) calling
      POST /api/routing-profiles/dry-run with a candidate/eligibility/
      exclusions/score table - the selected candidate is marked;
    • routing analytics panel from /api/routing-analytics: requests, success
      and fallback rates, p50/p95/p99, cooldown failures, confidence, explicit
      truncated-history indicator, and the provider/model breakdown.
  • Logs detail dialog: a "Route decision" section renders the durable
    trace inline (route kind, profile + revision, selected candidate + reason,
    candidate eligibility marks); pre-trace rows show an honest empty state.
  • Unknown evidence is never rendered as green health: values are "–" until
    evidence exists, and the analytics panel carries the confidence label.
  • All visible strings use locale keys in all six locales (en/de/ja/ko/ru/zh);
    the TKey set is compile-checked.
  • Accessible markup: buttons/labels/aria-pressed, keyboard-operable
    profile selection.

Docs

  • reference/configuration/routing.md (all five locales) now covers:
    routingProfiles schema, alias/collision rules, dry-run + evaluate CLI,
    the combos-vs-profiles distinction, the request-history/routing-analytics/
    route-decision APIs, and migration notes (disposable index, no
    auto-tuning).

Design notes

  • Reuses the existing dashboard grammar (.page-head, .panel, .card,
    .badge, .btn, .table); no enterprise redesign.
  • One small CSS addition (styles.css): .table and .checkbox follow the
    existing .tbl grammar.

Privacy / security

  • The GUI renders only the already-bounded trace/evidence fields; no prompts,
    credentials, or raw responses.
  • bun run privacy:scan passes.

Compatibility

  • Additive page + nav entry; existing pages untouched. /api/* contracts
    unchanged.

Dependency

Non-goals

  • No generic dashboard redesign.
  • No invented health state: unknown evidence renders neutral, never green.

Local verification (exact)

  • bun x tsc --noEmit -> PASSED (0 errors)
  • bun run lint:gui -> PASSED (0 errors)
  • bun run build:gui -> PASSED (production build + prepare:package)
  • bun run test (12 routing suites) -> 258/258 pass
  • bun run privacy:scan -> passed
  • docs-site bun run build -> 216 pages, PASSED
  • Screenshot: live same-origin capture against a temporary config with a
    real profile + history (see top of this description)

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 4fdeb6b0-7dfa-4da1-821d-14cc103d70bc

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the enhancement New feature or request label Aug 4, 2026
@Wibias

Wibias commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator Author

RI-10 UI screenshot (attached)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant