rohanvinaik/Wesker — Specification Completeness
How much of your code's behavior do your tests actually pin? Mutation testing with a denominator that means something.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| base-ref | Scope the run to files changed since this ref — the pull-request check. Leave empty to measure the whole codebase. Requires fetch-depth: 0 on checkout. | no | "" |
| targets | Files or directories to profile (space-separated). Leave empty to auto-detect from [tool.wesker] source_dir, [tool.coverage.run], hatch packages, or an src/ layout. | no | "" |
| threshold | Fail if specification completeness (%) is below this. 0 disables. | no | 0 |
| sarif | Path for the SARIF 2.1.0 report. Upload it with github/codeql-action/upload-sarif to get survivors as code-scanning alerts. Empty to skip. | no | .wesker/wesker.sarif |
| budget | Per-file budget in ms. Raise it rather than accept a truncated (sampled) run. | no | 15000 |
| allow-truncation | Report a budget-limited sample instead of failing. The number is then NOT a completeness measurement — left off by default on purpose. | no | false |
| python-version | Python version to use | no | 3.12 |
| install | Command that installs the project and its test dependencies. The default tries the usual layouts; override it when your project needs something else. It must NOT fail silently — a project whose tests cannot import is a broken environment, and Wesker will refuse to report a number for it rather than publish a confident 0%. | no | "" |
Outputs
| name | description |
|---|---|
| spec-pct | Specification completeness: % of behavioral dimensions pinned by a test. THE number. |
| dimensions-total | Behavioral dimensions in the code (denominator; a property of the source) |
| dimensions-pinned | Dimensions some test distinguishes |
| dimensions-unspecified | Dimensions no test pins — the work queue |
| dof-pct | % of dimensions the greedy selection reached (a property of the ENGINE, ~100% by design) |
| kill-pct | Classic mutation score. Denominator varies with budget — not comparable across repos. |
| total-mutants | Mutants evaluated |
| execution-mode | How mutants were judged. Always 'pytest-live' — the action fails rather than degrade. |
| survivors | Number of surviving mutants |
| report | Path to the full JSON report |
| sarif | Path to the SARIF report (empty if disabled) |