← board

NilPy differential fuzzer (vs CPython)

Why — the least-probed frontend

pxx has adversarial coverage for two of three mainline frontends: pasmith (Pascal vs FPC) and csmith (C vs gcc). Both drew real, silent bugs — the recurring lesson in this repo is that every serious frontend/IR bug was silent and only a differential oracle saw it. NilPy has no equivalent. Its "no open bugs" status partly reflects less hunting, not proven correctness. Before leaning hard on NilPy (IDE demo, parallel for-in, bigger apps), close that gap.

The oracle is free and mature: CPython. NilPy is a Python subset — a generated NilPy program that is also valid CPython can be run through both and its output diffed. (NilPy's //-only division, ≤4 params, range-step-1, etc. constrain the generator to the shared subset — which is exactly what keeps the oracle valid.)

Design (steal from pasmith)

Acceptance

Non-goals

Log

Deprioritised 2026-09-02 — the Track T tooling backlog was cut as a pile

This ticket is not being called wrong. It was moved as part of a pile, not judged individually, and nothing here disputes its finding.

Owner decision. 73 of the 74 open Track T tickets were filed between 2026-08-31 and 2026-09-02, 58 on one day. The pile was too large to work through and returned almost nothing, and a ticket nobody will fix does not sit neutrally — it stays in the ranker forever at zero value.

This one was nearly missed. It carries NO track: field: the ranker infers Track T from the slug prefix, while the sweep that selected the pile read the frontmatter field. Two instruments, one of them answering about something that is not there. It is in the cut because it is Track T tooling by every reading that matters.

Kept, not deleted: so the finding is not rediscovered and refiled from scratch, and so it can be pulled back if what it touches becomes load-bearing.

To revive it: move it to the owning lane's backlog, set status: backlog, and say WHAT CHANGED to make it matter now.