Skip to content

test(app): tighten the chat transcript coverage after review - #35

Merged
Dimoshka merged 7 commits into
mainfrom
feature/chat-transcript
Nov 9, 2026
Merged

Dimoshka merged 7 commits into
mainfrom
feature/chat-transcript

Conversation

@Dimoshka

@Dimoshka Dimoshka commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Refs #33

PR #34 merged before this review round finished, so the six review-fix commits
that were still being written sit on top of the merged head (2742661) and land
here instead. They are test-strength fixes and small residuals, not a rewrite:
no behaviour changes beyond the empty-reply draft fix.

Commits

  • 08f1dd2 fix(app): clear the draft when a terminal reply is empty — a terminal event with an empty reply now clears the in-flight draft instead of leaving stale text in output, matching the state contract.
  • 146b8f4 test(app): exercise the fold guard and empty-reply paths — the "folds once" test now actually delivers a duplicate terminal to the bloc, and the zero-length vs whitespace-only reply paths are pinned separately.
  • e35afab test(app): cover follow-along scrolling in the conversation view — follow-along is now covered both ways: a token follows when the reader is at the bottom, and does not when the reader has scrolled up.
  • fd4efbc test(core): pin the chat role wire values — the ChatMessage role constants and knownRoles are asserted as exact strings, so the wire protocol cannot drift silently.
  • ddcc418 refactor(cli): use the ChatMessage role constants — the CLI build of the message list now uses the shared role constants instead of duplicated literals.
  • 2a34a80 docs: refresh the measured suite counts — documented counts refreshed to the measured 1199.
  • 48b33b4 docs: record PR feat(chat): a real conversation transcript in the Chat tab #34 as merged and test(app): tighten the chat transcript coverage after review #35 as the follow-up — docs/status.md, AGENT.md and AGENTS.md no longer describe the transcript as unmerged, and the Windows aa35432 figures are labelled as a historical measurement.

Test plan

  • dart run melos run check — green: gen, catalog check, analyze, tests, format, CLI build.
  • dart run melos run gen:catalog:check — green; catalog up to date (362 parameters, digest sha256:1838d6c8…bdadb8).
  • cd apps/llama_pulse && flutter build linux --debug — green; build/linux/x64/debug/bundle/llama_pulse produced.
  • Measured suites: core 800 (+1 environment-gated skip), CLI 233, app 166 — 1199 total.

Note on coverage strength: the fold-once test fails if the draft folding in
_commitDraft is removed (verified by temporarily removing it), so it guards
real behaviour. The _terminalSeen check in the event gate is redundant with
the request-id gate — after a terminal the request id is null, so the duplicate
is already ignored — and the test passes with that check removed as well
(verified).

@Dimoshka
Dimoshka merged commit 77f9db2 into main Nov 9, 2026
5 checks passed
@Dimoshka
Dimoshka deleted the feature/chat-transcript branch November 9, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant