Commit graph

57 commits

Author SHA1 Message Date
Kevin Turcios
531ba0bc2f chore: bump all dependency lower bounds to latest 3.9-compatible versions
Update pyproject.toml lower bounds and run uv lock --upgrade to pull latest versions into the lockfile.
2026-04-23 04:43:39 -05:00
Kevin Turcios
e1a7569c94
Merge pull request #2061 from codeflash-ai/dependabot/uv/uv-0.11.6
chore(deps-dev): bump uv from 0.11.2 to 0.11.6
2026-04-23 03:26:11 -05:00
Kevin Turcios
d76c516e84
Merge pull request #2078 from codeflash-ai/dependabot/uv/lxml-6.1.0
chore(deps): bump lxml from 6.0.2 to 6.1.0
2026-04-23 03:25:08 -05:00
Kevin Turcios
2c79e50d68 test: set up coverage infrastructure in CI
- 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
2026-04-23 02:30:46 -05:00
dependabot[bot]
83c87a75a1
chore(deps): bump lxml from 6.0.2 to 6.1.0
Bumps [lxml](https://github.com/lxml/lxml) from 6.0.2 to 6.1.0.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-6.0.2...lxml-6.1.0)

---
updated-dependencies:
- dependency-name: lxml
  dependency-version: 6.1.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-21 23:06:07 +00:00
dependabot[bot]
ced8a746cd
chore(deps-dev): bump uv from 0.11.2 to 0.11.6
Bumps [uv](https://github.com/astral-sh/uv) from 0.11.2 to 0.11.6.
- [Release notes](https://github.com/astral-sh/uv/releases)
- [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/uv/compare/0.11.2...0.11.6)

---
updated-dependencies:
- dependency-name: uv
  dependency-version: 0.11.6
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 10:07:46 +00:00
Kevin Turcios
279a8fcb29 feat: add --memory flag to codeflash compare for peak memory profiling
Adds a second profiling phase using pytest-memray that runs after timing
benchmarks. Memory tables are suppressed when the delta is <1%.
2026-04-02 10:29:31 -05:00
Kevin Turcios
fb8c542874 feat: add markdown output with progress bars for compare command
Replace PNG export with GitHub-flavored markdown tables. Add unicode
progress bars for improvement and share-of-time columns, remove image
dependencies (pillow, cairosvg, svglib, reportlab).
2026-03-27 18:30:11 -05:00
Kevin Turcios
7e9b4477be feat: replace --svg with --png output for compare command
Use cairosvg to convert Rich SVG output to PNG at 144 DPI.
Renames the CLI flag from --svg to --png across all touchpoints.
2026-03-27 18:05:10 -05:00
Kevin Turcios
beb6df99e3 chore: bump ruff-pre-commit to v0.15.8 and update lockfile 2026-03-27 09:06:42 -05:00
Kevin Turcios
1fb1fb453d Update uv.lock 2026-03-24 03:24:51 -05:00
HeshamHM28
16b3c2f5e5 Merge branch 'main' into feat/gradle-executor-from-java 2026-03-16 23:45:14 +02:00
HeshamHM28
623beec4d6 add uv.lock 2026-03-16 23:09:25 +02:00
Mohamed Ashraf
fa9d32f1c4 Merge branch 'main' into omni-java
Resolve 7 merge conflicts from main's modular refactoring + JS improvements:

- aiservice.py: combine multi-language metadata (omni-java) with main's structure
- cmd_init.py: adopt main's modular split (init_config, init_auth, github_workflow) + add Java import
- code_replacer.py: main's clean early-return style + omni-java's non-Python single-block fallback
- version.py, test_support_dispatch.py, test_javascript_test_runner.py: take main's versions
- uv.lock: regenerated

Port Java into main's modular structure:
- Fix init_java.py lazy imports to point to new modules (init_config, init_auth, github_workflow)
- Add Java workflow support to github_workflow.py (detection, template, customization)
- Fix broken Java imports (function_optimizer, line_profiler) after main's module moves

Add safety tests for merge-critical functions:
- test_add_language_metadata.py: 10 tests covering per-language payload correctness
- test_code_replacer_matching.py: 8 tests covering fallback chain

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 00:15:19 +00:00
Kevin Turcios
d77d14be09 chore: upgrade filelock, numpy, posthog, prek, smmap 2026-03-10 16:55:48 -06:00
Kevin Turcios
45fb07fad2 fix: upgrade dependencies to resolve Dependabot security alerts
Upgrade Python deps via uv sync --upgrade (werkzeug, filelock for py>=3.10,
and others). Run npm audit fix across JS test fixtures to patch minimatch
and rollup vulnerabilities.

Remaining unfixable:
- filelock <3.20.3 for py<3.10 (patched version requires py>=3.10)
- serialize-javascript in mocha ^10 (fix requires mocha 11 breaking change)
2026-03-07 03:48:38 -05:00
Kevin Turcios
2dfa74da84 chore: sync pyproject.toml from main and add tree-sitter-java dependency
Takes main's pyproject.toml and adds tree-sitter-java for Java language
support. Regenerates uv.lock.
2026-03-02 15:31:48 -05:00
Kevin Turcios
44a2afe5f2 Update uv.lock 2026-02-20 01:57:00 -05:00
Kevin Turcios
c74782757b Merge commit '6346c740' into sync-main-batch-4
# Conflicts:
#	.github/workflows/windows-unit-tests.yml
#	codeflash/code_utils/config_consts.py
#	codeflash/code_utils/instrument_existing_tests.py
#	codeflash/languages/python/context/unused_definition_remover.py
#	codeflash/languages/python/static_analysis/code_replacer.py
#	codeflash/optimization/function_optimizer.py
#	codeflash/optimization/optimizer.py
#	pyproject.toml
2026-02-19 21:26:23 -05:00
Kevin Turcios
c66953d110 Merge commit 'd578d996' into sync-main-batch-2
# Conflicts:
#	codeflash/github/PrComment.py
#	codeflash/optimization/function_optimizer.py
#	codeflash/tracer.py
#	codeflash/verification/parse_test_output.py
#	codeflash/verification/verification_utils.py
2026-02-19 20:27:14 -05:00
Kevin Turcios
7d7a2a21c0 Merge commit '3dd19c62' into sync-main-batch-1
# Conflicts:
#	codeflash/optimization/function_optimizer.py
#	codeflash/verification/verification_utils.py
#	codeflash/version.py
2026-02-19 20:10:05 -05:00
Kevin Turcios
51911cf851 Update uv.lock 2026-02-19 03:12:03 -05:00
Kevin Turcios
3e282ee293 fix: address security vulnerabilities while maintaining Python 3.9 support
Resolve 12 Dependabot security alerts by constraining vulnerable packages
to Python 3.10+ where patches are available:

Python dependencies:
- filelock: Pin <3.20.3 for Python 3.9, >=3.20.3 for Python 3.10+
  (fixes TOCTOU symlink vulnerabilities CVE-2024-XXXXX)
- tensorflow: Only install on Python 3.10+ (brings keras >=3.12.1, pillow >=12.1.1)
  (fixes 8 high-severity keras vulnerabilities including arbitrary code execution,
   directory traversal, and 1 high-severity pillow out-of-bounds write)

JavaScript dependencies:
- vitest: Update to latest (4.0.18) in test fixture directory
  (fixes moderate-severity esbuild SSRF vulnerability GHSA-67mh-4wv8-2f99)

Python 3.9 notes:
- filelock 3.19.1 has known TOCTOU vulnerabilities (medium severity)
- tensorflow/keras/pillow excluded from Python 3.9 test dependencies
- Python 3.9 reached EOL in October 2025, vulnerabilities are expected

All high-severity vulnerabilities are resolved for Python 3.10+.
Python 3.9 users should upgrade to 3.10+ for full security patches.
2026-02-19 01:26:37 -05:00
Kevin Turcios
14f4324d46 chore: update tessl tiles and upgrade dependencies
Remove codeflash-specific tessl tiles, add new pypi tiles from
pyproject.toml, and run uv sync --upgrade to bump dependencies.
2026-02-18 20:23:23 -05:00
Kevin Turcios
5aa115a523 feat: make crosshair-tool optional for Python 3.15+
crosshair-tool doesn't support Python 3.15 yet. The dependency is now
conditional on python_version < 3.15, with a runtime guard that skips
concolic test generation when the package is absent.
2026-02-18 17:56:59 -05:00
Kevin Turcios
4f44286787 chore: upgrade all dependencies in lockfile 2026-02-13 10:26:50 -05:00
Kevin Turcios
fb5ee232a5
Merge branch 'main' into pyarrow-comparator 2026-02-10 20:52:42 -05:00
Kevin Turcios
476682c303 fix: lower pytest-asyncio minimum version to 0.18.0 2026-02-09 12:49:13 -05:00
aseembits93
2b66d15c06 feat: add PyArrow support to comparator
Add comparison support for PyArrow types including Table, RecordBatch,
Array, ChunkedArray, Scalar, Schema, Field, and DataType.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 10:40:56 -08:00
Kevin Turcios
95cc60397d
Merge branch 'main' into omni-java 2026-02-04 03:22:37 -05:00
Kevin Turcios
e1069ea7be chore: update lockfile 2026-02-03 23:02:49 -05:00
Kevin Turcios
65d77548a3 update versions 2026-02-03 17:17:57 -05:00
misrasaurabh1
06353ea13f e2e working java 2026-01-30 10:52:45 -08:00
ali
3ca29563b7
Merge branch 'main' of github.com:codeflash-ai/codeflash into multi-language 2026-01-23 14:46:50 +02:00
dependabot[bot]
188a5e79dc
Bump wheel from 0.45.1 to 0.46.2
Bumps [wheel](https://github.com/pypa/wheel) from 0.45.1 to 0.46.2.
- [Release notes](https://github.com/pypa/wheel/releases)
- [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst)
- [Commits](https://github.com/pypa/wheel/compare/0.45.1...0.46.2)

---
updated-dependencies:
- dependency-name: wheel
  dependency-version: 0.46.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 19:33:20 +00:00
misrasaurabh1
74c4035595 WIP JS support 2026-01-14 20:55:41 -08:00
Kevin Turcios
11062e8eaa again 2026-01-13 14:44:28 -05:00
Kevin Turcios
69b3a3f29c refresh 2026-01-09 00:23:40 -05:00
Kevin Turcios
2e34d83c52
remove test_framework from pyproject.toml (#955)
* follow up

* remove requirement

* Delete uv.lock

* refresh uv-lock

* first pass

* cleanup test_framework here

* cleanup

* code_review

* cleanup tests

* fix for E2E

* fix tests dir missing

* one more cleanup

* cancel-in-progress

* Revert "cancel-in-progress"

This reverts commit f4bb9079cb.

* not needed here

* lower threshold and cleanup comments

* debug

* temp

* debug

Revert "debug"

This reverts commit fc3655149486c8b980e245e97b8304232086f08d.

fix(discover): Fix pytest discovery for futurehouse structure

Revert "fix(discover): Fix pytest discovery for futurehouse structure"

This reverts commit 40c48882b7413f5876af0e2e08d8f17a65bab091.

Reapply "debug"

This reverts commit c8297e57fbdca2462a8ca1199657748b8bc225e9.

Revert "not needed here"

This reverts commit dd2c5cdf76.

Revert "lower threshold and cleanup comments"

This reverts commit 0e2f57e292.

Reapply "lower threshold and cleanup comments"

This reverts commit e3b24f4a2967551eca8a19f96bf6647b23acdbbc.

Reapply "not needed here"

This reverts commit aec32103c931ff6d57dfa0d012113c2cec5d37a7.

Revert "Reapply "debug""

This reverts commit 77ab9f34f858a17fb29764c544769a0eb72ce7f0.

Reapply "fix(discover): Fix pytest discovery for futurehouse structure"

This reverts commit 506b94ab4fe17a7c8e0d458253812758cced3f22.

feat(futurehouse): Make futurehouse structure pytest compatible

* Revert "debug"

This reverts commit 271c5a37ec.

* Revert "temp"

This reverts commit b363acda1c.

* Revert "debug"

This reverts commit ac29b6beb3.

* just for now
2025-12-09 02:53:08 -08:00
Kevin Turcios
33437d39e3
use pytest as the execution engine for all tests (#951)
* first pass

restore

restore this too

Revert "first pass"

This reverts commit b507770b2c79cc948b33222d8877fb784bfe108a.

* continue

* Update uv.lock

* refresh lockfile

* bugfix

* temp

* fix these

* pytest changes

* formatting

* set up test env properly here too

* ruff

* make ruff happy

* Update e2e-bubblesort-unittest.yaml

* with pytest

* bugfix

* oops
2025-12-06 22:40:25 -06:00
Kevin Turcios
321640cb60
CF-900 allow async optimizations by default (#938)
* remove --async

* include it by default

* don't crash for --async

* pre-commit
2025-11-23 16:36:13 -05:00
Kevin Turcios
ef69713b24
refactor how async decorators are applied at source site (#897)
* 5%

* better reporting for throughput

* first pass

* improve reporting for async optimizations

* remove some deduplication

* simplify usage

* refactor add_async_decorator_to_function

* doesn't even work

* fix mypy complants

* handle libcst exception

* fix type checking

* revert config
2025-11-17 20:19:56 +00:00
Kevin Turcios
f98bf1ecbb formatting 2025-11-15 01:56:27 -05:00
ali
5280484ce8
migrate pygls to v2
Some checks are pending
E2E - Bubble Sort Pytest (No Git) / bubble-sort-optimization-pytest-no-git (pull_request) Waiting to run
E2E - Futurehouse Structure / futurehouse-structure (pull_request) Waiting to run
E2E - Init Optimization / init-optimization (pull_request) Waiting to run
E2E - Topological Sort (Worktree) / topological-sort-worktree-optimization (pull_request) Waiting to run
E2E - Tracer Replay / tracer-replay (pull_request) Waiting to run
PR Labeler / label-workflow-changes (pull_request) Waiting to run
Mypy Type Checking for CLI / type-check-cli (pull_request) Waiting to run
CodeFlash / Optimize new Python code (pull_request) Waiting to run
E2E - Async / async-optimization (pull_request) Waiting to run
E2E - Bubble Sort Benchmark / benchmark-bubble-sort-optimization (pull_request) Waiting to run
E2E - Bubble Sort Unittest / bubble-sort-optimization-unittest (pull_request) Waiting to run
Coverage E2E / end-to-end-test-coverage (pull_request) Waiting to run
windows-unit-tests / windows-unit-tests (pull_request) Waiting to run
/ Run pr agent on every pull request, respond to user comments (pull_request) Waiting to run
Lint / Run pre-commit hooks (pull_request) Waiting to run
unit-tests / unit-tests (3.12) (pull_request) Waiting to run
unit-tests / unit-tests (3.13) (pull_request) Waiting to run
unit-tests / unit-tests (3.10) (pull_request) Waiting to run
unit-tests / unit-tests (3.11) (pull_request) Waiting to run
unit-tests / unit-tests (3.14) (pull_request) Waiting to run
unit-tests / unit-tests (3.9) (pull_request) Waiting to run
2025-10-21 04:27:46 +03:00
Kevin Turcios
77155a8e00
Merge branch 'main' into 3.14-in-CI 2025-10-14 18:44:11 +00:00
Kevin Turcios
6e2b05150f conditionally run 3.13 with tests dependencies 2025-10-13 22:13:43 -07:00
Kevin Turcios
774ee63946 refresh lockfile 2025-10-13 21:46:22 -07:00
Kevin Turcios
234df4b927 remove version constaint for pytest 2025-10-13 18:15:01 -07:00
Kevin Turcios
2c8d2ba292 make asyncio optional 2025-09-28 04:13:14 -07:00
Kevin Turcios
2d1696a273 restore from other branch 2025-09-26 15:21:57 -07:00