Skip to content

[86ed0eab] Panel routing surface for hummin/Nebius/OpenRouter providers - #1123

Open
roboco-app[bot] wants to merge 2 commits into
feature/frontend/2742b0d0--a5396303from
feature/frontend/2742b0d0--a5396303--86ed0eab
Open

roboco-app[bot] wants to merge 2 commits into
feature/frontend/2742b0d0--a5396303from
feature/frontend/2742b0d0--a5396303--86ed0eab

Conversation

@roboco-app

@roboco-app roboco-app Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Close the panel↔backend provider seam: the trunk's derive_mode() now returns 'hummin' (9bc712e) and the roster grew to include hummin (e3c27b2, #1104), Nebius, and OpenRouter (synced by 40bd83c), but the panel snapshot has none of the three anywhere — RoutingMode union in panel/src/lib/api/providers.ts is frozen at anthropic|grok|codex|gemini|kimi|ollama|self_hosted|mix|cost_tiered, and ModelProvider in panel/src/types/index.ts is the pre-hummin seven values. The same unreachable-from-panel class #661 fixed for Codex/Gemini.

IMPORTANT: the intake snapshot was 226 commits behind origin/slave tip 929a8cc — FIRST re-verify against live trunk: (a) the exact provider ids/enum values in the backend (source of truth — copy them, never guess), (b) which of the three new providers ship apply* branches in ModelRoutingService (apply-capable) vs mix-only, (c) the backend's live interactive-roles exclusion list for Intake/Secretary — hummin is intake-capable per the intake bridge work (23cecc8).

Then build, all four deliverables:

  1. Mode section renders every derive_mode value with a correct label, including 'hummin' — no unknown/blank.
  2. Mode buttons: one-click apply-capable mode button per new provider, mirroring the existing Codex/Gemini/Kimi card structure (fix: post-finale completeness sweep — routing surface, provider config, budgets, compose env, interactive exemption #661 pattern). Mix-only providers get an explicit card hint saying so — never a dead button.
  3. Vocabulary: ModelProvider in panel/src/types, the per-agent mix picker, and the complexity-override model dropdown cover hummin/nebius/openrouter, with interactive-role exclusions matching the backend live list exactly.
  4. Round-trip check per new provider: apply its mode via POST /providers, then GET /providers — the panel renders the same mode label derive_mode returns, with the expected assignment snapshot.

Constraints: copy provider ids/enum values from the live backend (the round-trip check catches drift); if you find a genuine backend gap, flag it back to fe-pm rather than working around it in panel code. Placement per the architectural standard: types in panel/src/types, API client in panel/src/lib/api, cards in panel/src/components. Run pnpm format/lint/typecheck/test before submit; coverage target 80%.

Note: prior panel work on OpenRouter (key status + model search, see learnings lrn-75e63984/lrn-5de81a62) may already exist on trunk — check before re-implementing anything; the prior QA lesson found the panel gating ModeButton on a key-status shape that didn't match the backend, so verify the key-status contract before gating any button.

@github-actions github-actions Bot added documentation Docs, README, CHANGELOG, governance files area: panel Touches panel/ (Next.js control panel) area: agents Touches agents/ (prompts, role config) labels Sep 28, 2026
@github-actions

Copy link
Copy Markdown

Thanks for opening your first pull request on RoboCo!

Quick checklist before review (most of these are enforced by CI, but worth a glance):

  • make quality — ruff format check, ruff check, mypy, pytest (≥80% coverage), and the rest of the gate
  • Panel changes pass pnpm lint and pnpm exec tsc --noEmit (run from panel/)
  • No # noqa / # type: ignore shortcuts; pre-existing violations in touched files are fixed
  • Added an entry under ## [Unreleased] in CHANGELOG.md
  • Signed the CLA (the bot will prompt you on this PR)
  • Signed your commits — master requires verified signatures (SSH signing setup)
  • Updated any affected docs under docs/

See CONTRIBUTING.md for the full workflow and the Code of Conduct for the community standards we follow.

Welcome aboard — a maintainer will review shortly.

This branch has not been deployed

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

Labels

area: agents Touches agents/ (prompts, role config) area: panel Touches panel/ (Next.js control panel) cell/frontend documentation Docs, README, CHANGELOG, governance files to feature/frontend/2742b0d0--a5396303

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

0 participants