Skip to content

Epic: make the hosted browse UI a true host-aware shell across all surfaces #35

@magicpro97

Description

@magicpro97

Goal

Make the hosted browse UI behave like a true remote shell: the web is only the interaction layer, and every major surface should target the selected backend host the same way /chat does.

Product direction

  • User opens the hosted UI
  • By default, the UI prefers a local backend when one is available
  • User can also add/select any remote backend URL
  • After a host is selected, the whole product should follow that host consistently

Why this issue exists

As of current origin/main, host-awareness is still uneven across the app.

Verified current gaps

  • browse-ui/src/app/search/page.tsx calls useSearch(...) without passing the selected host
  • browse-ui/src/app/graph/page.tsx does not wire graph tabs through shared host state
  • browse-ui/src/app/graph/insight-tab.tsx calls useEvidenceGraph({}), useCommunities(active), useKnowledgeInsights(), useDashboard() with default local host semantics
  • browse-ui/src/app/graph/communities-tab.tsx calls useCommunities(active) without an explicit selected host
  • browse-ui/src/app/graph/relationships-tab.tsx uses useEvidenceGraph(...) without a selected host argument

Expected

The selected host should become the canonical data source for:

  • sessions
  • session detail
  • search
  • graph (all tabs)
  • insights
  • settings diagnostics
  • chat / operator surfaces

Acceptance shape

  • one shared host-selection model
  • all route-level data hooks consume it consistently
  • unsupported surfaces are feature-gated by backend capabilities, not by accidental fallback to local/default host
  • no page should silently drift back to LOCAL_HOST when a remote host is selected

Related issues

This should be treated as the umbrella product issue above the current hosted-remote-host bugs (#27-#34).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions