You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The context tree (the interactive graph showing what the agent holds in context) occupies
a persistent 192px top panel on every session. It adds no actionable information at a
glance and reads as visual noise — it should be relocated to the context side panel
(the drawer opened by the progress-circle ring button in the session header) where it
becomes on-demand rather than always-present.
Important
Problem: The context tree's persistent top-panel placement consumes prime chat space
without aiding pulse-design decisions — it's orientation at the cost of focus.
Approach: Move the graph canvas into the context side panel (top section, above
stats), delete the top panel, return 192px to the chat timeline. On-demand instead of
always-on.
Scope: UI relocation only — the engine (context-tree-engine.ts), data derivation
(context-tree-data.ts), interactivity (click-to-open, keyboard nav), and hover-glance
are unchanged. No new features.
Assumption: The narrower side-panel width (~320–400px) works with the existing
force-settled layout; the engine's resize() and auto-fit camera already adapt.
Acceptance Criteria
The context tree canvas renders at the top of SessionContextTab (the context
side panel), 192px height, full panel width.
The top panel (ContextTreePanel in message-timeline.tsx) is deleted — the chat
timeline reclaims the space.
sessionHasContextItems gates the graph section inside the panel (no empty canvas).
Node clicks still open files: project files → session tab, vault files → Vault panel.
amicode:brain-hover events from tool rows highlight the corresponding node when
the context panel is open.
The engine pause()s when the panel is closed; resume()s on open.
The localStorage key amicode-context-tree-open (the old collapse toggle) is
removed.
Keyboard navigation (arrows, Enter/Space to open) works on the canvas in the panel.
Summary
The context tree (the interactive graph showing what the agent holds in context) occupies
a persistent 192px top panel on every session. It adds no actionable information at a
glance and reads as visual noise — it should be relocated to the context side panel
(the drawer opened by the progress-circle ring button in the session header) where it
becomes on-demand rather than always-present.
Important
Problem: The context tree's persistent top-panel placement consumes prime chat space
without aiding pulse-design decisions — it's orientation at the cost of focus.
Approach: Move the graph canvas into the context side panel (top section, above
stats), delete the top panel, return 192px to the chat timeline. On-demand instead of
always-on.
Scope: UI relocation only — the engine (
context-tree-engine.ts), data derivation(
context-tree-data.ts), interactivity (click-to-open, keyboard nav), and hover-glanceare unchanged. No new features.
Assumption: The narrower side-panel width (~320–400px) works with the existing
force-settled layout; the engine's
resize()and auto-fit camera already adapt.Acceptance Criteria
SessionContextTab(the contextside panel), 192px height, full panel width.
ContextTreePanelinmessage-timeline.tsx) is deleted — the chattimeline reclaims the space.
sessionHasContextItemsgates the graph section inside the panel (no empty canvas).amicode:brain-hoverevents from tool rows highlight the corresponding node whenthe context panel is open.
pause()s when the panel is closed;resume()s on open.localStoragekeyamicode-context-tree-open(the old collapse toggle) isremoved.
CONTEXT.md"Context tree" entry updated.context-tree-engine.test.tsandcontext-tree-data.test.tsstill pass.Key Decisions
Constraints & Invariants
context-tree-engine.tsandcontext-tree-data.tsmust not be modified (engine iscontainer-size-aware, no layout rework needed).
amicode:brain-hovercustom event contract is unchanged (emitter stays inmessage-part.tsx; listener moves with the canvas).Prior Art
Source
Design brainstormed in Amicode session 2026-08-08; resolved via grill-with-docs.
ADR 0004 records the decision (separate PR).