Skip to content

v2.4.0 - Explainers And Self-Checking Records

Latest

Choose a tag to compare

@yakew7 yakew7 released this 08 Nov 09:04
· 8 commits to main since this release

The explainer library grew from 62 to 114 pages, each one tied to a real audit with its code shipped as explainers/code/<slug>.py, and the repository's own tooling was swept five times: 213 issues closed since v2.3.0 (286 commits, 69 merged pull requests, 16 contributors), almost all of them checks, reports and guards around the results, the docs and the contributor records. The Python API, the CLI, the MCP server and the web profiler are unchanged apart from the version number.

Highlights

  • Weekly reports that keep their own tracking issue. Dead external links (with a Wayback lookup for pages that answer scripts with 403, moved-link detection and --fix-moved --rebuild), traction figures against GitHub, and who has merged since the contributors snapshot. A failed gh call is now an error annotation, and every gh call has a timeout.
  • Contributor records that check themselves. scripts/check_contributors.py compares PR counts, first-merge dates, commit counts at the snapshot, the area table and git authors (co-author trailers included) with GitHub, and --stub and --fix --commits write most of an entry. scripts/draft_metrics_row.py drafts the weekly METRICS row, figures and sweep note.
  • Results provenance. results/PROVENANCE.json records what produced results/, diff_results.py reads it, and a test fails when a benchmark fit stops at max_iter anywhere outside the documented cases.
  • Faster, steadier tests. make test-fast runs in parallel (about 35 s instead of 95 s) when pytest-xdist is installed, make coverage-fast reports 97% in about a minute, and the timing-sensitive tests scale with the machine load.
  • Environment and build checks. make doctor finds modules that shadow the standard library, the generated-files check has timeouts, and the pre-commit hooks cover every check make lint runs.

Upgrade notes

  • make check runs make doctor first and stops if a package in site-packages, PYTHONPATH or the working directory shadows a standard library module; make check DOCTOR=warn prints the report and goes on.
  • make test-fast no longer runs tests/browser (use make test-browser), and pytest-xdist is in the test extra.
  • The contributor check exceptions moved from the script into scripts/contributors-exceptions.json.

Contributors since v2.3.0

@Aaqibhafeezkhan, @AnayDhawan, @Asmit-08, @ExoticA1A, @Gauravbhati2099, @bfs2021, @d4rshnn, @dxnnystyles, @isaaclimmy, @kavadiyajiya-ux, @minutechreview, @mohakmanjrekar, @prami25r, @propcgamer20-png, @sammist2, @yakew7

Install

pip install git+https://github.com/yakew7/Fair-Code.git@v2.4.0
pip install "faircode[mcp] @ git+https://github.com/yakew7/Fair-Code.git@v2.4.0"

PyPI (pip install faircode) has not been republished for this release.

Full list: CHANGELOG.md. Changes after this release are collected under "Unreleased" until the next one.