- Drop the /m flag from the copyright regex so the banner must be the first line
(post-shebang), not merely present somewhere in the file head.
- Normalise incoming paths to repo-relative POSIX before matching. lint-staged
passes absolute (and on Windows, backslashed) paths, which never matched the
include-dir prefixes — so the per-file invocation was silently a no-op. Now it
actually enforces headers on staged files.
- Three CE-authored files (lib/stack-usage-transformer.ts,
test/stack-usage-transformer-test.ts, test/library-tests.ts) carry an MIT
header rather than the repo-standard BSD-2; the backfill had stacked a BSD-2
banner on top, leaving two conflicting licenses. Revert those to their original
single MIT header and exempt them from the check. Relicensing them to BSD-2 is
a separate maintainer decision.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>