Skip to content

[Router][UI] Author collection.router in the custom-collection panel #2406

Description

@ramkrishna2910

Goal

Extend the desktop app's custom-collection panel so users can author a collection.router (pick candidates, set default_model, add classifiers/rules or an L0a router prompt) without hand-writing JSON — the same way the panel already assembles collection.omni collections today.

Status: optional follow-up — NOT on the engine critical path

  • v1 authoring works without this: hand-author the lean JSON (see [Schema][Router] route_policy — routing block in collection.router JSON #2375) or import via the CLI (recipe_import). The engine milestone ships independent of any UI.
  • Per AGENTS.md, UI/frontend changes are handled by core maintainers only — this issue tracks the work; implementation/ownership sits with the UI maintainers.
  • Could live under the GUI3 milestone instead of the router milestone — placed here for visibility; move if preferred.

Scope (sketch)

  • A "Router" collection type in CustomCollectionPanel.tsx / customCollections.ts: select candidate models (→ routing.candidates + default_model), and either (a) an L0a NL router prompt, or (b) add classifiers (semantic_similarity/classifier) + rules.
  • Reuse the existing component-picker UX; emit the lean local form (components + routing, no models[]).
  • Validation surfaced in-panel (dangling refs, route_to/default_model ∈ candidates).

Out of scope

Engine behavior, schema (frozen in #2375), redistribution/models[] embedding, the L0(b) NL→policy compiler.

Acceptance

A user assembles a working collection.router from the panel and it routes end-to-end (mirrors the #2388 demo) with no hand-edited JSON.


Depends on: #2375 (schema), #2385 (dispatch working). UI-owned; non-gating.

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions