Skip to content

EPIC: Agent harness & display — structured events, live feed, chat panel upgrades #129

Description

@kordless

Why

The Ghost agent runs well but is a black box: tool calls and model turns exist only inside conversation history + free-form tracing spans — nothing queryable, nothing live. And the chat display is missing the basics users expect (context meter, distill-on-long-context, attachments). This epic makes the harness observable and upgrades the display.

Grounding (code-mapped): run loop sidecar/src/ghost/agent.rs:193-846 (tool dispatch at :647, token Stats at :510-515), event enum ghost/types.rs:6-52, chat SSE ghost/api.rs:50-110, chat UI sidecar/static/shell.html served at GET /shell (main.rs:2990, include_str!), audit-log pattern to copy sidecar/src/audit.rs.

Status discovery

#42 / #46 are already architecturally done — the chat IS a sidecar-served UI (/shell) embedded via a web pane (now a native WebContentsView per #128). Remaining scope is browser-session auth (open the same URL in an external browser with a token). They stay open, re-scoped to that.

Phases

Linked issues (kept open, tracked here)

#119, #71, #72, #73, #43, #44, #45, #41, #124, #53, #120, #42, #46

Work lands on canary. Related: #128 (WebContentsView — the chat panel renders through it).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions