Skip to content

agents.md: ban adding test skips without explicit user request#21232

Merged
AskAlexSharov merged 3 commits into
mainfrom
mh/agents-md-ban-skips
May 17, 2026
Merged

agents.md: ban adding test skips without explicit user request#21232
AskAlexSharov merged 3 commits into
mainfrom
mh/agents-md-ban-skips

Conversation

@mh0lt

@mh0lt mh0lt commented May 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a project-level policy in agents.md for test skips. The rule applies to every contributor and to every automated agent (LLM coding assistants etc.) working in the repo.

Three-part policy

  1. Why skips are dangerous — concrete case: execution: parallel-exec correctness + perf fixes; gate residual EXEC3_PARALLEL flakes (#21136) #21153 removed a t.Skip documenting a known parallel-exec SD/CREATE2 bug; the underlying bug was never actually fixed, so removing the skip suddenly red'd CI across downstream PRs.

  2. Two valid skip reasons (humans only, with tracking issue):

    • External test suites we import where we can't pass all the tests yet
    • Flakes with very low tolerance (general rule: reproduce locally and fix; only skip after serious investigation, with the investigation linked in the tracking issue)
  3. Strict ban for automated agents: agents must never add a skip, period. Not as a tactical unblock, not behind a flag, not as an AskUserQuestion option. Default trajectory for a failing test is investigate → reproduce → fix → verify. If genuinely can't fix in-session, escalate with investigation findings — never silently mute.

Why

Skips convert a loud "this is broken" CI signal into silence, then back into surprise when the skip is later removed. The end state we want: humans add skips only for the two narrow reasons with tracking issues; automated agents always go through investigate → reproduce → fix, never → skip.

Test plan

  • Docs-only change to agents.md; no code paths affected.
  • No CI gating to add — this is a behavioural directive for both human contributors reading the repo's contributor docs and for automated agents that read agents.md/CLAUDE.md at session start.

Adds an explicit rule that agents must never add t.Skip / SkipLoad / any
equivalent skip mechanism unless the user explicitly asks for it, and
must never offer skips as suggestions in user-facing option menus.

Skipping a failing test hides the bug without fixing it. The skip's
removal later surfaces the bug as a CI failure with no context about
when or why it was added. Concrete case: #21153 removed a t.Skip on
TestGeneratedTraceApiCollision that had documented a known parallel-exec
SD/CREATE2-reincarnation bug; the underlying bug had never been fixed,
so removing the skip surfaced CI failures across downstream PRs (#21017)
with no easy attribution.

The rule covers all forms of test muting (t.Skip, SkipLoad, bt.SkipLoad,
build-tag exclusions, runner-matrix removal without tracking, etc.) and
states the one acceptable workflow: explicit user request in the current
turn, comment linking a tracking issue, and revert as soon as the bug
is fixed.
mh0lt added 2 commits May 17, 2026 10:55
Rewords the skip-policy section to:
- Apply project-wide (every contributor + every automated agent), not just to agents reading agents.md.
- Spell out the two valid skip reasons (external test suites we haven't implemented; flakes with low tolerance + tracking issue + local-repro investigation).
- Add an explicit, strict rule for automated agents: never add a skip, period. Not even with a 'user can review it' framing. Not as an AskUserQuestion option. Not as a tactical unblock.

The end state we want: humans add skips only for the two narrow reasons with tracking issues; automated agents always go through investigate -> reproduce -> fix, never -> skip.
@AskAlexSharov AskAlexSharov enabled auto-merge May 17, 2026 11:32
@AskAlexSharov AskAlexSharov added this pull request to the merge queue May 17, 2026
Merged via the queue into main with commit 23f2119 May 17, 2026
68 checks passed
@AskAlexSharov AskAlexSharov deleted the mh/agents-md-ban-skips branch May 17, 2026 12:09
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.

2 participants