chore(integration): snapshot local main worktree
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Task: Keep collapsed progress following latest output
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260829-streaming-preview-b7e42a
|
||||
- Mode: Feature
|
||||
- Branch: main
|
||||
- Worktree: /Users/inmanx/Documents/makelore
|
||||
- Base commit: 48a9189939f3f9a581a76e9d6f5ba2f49879a67c
|
||||
- Owner: codex
|
||||
- Status: Ready for Integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Make collapsed AI Programming thinking, process-note, and tool rows continuously show the newest non-empty progress tail while streaming.
|
||||
- Add a compact whole-line upward roll for process notes and tools when streaming content advances without changing the existing one-line height; keep collapsed thinking text positionally stable.
|
||||
- Split timeline typography by structured event type: assistant commentary before or between tool calls and final assistant answers use the foreground color, while thinking, tools, and operational status remain in the muted gray hierarchy.
|
||||
- Add a low-contrast Codex-style text Shimmer to active collapsed progress, and stop it as soon as the enclosing run is authoritatively settled.
|
||||
- Preserve complete expandable Markdown, tool input/output, details, and the existing Renderer/Main/runtime boundaries.
|
||||
- Add focused Renderer and Electron E2E regression coverage and keep `README.md` synchronized.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- The collapsed state must never look frozen merely because CSS truncation keeps showing the beginning of an accumulating line.
|
||||
- Collapsed text keeps natural left alignment. Short progress starts at the left edge; only overflowing content scrolls its own viewport to the newest tail.
|
||||
- Long Chinese text and source/code output use a whole-line tail window rather than per-character slot rendering, which would damage joined-script typography and produce excessive animation churn.
|
||||
- Streaming updates remain visible within one line; expanded content remains detailed and independently scrollable.
|
||||
- Collapsed thinking may replace its text and continue the Shimmer, but it must not remount or translate the line on every streaming batch because that reads as visual jitter.
|
||||
- Loading sheen is an activity signal, not decoration: it only runs for the currently active process, becomes static gray after settlement, and respects reduced-motion preferences.
|
||||
- User-visible assistant commentary and final answer copy remain foreground black; thinking/tool/operational copy stays muted, errors remain destructive red, and active status indicators keep the product brand color.
|
||||
- Classification must come from the existing message/thinking/tool node structure, never from Chinese or English wording heuristics.
|
||||
- Do not change Host API contracts, runtime event schemas, Agent configuration, product modules, or the single light visual system.
|
||||
- Preserve all pre-existing dirty-worktree changes adopted with explicit user confirmation.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Added a shared left-aligned collapsed progress viewport. Short text begins at the left edge, while a long same-line stream automatically advances the viewport to its newest tail without right-aligning the text itself.
|
||||
- Thinking and process notes now render only their latest non-empty line while collapsed, refresh it on every Snapshot, and retain complete Markdown/detail rendering when expanded.
|
||||
- Tool rows use the same latest-tail behavior for current output, input, structured detail, or status while preserving full input/output and typed details in the existing expansion.
|
||||
- Process-note and tool previews perform a 180 ms whole-line upward roll at bounded character intervals; reduced-motion preferences retain the repository-wide animation override.
|
||||
- Collapsed thinking updates in place with a stable text baseline: it does not receive a roll revision, remount its text wrapper, or apply the vertical translate animation. Its Shimmer and newest-tail behavior continue uninterrupted.
|
||||
- Active collapsed thinking, process-note, and tool previews now use muted gray text with a restrained moving Shimmer highlight; settled rows remain static muted gray.
|
||||
- Expanded thinking Markdown and tool output inherit the muted hierarchy, while assistant commentary and final answer Markdown explicitly retain the foreground text color.
|
||||
- Renamed the local intermediate assistant-message category to `assistant-commentary` and rendered its collapsed preview, inline code, and expanded Markdown in foreground black. Commentary updates in place without Shimmer or roll motion; adjacent thinking and tool rows retain muted styling and their activity feedback.
|
||||
- Animation state is gated by the authoritative enclosing run, preventing stale historical blocks that still say `streaming` from looking active after the turn has finished.
|
||||
- Inline backtick code remains visually distinct in collapsed progress without introducing per-character splitting for Chinese or source output.
|
||||
- Updated focused unit/Electron E2E assertions and `README.md` to make latest-tail behavior an explicit product contract.
|
||||
|
||||
## Verification
|
||||
|
||||
- Exact package manager: `pnpm 10.33.4`.
|
||||
- Focused timeline unit test: Pass, 1 file / 9 tests.
|
||||
- `pnpm run typecheck`: Pass.
|
||||
- Scoped ESLint for the changed timeline/unit/E2E files: Pass with no output.
|
||||
- `pnpm run lint:check`: Pass with 0 errors; 12 pre-existing warnings remain in unrelated Home/Makelore files and a separate worktree.
|
||||
- `pnpm test`: Pass, 185 regular files / 1573 passed / 3 skipped, plus the isolated pressure file 1/1.
|
||||
- `pnpm run build:vite`: Pass; existing dynamic-import and chunk-size warnings remain.
|
||||
- `pnpm run test:e2e -- tests/e2e/pi-coding-first-chat.spec.ts`: Pass, 2/2, including one-line height, computed left alignment, newest collapsed thinking, absence of thinking roll/translate motion, foreground assistant commentary in collapsed and expanded states, muted thinking/tools, exact long-tool-output tail scrolling, active Shimmer, and static settled tool progress.
|
||||
- Development restart: Pass. Vite responds 200 at `http://localhost:5173`, the authenticated Host API responds with the expected 401 challenge at `127.0.0.1:13210`, and Electron remains running in session `77205`.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- None required for this behavior change.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- Target canonical document: `.project-docs/30-worklog/current-state.md`.
|
||||
Proposal: after integration, record that collapsed AI Programming thinking, assistant commentary, and tool progress preserve one-line density while continuously following the newest tail and retaining complete expandable details; assistant commentary and final answers are foreground black, whereas thinking/tools/operational state are muted, with Shimmer reserved for active gray progress.
|
||||
Evidence: focused streaming Snapshot regression, full unit suite, production build, and targeted Electron E2E listed above.
|
||||
Future impact: future timeline refactors must not regress to start-anchored CSS truncation, visually right-aligned progress, per-character animation for long Chinese/code output, muted assistant commentary, foreground-black thinking/tool activity, loading animation on an authoritatively settled run, or vertical translate/remount jitter in collapsed thinking/commentary.
|
||||
Semantic conflicts: none found; the change is Renderer-only and preserves existing runtime and Host API contracts.
|
||||
Human confirmation required: no additional product decision is required beyond the user's explicit request; canonical promotion remains Integration Gate-owned.
|
||||
Reference in New Issue
Block a user