Skip to content

docs: record that a new CI gate must be proven able to fail - #181

Merged
danmcleran merged 1 commit into
masterfrom
docs/gate-teeth-rule
Aug 31, 2026
Merged

danmcleran merged 1 commit into
masterfrom
docs/gate-teeth-rule

Conversation

@danmcleran

Copy link
Copy Markdown
Owner

One line in CLAUDE.md, next to the existing MSan -O0 note.

Why

The -O0 is already documented, but only as a fact. Without the reason attached it reads like a debug leftover — and raising it while tidying build flags is an easy, invisible mistake: at -O1 the optimizer folds a planted uninitialized read away, so the job passes while detecting nothing.

What

States the general rule beside it:

A new sanitizer or CI gate must be shown to fail before it is trusted — plant the defect it exists to catch and confirm it is reported. That -O0 is why this rule is written down rather than assumed: at -O1 a planted uninitialized read is optimized away and the job passes while detecting nothing, so raising the level to tidy up build flags would leave the gate green and blind.

That is how the -O0 requirement was found (#172), and it is the property that separates a gate from a green checkmark. The same check caught a genuine misconfiguration in the nightly MSan workflow before it merged (#177).

Documentation only — no code or CI behaviour changes.

🤖 Generated with Claude Code

https://claude.ai/code/session_019tVgXeXCcfbHqfMjhufWzd

The MSan job's -O0 is already documented, but only as a fact. Without the
reason attached it reads like a debug leftover, and raising it while tidying
build flags is an easy and invisible mistake: at -O1 the optimizer folds a
planted uninitialized read away, so the job passes while detecting nothing.

States the general rule alongside it -- plant the defect a gate exists to catch
and confirm it is reported before trusting the gate. That is how the -O0
requirement was found in the first place, and it is the property that separates
a gate from a green checkmark.

Documentation only; no code or CI behaviour changes.
@danmcleran
danmcleran merged commit a882606 into master Aug 31, 2026
23 checks passed
@danmcleran
danmcleran deleted the docs/gate-teeth-rule branch August 31, 2026 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant