Clarify the two-directory code span in the #851 verification lesson (#853)

Copilot flagged on #852 (post-merge) that the code span
`parsedmarc/ tests/` reads as a single path when it names two
directories. Spell them out as separate spans.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Sean Whalen
2026-07-25 19:36:31 -04:00
committed by GitHub
co-authored by Claude Fable 5
parent 2084e5d162
commit b02a7972b5
+1 -1
View File
@@ -200,7 +200,7 @@ Three more rules, from the PR #849 review cycle (a fresh automated reviewer caug
Three more rules, from the PR #851 review cycle (the first run with all of the above loaded in context — the author's own seam-checklist pass did catch three real defects before the PR opened, so the habits fire, but a fresh-context reviewer still caught four more):
- **A fix made during review is new code with zero review coverage.** #851's review pass fixed the fragile hand-enumerated field list in `ParserConfig.__getstate__` — and stopped there. The symmetric obligation that fix implied in `__setstate__` went unexamined (state pickled by an older version lacks later-added fields, and `__init__` never runs during unpickling, so those fields end up not defaulted but *unset*), and the external reviewer caught it. Touching one direction of a paired protocol (`__getstate__``__setstate__`, save↔load, encode↔decode) obligates re-deriving the inverse direction — including version-skew inputs (old data into new code) that no current fixture produces. The seam checks apply to your own review fixes; the review isn't done when the fixes are written.
- **Verification means CI's literal commands from the repo root, not a plausible subset.** #851's local checks scoped to `parsedmarc/ tests/` declared the tree green while CI's `ruff format --check .` failed on a Python example inside `docs/source/usage.md` — ruff formats code blocks in Markdown, and `docs/` was outside the scoped run. Read the workflow file and run the same commands with the same scope before opening a PR. When repo-wide runs are noisy because of untracked local directories, fix the exclusion in config rather than narrowing the command — a narrowed command is a different check that happens to share a name.
- **Verification means CI's literal commands from the repo root, not a plausible subset.** #851's local checks scoped to the `parsedmarc/` and `tests/` directories declared the tree green while CI's `ruff format --check .` failed on a Python example inside `docs/source/usage.md` — ruff formats code blocks in Markdown, and `docs/` was outside the scoped run. Read the workflow file and run the same commands with the same scope before opening a PR. When repo-wide runs are noisy because of untracked local directories, fix the exclusion in config rather than narrowing the command — a narrowed command is a different check that happens to share a name.
- **Count enumerations against the set they enumerate.** The new library-usage docs listed "the main entry points" and the next paragraph asserted that "each of these functions" accepts `config=` — but the list named seven of the eight `config=`-accepting functions. Whenever prose enumerates a code-defined set (functions gaining a kwarg, supported outputs, config keys), derive the set from the code (grep the signatures) and count both sides; a reader can't tell an intentional subset from an omission.
## Releases