Skip to content

Add comprehensive rendering regression tests for feed ownership and streaming behavior #183

Closed

Description

@Juliusolsson05

The feed renderer needs proper regression coverage. We have repeatedly reintroduced bugs around duplicated assistant messages, missing user prompts, stuck live turns, semantic history handoff, ghost fallback, and live vs committed tool rendering. These bugs come from multiple channels trying to own the same visible feed content: committed transcript entries, semantic current turns, semantic history, ghosts, optimistic user rows, and queued prompts.

Add a focused rendering test suite that protects the core invariant: each visible feed artifact should have exactly one owner at a time, and ownership should transfer cleanly when committed transcript data catches up. The tests should cover the critical Claude and Codex rendering paths without requiring live providers.

This should include the known high-risk areas: committed-vs-semantic duplicate suppression, semantic history bridging JSONL lag, ghost fallback rules, optimistic/queued Codex prompt behavior, stale live turn recovery, and custom tool rendering/streaming for important tool calls like edits, writes, apply_patch, exec_command, and write_stdin.

Acceptance criteria:

  • Rendering regression tests run through the standard test suite or a documented focused command.
  • Tests cover the known duplicate assistant response and missing user prompt classes.
  • Tests cover semantic current/history/ghost ownership interactions.
  • Tests cover Codex optimistic submit and follow-up prompt queue behavior.
  • Tests cover at least the most important live tool rendering paths.
  • Tests use explicit assertions over ownership/render output rather than broad brittle snapshots.
  • Future rendering changes should fail tests if they reintroduce duplicated rows, missing rows, or stuck streaming state.

Activity

  1. Juliusolsson05 commented on Jul 7, 2026

    @Juliusolsson05
    OwnerAuthor

    Resolved — the rewrite shipped a dedicated rendering regression suite:

    All run under npm test (vitest) with explicit assertions over ledger output rather than brittle DOM snapshots. PRs #441/#444/#445. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions