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

dcdpr / jp / 17976059241
58%

Build:
DEFAULT BRANCH: main
Ran 24 Sep 2025 12:12PM UTC
Jobs 1
Files 132
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

24 Sep 2025 12:05PM UTC coverage: 43.02% (+2.4%) from 40.616%
17976059241

push

github

web-flow
refactor!: Major configuration and usage system rewrite (#243)

This commit introduces a large rewrite of JP's configuration system and
usage patterns, migrating from the `confique` crate to a forked version
of `schematic` for more robust configuration management architecture.

### Configuration System Overhaul

Replace the `confique`-based configuration system with `schematic`,
providing significantly better type safety, validation, and
extensibility. The new system restructures configuration management
around a unified `provider` architecture that cleanly separates LLM
providers, MCP servers, and other services. Configuration parsing has
been completely rewritten to support more sophisticated validation and
error reporting with context-aware suggestions for invalid keys.

### Enhanced Assignment System

The existing dynamic key-value assignment system has been greatly
improved and simplified to make it as convenient as possible to modify
configuration fields and structures without requiring large refactorings
to the `AssignKeyValue` implementation. The new system provides more
intelligent type coercion, better error messages, and support for
complex nested object assignments with automatic flattening and merging
capabilities.

### Tool Configuration Redesign

Completely restructure tool management by unifying previously disparate
systems into a cohesive configuration-driven approach. Previously, local
tools were configured in isolated `.jp/mcp/tools/*.md` files that had no
integration with the global configuration system and couldn't benefit
from inheritance or merging. These were awkwardly crammed into the MCP
architecture despite not actually using MCP servers. The new system
introduces a proper "tools" configuration that can source from MCP
servers, local tool definitions, or built-in tools, while MCP
integration returns to its proper role of handling external MCP servers
through the `providers.mcp` configuration field.

Tools now also have to be... (continued)

1965 of 3157 new or added lines in 68 files covered. (62.24%)

86 existing lines in 22 files now uncovered.

5248 of 12199 relevant lines covered (43.02%)

6.08 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
0.0
0.0% .config/jp/tools/src/github/repo.rs
1
0.0
0.0% crates/jp_cli/src/cmd/attachment/ls.rs
1
0.0
0.0% crates/jp_cli/src/cmd/config/fmt.rs
1
0.0
0.0% crates/jp_cli/src/cmd/config/set.rs
1
0.0
0.0% crates/jp_cli/src/cmd/config/show.rs
1
99.15
73.06% crates/jp_config/src/assistant.rs
1
71.43
-16.07% crates/jp_config/src/conversation/title.rs
1
75.0
-2.78% crates/jp_config/src/conversation/title/generate.rs
1
98.86
98.86% crates/jp_config/src/model.rs
1
97.37
crates/jp_config/src/providers/llm.rs
1
88.89
crates/jp_config/src/providers/llm/anthropic.rs
1
85.71
crates/jp_config/src/providers/llm/deepseek.rs
1
87.5
crates/jp_config/src/providers/llm/google.rs
1
85.71
crates/jp_config/src/providers/llm/llamacpp.rs
1
85.71
crates/jp_config/src/providers/llm/ollama.rs
1
88.89
crates/jp_config/src/providers/llm/openai.rs
1
90.0
crates/jp_config/src/providers/llm/openrouter.rs
1
90.0
27.5% crates/jp_config/src/style.rs
1
90.91
48.8% crates/jp_config/src/style/code.rs
1
71.43
71.43% crates/jp_config/src/style/reasoning.rs
1
71.43
71.43% crates/jp_config/src/style/tool_call.rs
1
67.56
3.64% crates/jp_llm/src/provider.rs
2
0.0
0.0% crates/jp_cli/src/cmd/attachment.rs
2
0.0
0.0% crates/jp_cli/src/cmd/attachment/add.rs
2
0.0
0.0% crates/jp_cli/src/cmd/attachment/rm.rs
2
78.57
13.19% crates/jp_config/src/conversation.rs
2
80.0
crates/jp_config/src/providers.rs
2
42.11
0.0% crates/jp_conversation/src/thread.rs
3
70.29
-7.13% crates/jp_conversation/src/conversation.rs
3
59.42
0.2% crates/jp_llm/src/provider/openrouter.rs
4
78.26
29.2% crates/jp_config/src/style/typewriter.rs
4
50.17
2.72% crates/jp_llm/src/provider/llamacpp.rs
5
75.0
crates/jp_config/src/conversation/tool/style.rs
5
95.8
crates/jp_config/src/lib.rs
6
59.78
-1.68% crates/jp_llm/src/provider/google.rs
7
56.94
6.68% crates/jp_llm/src/provider/anthropic.rs
8
0.0
0.0% crates/jp_cli/src/cmd/query/response_handler.rs
9
72.97
19.4% crates/jp_config/src/template.rs
10
54.17
45.83% crates/jp_config/src/model/parameters.rs
14
0.0
0.0% crates/jp_cli/src/lib.rs
14
36.36
crates/jp_config/src/providers/mcp.rs
15
0.0
0.0% crates/jp_cli/src/cmd.rs
15
12.5
-8.93% crates/jp_cli/src/cmd/init.rs
16
82.02
crates/jp_llm/src/query/structured.rs
17
0.0
0.0% crates/jp_task/src/task/title_generator.rs
18
23.46
23.46% crates/jp_config/src/fs.rs
18
0.0
crates/jp_mcp/src/id.rs
19
0.0
0.0% crates/jp_cli/src/cmd/conversation/edit.rs
19
78.89
78.89% crates/jp_config/src/editor.rs
20
71.01
crates/jp_config/src/model/id.rs
21
85.0
crates/jp_config/src/assistant/instructions.rs
23
97.03
32.08% crates/jp_config/src/assignment.rs
23
73.83
crates/jp_config/src/util.rs
25
0.0
0.0% crates/jp_cli/src/ctx.rs
27
0.0
0.0% crates/jp_cli/src/editor.rs
27
64.88
2.54% crates/jp_llm/src/provider/openai.rs
45
0.0
0.0% crates/jp_cli/src/cmd/query.rs
99
0.0
0.0% crates/jp_cli/src/cmd/query/event.rs
116
5.21
5.21% crates/jp_mcp/src/client.rs
117
31.58
crates/jp_config/src/conversation/tool.rs
386
1.78
crates/jp_llm/src/tool.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
89.52
3.48% crates/jp_attachment_cmd_output/src/lib.rs
1
0.0
0.0% crates/jp_cli/src/cmd/query/response_handler.rs
1
0.0
0.0% crates/jp_cli/src/lib.rs
1
97.03
32.08% crates/jp_config/src/assignment.rs
1
78.57
13.19% crates/jp_config/src/conversation.rs
1
75.0
-2.78% crates/jp_config/src/conversation/title/generate.rs
1
71.43
-16.07% crates/jp_config/src/conversation/title.rs
1
54.17
45.83% crates/jp_config/src/model/parameters.rs
1
59.78
-1.68% crates/jp_llm/src/provider/google.rs
1
70.95
-0.56% crates/jp_openrouter/src/client.rs
1
0.0
0.0% crates/jp_task/src/task/title_generator.rs
2
0.0
0.0% crates/jp_cli/src/cmd/conversation/edit.rs
2
12.5
-8.93% crates/jp_cli/src/cmd/init.rs
2
64.88
2.54% crates/jp_llm/src/provider/openai.rs
4
0.0
0.0% crates/jp_cli/src/editor.rs
4
50.17
2.72% crates/jp_llm/src/provider/llamacpp.rs
4
5.21
5.21% crates/jp_mcp/src/client.rs
5
0.0
0.0% crates/jp_cli/src/cmd/query/event.rs
7
0.0
0.0% crates/jp_cli/src/cmd/query.rs
10
70.29
-7.13% crates/jp_conversation/src/conversation.rs
10
56.94
6.68% crates/jp_llm/src/provider/anthropic.rs
25
39.68
-5.73% crates/jp_tombmap/src/lib.rs
Jobs
ID Job ID Ran Files Coverage
1 17976059241.1 24 Sep 2025 12:12PM UTC 132
43.02
GitHub Action Run
Source Files on build 17976059241
  • Tree
  • List 132
  • Changed 61
  • Source Changed 56
  • Coverage Changed 49
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #17976059241
  • 109572a4 on github
  • Prev Build on main (#17466639787)
  • Next Build on main (#17997493897)
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