diff --git a/.claude/skills/job-application-assistant/05-cv-templates.md b/.claude/skills/job-application-assistant/05-cv-templates.md index cdc4e932..83e3ab10 100644 --- a/.claude/skills/job-application-assistant/05-cv-templates.md +++ b/.claude/skills/job-application-assistant/05-cv-templates.md @@ -1,5 +1,5 @@ --- -framework_version: 1.4.5 +framework_version: 1.4.6 --- # CV Templates and Tailoring Guide @@ -65,7 +65,7 @@ Expected output: `Output written on main__.pdf (2 pages, ...)`. A % value here would win and open every CV in fullscreen presentation mode. pdfpagemode=UseNone, }} -\usepackage[scale=0.77]{geometry} +\usepackage[scale=0.80]{geometry} \usepackage{import} % Personal data diff --git a/CHANGELOG.md b/CHANGELOG.md index f62e4f0d..1d45b43f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,13 @@ per-file diff commands. ### Fixed +- **CV template guidance aligns geometry scale with master template** (#553, + `.claude/skills/job-application-assistant/05-cv-templates.md`, `tests/test_latex_guidance.py`) - + the preamble snippet in `05-cv-templates.md` specified `\usepackage[scale=0.77]{geometry}`, + whereas the master reference template `cv/main_example.tex` configures `scale=0.80`. The guide + has been aligned to `scale=0.80`, preventing tighter margins and unwanted page overflow during + CV generation, and a test now guards that the two files stay in sync. + - **`.claude/settings.local.json` is ignored in `.gitignore` and pinned in security guards** (#551, `.gitignore`, `tools/security_guards.py`) - Claude Code stores machine-local settings and ad-hoc tool approvals in `.claude/settings.local.json`. The file is now excluded from version diff --git a/tests/test_latex_guidance.py b/tests/test_latex_guidance.py index c5e85d06..ef958a96 100644 --- a/tests/test_latex_guidance.py +++ b/tests/test_latex_guidance.py @@ -176,5 +176,23 @@ class TestPdflatexFontEncodingGuard(unittest.TestCase): self.assert_has_guarded_fontenc(CV_TEMPLATES) +class TestGeometryScaleAlignment(unittest.TestCase): + """The geometry scale specified in 05-cv-templates.md must match cv/main_example.tex.""" + + GEOMETRY_SCALE = re.compile(r"\\usepackage\[scale=([0-9.]+)\]\{geometry\}") + + def test_cv_guide_and_example_cv_share_geometry_scale(self): + cv_match = self.GEOMETRY_SCALE.search(EXAMPLE_CV.read_text(encoding="utf-8")) + guide_match = self.GEOMETRY_SCALE.search(CV_TEMPLATES.read_text(encoding="utf-8")) + self.assertIsNotNone(cv_match, "cv/main_example.tex must declare geometry scale") + self.assertIsNotNone(guide_match, "05-cv-templates.md must declare geometry scale") + self.assertEqual( + guide_match.group(1), + cv_match.group(1), + f"05-cv-templates.md geometry scale ({guide_match.group(1)}) must match " + f"cv/main_example.tex ({cv_match.group(1)})", + ) + + if __name__ == "__main__": unittest.main()