Skip to content

Commit d2808a2

Browse files
docs(standards): add critical rules 7 and 8 (#1)
Adds missing rule 7 (never suppress failing checks) and new rule 8 (update documentation when changing behavior) to all shim files and DEVELOPMENT.md. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 2a0f7ca commit d2808a2

File tree

5 files changed

+27
-1
lines changed

5 files changed

+27
-1
lines changed

.cursorrules

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,15 @@ Critical Rules:
1919
6. Use the shared logging library. No raw `echo` for status messages. Use
2020
`log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from
2121
`lib/log.sh`.
22+
7. Never suppress failing checks. When a lint, format, security, or test
23+
check fails, fix the underlying issue. Never comment out code, add
24+
suppression annotations, disable rules, or mark CI jobs as
25+
allowed-to-fail to bypass a failing check.
26+
8. Update documentation when changing behavior. When a change affects
27+
public interfaces, configuration, CLI usage, or setup steps, update
28+
the relevant documentation (README, DEVELOPMENT.md, inline docs) in
29+
the same commit or PR. Do not leave documentation out of sync with
30+
code.
2231

2332
Quick Reference:
2433

.opencode/agents.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ agents:
2424
6. Use the shared logging library. No raw `echo` for status messages. Use
2525
`log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from
2626
`lib/log.sh`.
27+
7. Never suppress failing checks. When a lint, format, security, or test
28+
check fails, fix the underlying issue. Never comment out code, add
29+
suppression annotations, disable rules, or mark CI jobs as
30+
allowed-to-fail to bypass a failing check.
31+
8. Update documentation when changing behavior. When a change affects
32+
public interfaces, configuration, CLI usage, or setup steps, update
33+
the relevant documentation (README, DEVELOPMENT.md, inline docs) in
34+
the same commit or PR. Do not leave documentation out of sync with
35+
code.
2736
2837
Quick Reference:
2938

AGENTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ See DEVELOPMENT.md for the complete reference.
1111
4. **Respect `.editorconfig`.** Never override formatting rules (indent style, line endings, trailing whitespace) without explicit instruction.
1212
5. **Write idempotent scripts.** Every script must be safe to re-run. Check before acting: `command -v tool || install_tool`, `mkdir -p`, guard file writes with existence checks.
1313
6. **Use the shared logging library.** No raw `echo` for status messages. Use `log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from `lib/log.sh`.
14+
7. **Never suppress failing checks.** When a lint, format, security, or test check fails, fix the underlying issue. Never comment out code, add suppression annotations, disable rules, or mark CI jobs as allowed-to-fail to bypass a failing check.
15+
8. **Update documentation when changing behavior.** When a change affects public interfaces, configuration, CLI usage, or setup steps, update the relevant documentation (README, DEVELOPMENT.md, inline docs) in the same commit or PR. Do not leave documentation out of sync with code.
1416

1517
## Quick Reference
1618

CLAUDE.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ See DEVELOPMENT.md for the complete reference.
1111
4. **Respect `.editorconfig`.** Never override formatting rules (indent style, line endings, trailing whitespace) without explicit instruction.
1212
5. **Write idempotent scripts.** Every script must be safe to re-run. Check before acting: `command -v tool || install_tool`, `mkdir -p`, guard file writes with existence checks.
1313
6. **Use the shared logging library.** No raw `echo` for status messages. Use `log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from `lib/log.sh`.
14+
7. **Never suppress failing checks.** When a lint, format, security, or test check fails, fix the underlying issue. Never comment out code, add suppression annotations, disable rules, or mark CI jobs as allowed-to-fail to bypass a failing check.
15+
8. **Update documentation when changing behavior.** When a change affects public interfaces, configuration, CLI usage, or setup steps, update the relevant documentation (README, DEVELOPMENT.md, inline docs) in the same commit or PR. Do not leave documentation out of sync with code.
1416

1517
## Quick Reference
1618

DEVELOPMENT.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This document is the canonical reference for developing the pre-commit-conventio
88

99
## Critical Rules
1010

11-
These six rules are non-negotiable. Every developer and every AI agent must follow them without exception.
11+
These eight rules are non-negotiable. Every developer and every AI agent must follow them without exception.
1212

1313
1. **Run `make check` before completing any story or task.** Never mark work done without passing checks. This is the single gate for all linting, formatting, security, and test validation.
1414

@@ -22,6 +22,10 @@ These six rules are non-negotiable. Every developer and every AI agent must foll
2222

2323
6. **Use the shared logging library.** No raw `echo` for status messages. Use `log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from `lib/log.sh`.
2424

25+
7. **Never suppress failing checks.** When a lint, format, security, or test check fails, fix the underlying issue. Never comment out code, add suppression annotations (`# noqa`, `# nosec`, `#tfsec:ignore`, `// nolint`), disable rules, or mark CI jobs as allowed-to-fail to bypass a failing check. If a finding is a confirmed false positive, document the justification inline alongside the tool's designated suppression mechanism.
26+
27+
8. **Update documentation when changing behavior.** When a change affects public interfaces, configuration, CLI usage, or setup steps, update the relevant documentation (README, DEVELOPMENT.md, inline docs) in the same commit or PR. Do not leave documentation out of sync with code.
28+
2529
<!-- /devrail:critical-rules -->
2630

2731
<!-- devrail:commits -->

0 commit comments

Comments
 (0)