the husky shim routes commit-msg to .husky/commit-msg, which did not
exist - the documented subject-line rules (type whitelist, optional
scope, lowercase imperative english description of 10-100 chars) were
never machine-enforced; add the missing hook so bad subjects fail the
commit while merges/reverts/fixups pass through