Skip to content
View espressolee's full-sized avatar

Highlights

  • Pro

Block or report espressolee

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
espressolee/README.md

espressolee

I build checks that can fail, and I try to keep what I claim under what I can show.

Mostly CPython free-threading memory safety, C-extension lifetime bugs, and tooling that refuses to pass quietly. When I report a concurrency bug, I try to bring an exact revision, a base-positive reproducer, negative and decoy controls, and an exact-head re-test of the eventual fix.

Accepted upstream

Code I authored and maintainers merged:

  • python-rapidjson#236 — made the free-threading branch run CI, added a real 3.14t job with a fail-closed GIL assertion, and repaired the Python <3.13 collection failure.
  • python-rapidjson#237 — restored stubtest, aligned constructor stubs with the C extension, and restricted wheel uploads to release tags.
  • nox#1153 — fixed tests that only passed when uv happened to be installed.
  • mutmut#546 — added ternary-condition mutation for a branch the mutation engine previously never touched.

Reports that maintainers turned into fixes:

  • CodeQL#22305CodeQL#22310 — reported lost Python taint flow through list.extend, list.insert, and +=; the merged maintainer/bot PR closes extend and insert. The larger += gap is not claimed fixed.
  • wrapt#347 — reported a free-threaded double-free. The maintainer made a broader repair and released 2.4.0rc1; I re-ran the same controlled harness at their request: 10/10 SIGSEGV → 0/10. The fix is theirs, not mine.
  • StringZilla#328 — reported a stale-size borrowed-list-item crash; the maintainer fixed it in v5.1.1. Again: I found and reproduced it; they fixed it.

Open work — not counted as accepted

Status in this section was rechecked on 2026-08-29.

A negative receipt

  • PyO3#5774 — closed, and rightly. The maintainer's objection was better than my patch, and CodSpeed measured an 11.6% regression. A record that shows only accepted work is not a record.

Things I made

  • firing-checks — every check ships negative controls and a --selftest that runs them, because a guardrail nobody has seen fire is theater. It enforces that rule on three of my own tools.
  • scanner-false-negatives — I predicted where a scanner's false negatives cluster, and the data killed the claim twice. All 61 labels are public; they were LLM-produced, have no independent human regrade, and the repository is a post-hoc export.

Limits

I am an external contributor, not a maintainer or core developer of the projects above. Open PRs and reports are not accepted work. Private reports are not public evidence and are deliberately omitted. My own tools still have no independent adopter, so their value outside my repositories remains unmeasured.

Reach me: espressolee1@gmail.com · ORCID 0009-0003-0423-6686

Pinned Loading

  1. firing-checks firing-checks Public

    Small checks that prove they can fail. A guardrail nobody has seen fire is theater — so every tool ships negative controls and a --selftest that runs them.

    Python

  2. scanner-false-negatives scanner-false-negatives Public

    Exploratory study of where static-analyzer false negatives concentrate — it refuted its own hypothesis twice. All 61 labels public (CC BY 4.0) for re-grading. Labels were LLM-produced; ordering is …

    Python