Skip to content

main fails typecheck: ToolTimelineEntry fixtures missing required seq in Conversations.render.test.tsx #4948

Description

@M3gA-Mind

Summary

main fails the Frontend Checks (quality, i18n, docs, coverage) lane: tsc reports two TS2741 errors in app/src/pages/__tests__/Conversations.render.test.tsx, where ToolTimelineEntry fixtures are missing the now-required seq property. Every PR that syncs main inherits the failure.

Problem

What happened. CI Lite on main went from success at b48b62327 (08:04) to failure at 4a68fd727 (08:18):

src/pages/__tests__/Conversations.render.test.tsx(2414,21): error TS2741:
  Property 'seq' is missing in type '{ id: string; name: string; round: number; status: "success"; }'
  but required in type 'ToolTimelineEntry'.
src/pages/__tests__/Conversations.render.test.tsx(2438,21): error TS2741: (same)
##[error]Process completed with exit code 2.

Root cause — a semantic conflict between two individually-green PRs.

  1. fix(conversations): key the proactive-thread insights fallback (disclosure state leak) #4944 (b48b62327, merged 08:04) added two ToolTimelineEntry fixtures to Conversations.render.test.tsx (the cross-thread disclosure-leak test).
  2. fix(flows): stable issue-order for tool-call timeline (monotonic seq + FIFO result pairing) #4945 (4a68fd727, merged 08:18) made seq: number required on ToolTimelineEntry (app/src/store/chatRuntimeSlice.ts:286) and updated 12 test files — including this one — but was authored against a base predating fix(conversations): key the proactive-thread insights fallback (disclosure state leak) #4944, so it never saw those two fixtures.

Each PR passed CI on its own base. Merged 14 minutes apart, the combination breaks main. Per-PR CI cannot catch this class of defect; it only appears post-merge.

Impact. Release-blocking — release is cut from main. Every open PR that merges current main fails Frontend Checks: already observed on #4912 and #4934 (both Rust-only feature-gate PRs that touch no frontend code, failing purely on inherited breakage). #4913 and #4914 will fail on their next sync.

Steps to reproduce.

  1. git checkout main && git pull upstream main
  2. cd app && pnpm typecheck
  3. Two TS2741 errors at Conversations.render.test.tsx:2414 and :2438.

Platform: CI (ubuntu runner) and local dev; not platform-specific.

Solution

Add seq: 0 to both fixtures in app/src/pages/__tests__/Conversations.render.test.tsx:

  • line 2414entries: [{ id: 'a-1', name: 'web_fetch', round: 1, status: 'success' }]
  • line 2438entries: [{ id: 'b-1', name: 'send_email', round: 1, status: 'success' }]

seq: 0 is the correct value and matches #4945's own convention for every comparable fixture it updated (e.g. timeline/selectors.test.ts, SubMascotLayer.test.tsx, ToolTimelineBlock.test.tsx): both are single-entry timelines on distinct threads, so issue-order index 0 is accurate. The change is test-fixture-only — no production code, no behavior change.

Acceptance criteria

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions