Commit graph

24 commits

Author SHA1 Message Date
Kevin Turcios
4800f35c5c fix: make standup dashboard deployable to Plotly Cloud
- Add server = app.server for WSGI/Gunicorn discovery
- Commit data.json so deploy doesn't need gh CLI or GitHub token
- Make load_data() resilient when generate.py can't reach GitHub
- Add plotly-cloud.toml config
2026-04-23 16:15:11 -05:00
Kevin Turcios
b9556b9ded fix: replace dcc.Checklist with plain html.Div to fix Dash 4.x layout.props errors
dcc.Checklist with html component labels triggers a renderer bug in
Dash 4.x ("undefined is not an object evaluating layout.props").
Use plain Div with circle indicator instead.
2026-04-23 16:06:20 -05:00
Kevin Turcios
bb7f53d26b fix: correct CI savings numbers from real billing export
Pulled actual billing data via gh api billing/usage endpoint.
Key corrections:
- Rate is $0.006/min (was $0.008/min)
- Before: 198K min/mo (was 214K) — Feb 2026 billing data
- After: 93K min/mo (was 89K) — Apr 2026 billing data
- Net cost is $0.00/mo — Enterprise plan fully discounts all usage
- Gross savings ~$7.6K/yr (was $12K/yr)
- Updated Q&A to acknowledge Saurabh's correct pushback
2026-04-23 15:58:07 -05:00
Kevin Turcios
a26dff7623 refactor: simplify standup dashboard code
- Extract _flush_list_items() helper (replaced 5 identical blocks)
- Fix code-block flush ignoring is_qa/is_checklist (bug)
- Add FLEX_ROW, SECTION_H2, TAB_STYLE, TAB_SELECTED to theme
- Replace hardcoded "#f87171" with RED constant
- Cache gh_token() with lru_cache (was spawning subprocess per request)
- Parallelize GitHub API calls with ThreadPoolExecutor
- serve_layout reads data.json directly instead of regenerating
- render_tab fallback reads cached file instead of regenerating
- Increase auto-refresh interval from 3s to 30s
2026-04-23 15:55:18 -05:00
Kevin Turcios
1671fab2f7 feat: enhance standup dashboard with rich UI and content
- Add collapsible sections (Details/Summary) for Strategy, Strategy in
  Action, and In Summary
- Parse **bold** markdown to html.Strong via _parse_inline()
- Render pipe tables as styled html.Table with alternating row backgrounds
- Detect ### sub-headers and render as styled H5 with border separators
- Add horizontal bar chart for dollar savings by optimization layer
- Add Plotly go.Table for CodSpeed vs Codeflash comparison
- Strip duplicate numbered list prefixes from ordered list items
- Fix title case handling for apostrophes (What's not What'S)
- Guard render_tab against non-dict data on initial load
- Expand all 5 Open Questions answers with full detail
- Add Dollar Impact section with 4 layers, PR references, savings estimates
- Add Competitive Landscape section with CodSpeed analysis
- Add CI audit findings support in generate.py
2026-04-23 15:25:23 -05:00
Kevin Turcios
4be1a22a21 fix: add future annotations and format standups code
Add `from __future__ import annotations` to fix UP007 ruff errors
for `X | Y` union syntax. Run ruff format on all three files.
2026-04-23 11:06:29 -05:00
Kevin Turcios
3673dfebea chore: clean up standup dashboard
- Fix double-numbering in notes section (Li inside Ol with manual index)
- Clean up notes header, remove verbose parenthetical
- Add .gitignore to exclude generated data.json
- Fix CI_AUDIT_FILE path to use repo root instead of dir-name assumption
- Correct standup note: 60% coverage floor, remove non-existent PRs
- Commit uv.lock for reproducible installs
2026-04-23 11:04:09 -05:00
Kevin Turcios
fdfddea297 chore: add standup dashboard with CI audit integration
Dash app at .codeflash/standups/ that pulls GitHub PR data across
codeflash, codeflash-internal, codeflash-agent, and github-workflows,
renders standup notes from markdown, and includes CI audit report.
2026-04-23 10:48:45 -05:00
Kevin Turcios
3ee9c22c8e
fix: resolve all ruff lint errors across repo (#38)
* fix: resolve all ruff lint errors across repo

Auto-fixed 31 errors (unused imports, formatting, simplifications).
Manually fixed 14 remaining:
- EXE001: removed shebangs from non-executable bench scripts
- C417: replaced map(lambda) with generator expression
- C901/PLR0915: extracted _write_and_instrument_tests from generate_ai_tests
- C901/PLR0912: extracted _parse_toml_addopts and _ini_section_name from modify_addopts
- RUF001/RUF002: replaced ambiguous Unicode chars (en dash, multiplication sign)
- FBT002: made boolean params keyword-only in report functions
- E402: moved `import re` to top of file in security reports

* fix: resolve pre-existing mypy errors across packages

- _testgen.py: annotate `generated` as `str` to avoid no-any-return
- _test_runner.py: use str() for TimeoutExpired stdout/stderr (bytes|str),
  remove unused type: ignore on proc.kill()
- _candidate_eval.py: annotate `speedup` as `float` to avoid no-any-return
  from lazy-loaded performance_gain
2026-04-23 10:22:42 -05:00
Kevin Turcios
c492164fbf Add codeflash org CI audit case study and interactive Dash report
Case study in .codeflash/krrt7/codeflash-ai/ci-audit/ with README,
status, and raw data (fork activity, PRs merged).

Interactive Dash report in reports/codeflash-ci-audit/ with two tabs:
Executive Summary (hero metrics, cost impact charts, before/after) and
Full Detail (fork breakdown, findings table, PR inventory, methodology).

Key numbers: 71% fewer workflow runs, ~$12K/yr in Enterprise overage
savings, 200+ forks disabled, 11 PRs merged across 2 repos.
2026-04-23 03:56:04 -05:00
Kevin Turcios
0901db9fee Update coveragepy status after E2E validation session 2026-04-21 21:19:24 -05:00
Kevin Turcios
edfdd231e0 Use attrs fork with deferred inspect import
Point attrs dependency at local fork (KRRT7/attrs perf/defer-inspect-import)
which defers the ~12ms inspect import until first class build. Temporary
override until upstream merges python-attrs/attrs#1547.

Also adds attrs optimization case study data (VM infra, status).
2026-04-21 02:27:50 -05:00
Kevin Turcios
b42417532d Add optimization project scaffolding for plotly/plotly.py 2026-04-16 23:57:06 -05:00
Kevin Turcios
380bd59503 Add iterative-discovery narrative and missing findings across all reports
Weave "optimizations reveal deeper issues" framing into engagement report
executive summary, case study, and optimization README. Add O(N²) text
extraction fix, per-request RSS creep (24→17 MB), and memray profiling
data that were previously undocumented.
2026-04-16 15:02:39 -05:00
Kevin Turcios
20f6c59f05
Lint and format entire repo, not just packages (#23)
Remove .codeflash/ from ruff extend-exclude, add per-file ignores
for .codeflash/, scripts/, evals/, and plugin/ (benchmark/script
patterns like print, eval, magic values). Remove shebangs. Widen
pre-commit hooks to check the full repo.
2026-04-15 03:16:15 -05:00
Kevin Turcios
33faedf427
Add Unstructured report, rewrite statusline, format evals/scripts (#20)
* Add Unstructured engagement report as uv workspace member

Three-tier Plotly Dash app (Executive Brief, Engineering Team, Full
Detail) with data in JSON, theme constants in theme.py, and Dash
production improvements (Google Fonts, clientside callbacks, meta tags).

Also: add .playwright-mcp/ to .gitignore, add reports/* ruff overrides,
remove tracked .codeflash/observability/read-tracker.

* Rewrite statusline to derive context from git state

Detects active area from changed files (reports, packages, plugin,
.codeflash, case-studies, evals), falls back to branch name convention
(perf/*, feat/*, fix/*), shows dirty indicator. Uses whoami for
cross-platform user detection.

* Add pre-push lint rule to commit guidelines

* Exclude .codeflash/ from ruff linting

Benchmark and profiling scripts in .codeflash/ are scratch work, not
package source. Excluding them prevents CI failures from ad-hoc scripts.

* Run ruff format across packages, scripts, evals, and plugin refs

* Fix github-app async test failures in CI

Add asyncio_mode = "auto" to root pytest config so async tests
are detected when running from the repo root via uv run pytest packages/.
2026-04-15 03:06:16 -05:00
Kevin Turcios
7d86202524
Update metaflow README with actual results and PR status (#19)
Replace placeholder text ("No optimizations applied yet", empty PR table) with:
- CAS lz4 compression results (7-18x on realistic ML payloads)
- Upstream PR status (Netflix/metaflow#3090, open)
- Open questions on dependency management and forward compat
- Methodology, remaining targets, and lessons learned
2026-04-14 23:41:55 -05:00
Kevin Turcios
09ba9b44b2
Add typeagent-py case study (#17)
- Add case-studies/microsoft/typeagent/summary.md with results, lessons
  learned (failed vector search experiment, maintainer alignment), and
  takeaways for codeflash
- Update upstream PR statuses: #235 merged, #236 closed (rejected),
  #232 blocked on #230
- Add typeagent to main README results table
2026-04-14 23:25:29 -05:00
Kevin Turcios
6dd3b02168
Restructure typeagent README: separate failed vector search experiment (#16)
Move vector search benchmarks out of main results into a Lessons Learned
section. The 3.7x-14.2x numbers were real but on a non-bottleneck —
maintainer confirmed model API calls and SQL dominate real latency.

Results section now only shows legitimate wins: import time (1.16x),
indexing pipeline (1.14-1.16x), and query batching (2.10-2.62x).
2026-04-14 23:21:53 -05:00
Kevin Turcios
cc29a27289
Migrate .codeflash/ to {teammember}/{org}/{project}/ format (#15)
Add team member dimension to case study paths so multiple contributors
can track optimization data independently. Derives member from
git config user.name in session-start hooks.

- Move all case studies under .codeflash/krrt7/
- Rename pypa/pip → python/pip (org grouping)
- Update session-start hooks, docs, scripts, and references
2026-04-14 23:04:34 -05:00
m-ali-24
044b2f190a
[FEAT] golang agents (#11)
* go base

* missing javascript

---------

Co-authored-by: ali <--global>
2026-04-14 18:55:36 -05:00
Kevin Turcios
043bf45415 Ignore *.lprof and *.prof binary files, update read-tracker 2026-04-14 18:42:38 -05:00
Kevin Turcios
9830b7b4a1 Track .codeflash/ data: unignore observability and add krrt7/odoo case study 2026-04-14 18:40:08 -05:00
Kevin Turcios
3b59d97647 squash 2026-04-13 14:12:17 -05:00