Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion barretenberg/.claude/skills/profile-chonk/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,25 @@ ssh $BB_SSH_KEY $BB_SSH_INSTANCE "echo ok" || { echo "ERROR: Cannot connect."; e

Ask a crypto eng team member for the SSH key and hostname.

## Remote bencher contract

The bencher is a runner, not a Git workspace or toolchain bootstrap host.

For private branches and private repos, the canonical workflow is:

1. Build the native or WASM `bb` binary locally in the session workspace.
2. Copy only the built binary plus the pinned input files to the bencher.
3. Run that copied binary on the bencher and copy trace outputs back.

Do not send git bundles to the bencher. Do not create remote worktrees. Do not
fetch private branches from GitHub on the bencher. Do not install per-session
toolchains such as WASI SDK on the shared bencher to make a build work there.

If the local session cannot build because `emcc`, WASI SDK, or another build
tool is missing, stop and report it as a local devbox/copy-base bootstrap issue.
The fix is to make the local build environment complete enough to produce the
binary, not to mutate the shared bencher.

## Available flows

```
Expand Down Expand Up @@ -337,4 +356,4 @@ All results land in `/tmp/chonk-profiles/{native,wasm}/<flow>/` (outside the rep
- **WASM is ~2.8× slower than native** — expected; the ratio is consistent across circuit types.
- **Aggregate vs per-call:** `*.aggregate.json` loads faster in Perfetto but loses per-call detail. Use per-call for hot-spot identification.
- **Lock contention:** If the remote lock is held, tell the user and suggest waiting. Do not poll or retry in a loop.
- **Side-by-side comparison:** Run native first, then `--wasm` with the same flow, and share both Perfetto links to compare threading patterns.
- **Side-by-side comparison:** Run native first, then `--wasm` with the same flow, and share both Perfetto links to compare threading patterns.
19 changes: 19 additions & 0 deletions barretenberg/.claude/skills/remote-bench/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,25 @@ ssh $BB_SSH_KEY $BB_SSH_INSTANCE "echo ok" || {

**If the env is not set up, stop and tell the user.** Do not attempt to run benchmarks locally as a fallback — the user invoked `/remote-bench` because they want stable results.

## Remote bencher contract

The bencher is an execution host only. It is not a Git workspace and not a
toolchain bootstrap host.

For private branches and private repos, build the benchmark binary locally in
the session workspace, then copy the built binary and required input/result
files with `scp`. The bencher should receive binaries and data, not source
history.

Do not send git bundles to the bencher. Do not create remote worktrees. Do not
fetch private branches from GitHub on the bencher. Do not install per-session
toolchains such as WASI SDK on the shared bencher to make a build work there.

If local build tooling is missing (`emcc`, WASI SDK, CMake preset support, or
similar), stop and report a local devbox/copy-base bootstrap issue. Fix the
local build environment so it can produce the binary; do not mutate the shared
bencher as a workaround.

### Setup (one-time)

Add to `~/.zshrc` (ask a crypto eng team member for actual values):
Expand Down
Loading