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

dcdpr / jp / 25391613317
64%

Build:
DEFAULT BRANCH: main
Ran 05 May 2026 05:28PM UTC
Jobs 1
Files 297
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

05 May 2026 05:24PM UTC coverage: 64.354% (-0.08%) from 64.43%
25391613317

push

github

web-flow
feat(config, conversation, cli): Add `user.name` attribution to turns (#598)

Introduces end-to-end per-turn attribution for the human side of a
conversation. Three layers are added in a single slice:

*Data model.** `jp_config` gains a new `user` module with `UserConfig`
and its `PartialUserConfig` counterpart, wired with the full schematic
boilerplate (assign, delta, fill, to_partial). The single field,
`user.name: Option<String>`, is exposed in `AppConfig` as a nested
setting and round-trips cleanly through serialization.

**Event schema.** `ChatRequest` in `jp_conversation` gains an `author:
Option<String>` field, serialized with `skip_serializing_if = "None"` so
existing persisted conversations deserialize without error. Both
`From<String>` and `From<&str>` impls default it to `None`.

**CLI wiring.** `jp init` now prompts "Your name for conversations:"
during workspace setup. The prompt is pre-filled by cascading through
`git config user.name` then `$USER`/`$USERNAME`. The answer is written
to user-global config so the setting is shared across all workspaces.
The prompt is silently skipped when the name is already configured
globally, or when no global config directory can be determined. On every
`jp query` invocation, the configured name is stamped onto the outgoing
`ChatRequest` as `author`, so transcripts attribute each turn correctly
even when teammates with different local configs continue the same
conversation.

---------

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

28 of 89 new or added lines in 8 files covered. (31.46%)

3 existing lines in 3 files now uncovered.

24641 of 38290 relevant lines covered (64.35%)

177.11 hits per line

Uncovered Changes

Lines Coverage ∆ File
56
0.0
0.0% crates/jp_cli/src/cmd/init.rs
1
3.85
-0.02% crates/jp_cli/src/cmd/conversation/edit.rs
1
29.04
-0.04% crates/jp_cli/src/cmd/query.rs
1
72.43
-0.25% crates/jp_cli/src/cmd/query/turn/coordinator.rs
1
95.45
crates/jp_config/src/user.rs
1
0.0
0.0% crates/jp_task/src/task/title_generator.rs

Coverage Regressions

Lines Coverage ∆ File
1
3.85
-0.02% crates/jp_cli/src/cmd/conversation/edit.rs
1
84.62
0.32% crates/jp_config/src/lib.rs
1
0.0
0.0% crates/jp_task/src/task/title_generator.rs
Jobs
ID Job ID Ran Files Coverage
1 25391613317.1 05 May 2026 05:28PM UTC 297
64.35
GitHub Action Run
Source Files on build 25391613317
  • Tree
  • List 297
  • Changed 8
  • Source Changed 8
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25391613317
  • 6362ab71 on github
  • Prev Build on main (#25388444742)
  • Next Build on main (#25392492630)
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