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

dcdpr / jp / 24578098452
66%

Build:
DEFAULT BRANCH: main
Ran 17 Apr 2026 05:31PM UTC
Jobs 1
Files 290
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

17 Apr 2026 05:27PM UTC coverage: 64.024% (-0.2%) from 64.256%
24578098452

push

github

web-flow
feat(cli, storage, workspace): Add conversation archiving (#576)

Introduces `jp conversation archive` and `jp conversation unarchive`
subcommands, giving users a way to hide conversations from their working
set without deleting them permanently.

Archived conversations are physically moved into a `.archive/`
subdirectory inside `conversations/`. This means the active index never
sees them — no per-entry filtering, no memory overhead. The dot-prefix
convention is already used by `.trash/` and other transient state
directories, so the storage layer skips it automatically during index
scans.

The archive subcommand accepts explicit IDs, multi-target keywords
(`+pinned`, `+session`, …), or falls back to an interactive picker. When
the target is a pinned or currently active conversation, the user is
prompted to confirm before proceeding. A new `--inactive-since` flag
accepts a relative duration or absolute date (`3w`, `2026-01-01`) and
archives every conversation whose last activity predates the threshold —
useful for bulk cleanup of stale workspaces.

Unarchive mirrors the same resolution: picker when no IDs are given,
explicit IDs otherwise. Non-archived IDs are skipped with a warning.

`jp c ls` gains an `--archived` flag that switches the listing to scan
the archive partition. Default sort for archived listings is by
`archived_at` descending so the most recently archived conversation
appears first.

Three new conversation target keywords are added:

- `archived` / `a` — most recently archived conversation
- `+archived` / `+a` — all archived conversations
- `?archived` / `?a` — interactive picker over the archive partition

The `archived` and `?archived` keywords work with `jp c use` to
unarchive and activate in a single step:

```
jp c use archived      # unarchive the most recently archived, activate
jp c use ?archived     # pick from archive, unarchive, and activate
```

On the storage side, `PersistBackend` gains `archive` and `unarchive`
methods. ... (continued)

249 of 563 new or added lines in 17 files covered. (44.23%)

4 existing lines in 3 files now uncovered.

23196 of 36230 relevant lines covered (64.02%)

178.08 hits per line

Uncovered Changes

Lines Coverage ∆ File
95
24.41
-0.46% crates/jp_cli/src/cmd/target.rs
81
0.0
crates/jp_cli/src/cmd/conversation/archive.rs
40
0.0
crates/jp_cli/src/cmd/conversation/unarchive.rs
40
0.0
0.0% crates/jp_cli/src/cmd/conversation/use_.rs
27
0.0
0.0% crates/jp_cli/src/cmd/conversation/ls.rs
7
86.49
2.04% crates/jp_workspace/src/lib.rs
6
0.0
0.0% crates/jp_cli/src/cmd/conversation.rs
6
70.0
-17.5% crates/jp_storage/src/backend/null.rs
6
87.61
1.11% crates/jp_storage/src/lib.rs
5
10.55
-0.12% crates/jp_cli/src/cmd.rs
1
96.0
0.0% crates/jp_storage/src/backend/memory.rs

Coverage Regressions

Lines Coverage ∆ File
2
0.0
0.0% crates/jp_cli/src/cmd/conversation/use_.rs
1
0.0
0.0% crates/jp_cli/src/cmd/conversation/ls.rs
1
24.41
-0.46% crates/jp_cli/src/cmd/target.rs
Jobs
ID Job ID Ran Files Coverage
1 24578098452.1 17 Apr 2026 05:31PM UTC 290
64.02
GitHub Action Run
Source Files on build 24578098452
  • Tree
  • List 290
  • Changed 19
  • Source Changed 17
  • Coverage Changed 17
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24578098452
  • b3a16a9e on github
  • Prev Build on main (#24551603658)
  • Next Build on main (#24579266447)
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