docs: sync CONTRIBUTING.md's pre-PR checklist with what CI actually runs - #125
Open
shrdgn wants to merge 1 commit into
Open
docs: sync CONTRIBUTING.md's pre-PR checklist with what CI actually runs#125shrdgn wants to merge 1 commit into
shrdgn wants to merge 1 commit into
Conversation
- Documents the exact mypy flags CI uses (previously undocumented; bare `mypy openfusion/` fails locally on the PyYAML stub error CI's flags suppress). - Adds coverage-report flags to the pytest example and points at the coverage gates CI enforces (80% backend, 90/70/85/90 frontend) instead of a "280+ tests" count that was already stale (473 tests today) and will keep drifting. - Swaps `npm test` for `npm run test:coverage` + `npm run typecheck` -- the checks the UI CI job actually runs; plain `npm test` catches neither a coverage-threshold regression nor a type error.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CONTRIBUTING.md's "Before you open a PR" section had drifted from what CI (.github/workflows/ci.yml) actually runs:mypy openfusion/, but that fails locally withLibrary stubs not installed for "yaml"— CI only passes because it appends--ignore-missing-imports --disable-error-code import-untyped --exclude openfusion/cli.pyon the command line, none of which was documented.mypywasn't mentioned in the checklist at all.pytest -q # 280+ tests, a number that's already stale (473 tests today) and will keep drifting every time the suite grows.npm testfor the UI job, but CI actually runsnpm run test:coverage(which also enforces the coverage thresholds invite.config.ts) —npm testsilently skips that gate, plusnpm run typecheckwasn't mentioned even though it's a required CI step.Why it matters
A contributor following this doc exactly would see local
mypy/npm testpass, push a PR, and only then discover from CI that the real gates are different (or, formypy, that it never actually worked locally at all). Fixed to mirrorci.yml's two jobs command-for-command, and replaced the hardcoded test count with a reference to the coverage percentages CI enforces (pyproject.toml'sfail_under = 80,vite.config.ts'sthresholds), which don't need updating every time a test is added.Test plan
mypycommand now documented —Success: no issues found in 23 source filespytest -q --cov=openfusion --cov-report=term-missingcommand — 473 passed, 99.61% coverageFound via an automated repo-quality review.
Generated by Claude Code