Skip to content

Document mutation-testing workflow contract tests - #615

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

Document mutation-testing workflow contract tests#615
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 ### Workflow contract tests subsection under the existing
    ## Mutation testing section in docs/developers-guide.md, documenting
    tests/workflow_contracts/mutation_testing_test.py.
  • Permutation: B/companion (Rust workspace with a companion crate outside
    the root workspace, extra-crate-dirs: "wireframe_testing").
  • Contract-test style: hard-pinned. The test asserts the workflow's
    uses: line equals EXPECTED_USES, built from a PINNED_SHA constant,
    so bumping the pin requires editing the workflow and the test constant
    together in the same change (Dependabot cannot bump it unattended).
  • Documents the local run command, make test-workflow-contracts
    (uv run --with 'pytest>=8' --with 'pyyaml>=6' pytest tests/workflow_contracts -q), and the six checks the test performs: the
    pinned uses: reference, job permissions, workflow-level default
    permissions, concurrency, triggers, and the with: block
    (extra-crate-dirs, exclude-globs, extra-args).

Roadmap / execplan note

docs/execplans/adopt-shared-mutation-workflow.md (Stage C) already
tracked updating the developers-guide "Mutation testing" section describing
the caller itself, and that work has landed. This PR adds incremental
documentation of the contract test that was not separately itemised in
that plan; no roadmap or execplan item needs ticking for this change.

Docs lint

make markdownlintSummary: 0 error(s) (log content shown above; ran
clean, no fixes required).

Files

Test plan

  • make markdownlint passes
  • N/A — docs-only change, no Rust/Python test suite run

@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
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: 3bd2aeb4-8593-4937-b4a7-94d30fc12894

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.

Add a "Workflow contract tests" subsection under the existing Mutation
testing section in docs/developers-guide.md, describing
tests/workflow_contracts/mutation_testing_test.py: the six checks it
runs (uses, permissions, default permissions, concurrency, triggers,
with-block), the make test-workflow-contracts entrypoint, and the
hard-pinned PINNED_SHA constant that requires bumping the workflow and
test together.
@leynos
leynos force-pushed the docs/mutation-contract-tests branch from 927ce43 to bdfce1c Compare July 19, 2026 23:46
codescene-access[bot]

This comment was marked as outdated.

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