Merge branch 'codex/20260831-show-progress-messages-a14f9c2d-show-progress-messages-a14f9c2d'
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# 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: 38f85f6b5e4dc4e2c5e5b9f8f4506554cfd578f5
|
||||
- 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.
|
||||
Reference in New Issue
Block a user