- since: 'X' and (was 'X') require the quote to close right after X in the
scanner and the rewrite table, so a quoted prerelease or a mismatched pair
is never a stamp (the tree receipt shares the table).
- branchAddedLines records positions from the unified=0 hunk headers; the
stamp_paths stage rewrites by position, so a base line with the same text
stays and a CRLF checkout still finds the branch's row.
- Journal recovery restores the equal-base provenance (no branch stamp) so a
stamp interrupted after VERSION was written retries as a stamp, not noop.
- Skipped detail names the explicit version it searched for; --was help line
names the CHANGELOG re-heading; docs and CHANGELOG state the boundaries,
the fork-point attribution and the rule's false-positive class.
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>