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

dcdpr / jp / 28930272646
69%

Build:
DEFAULT BRANCH: main
Ran 08 Jul 2026 08:57AM UTC
Jobs 1
Files 433
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

08 Jul 2026 08:54AM UTC coverage: 68.34% (+0.1%) from 68.199%
28930272646

push

github

web-flow
feat(cli, md, config): Shade tool chrome inside reasoning regions (#848)

When the assistant interleaves reasoning with tool calls, the tool
chrome (the `Calling tool …` header, arguments, progress line, and
result) now carries the reasoning background so the whole span reads
as one continuous reasoning region instead of the shading flipping off
for each tool call and back on for the next reasoning block. Any
background the tool's own output sets (a syntax theme, hyperlink text)
is preserved; the region fill only backs spans left at the terminal
default.

A tool call continues the region when the chat response immediately
before it was reasoning; it ends at the first message content. The
boundary is transparent for chrome that isn't shown at all (per-tool
`hidden`, global `style.tool_call.show = false`, or JSON output), so an
invisible tool between two reasoning blocks doesn't break the region.
`jp conversation print` now applies the same visibility predicate as
the live path, which also fixes a pre-existing bug where replay
ignored `style.tool_call.show` and JSON format.

A new `style.reasoning.extend_across_tool_calls` setting (default
`true`) gates the extension; setting it to `false` restores the
previous per-block behavior. It has no effect when
`style.reasoning.background` is unset.

`jp_md` gains a public `ShadedWriter`/`shade` that maintains a
default-background invariant across a byte stream, including
carriage-return rewrites and `\x1b[K` erases, and `AnsiState` now
parses compound SGR parameters and OSC (hyperlink) sequences as whole
units so shading doesn't corrupt combined attributes or split a URL.

See RFD 088 for the full design.

Signed-off-by: Jean Mertz <git@jeanmertz.com>

320 of 345 new or added lines in 10 files covered. (92.75%)

1 existing line in 1 file now uncovered.

39052 of 57144 relevant lines covered (68.34%)

667.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
15
86.73
0.41% crates/jp_cli/src/render/tool.rs
5
75.81
-0.5% .config/jp/tools/src/fs/modify_file.rs
3
96.58
-0.09% crates/jp_md/src/ansi.rs
2
98.15
crates/jp_md/src/shade.rs

Coverage Regressions

Lines Coverage ∆ File
1
86.73
0.41% crates/jp_cli/src/render/tool.rs
Jobs
ID Job ID Ran Files Coverage
1 28930272646.1 08 Jul 2026 08:57AM UTC 433
68.34
GitHub Action Run
Source Files on build 28930272646
  • Tree
  • List 433
  • Changed 10
  • Source Changed 9
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28930272646
  • 26612fa7 on github
  • Prev Build on main (#28928980492)
  • Next Build on main (#28932561173)
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