Use github.event.pull_request.author_association to bypass the
linked-issue requirement for MEMBER and COLLABORATOR authors.
External contributors still must reference an issue or discussion.
- Add mypy as a local pre-commit hook via prek (ruff-check + ruff-format
+ mypy now all run at commit time)
- Add Setup section to CLAUDE.md with uv sync and prek install steps
Replaces source-level JavaScript function tracing with Babel AST
transformation via babel-tracer-plugin.js and trace-runner.js. Adds
replay test generation, Python-side tracer runner, and --language
flag to the tracer CLI for explicit JS/TS routing.
- Add code_to_optimize/**/package-lock.json to .gitignore
- Re-enable Dependabot version updates with limit of 5 PRs per ecosystem
- Keep code_to_optimize/ ignore comment in dependabot.yml
pytest-cov's trace function conflicts with the Tracer class under test,
causing it to self-disable in CI. Linux also reports ~1% lower coverage
than macOS due to platform-specific branches.
Assigns per-directory code ownership to current org members based on
full commit history analysis, so PRs automatically request reviews from
the right people.
- Add pytest-cov to dev dependencies
- Add .coveragerc with branch coverage, 60% floor (current baseline),
and source/omit configuration
- Add coverage CI job (ubuntu/py3.13) that runs pytest with --cov,
enforces the floor, and uploads coverage.xml as an artifact
- Wire coverage into the required-checks-passed gate
Closes#2080
- Add PR template with required linked issue/discussion section
- Add check-linked-issue CI job that validates PR body contains a
reference (#123, Closes/Fixes/Relates, GitHub URL, or CF-# ticket)
- Wire into required-checks-passed gate so it blocks merge
- Update CONTRIBUTING.md with the policy and motivation
Closes#522
Covers the two audiences the issue calls out:
1. People contributing changes back to Codeflash - development
environment setup with uv, the single-command verification via
uv run prek, test runner invocation, code-style pointers to
.claude/rules/code-style.md, and the branch / commit / PR
conventions from .claude/rules/git.md and CLAUDE.md.
2. People using Codeflash in editable mode from a source checkout
to optimize their own projects, including the install commands
for uv and pip, when editable mode is appropriate vs installing
the PyPI package, and a pointer to the README Quick Start for
the codeflash init flow.
Keep the combined JFR + tracing agent single JVM invocation from main while
preserving the fix's intent: raise when trace-db was not created, warn when
exit code is non-zero but trace-db exists. Integration tests rewritten to
match the combined-invocation semantics.
Gradle evaluates all project configurations during the configuration
phase, even when only one module is targeted. Multi-module projects with
diverse toolchain requirements (e.g., OpenRewrite's rewrite-gradle needs
JDK 8) fail when an unrelated module's toolchain isn't available.
Adds --configure-on-demand to all 8 Gradle command construction sites
so Gradle only configures projects needed for the requested task.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
_run_java_with_graceful_timeout() discarded the subprocess exit code in
both the no-timeout and timeout paths. If Maven/Gradle failed (compilation
error, OOM, etc.), the tracer silently continued with missing/stale data.
Now returns the exit code. Stage 1 (JFR profiling) warns on failure but
continues. Stage 2 (argument capture) raises RuntimeError since trace
data is essential for replay test generation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Keep only repeatString which reliably produces 284% improvement.
Drop computeSum (marginal 16%), filterEvens and instanceMethod (no
optimization found). Reduces tracer E2E from ~1h27m to ~21m.