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

dcdpr / jp / 27683215228
67%

Build:
DEFAULT BRANCH: main
Ran 17 Jun 2026 10:45AM UTC
Jobs 1
Files 416
Run time 2min
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

17 Jun 2026 10:41AM UTC coverage: 66.574% (+0.03%) from 66.541%
27683215228

push

github

web-flow
feat(cli, config, conversation): Implement conversation compaction (#544)

Add `jp conversation compact` command and `--compact` / `-k` flag across
`query`, `fork`, and `compact` commands, implementing RFD 064
(non-destructive conversation compaction).

The core idea is that compaction is additive: a `Compaction` overlay
event is appended to the conversation stream rather than modifying or
deleting any existing events. The projection layer applies overlays at
request-build time (`Thread::into_parts()`), so the LLM sees a reduced
view while the full raw history is preserved on disk.

**What users can do now:**

```sh
# Compact with workspace defaults (strip reasoning + tools)
jp conversation compact

# Strip reasoning, keep last 5 turns
jp conversation compact --reasoning --keep-last 5

# Preview without applying
jp conversation compact --dry-run

# Remove all compaction events (undo)
jp conversation compact --reset

# Compact before querying (inline DSL, summarize all but last 3 turns)
jp query -k s:..-3 -- "Continue the task"

# Fork and compact in one step
jp conversation fork --compact
```

**DSL (`--compact=SPEC`)** supports `r` (reasoning), `t` (tools), `s`
(summarize) as policy letters, combined with `+`, and an optional range
after `:`. Examples: `s:..-3`, `r+t`, `s:5..-3`. Bare `--compact`
applies config rules; `--compact=SPEC` applies inline rules; both forms
compose.

**Summarization** calls the configured LLM and stores the result in the
`Compaction` event as a `SummaryPolicy`. At projection time the covered
turns are replaced with a synthetic request/response pair containing the
summary text. Summary range auto-extension prevents partial overlaps
with existing summary compactions.

**Configuration** is under `conversation.compaction.rules` — a
`MergedVec<CompactionRuleConfig>` where each rule produces one
compaction event. The built-in default (strip reasoning + tools) uses
`discard_when_merged: true` so it is replaced the moment any user ... (continued)

838 of 1266 new or added lines in 17 files covered. (66.19%)

3 existing lines in 1 file now uncovered.

35454 of 53255 relevant lines covered (66.57%)

403.17 hits per line

Uncovered Changes

Lines Coverage ∆ File
190
37.7
crates/jp_cli/src/cmd/conversation/compact.rs
71
67.58
crates/jp_config/src/conversation/compaction.rs
69
13.75
crates/jp_cli/src/cmd/conversation/summarize.rs
24
43.89
-1.01% crates/jp_cli/src/cmd/query.rs
18
63.64
-18.82% crates/jp_cli/src/cmd/conversation/fork.rs
14
90.79
crates/jp_cli/src/cmd/compact_flag.rs
14
85.21
2.61% crates/jp_conversation/src/stream.rs
11
88.89
crates/jp_conversation/src/compaction.rs
6
87.79
-2.73% crates/jp_config/src/lib.rs
5
96.77
crates/jp_conversation/src/stream/projection.rs
3
13.33
13.33% crates/jp_cli/src/cmd/conversation.rs
1
21.67
0.38% crates/jp_cli/src/cmd.rs
1
93.88
-0.38% crates/jp_cli/src/cmd/conversation/print.rs
1
37.38
1.45% crates/jp_cli/src/lib.rs

Coverage Regressions

Lines Coverage ∆ File
3
79.57
-1.08% crates/jp_config/src/model/id.rs
Jobs
ID Job ID Ran Files Coverage
1 27683215228.1 17 Jun 2026 10:45AM UTC 416
66.57
GitHub Action Run
Source Files on build 27683215228
  • Tree
  • List 416
  • Changed 17
  • Source Changed 14
  • Coverage Changed 17
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27683215228
  • 79432b14 on github
  • Prev Build on main (#27565777572)
  • Next Build on main (#27685679491)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc