feat(desktop): context page deepening — window bar + compact Config + intervention marker + subagent drilldown

Four Context-page enhancements (lane-ctx-deep, F1-F4):

- F1 context window breakdown: replace percentage-only card header with
  a stacked-bar breakdown of input / cached / output token buckets,
  plus a right-side gauge showing the live window occupancy ratio.
- F2 compact Config tab: fold the sprawling profile Config editor into
  a Config tab on the Context page card, with the same yml-leaf
  ordering as the top-of-window profile picker.
- F3 intervention marker: on the intervention timeline, emit a marker
  glyph at each user-intervention row (turn-flow-glyph-style) so the
  card scans as a single stream instead of a header + separate list.
- F4 subagent drilldown: when a turn's tool trace hits a subagent, the
  Trace panel's Config + Output tabs get a second row of Subagent
  Config / Subagent Output tabs immediately below, driven by the same
  fold-in-place shape the parent panel already uses.

4 new renderer modules (compact-config-model / context-window-breakdown /
intervention-timeline / subagent-drilldown), 6 new test files (41 tests,
all node --test style), 4 QA shoot scripts for CDP-driven regression
screenshots.
This commit is contained in:
ZiyaZhang
2026-07-19 01:22:28 -07:00
parent c8f5ca3d5b
commit fc558c2db8
18 changed files with 2705 additions and 4 deletions

View File

@@ -134,6 +134,15 @@ const NON_IIFE_ALLOWLIST = new Set([
// for renderer). Same shape as inject-family.js / raw-inject.js — just
// one `wireDetailsAria(details, summary)` helper, no functions collide.
'details-aria.js',
// lane-ctx-deep (task #51, 2026-07-19) Context-page deepening. Four
// dual-exported pure modules — same shape as inject-family.js /
// context-page-model.js. CommonJS require for node --test,
// `window.__dsh*` handle for the renderer. No top-level function names
// collide with the shared renderer scope.
'context-window-breakdown.js',
'intervention-timeline.js',
'compact-config-model.js',
'subagent-drilldown.js',
])
function listRendererScripts() {