aboutsummaryrefslogtreecommitdiff
path: root/claude-rules/verification.md
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-30 13:27:24 -0400
committerCraig Jennings <c@cjennings.net>2026-06-30 13:27:24 -0400
commitd0ab04751fe437b6c9509a2ff3217cda0f624edc (patch)
tree501250177ea7174f38795d693acdac01a8d3351d /claude-rules/verification.md
parenta266250c1e24c9b2f6f246206c1b726dbb84c4bf (diff)
downloadrulesets-d0ab04751fe437b6c9509a2ff3217cda0f624edc.tar.gz
rulesets-d0ab04751fe437b6c9509a2ff3217cda0f624edc.zip
docs: add a green-baseline-before-work gate to verification and start-work
A red test suite at the start of work poisons every later "did I break this?" check: you can't tell your own regressions from pre-existing noise, and the end-of-work green bar stops being readable. verification.md now asks for a clean suite run before work begins, not only before commit. start-work runs it as Pre-work step 0.3 against the reconciled base. I added two carve-outs the original proposal lacked: a project with no suite has nothing to baseline, and a suite that can't run is the existing "When You Cannot Verify" case rather than a blocker. The step lands after the reconcile, so the baseline reflects the base the work is cut from. The Phase 4 TDD red is called out as expected, distinct from a baseline failure.
Diffstat (limited to 'claude-rules/verification.md')
-rw-r--r--claude-rules/verification.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/claude-rules/verification.md b/claude-rules/verification.md
index 388e0b5..26d05b5 100644
--- a/claude-rules/verification.md
+++ b/claude-rules/verification.md
@@ -13,6 +13,18 @@ This applies to every completion claim:
- "Bug is fixed" → Run the reproduction steps. Confirm the bug is gone.
- "No regressions" → Run the full test suite, not just the tests you added.
+## Green Baseline Before Starting Work
+
+Run the test suite before you start work, not only before you finish. A clean run at the start confirms the tree is in the known-good state you assume it is, so the baseline you build on and measure your changes against is actually green.
+
+If the suite is red before you touch anything, fix or explicitly triage the failure first. A pre-existing failure left in place poisons every later "did I break this?" check: you can't separate your own regressions from the noise, and the end-of-work run stops being readable as pass/fail at a glance. Work that assumes a known-good base may also be built on a broken assumption you never saw.
+
+When a pre-existing failure genuinely can't be fixed before the work begins (out of scope, or it needs a decision), record it as a tracked task with the diagnosis and carry its name forward. The green bar for the rest of the work is then explicitly "only this known failure remains," not a silent tolerance for red.
+
+Two cases are not failures of this rule. A project with no suite has nothing to baseline — note that and proceed. A suite that can't run (no network, a missing dependency, a sandbox limit) is the "When You Cannot Verify" case below, not a work-blocker — record what you couldn't run and proceed with the risk named.
+
+This is the start-of-work counterpart to the Before Committing gate below: one confirms the ground is solid before you build, the other confirms you didn't crack it.
+
## What Fresh Means
- Run the verification command **now**, in the current session