Skip to content

Releases

ghcp-mon v0.0.9

Choose a tag to compare

@map-blasterson map-blasterson released this 19 Jun 00:22
c390248
  1. TUI ( ghcp-mon attach )
    • New  src/tui/  module (68 source files): event-driven  tokio::select!  loop, per-column  Scenario  trait architecture, async SWR query cache, WS reconnect with backoff, and TOML workspace persistence.
    • Scenarios: Live Sessions, Spans explorer, Chat Detail (DELTA/FULL diffing), Tool Detail (inline unified diff for the  edit / create  tools), File Touches.
    • Widgets: context-growth bars (3× vertical resolution via sextants), searchable text blocks, markdown/syntax rendering, keymap & log overlays, status dot.
    • Keyboard-driven: column add/remove/move/resize, Tab focus cycling, five-layer key-dispatch precedence. Mouse capture was removed in favor of a pure-keyboard model.
image
  1. GenAI  error.type  capture & presentation
    • Normalizer captures  error.type  from chat spans into the store; REST API exposes it on serialized spans.
    • New  SpanError  component — span-detail error block + span-tree error indicator.

  2. Copilot 1.0.60 compatibility
    • Reads renamed underscored token keys ( cache_read / reasoning ) for context snapshots.

  3. Build / docs
    • Rust toolchain bumped 1.86 → 1.88 (Containerfile + BUILDING.md).
    • Requirements vault: new  frontend/tui/  subtree (12 HLR, 93 LLR, 68 impl stubs) plus error.type/token-key updates.

ghcp-mon v0.0.8

Choose a tag to compare

@map-blasterson map-blasterson released this 18 May 15:11
  • New ghcp-mon export <session> subcommand — writes a session's spans as replay-compatible JSON lines to -o <path> or stdout; pipe straight into ghcp-mon replay. Includes span events, ordered by start time, metrics/logs excluded. Missing sessions fail fast without touching the output file.
  • Context Growth Widget: cache-read tokens shown as a green segment at the base of every chat bar (root and sub-agent), with the tooltip disclosing cache vs. fresh input.
  • Live span ingest now smoothed over a 2s window (newest-first, capped at 60 reveals/sec, parent-before-child preserved) so batch arrivals visually convey ingestion rate instead of popping in all at once.
  • Diff-stat badges on span rows for edit / create / apply_patch — red -N removed, green +M added.
  • Inline description label on tool span rows — surfaces the model-supplied intent (e.g. for bash / task calls) without chip chrome.
  • Tool Detail: hero panel surfaces the key function argument (command → query → description, first match wins) in a high-contrast block above args/result.
  • Tool Detail: metadata panel is now a collapsible <details>, closed by default, keeping args/result and the hero panel above the fold.
  • Vendor-aware session rows — local_name, the auto badge, and the branch chip now render only when service_name === "github-copilot"; sessions from other OTLP producers fall back to vendor-agnostic fields.
  • Normalization picks up Copilot turn identifiers (github.copilot.interaction_id / turn_id on chat_turns) and classifies external_tool* spans as a distinct ExternalTool kind, routing them to the external_tool_calls table.

Follow mode, expand/collapse all, filtering, style tweaks.

Choose a tag to compare

@map-blasterson map-blasterson released this 05 May 21:41

Features

  • Follow mode now tracks sub-agent spans correctly (end-time-based).
  • Explicit follow toggle checkbox in the Spans header.
  • Collapse-all / expand-all buttons.
  • Selecting an agent span routes ChatDetail to its most recent chat.
  • Kind filter visibly dims non-matching rows.
  • Spans header redesigned as a two-row grid layout.
  • Context limit line labeled and thickened for clarity.

Fixes

  • Kind filter was visually broken (.dim class didn't cascade through child elements).
  • Default column title corrected from "Traces" to "Spans".

Span search, span collapse, target badges, other improvements.

Choose a tag to compare

@map-blasterson map-blasterson released this 04 May 20:56

Features

  • Full-text search across spans within a session.
  • Parent spans are now collapsible.
  • Context Growth Widget ↔ Spans Interaction
  • Contextual target badges on span rows:
  • Arrow key navigation through span rows.

Fixes

  • Windows backslash paths handled correctly (only treated as separator with drive-letter prefix)
  • Powershell recognized as a shell tool.
  • Columns clamped to natural width

Frontend Features

Choose a tag to compare

@map-blasterson map-blasterson released this 03 May 14:54

Context Growth Widget

  • includes sub-agents in the chart with a distinct input color and corrected scale/tint
  • restyled header (limit legend dropped); 1px plot top border with tint extending to it; larger inter-bar gap

Spans column

  • removed inline SpanInspector panel — column is now list/tree only (use ToolDetail / ChatDetail siblings for details)
  • green skill chip for skill tool calls
  • err chip styled with red border and diagonal stripes
  • dropdown shows friendly session names; session change now propagates to sibling columns

ChatDetail

  • preserves newlines in message bodies
  • omits absent attribute subtrees
  • ? / / hover search added to text blocks across ChatDetail and ToolDetail

Misc

  • Repo / docs
  • frontend requirements graph refreshed
  • backend (src/) and frontend (web/) memory-bank docs added; db-schema.md added

v0.0.4 - Improved ergonomics and added context input diff.

Choose a tag to compare

@map-blasterson map-blasterson released this 01 May 20:47
  • New "Chat detail" widget (formerly Input Breakdown). Restructured into separate input/output roots and gained a DELTA / FULL toggle. DELTA mode (default) diffs system_instructions
    word-by-word and the tool definitions name-keyed against the previous chat span in the session, so each turn shows only what actually changed; first-turn falls back to FULL with no
    badges. The scenario, file (ChatDetail.tsx), and persisted key were renamed (input_breakdown → chat_detail) with a v0→v1 zustand migration so existing workspaces keep loading.
  • Tool → chat cross-selection. Picking an execute_tool span in the Spans column now auto-selects the chat sibling that immediately follows it and forwards the originating call_id to
    every Chat detail column, which expands the ancestor chain and renders a yellow arrow beside the matching tool message.
  • Span-tree ordering fix. Children and roots are now sorted by COALESCE(end_unix_ns, start_unix_ns), so completed spans show in completion order while in-progress spans still float
    to the top. Affects /api/traces/:id, get_session_span_tree, get_trace, and get_span.
  • Multiline tool responses render with real line breaks instead of escaped \n.
  • OpenTelemetry GenAI semconv pinned in-tree (reference/semconv-gen-ai/) at upstream ce75bbe for offline schema lookups.

v0.0.3

Choose a tag to compare

@map-blasterson map-blasterson released this 01 May 01:53

Initial Release

  • A few days of testing on Linux with GitHub Copilot CLI 1.0.40-3.
  • Minimal testing on Windows, seems to work.
  • OSX build is untested.