Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
a969187
refactor: replace jedi_definition with definition_type on FunctionSource
KRRT7 Feb 10, 2026
b69a713
feat: add persistent CallGraph class with SQLite caching
KRRT7 Feb 10, 2026
0078539
feat: wire CallGraph into the optimization pipeline
KRRT7 Feb 10, 2026
b604bf0
test: add unit and caching tests for CallGraph
KRRT7 Feb 10, 2026
5c4a65c
feat: add Rich Live visualization for call graph indexing
KRRT7 Feb 10, 2026
0c1397e
feat: enrich call graph display with cross-file tracking and dependen…
KRRT7 Feb 10, 2026
92be009
feat: rank functions by dependency count when no trace file is available
KRRT7 Feb 10, 2026
7d5638d
feat: parallelize call graph indexing with ProcessPoolExecutor
KRRT7 Feb 10, 2026
fada839
Merge branch 'main' into call-graphee
KRRT7 Feb 11, 2026
9cc1004
refactor: improve call graph live display and filter non-Python files
KRRT7 Feb 12, 2026
f3f0b0e
refactor: move CallGraph into Python language support layer
KRRT7 Feb 12, 2026
ed31cd1
refactor: filter files by language extensions and show project-relati…
KRRT7 Feb 12, 2026
5341ac8
fix: improve CLI output formatting for runtime estimate and call grap…
KRRT7 Feb 12, 2026
ee0da84
refactor: simplify call graph DB schema to two flat human-readable ta…
KRRT7 Feb 12, 2026
0a5e814
Update config_consts.py
KRRT7 Feb 12, 2026
13f8490
Merge branch 'main' into call-graphee
KRRT7 Feb 12, 2026
54aa7e1
fix: skip call graph building in CI and fix ruff formatting
KRRT7 Feb 12, 2026
c096c82
refactor: simplify compat.py by removing unnecessary class wrapper
KRRT7 Feb 12, 2026
bc29463
Merge branch 'main' into call-graphee
KRRT7 Feb 12, 2026
8555da0
fix: resolve mypy type errors in call_graph.py
github-actions[bot] Feb 12, 2026
513e590
fix: revert token limits back to 16K from unintended 100K increase
KRRT7 Feb 12, 2026
be4a2ca
feat: increase optimization and testgen token limits to 64K
KRRT7 Feb 12, 2026
9e90448
fix: use explicit token limits in tests to decouple from global constant
KRRT7 Feb 12, 2026
fc42548
test: update token limit tests for 64K default
KRRT7 Feb 12, 2026
80759c9
fix: add None guard for lang_support before accessing file_extensions
KRRT7 Feb 12, 2026
d7edef8
refactor: batch callee counting in call_graph_summary with new count_…
KRRT7 Feb 12, 2026
c3fdf31
refactor: use batch count_callees_per_function for dependency ranking…
KRRT7 Feb 12, 2026
4572783
fix: remove slots=True from dataclass for Python 3.9 compatibility
KRRT7 Feb 12, 2026
267dff9
Optimize call_graph_summary
codeflash-ai[bot] Feb 12, 2026
182c1b0
style: auto-fix linting issues
github-actions[bot] Feb 12, 2026
4523ac2
Optimize _analyze_imports_in_optimized_code
codeflash-ai[bot] Feb 12, 2026
0e284ad
style: auto-fix linting issues
github-actions[bot] Feb 12, 2026
e909182
Merge pull request #1462 from codeflash-ai/codeflash/optimize-pr1460-…
KRRT7 Feb 12, 2026
5ac33e1
Merge pull request #1463 from codeflash-ai/codeflash/optimize-pr1460-…
KRRT7 Feb 12, 2026
e962f73
Merge branch 'main' into call-graphee
KRRT7 Feb 13, 2026
bba3e0a
Merge branch 'main' into call-graphee
KRRT7 Feb 17, 2026
0bcc483
Merge branch 'main' into call-graphee
KRRT7 Feb 17, 2026
11543f0
fix: use (file_path, qualified_name) key in count_callees_per_function
KRRT7 Feb 17, 2026
aa10823
Merge branch 'main' into call-graphee
KRRT7 Feb 18, 2026
3012ec9
Merge branch 'main' into call-graphee
KRRT7 Feb 18, 2026
223af06
Merge branch 'main' into call-graphee
KRRT7 Feb 18, 2026
43d74a8
fix: use iterative DFS for function discovery to avoid RecursionError
KRRT7 Feb 18, 2026
5663985
style: auto-fix linting issues
github-actions[bot] Feb 18, 2026
890c466
Optimize find_functions_with_return_statement
codeflash-ai[bot] Feb 18, 2026
88b0ee5
fix: batch SQL queries and deduplicate Path.resolve() in call graph
KRRT7 Feb 18, 2026
9b0606a
Merge pull request #1534 from codeflash-ai/codeflash/optimize-pr1460-…
KRRT7 Feb 18, 2026
f7b0401
Optimize function_has_return_statement
codeflash-ai[bot] Feb 18, 2026
20c956c
feat: add codeflash-benchmark automated release to publish workflow
KRRT7 Feb 18, 2026
a76f28f
chore: bump codeflash-benchmark version to 0.3.0
KRRT7 Feb 18, 2026
e2b4b15
style: auto-fix linting issues
github-actions[bot] Feb 18, 2026
35d4d92
Merge branch 'main' into call-graphee
KRRT7 Feb 18, 2026
392453a
Merge pull request #1535 from codeflash-ai/codeflash/optimize-pr1460-…
KRRT7 Feb 18, 2026
5aa115a
feat: make crosshair-tool optional for Python 3.15+
KRRT7 Feb 18, 2026
efd215d
Merge pull request #1537 from codeflash-ai/cf-crosshair-optional-3.15
KRRT7 Feb 18, 2026
35091cd
feat: replace rglob with os.walk and per-language directory pruning
KRRT7 Feb 19, 2026
d950bb1
style: auto-fix formatting and resolve mypy no-redef error
github-actions[bot] Feb 19, 2026
4473430
Update codeflash/discovery/functions_to_optimize.py
KRRT7 Feb 19, 2026
aa5db4c
style: remove duplicate if statement causing syntax error
github-actions[bot] Feb 19, 2026
14f4324
chore: update tessl tiles and upgrade dependencies
KRRT7 Feb 19, 2026
d91ee0a
chore: update tessl agent config files
KRRT7 Feb 19, 2026
47f5887
Merge pull request #1539 from codeflash-ai/faster-file-discovery
KRRT7 Feb 19, 2026
9e8c29d
fix: include module-level variables and second-degree helpers in test…
KRRT7 Feb 19, 2026
5f7dadf
style: auto-fix ruff formatting in function_optimizer.py
github-actions[bot] Feb 19, 2026
6360b63
chore: remove tiles directory
KRRT7 Feb 19, 2026
6a5c9c1
test: update expected context values for statement-type helpers
KRRT7 Feb 19, 2026
ee3737a
chore: exclude test and fixture dirs from ty type checking
KRRT7 Feb 19, 2026
f816502
Merge pull request #1540 from codeflash-ai/fix-testgen-context-imports
KRRT7 Feb 19, 2026
b058dee
perf: disable Sentry subprocess instrumentation and tracing
KRRT7 Feb 19, 2026
b19e1bd
perf: replace backtracking regexes with character-class patterns in p…
KRRT7 Feb 19, 2026
67ee734
perf: remove redundant project_root_path.resolve() from hot path
KRRT7 Feb 19, 2026
377083a
style: auto-fix ruff formatting in parse_test_output.py
github-actions[bot] Feb 19, 2026
486f6b8
fix: use disabled_integrations to exclude StdlibIntegration
KRRT7 Feb 19, 2026
8995279
style: add return type annotations to test methods
github-actions[bot] Feb 19, 2026
4742585
perf: remove remaining redundant .resolve() calls on pre-resolved paths
KRRT7 Feb 19, 2026
27937d4
Merge branch 'narrow-sentry-stdlib-integration' of https://github.com…
KRRT7 Feb 19, 2026
dc9c60a
perf: remove remaining redundant .resolve() calls on pre-resolved paths
KRRT7 Feb 19, 2026
ac096d9
style: auto-fix line length formatting in functions_to_optimize.py
github-actions[bot] Feb 19, 2026
e285908
fix: resolve tests_project_root at inject_profiling entry point
KRRT7 Feb 19, 2026
b3fd6bf
fix: resolve both sides of path comparisons for Windows 8.3 name cons…
KRRT7 Feb 19, 2026
a726b46
fix: guard against None definition_path from Jedi
KRRT7 Feb 19, 2026
5efa1ee
style: remove unused os import in code_context_extractor
github-actions[bot] Feb 19, 2026
74246e6
fix: resolve function_to_optimize.file_path for Windows 8.3 name cons…
github-actions[bot] Feb 19, 2026
3cdf710
fix: use dataclasses.replace() for frozen FunctionToOptimize path res…
github-actions[bot] Feb 19, 2026
8f65c9f
fix: resolve paths in revert_unused_helper_functions for Windows 8.3 …
github-actions[bot] Feb 19, 2026
401d24c
Merge pull request #1541 from codeflash-ai/narrow-sentry-stdlib-integ…
KRRT7 Feb 19, 2026
2652e71
Merge remote-tracking branch 'origin/main' into call-graphee
KRRT7 Feb 19, 2026
522969b
fix: restore call_graph parameter to get_code_optimization_context
KRRT7 Feb 19, 2026
3e282ee
fix: address security vulnerabilities while maintaining Python 3.9 su…
KRRT7 Feb 19, 2026
d09fa5c
ci: add Windows to unit tests matrix
KRRT7 Feb 19, 2026
8199728
ci: consolidate Windows tests into main unit-tests workflow
KRRT7 Feb 19, 2026
09613b6
version bump
misrasaurabh1 Feb 19, 2026
ece8ae2
Merge pull request #1544 from codeflash-ai/fix-security-vulnerabilities
KRRT7 Feb 19, 2026
f1c707a
Simplify dependency summary output
KRRT7 Feb 19, 2026
12f36fb
Clarify call graph UI text
KRRT7 Feb 19, 2026
09ad2f5
Rename Python call graph to reference graph
KRRT7 Feb 19, 2026
7e647a0
Merge pull request #1545 from codeflash-ai/benchmark-3.0
KRRT7 Feb 19, 2026
cb91158
refactor: rename test file and imports to match reference graph rename
KRRT7 Feb 19, 2026
82783f8
disable it for now
KRRT7 Feb 19, 2026
d2dea5c
fix: remove stale jedi_definition argument from FunctionSource calls
KRRT7 Feb 19, 2026
3dabd44
Merge pull request #1460 from codeflash-ai/call-graphee
KRRT7 Feb 19, 2026
8447394
docs: add PR review guidance for stale feedback
KRRT7 Feb 19, 2026
51911cf
Update uv.lock
KRRT7 Feb 19, 2026
9431952
refactor: move static_analysis, concolic_utils, coverage_utils to lan…
KRRT7 Feb 19, 2026
ae2ee47
refactor: move line_profile_utils, edit_generated_tests to languages/…
KRRT7 Feb 19, 2026
ef99747
refactor: move code_extractor, code_replacer to languages/python/stat…
KRRT7 Feb 19, 2026
52a79bc
chore: add static_analysis __init__.py and fix import sorting
KRRT7 Feb 19, 2026
52c0e80
fix: update mypy_allowlist.txt paths for moved static analysis modules
KRRT7 Feb 19, 2026
b3d77dd
Optimize PythonSupport.replace_function
codeflash-ai[bot] Feb 19, 2026
7fdf575
style: auto-fix linting issues
github-actions[bot] Feb 19, 2026
09a0a33
fix: update stale @patch paths in test_is_numerical_code.py
KRRT7 Feb 19, 2026
757f20b
Merge pull request #1547 from codeflash-ai/codeflash/optimize-pr1546-…
KRRT7 Feb 19, 2026
1fcdb4c
Move JS test-edit helpers into javascript module
KRRT7 Feb 19, 2026
1ceadca
Move JS code extraction/replacement helpers
KRRT7 Feb 19, 2026
4fbe5a1
style: auto-fix linting issues
github-actions[bot] Feb 19, 2026
4dde695
style: fix trailing newline formatting
github-actions[bot] Feb 19, 2026
936ed7e
Fix init replacement when class not preexisting
KRRT7 Feb 19, 2026
f4b9040
Add language support hooks for test postprocessing
KRRT7 Feb 19, 2026
0bbf220
Route generated test handling through language support
KRRT7 Feb 19, 2026
7730436
Use language support to extract calling function context
KRRT7 Feb 19, 2026
919b2b2
Delegate global declaration insertion to language support
KRRT7 Feb 19, 2026
95d4f10
Keep Python generated test editing Python-only
KRRT7 Feb 19, 2026
48c30f5
style: auto-fix linting issues
claude Feb 19, 2026
465316a
Merge pull request #1546 from codeflash-ai/follow-up-reference-graph
KRRT7 Feb 19, 2026
67c12bc
Merge branch 'main' into cf-release-benchmark-0.2.0
misrasaurabh1 Feb 19, 2026
6346c74
Merge pull request #1536 from codeflash-ai/cf-release-benchmark-0.2.0
misrasaurabh1 Feb 19, 2026
c747827
Merge commit '6346c740' into sync-main-batch-4
KRRT7 Feb 20, 2026
5060179
fix: remove leftover codeflash_capture instrumentation from test fixture
KRRT7 Feb 20, 2026
d578353
style: auto-fix formatting issues
github-actions[bot] Feb 20, 2026
f740531
Merge remote-tracking branch 'origin/omni-java' into sync-main-batch-4
KRRT7 Feb 20, 2026
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
4 changes: 4 additions & 0 deletions .codex/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[mcp_servers.tessl]
type = "stdio"
command = "tessl"
args = [ "mcp", "start" ]
2 changes: 0 additions & 2 deletions .codex/skills/.gitignore

This file was deleted.

12 changes: 12 additions & 0 deletions .gemini/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"mcpServers": {
"tessl": {
"type": "stdio",
"command": "tessl",
"args": [
"mcp",
"start"
]
}
}
}
2 changes: 0 additions & 2 deletions .gemini/skills/.gitignore

This file was deleted.

108 changes: 104 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,48 @@ on:
- main
paths:
- 'codeflash/version.py'
- 'codeflash-benchmark/codeflash_benchmark/version.py'

jobs:
publish:
detect-changes:
runs-on: ubuntu-latest
outputs:
codeflash: ${{ steps.filter.outputs.codeflash }}
benchmark: ${{ steps.filter.outputs.benchmark }}
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 2

- name: Detect which packages changed
id: filter
run: |
if git diff --name-only HEAD~1 HEAD | grep -q '^codeflash/version.py$'; then
echo "codeflash=true" >> $GITHUB_OUTPUT
else
echo "codeflash=false" >> $GITHUB_OUTPUT
fi
if git diff --name-only HEAD~1 HEAD | grep -q '^codeflash-benchmark/codeflash_benchmark/version.py$'; then
echo "benchmark=true" >> $GITHUB_OUTPUT
else
echo "benchmark=false" >> $GITHUB_OUTPUT
fi

publish-codeflash:
needs: detect-changes
if: needs.detect-changes.outputs.codeflash == 'true'
runs-on: ubuntu-latest
environment:
name: pypi
permissions:
id-token: write
contents: write # Changed from 'read' to 'write' to allow tag creation
contents: write
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0 # Fetch all history for proper versioning
fetch-depth: 0

- name: Extract version from version.py
id: extract_version
Expand Down Expand Up @@ -76,4 +104,76 @@ jobs:
prerelease: false
generate_release_notes: true
files: |
dist/*
dist/*

publish-benchmark:
needs: detect-changes
if: needs.detect-changes.outputs.benchmark == 'true'
runs-on: ubuntu-latest
environment:
name: pypi
permissions:
id-token: write
contents: write
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Extract version from version.py
id: extract_version
run: |
VERSION=$(grep -oP '__version__ = "\K[^"]+' codeflash-benchmark/codeflash_benchmark/version.py)
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "tag=benchmark-v$VERSION" >> $GITHUB_OUTPUT
echo "Extracted version: $VERSION"

- name: Check if tag already exists
id: check_tag
run: |
if git rev-parse "${{ steps.extract_version.outputs.tag }}" >/dev/null 2>&1; then
echo "exists=true" >> $GITHUB_OUTPUT
echo "Tag ${{ steps.extract_version.outputs.tag }} already exists, skipping release"
else
echo "exists=false" >> $GITHUB_OUTPUT
echo "Tag ${{ steps.extract_version.outputs.tag }} does not exist, proceeding with release"
fi

- name: Create and push git tag
if: steps.check_tag.outputs.exists == 'false'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git tag -a "${{ steps.extract_version.outputs.tag }}" -m "Release ${{ steps.extract_version.outputs.tag }}"
git push origin "${{ steps.extract_version.outputs.tag }}"

- name: Install uv
if: steps.check_tag.outputs.exists == 'false'
uses: astral-sh/setup-uv@v6

- name: Build
if: steps.check_tag.outputs.exists == 'false'
run: uv build --package codeflash-benchmark

- name: Publish to PyPI
if: steps.check_tag.outputs.exists == 'false'
run: uv publish

- name: Create GitHub Release
if: steps.check_tag.outputs.exists == 'false'
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.extract_version.outputs.tag }}
name: codeflash-benchmark ${{ steps.extract_version.outputs.tag }}
body: |
## What's Changed

Release ${{ steps.extract_version.outputs.version }} of codeflash-benchmark.

**Full Changelog**: https://github.com/${{ github.repository }}/commits/${{ steps.extract_version.outputs.tag }}
draft: false
prerelease: false
generate_release_notes: true
files: |
dist/*
20 changes: 18 additions & 2 deletions .github/workflows/unit-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,25 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
include:
- os: ubuntu-latest
python-version: "3.9"
- os: ubuntu-latest
python-version: "3.10"
- os: ubuntu-latest
python-version: "3.11"
- os: ubuntu-latest
python-version: "3.12"
- os: ubuntu-latest
python-version: "3.13"
- os: ubuntu-latest
python-version: "3.14"
- os: windows-latest
python-version: "3.13"
continue-on-error: true
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
env:
PYTHONIOENCODING: utf-8
steps:
- uses: actions/checkout@v4
with:
Expand Down
47 changes: 0 additions & 47 deletions .github/workflows/windows-unit-tests.yml

This file was deleted.

4 changes: 4 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ Discovery → Ranking → Context Extraction → Test Gen + Optimization → Bas
- **Tracer**: Profiling system that records function call trees and timings (`tracing/`, `tracer.py`)
- **Worktree mode**: Git worktree-based parallel optimization (`--worktree` flag)

## PR Reviews

- GitHub PR comments and review feedback can be stale — they may reference issues already fixed by a later commit. Before acting on review feedback, verify it still applies to the current code. If the issue no longer exists, resolve the conversation in the GitHub UI.

<!-- Section below is auto-generated by `tessl install` - do not edit manually -->

# Agent Rules <!-- tessl-managed -->
Expand Down
Loading
Loading