rspack-perf-valgrind-goal

Installation
SKILL.md

Rspack perf valgrind goal

Use this for Rspack performance work where success is judged by the Callgrind instruction count of an exact benchmark stage measured locally in a pinned native-architecture Docker environment. Build the existing Rust benchmark target with ordinary Cargo, execute the selected binary directly under Valgrind, and decide only from local Callgrind profiles. Do not run a CodSpeed CLI, use a token, upload results, read CodSpeed PR comments, or wait for GitHub Actions.

The agent owns the loop. After the user gives the target benchmark stage, threshold, and scope, continue until local Valgrind confirms the target and correctness validation passes, a real blocker prevents progress, or the configured round limit is reached.

Invariants

  • Treat explicit user targets as binding: exact measured stage, required percentage, scope, PR, and maximum rounds.
  • Default to at most 10 optimization rounds unless the user specifies another limit.
  • One round means one optimization attempt, local correctness validation, correctness-focused review, a committed snapshot, local Docker/Valgrind measurement, a retain-or-revert decision, and progress reporting.
  • For Rspack work, use $rspack-perf to guide optimization strategy before changing code.
  • Preserve behavior unless the user explicitly accepts a semantic change.
  • Keep changes within the requested ownership boundary. Expand scope only when the measured bottleneck or a correctness fix requires it, and explain the expansion.
  • Use only local measurements from the same native Docker platform, image ID, fixture directory, benchmark target, benchmark filter, environment, and measurement mode for comparisons.
  • A usable run must execute only the intended benchmark filter and produce a Callgrind profile with a nonzero instruction_count. Benchmark harness labels, cloud percentages, and wall time are not performance evidence for this workflow.
  • Do not use GitHub Actions status or CodSpeed PR comments to judge performance or correctness. CI may run after a push, but this workflow neither waits for nor monitors it.
  • Use append-only commits for normal rounds. Do not routinely amend or force-push; rewrite history only for an explicit rebase or another unavoidable repository operation.
  • When running under a persistent /goal, retain the original target across resumes. Do not redefine success around partial progress.
Installs
1
GitHub Stars
12.9K
First Seen
12 days ago
rspack-perf-valgrind-goal — web-infra-dev/rspack