Summary
ruff 0.16's format subcommand now formats Markdown files (it reformats Python code fences inside .md), not just .py. Because the wads CI format step runs in-place and pushes results back to the default branch, any repo with Python fences in its markdown will get auto-committed markdown reformats nobody asked for on its next default-branch merge.
Observed
In i2mint/ij, uvx ruff format . rewrote:
PHASE2.md, PHASE3.md, PHASE4.md
misc/REASEARCH.md
These were pre-existing drift (confirmed by running the same command against the untouched default branch), so the reformats were reverted out of the PR diff — but they will land the moment that branch merges and CI's format step runs.
Why it matters fleet-wide
- The wads CI format step is not
--check; it rewrites and commits.
- Docs, READMEs and design notes with
python fences are common across the fleet.
- The resulting commits are noise in the history and can conflict with in-flight branches (the rollout already requires a pull-before-push dance because of the version-bump + format push-back).
Decision needed
Pick one fleet-wide policy:
- Exclude markdown from ruff formatting — add
*.md to the ecosystem-standard [tool.ruff] exclude block that wads generates, and backfill it into existing repos.
- Accept the churn — but then deliberately run a one-time
ruff format pass per repo so the reformat lands in a reviewed commit rather than as a surprise CI push-back.
Option 1 is probably right: markdown formatting is a cosmetic concern that should not be coupled to the test/publish pipeline.
Note on ruff pinning
wads actions pin ruff==0.16.0 for uv-stub repos, but uv-inline repos invoke uvx ruff (latest), so inline repos will pick this behaviour up unpredictably as ruff releases.
Surfaced during the 2026-07-30 wave-0 rollout batch. Cross-ref: #51.
Summary
ruff0.16'sformatsubcommand now formats Markdown files (it reformats Python code fences inside.md), not just.py. Because the wads CI format step runs in-place and pushes results back to the default branch, any repo with Python fences in its markdown will get auto-committed markdown reformats nobody asked for on its next default-branch merge.Observed
In
i2mint/ij,uvx ruff format .rewrote:PHASE2.md,PHASE3.md,PHASE4.mdmisc/REASEARCH.mdThese were pre-existing drift (confirmed by running the same command against the untouched default branch), so the reformats were reverted out of the PR diff — but they will land the moment that branch merges and CI's format step runs.
Why it matters fleet-wide
--check; it rewrites and commits.pythonfences are common across the fleet.Decision needed
Pick one fleet-wide policy:
*.mdto the ecosystem-standard[tool.ruff] excludeblock that wads generates, and backfill it into existing repos.ruff formatpass per repo so the reformat lands in a reviewed commit rather than as a surprise CI push-back.Option 1 is probably right: markdown formatting is a cosmetic concern that should not be coupled to the test/publish pipeline.
Note on ruff pinning
wads actions pin
ruff==0.16.0for uv-stub repos, but uv-inline repos invokeuvx ruff(latest), so inline repos will pick this behaviour up unpredictably as ruff releases.Surfaced during the 2026-07-30 wave-0 rollout batch. Cross-ref: #51.