Skip to content

[Gastown] PR 7: Basic Dashboard UI #213

@jrf0110

Description

@jrf0110

Parent: #204 | Phase 1: Single Rig, Single Polecat

Goal

Minimal UI to create a rig, sling work, and watch an agent work. Thin first pass following existing dashboard patterns.

Pages

Route Component Purpose
/gastown Town list List user's towns, create new
/gastown/[townId] Town overview List rigs, active convoys
/gastown/[townId]/rigs/[rigId] Rig detail Bead board, agent list, agent stream

Key Components

  • Bead board: Simple list/kanban of beads by status (open → in_progress → closed). Read from DO via tRPC → Gastown worker API.
  • Agent card: Shows agent identity, status, current hook. Links to conversation stream.
  • Agent stream: WebSocket connection to the container's stream endpoint (via getAgentStreamUrl tRPC query). The container proxies Kilo CLI output events.
  • Sling dialog: Form to create a bead and assign it. Inputs: title, body, model selector.
  • Mayor chat: Direct message input that sends to the Mayor agent. Uses sendMessage tRPC mutation.

Revised: Agent stream now connects to the Town Container's stream endpoint instead of cloud-agent-next WebSocket. Mayor chat input added.

Dependencies

Acceptance Criteria

  • Town list page with create town form
  • Town overview page showing rigs
  • Rig detail page with bead board, agent cards, and agent stream
  • Sling dialog that creates a bead and starts a polecat (via alarm dispatch)
  • Agent stream component connecting to container's WebSocket
  • Mayor chat input component
  • Responsive layout following existing dashboard patterns

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions