• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dcdpr / jp / 28382385386
69%

Build:
DEFAULT BRANCH: main
Ran 29 Jun 2026 03:15PM UTC
Jobs 1
Files 422
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Jun 2026 03:12PM UTC coverage: 67.491% (+0.2%) from 67.303%
28382385386

push

github

web-flow
feat(md, cli): Stream top-level paragraphs incrementally (#805)

Long assistant paragraphs — a single prose line with no internal
newlines — previously stalled the terminal until the whole paragraph
arrived, sometimes over a minute for a reasoning block. The buffer now
streams a top-level paragraph incrementally as its content grows, so
output appears as it is generated rather than only when the block
terminates.

Streamed output is byte-for-byte identical to whole-paragraph rendering:
the renderer accumulates the paragraph's source, re-renders the growing
buffer on each chunk, and prints only the stable committed prefix
(everything up to the last wrapped newline), holding the in-progress
visual line until a later chunk or the terminator commits it. The
concatenation of all printed deltas equals
`format_terminal_with(full_paragraph, opts)` exactly.

Several guards manage the ambiguities that would otherwise break that
guarantee:

- **Block-start** — the partial-line classifier enters paragraph mode as
soon as the line's first non-space character rules out every block
starter (header, fence, list, HTML, thematic break, reference, table),
so a leading `#` / `` ` `` / `|` / digit / etc. waits for the newline.
- **Setext threshold** — a source-byte threshold (~128) holds the first
line or two so a short setext underline can still turn a run into a
heading.
- **Inline ground state** — the committed prefix never ends inside an
open inline construct (emphasis, code span, link, angle bracket).
- **Tables** — a block whose header line begins with a pipe is kept
whole and never streamed, because a table's column widths depend on its
later rows and so its rendering is not prefix-stable.
- **Wrap-in-progress** — the renderer holds the in-progress visual line
until it is committed.

Byte-identity has two documented exceptions, both almost never produced
by LLM output: a setext heading whose content exceeds the threshold
streams as prose instead of becoming a headi... (continued)

233 of 237 new or added lines in 3 files covered. (98.31%)

5 existing lines in 1 file now uncovered.

37287 of 55247 relevant lines covered (67.49%)

681.8 hits per line

Uncovered Changes

Lines Coverage ∆ File
3
96.29
0.22% crates/jp_md/src/buffer.rs
1
97.15
0.07% crates/jp_cli/src/render/chat.rs

Coverage Regressions

Lines Coverage ∆ File
5
96.29
0.22% crates/jp_md/src/buffer.rs
Jobs
ID Job ID Ran Files Coverage
1 28382385386.1 29 Jun 2026 03:15PM UTC 422
67.49
GitHub Action Run
Source Files on build 28382385386
  • Tree
  • List 422
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28382385386
  • 860884ca on github
  • Prev Build on main (#28380998841)
  • Next Build on main (#28437872181)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc