Skip to content

fix(web): render working state as turn header - #105

Merged
rynfar merged 1 commit into
pylonfrom
fix/working-turn-header
Aug 26, 2026
Merged

fix(web): render working state as turn header#105
rynfar merged 1 commit into
pylonfrom
fix/working-turn-header

Conversation

@rynfar

@rynfar rynfar commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Problem

Pylon adopted upstream's active-turn header ordering but kept its older live-tail Working marker and composer-clearance padding. The animated marker therefore appeared in the middle of streamed assistant output and made the timeline look out of order.

Fix

  • render Working with the same divider-header surface as current T3 upstream
  • remove the obsolete live-tail DotMatrix and bottom padding
  • cover the rendered user → Working → assistant order and header styling

The timeline derivation and intentional subagent launch anchors are unchanged.

Verification

  • vp test run --dir apps/web/src/components/chat MessagesTimeline.test.tsx MessagesTimeline.logic.test.ts — 80 passed
  • vp run -F @t3tools/web typecheck
  • vp fmt --check apps/web/src/components/chat/MessagesTimeline.tsx apps/web/src/components/chat/MessagesTimeline.test.tsx
  • targeted vp lint — no errors; one existing unused-import warning
  • integrated web pass with isolated state: verified streamed assistant/tool content and the fresh-send Thinking state

Evidence

Before

Working rendered as a live-tail animation inside active output

After

Working rendered as the active-turn divider header

Model: openai-codex/gpt-5.6-sol
Harness: Prime Agent


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Align the Working row with the active-turn header placement adopted from upstream. Remove the obsolete live-tail marker and padding, and cover the rendered row order and header surface.
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S labels Aug 26, 2026
@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.3 KiB 13.5 KiB +196 B (+1.4%) 15.1 KiB
Codex Thread snapshot wire 6.9 KiB 6.9 KiB −10 B (−0.1%) 7.3 KiB
Codex Live turn WebSocket wire 6.4 KiB 6.6 KiB +206 B (+3.2%) 7.8 KiB
Codex Live turn WebSocket decoded 55.5 KiB 57.0 KiB +1.5 KiB (+2.7%) 66.4 KiB
Codex Live turn messages 9 11 +2 (+22.2%) 21
Claude Total thread wire 13.3 KiB 13.3 KiB +2 B (+0.0%) 15.1 KiB
Claude Thread snapshot wire 6.9 KiB 6.9 KiB −10 B (−0.1%) 7.3 KiB
Claude Live turn WebSocket wire 6.4 KiB 6.4 KiB +12 B (+0.2%) 7.8 KiB
Claude Live turn WebSocket decoded 56.3 KiB 56.3 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 9 9 0 (0.0%) 21

Baseline: 1da5a39 · PR result: b57f35a · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.0 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar
rynfar merged commit 9d53080 into pylon Aug 26, 2026
14 checks passed
@rynfar
rynfar deleted the fix/working-turn-header branch August 26, 2026 23:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant