fix(ci): co-locate placeholder sentinels with the data they guard

cv/main_example.tex's sentinel was [YOUR_NAME] - a header comment and
the pdftitle, neither of which /setup's documented personalization
touches, so CI reported the file clean while it carried a real name,
address, phone and email (the review proved this end to end; the file
is the one CV the gitignore deliberately allows to be committed). The
guard now checks the \name{} and \email{} data lines, and 01's sentinel
moves from the <!-- SETUP comment onto [YOUR_EMAIL]. New test simulates
the /setup edit and requires every checked CV sentinel to be destroyed
by it. Review finding F28 (2026-08-19).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mads Lorentzen
2026-08-19 20:47:51 +02:00
co-authored by Claude Opus 5
parent 3bfd525cc4
commit 07cec1f227
3 changed files with 105 additions and 2 deletions
+3 -2
View File
@@ -210,8 +210,9 @@ jobs:
fi
}
check CLAUDE.md '\[YOUR_NAME\]'
check cv/main_example.tex '\[YOUR_NAME\]'
check cv/main_example.tex '\\name{\[First\]}{\[Last\]}'
check cv/main_example.tex '\\email{\[your\.email@example\.com\]}'
check cover_letters/cover_example.tex '\[YOUR NAME\]'
check .claude/skills/job-application-assistant/01-candidate-profile.md '<!-- SETUP'
check .claude/skills/job-application-assistant/01-candidate-profile.md '\[YOUR_EMAIL\]'
check .claude/skills/job-application-assistant/04-job-evaluation.md '\[YOUR_PRIMARY_SKILLS\]'
exit $fail