change-discipline · git:20261002.cc4e79b · 2026-10-02 · sha256 1fbfdd68538b5757
change-discipline git:20261002.cc4e79bA
Immutable. This exact content never changes and is served at /api/v1/blob/1fbfdd68538b5757.
--- description: Scope a change and land it without a multi-round review loop globs: **/* alwaysApply: true --- # Change discipline The canonical text is **`AGENTS.md` → "Working agreement", "Validation scope", "Change discipline", and "Definition of Done"**. This file mirrors those rules for Cursor; keep it in sync. If the guides disagree, AGENTS.md wins. The short form: 1. **Complete authorized work through validation and self-review.** Resolve routine choices from the code; ask about missing information that changes scope or behavior. Plans, audits, and reviews stay read-only unless edits are requested. 2. **For user-facing features, write 3–5 acceptance criteria and explicit exclusions before implementation.** Put them in the PR description before the first commit; draft the description locally if there is no PR yet. 3. **Put a shared rule where every path reaches it, then delete the other copy** — not at the site the report happened to mention. 4. **Search for sibling paths**, including live/cache and statusline/hook readers. 5. **Make a new regression test fail before trusting it.** For call-site bugs, remove the call and confirm red; restore it afterward and preserve unrelated edits. 6. **Never assert wall-clock time.** Assert the observable consequence instead. 7. **Use AGENTS.md's validation scope and read the output.** Prose-only edits need `git diff --check`, link/contract checks, and the `node --input-type=module` block in [AGENTS.md's private-document boundary check](../../AGENTS.md#private-document-boundary-check). Code, dependency, and executable config changes need build → typecheck → test → lint plus relevant CI smoke/pack checks. User-facing behavior and releases also need `release:qa` after build. Rerun checks for new changes, failures, or unresolved concerns; after a push, verify CI on that SHA.