ui: SUMMARY panel treats every user message as an objective, causing visual clutter

Open
#73 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Active
Tech stack
typescript
Domain
cli

Research direction

Start with src/tui/app.tsx, especially TranscriptPane and buildTranscriptItems, then trace goal extraction in packages/core/src/agent/conversation-memory-transcript.ts and the /goal handling. Decide which summary behavior to implement from the listed alternatives; done means ordinary user messages no longer create noisy summary entries while explicitly created goals remain appropriately represented.

Written by the indexing model from the issue text.

Description

Problem

The TUI renders a SUMMARY panel at the top of the transcript that shows "Current Objective" and "Superseded Objectives". After a short conversation it already looks like this:

SUMMARY Current Objective:
- 你去读取一下README的文件内容。
Superseded Objectives:
- 你是谁?
Image

Every user message is automatically promoted to an objective, so the panel quickly accumulates superseded entries and consumes vertical screen space. This feels noisy in normal chat usage where the user is just asking follow-up questions, not declaring long-lived goals.

Current behavior

  • ConversationMemory extracts goals from user messages (conversation-memory-transcript.ts).
  • TranscriptPane renders sessionData?.summary as a sticky SUMMARY block above the transcript.
  • Each new user message supersedes the previous one, so even trivial greetings become "Superseded Objectives".

Expected behavior (one or more of the following)

  • Only objectives explicitly created via /goal are shown in the SUMMARY panel.
  • Superseded objectives are hidden by default and can be expanded on demand.
  • The SUMMARY panel is collapsible (similar to how tool/reasoning output is collapsible with Ctrl+O).
  • Alternatively, the panel is removed from the main transcript view and moved to a status line or /status output.

Context

The /goal slash command is already documented in the welcome hint, so users have a way to set real objectives. Automatically treating every prompt as a goal makes the feature feel like visual noise rather than a helpful summary.

Related

  • src/tui/app.tsx TranscriptPane and buildTranscriptItems
  • packages/core/src/agent/conversation-memory-transcript.ts
  • /goal slash command handling in src/tui/app.tsx
Dominant language
TypeScript
Stars
54
Forks
20
Avg merge
2h 58m
Merged PRs (30d)
1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from stepfun-ai/Step-Code

All issues in stepfun-ai/Step-Code

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.