Repository navigation
test(app): tighten the chat transcript coverage after review - #35
Merged
Merged
Conversation
This was referenced Nov 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 landhere instead. They are test-strength fixes and small residuals, not a rewrite:
no behaviour changes beyond the empty-reply draft fix.
Commits
08f1dd2fix(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 inoutput, matching the state contract.146b8f4test(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.e35afabtest(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.fd4efbctest(core): pin the chat role wire values — theChatMessagerole constants andknownRolesare asserted as exact strings, so the wire protocol cannot drift silently.ddcc418refactor(cli): use the ChatMessage role constants — the CLI build of the message list now uses the shared role constants instead of duplicated literals.2a34a80docs: refresh the measured suite counts — documented counts refreshed to the measured 1199.48b33b4docs: 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.mdandAGENTS.mdno longer describe the transcript as unmerged, and the Windowsaa35432figures 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, digestsha256:1838d6c8…bdadb8).cd apps/llama_pulse && flutter build linux --debug— green;build/linux/x64/debug/bundle/llama_pulseproduced.Note on coverage strength: the fold-once test fails if the draft folding in
_commitDraftis removed (verified by temporarily removing it), so it guardsreal behaviour. The
_terminalSeencheck in the event gate is redundant withthe 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).