Files
makelore/.project-docs/30-worklog/tasks/20260831-show-progress-messages-a14f9c2d.md
T

3.8 KiB

Task: Show assistant progress messages

Identity

  • Task ID: 20260831-show-progress-messages-a14f9c2d
  • Mode: Feature
  • Branch: codex/20260831-show-progress-messages-a14f9c2d-show-progress-messages-a14f9c2d
  • Worktree: /Users/inmanx/Documents/makelore-show-progress-messages-a14f9c2d
  • Base commit: 38f85f6b5e
  • Owner: codex
  • Status: Ready for Integration

Scope

  • Identify the protocol and UI classification of assistant text emitted before or between tool calls, using the supplied screenshot only as a visual example.
  • Verify that this stage/progress narration is projected and rendered in the current Makelore Code timeline without exposing Pi-private wire types.
  • Preserve per-item expand/collapse after a stage explanation has completed, including after the enclosing turn has settled.
  • Make every collapsed thinking, stage-explanation, and tool-output preview start from its first visible block and line, including horizontally overflowing text.

Intent And Constraints

  • Preserve the product-neutral ConversationMessageNode / Snapshot / Patch contract and the Main-owned Pi boundary.
  • Keep private reasoning distinct from user-visible assistant narration and tool execution output.
  • Do not modify the occupied primary worktree or the separate running development worktree.

Outcome

  • Confirmed the raw message is an ordinary Pi assistant message whose turn ends with stopReason: toolUse; Main normalizes it to an assistant ConversationMessageNode with stopReason: tool-use.
  • Confirmed the Renderer semantically projects non-final assistant text as assistant-commentary / “过程说明”, rather than treating it as hidden thinking or as a tool node.
  • Confirmed active process groups open automatically and show a compact one-line stage explanation with an expand control; settled process groups retain the explanation behind their collapsed process summary while the final assistant answer remains visible.
  • Added explicit regression coverage proving a completed stage explanation remains collapsed to its first line by default, retains its own expand control, reveals the complete Markdown body, and can be collapsed again.
  • Changed collapsed process preview selection to use the first displayable block and first non-empty line for thinking, assistant commentary, and tool output. Long lines retain their beginning and use a trailing ellipsis.
  • Kept every collapsed preview viewport at horizontal offset zero on content and size changes. Tail-only streaming updates no longer replace or replay an unchanged head preview, while expanded content remains complete.

Verification

  • Installed the existing lockfile with pinned pnpm 10.33.4; 1,015 packages were reused from the local store and no manifest or lockfile changed.
  • Focused Vitest passed: 3 files / 28 tests covering live Pi event projection, durable session hydration, and Coding timeline process/commentary rendering.
  • Follow-up focused Vitest passed: 1 file / 9 tests, including completed commentary expand/collapse and stable head-preview assertions across streaming updates.
  • pnpm run typecheck: passed.
  • Scoped ESLint for the changed Renderer, unit, and Electron E2E files: passed.
  • pnpm run build:vite: passed; only the repository's existing dynamic-import and bundle-size warnings were emitted.
  • Focused Electron Playwright E2E passed: 1 file / 2 tests, including first-line thinking display, head truncation, and a measured tool-preview scrollLeft of zero.
  • Inspected electron/coding-runtime/pi/event-projector.ts, electron/coding-runtime/pi/session-projector.ts, shared/coding-conversation-contracts.ts, and src/pages/Chat/CodingConversationTimeline.tsx across the complete classification path.

Follow-ups

  • None.

Promotion Candidates

  • None recorded.