Skip to content

Document mutation-testing workflow contract tests - #207

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

Document mutation-testing workflow contract tests#207
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
.github/workflows/mutation-testing.yml caller and the contract test that
pins its shape.

  • Explains that the caller delegates to
    leynos/shared-actions/.github/workflows/mutation-mutmut.yml and only
    carries declarative configuration (the mutation run itself is
    informational, never gating).
  • Documents the two with: inputs the caller actually sets: paths: cmd_mox/ and module-prefix-strip: "" (CmdMox uses a flat package
    layout, not src/).
  • Describes tests/test_workflow_contract.py: a shape-only USES_RE pin
    (asserts a 40-hex commit SHA, not a specific value, so Dependabot bumps
    need no test edit) and its pytestmark = pytest.mark.skipif(...) guard,
    which self-skips inside mutmut's sandbox where .github/ is absent.
  • Documents the local run command, verified to pass:
    uv run pytest tests/test_workflow_contract.py -v (there is no
    make test-workflow-contracts target in this repository's Makefile).

No existing mutation-testing section was present in the developer guide, so
this lands as a new top-level ## section, placed after the existing
"Workflow pins and Dependabot" section (which documents the general
shape-only-pin convention this contract test follows).

The developer guide has no table of contents / index list of its own
sections, so no cross-link was added there. docs/contents.md links to the
whole developer guide file already and did not need a new entry.

No roadmap or execplan tracking applies to this change; docs/roadmap.md
and docs/execplans/ contain no mutation-testing-related tracked task.

Docs lint

  • make markdownlint: 0 errors.
  • make spelling (via make markdownlint): passes; the new section uses
    en-GB Oxford -ize spelling (summarizing, serializes).

Test plan

  • make markdownlint passes.
  • uv run pytest tests/test_workflow_contract.py -v passes locally (6
    tests), confirming the documented command is correct.

Add a section to the developer guide explaining the mutation-testing
caller workflow, its flat-layout `with:` inputs, and how
tests/test_workflow_contract.py pins the caller's shape without
locking the pinned SHA that Dependabot bumps.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

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

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: 2d753e07-b924-40be-9916-daca3eb0e87a

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