Skip to content

docs(contributing): document local checks matching CI gates - #39991

Closed
lac1203 wants to merge 1 commit into
NousResearch:mainfrom
lac1203:claude/contributor-validation-docs
Closed

docs(contributing): document local checks matching CI gates#39991
lac1203 wants to merge 1 commit into
NousResearch:mainfrom
lac1203:claude/contributor-validation-docs

Conversation

@lac1203

@lac1203 lac1203 commented Jun 5, 2026

Copy link
Copy Markdown

Summary

  • Documents local pre-submit checks that mirror blocking CI gates for contributors.
  • Aligns the PR template checklist with the documented ruff, Windows-footgun, and test checks.
  • Keeps this contributor-facing guidance separate from post-merge verification and visual QA workflows.

Verification

python - <<'PY'
from pathlib import Path
c=Path('CONTRIBUTING.md').read_text()
pr=Path('.github/PULL_REQUEST_TEMPLATE.md').read_text()
for s in ['ruff check .','check-windows-footguns.py --diff main','pytest']:
    assert s in c or s in pr, s
print('contributor validation docs sanity OK')
PY

Claude reported validating the documented commands against the repo workflows; no code, secrets, deploys, or merges.

External contributors regularly hit surprise CI failures on the two
blocking required checks that weren't reflected in the pre-PR guidance:
`ruff enforcement (blocking)` (PLW1514 unspecified-encoding) and
`Windows footguns (blocking)`. The "Before submitting" section only
mentioned running tests, so first-time PRs failed on lint/footgun gates
that are trivial to catch locally.

Add a copy-pasteable block to CONTRIBUTING.md "Before submitting" listing
the three commands that match CI's blocking gates — all ship with the
`[dev]` install, so no extra setup is needed — and align the PR template's
Code checklist to reference the same checks.

Docs-only; both documented commands verified passing on a clean tree.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@alt-glitch alt-glitch added type/docs Documentation improvements P3 Low — cosmetic, nice to have labels Jun 5, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for improving the contributor pre-submit guidance. The gap is real: current CONTRIBUTING.md:944-949 lists only test/manual/platform/scope checks, and .github/PULL_REQUEST_TEMPLATE.md:49 still asks only for pytest.

Problems

  • The proposed “exact match” is inaccurate for the Windows check: CI runs python scripts/check-windows-footguns.py --all in .github/workflows/lint.yml:160, while the new guidance uses --diff main.
  • The text also says these are the blocking checks for every PR. A .github/ edit enables every lane in scripts/ci/classify_changes.py:82-88, and the required aggregate covers additional lanes in .github/workflows/ci.yml:137-166.

Suggested changes

  • Use --all for an exact CI-equivalent footgun command, or label --diff main as a faster local preflight.
  • Narrow the claim to applicable Python checks rather than all required gates.

This is an automated hermes-sweeper review.

@teknium1 teknium1 added the sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users label Jul 14, 2026
@lac1203 lac1203 closed this Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users type/docs Documentation improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants