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

dcdpr / jp / 28377170335
69%

Build:
DEFAULT BRANCH: main
Ran 29 Jun 2026 01:56PM UTC
Jobs 1
Files 421
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 01:53PM UTC coverage: 67.202% (+0.09%) from 67.108%
28377170335

push

github

web-flow
refactor(cli): Unify turn-range flags across `compact` and `print` (#804)

Both `jp conversation compact` and `jp conversation print` now share the
same `--from`/`--to`/`--last`/`--turn` selectors via a new `TurnRange`
type in `cmd::turn_range`. Previously each command had its own parallel
implementations of these flags with inconsistent semantics.

All absolute turn positions on the user-facing side are now **1-based**:
`--turn 1` and `--from 1` address the first turn, `--to -1` addresses
the last. The config `@N` form for `keep_first`/`keep_last` is likewise
1-based. Internally, `RangeBound::Absolute` and `Turn::index()` remain
0-based; the translation happens once at the CLI resolution boundary in
`cmd::turn_range`.

Timeline output (`jp conversation compact --dry-run`) now displays
1-based turn numbers ("Compacted turns 2..=8" rather than "1..=7").

A new architecture document
(`docs/architecture/indexing-conventions.md`) fixes the 1-based/0-based
convention so future flags, config keys, and display values have a
single rule to follow. The RFD-064 document is updated with a note
pointing to the new convention.

BREAKING CHANGE: Absolute turn positions in `--from`, `--to`, and
`--turn` are now 1-based

Any script or config using a numeric absolute turn index (`--from 3`,
`--to 7`, `--turn 2`, or the `@N` config form) must increment the value
by one to preserve the previous behaviour. Count-based flags (`--last
N`, `--keep-first N`, `--keep-last N`) and from-end offsets (`--from
-N`) are unaffected.

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

163 of 208 new or added lines in 7 files covered. (78.37%)

3 existing lines in 2 files now uncovered.

36812 of 54778 relevant lines covered (67.2%)

437.25 hits per line

Uncovered Changes

Lines Coverage ∆ File
20
46.95
3.44% crates/jp_cli/src/cmd/conversation/compact.rs
15
88.81
crates/jp_cli/src/cmd/turn_range.rs
4
90.48
-3.81% crates/jp_cli/src/cmd/conversation/print.rs
2
68.42
0.0% crates/jp_cli/src/cmd/conversation/fork.rs
2
43.14
0.0% crates/jp_cli/src/cmd/query.rs
2
68.72
2.35% crates/jp_config/src/conversation/compaction.rs

Coverage Regressions

Lines Coverage ∆ File
2
46.95
3.44% crates/jp_cli/src/cmd/conversation/compact.rs
1
68.72
2.35% crates/jp_config/src/conversation/compaction.rs
Jobs
ID Job ID Ran Files Coverage
1 28377170335.1 29 Jun 2026 01:56PM UTC 421
67.2
GitHub Action Run
Source Files on build 28377170335
  • Tree
  • List 421
  • Changed 8
  • Source Changed 7
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28377170335
  • 11282036 on github
  • Prev Build on main (#28376240847)
  • Next Build on main (#28377976425)
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