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

dcdpr / jp / 26583414471
69%

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

28 May 2026 03:09PM UTC coverage: 65.896% (+0.02%) from 65.879%
26583414471

push

github

web-flow
chore(tools): Add `debug_jp` profiling and trace tools (#670)

Add a new `debug_jp_*` tool family to the project tooling that lets the
assistant profile and trace `jp` commands in a sandboxed environment.
Three tools are introduced:

- `debug_jp_profile_sampling` — wall-clock profiling via macOS
`sample(1)`, with demangled call-graph output rendered as a Markdown
report. Parses the indented thread trees, reconstructs ancestry chains
across branches, and aggregates hot leaves.

- `debug_jp_profile_heap` — dhat heap profiling, built with the `dhat`
Cargo feature. Parses the resulting JSON, strips allocator/stdlib
dispatch noise from call stacks, and renders headline stats plus hot
leaves and stacks tables.

- `debug_jp_trace` — `JP_DEBUG=1` trace log capture. Launches `jp` with
the tracing layer active, retrieves the JSONL log, and renders it in a
compact logfmt-like format with level/target/grep filtering and
run-collapsing for repeated events.

All three tools share a common harness (`debug_jp/util/`):

- `sandbox` — RAII-managed isolated environment: a detached `git
worktree` with uncommitted changes applied, plus a scratch
`JP_USER_DATA_DIR`. Supports optional copy-on-write cloning of the real
user data via `reflink_or_copy` (macOS `clonefile(2)` fast path,
per-file fallback otherwise).

- `build` — `cargo build --profile profiling` runner that resolves the
binary path via `cargo metadata`.

- `launch` — two-phase spawn/wait abstraction exposing the child PID so
`sample(1)` can attach between the two phases.

Tool definitions are added in `.jp/mcp/tools/debug_jp/` with all three
tools disabled by default (`enable = false`) and `run = "ask"`.

---------

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

31485 of 47780 relevant lines covered (65.9%)

308.44 hits per line

Jobs
ID Job ID Ran Files Coverage
1 26583414471.1 28 May 2026 03:13PM UTC 380
65.9
GitHub Action Run
Source Files on build 26583414471
  • Tree
  • List 380
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26583414471
  • 194e5c4d on github
  • Prev Build on main (#26402944318)
  • Next Build on main (#26588707478)
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