بنقرة واحدة
test-integrity
Review branch diff for test weakening patterns in Parallax. Last line of defense before commit/merge.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Review branch diff for test weakening patterns in Parallax. Last line of defense before commit/merge.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Structured audit of the Parallax codebase. Run periodically or before major milestones.
Audit all living documentation against the actual codebase and report inconsistencies.
Bootstrap a new Parallax dev session. Reviews recent handoffs, MEMORY.md, and current project state.
Scaffold a new experiment for Parallax development. Creates a structured manifest linked to a hypothesis.
Generate a structured handoff summary for Parallax development sessions.
Guides hypothesis-driven investigation for Parallax development. Invoke before starting any investigation, feature, or experiment.
| name | test-integrity |
| description | Review branch diff for test weakening patterns in Parallax. Last line of defense before commit/merge. |
Review the full branch diff for test weakening patterns. Comprehensive, defense-in-depth check covering both syntactic and semantic weakening.
If the user provided a base branch argument (e.g., /test-integrity se/feature-a), use that as the base instead of main/master.
Run these commands to select the appropriate diff:
git diff --cached --name-only (staged changes)git diff --name-only (unstaged changes)git merge-base HEAD <base> where <base> is the user-provided branch, or main (fall back to master if main does not exist)Decision logic:
git diff --cachedgit diffgit diff $(git merge-base HEAD <base>)...HEADFilter to test files only: paths containing tests/, or files named test_*.py / *_test.py.
If no test files are in the diff, report "No test files modified" and PASS.
Read the filtered diff carefully. For each test file, check every category below. Use semantic understanding -- do not rely solely on regex.
@pytest.mark.skip or @pytest.mark.skipif added@pytest.mark.xfail addedskipIf / skipUnless conditions added or loosened# noqa added in test files# type: ignore added in test filesassert True or assert 1 == 1 or equivalent tautologiespass, ... (Ellipsis), or returntest_* functions or test classes deleted@pytest.mark.parametrize entries removed (test matrix shrunk)atol, rtol, abs_tol, rel_tol, tolerance arguments increasedpytest.approx tolerances widenednumpy.testing.assert_allclose tolerances increasedassertAlmostEqual places argument decreased==) changed to inequality (>=, <=, >, <, !=)is not None or truthiness checkin, startswith, or endswith substring checkassert x < 0.01 to assert x < 0.1)@patch, @mock.patch, MagicMock introduced where real behavior was previously testedmonkeypatch replacing a function that was previously called for realtry/except blockspytest.raises context scope widened to cover more code than the expected raise pointValueError to Exception)# assert ...)if False: or if 0: wrapping test logicfunction to module or session) reducing test isolationautouse fixtures added that skip or alter test behavior globallyFor each finding, determine if it is justified:
Mark findings as unjustified (default) or justified with a brief explanation. When in doubt, flag it -- false positives are better than missed weakening.
Present findings inline:
## Test Integrity Review
**Diff source:** [branch diff vs main | staged changes | unstaged changes]
**Test files reviewed:** [count]
### Findings
#### [CATEGORY] [severity] -- [file:line-range]
**Pattern:** [which checklist item]
**Detail:** [what changed and why it weakens the test]
**Justified:** [yes/no -- explanation if yes]
### Summary
- High severity: [count]
- Medium severity: [count]
- Low severity: [count]
- Justified (excluded): [count]
### Verdict: [PASS | FAIL]
[PASS if zero unjustified high/medium findings. FAIL otherwise.]