Roadmap
Everything on this page is coming, not shipped. Each item is an open issue in the medici-finance/assay tracker; follow the link for its current state. The rest of this site documents only what released muhar does today.
| Item | Issue |
Cut the build cost of each mutant: overlay the mutated file instead of copying the tree, share the build cache across workers safely, and size -j from measurements rather than a fixed cap. | assay#2635 |
| Coverage-guided test selection: run only the tests that reach the mutated code, instead of the whole suite per mutant. | assay#2636 |
A diff-scoped mode, -diff, that runs only the mutations whose files a change touches. | assay#2640 |
| Item | Issue |
| A standalone muhar README and a one-line install that fetches muhar alone, not the whole desk-tools bundle. | assay#2638 |
A reusable CI composite action: install a pinned muhar, run a sharded sweep, apply the Totals: gate. | assay#2642 |
Until these land, use the release bundle and the CI recipes.
| Item | Issue |
Report a mutant that does not compile as unviable instead of CAUGHT, and add a per-mutant timeout. | assay#2639 |
These are defects in released muhar. Each page that is affected says so where it matters.
| Issue | Effect today | Workaround |
| assay#2641 | SIGINT or SIGTERM exits 130 without restoring the file under test (sequential runs) or removing worker copies (-j above 1). | Run on a clean tree; after an interrupt, check git status and the temp directory (signals). |
| assay#2643 | An absolute file with -j above 1 edits the original tree while the suite runs in a copy, giving false NOT_CAUGHT verdicts. | Use relative file paths (spec reference). |
| assay#2644 | A flag-parse error exits 2, the same status as HARNESS BROKEN. | Fail on any non-zero exit; a flag error prints nothing on stdout (exit codes). |
| assay#1382 | With -j 4, a spec has been seen to report false COULD_NOT_MUTATE for entries that -j 1 plants and catches. The cause is not fully diagnosed; the worker copies appear to lack files the spec names. | Treat a COULD_NOT_MUTATE from a parallel run as suspect and confirm it with -j 1; keep every file the spec names and the suite reads under root. |