- 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
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.
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
- 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
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.
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.
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).
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.
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.
* 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/.
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
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).
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