Skip to content

Document mutation-testing workflow contract tests - #85

Draft
leynos wants to merge 1 commit into
mainfrom
docs/mutation-contract-tests
Draft

Document mutation-testing workflow contract tests#85
leynos wants to merge 1 commit into
mainfrom
docs/mutation-contract-tests

Conversation

@leynos

@leynos leynos commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a ## Mutation-testing workflow contract tests section to
docs/developers-guide.md, documenting the thin caller workflow at
.github/workflows/mutation-testing.yml, its two run modes (daily
change-scoped schedule and whole-crate manual dispatch), the caller's
extra-args/exclude-globs inputs, and what
tests/workflow_contracts/mutation_testing_test.py pins.

  • Permutation: A — Rust (single crate).
  • Contract-test style: shape-only (USES_RE regex asserting a full
    40-hex commit SHA on mutation-cargo.yml). The SHA value itself is not
    hard-coded, so Dependabot bumps it without any accompanying test edit.
    There is no pytestmark/skip-if guard — this is a Rust repository, so
    the Python sandbox-omits-.github/ concern from the mutmut permutation
    does not apply here.
  • Local run command documented: make test-workflow-contracts (the
    Makefile already exposes this target, wrapping
    uv run --with 'pytest>=8' --with 'pyyaml>=6' pytest tests/workflow_contracts -q).
  • Only the with: inputs the caller actually sets are documented
    (extra-args: "--all-features" and
    exclude-globs: "src/tests/**,tests/support/**,src/bin/bless_traces.rs");
    there is no paths or extra-crate-dirs input in this caller.

Roadmap/execplan note

docs/roadmap.md and docs/model-training-pipeline-roadmap.md contain no
mutation-testing or workflow-contract-test tracking items, so no
roadmap/execplan annotation applies.

TOC

docs/developers-guide.md has no table of contents or index list near the
top (it is a flat sequence of ## sections), so no cross-link entry was
added; the new section was appended after the existing "Workflow pins and
Dependabot" section, which it complements.

Docs lint

make markdownlint passed (spelling check via make spelling, then
markdownlint-cli2 over all tracked Markdown, 0 errors). Two words in the
initial draft (summarising, serialises) were corrected to the en-GB
Oxford -ize forms (summarizing, serializes) to satisfy the repository's
typos policy. The generated typos.toml was regenerated as a side effect of
running make spelling but reverted before committing, since that churn is
unrelated to this change.

Files changed

Add a section to the developer guide explaining the thin
mutation-testing caller workflow, its two run modes, the caller
configuration inputs, and what the contract test in
tests/workflow_contracts/mutation_testing_test.py pins, so contributors
know how to run and interpret it locally via `make
test-workflow-contracts`.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @leynos, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 641a2b01-bb25-4d49-b208-9bac74fe5afa

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/mutation-contract-tests

Comment @coderabbitai help to get the list of available commands.

codescene-access[bot]

This comment was marked as outdated.

@codescene-access codescene-access Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No quality gates enabled for this code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant