fix(cv-template): use ASCII hyphens and explicit ranges in CV date fields (#276)

* fix(cv-template): use ASCII hyphens and explicit ranges in CV date fields

LaTeX ligatures `--` into an en-dash (U+2013), so a `\cventry` date written
`2016--2024` reaches the PDF text layer as `2016<U+2013>2024`. Many ATS
parsers split date ranges only on an ASCII hyphen and therefore extract no
range at all. Separately, a bare single year gives the parser a start date
with no end.

Confirmed against a real Workday resume import: a CV built from this
template lost the end date of a short contract role and imported no
education entries whatsoever, forcing manual re-entry. The failure is
silent - extraction was otherwise clean, with literal contact details, no
(cid:) markers and correct reading order, so every existing check in the
ATS Parseability section passed.

- main_example.tex: date placeholders now use a single hyphen
- 05-cv-templates.md: document both causes, with examples, and add the
  check to step 5d

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BFNdaj4fB6Xrd29PQ6hc9B

* chore(cv-template): bump framework_version to 1.4.0

The ATS date-format guidance added in the previous commit modifies a
framework template, which the CI framework version guard requires to be
accompanied by a version bump. Minor bump: new documented subsection,
no breaking change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* docs(changelog): record the CV date-field hyphen fix and fork reconciliation

Documents the U+FFFD extraction failure under lualatex, the fix, and the
framework_version bump. Includes the fork reconciliation note requested in
review: the five changed lines in cv/main_example.tex are the \cventry date
fields every fork personalizes, so rebasing forks should expect conflicts
there, resolve in favour of their own dates, and reapply the -- to - change
by hand. Adds a grep to locate remaining instances and a pdftotext check to
verify.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

---------

Co-authored-by: kgb <kevingblackman@gmail.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
kblackma
2026-08-03 21:10:00 +02:00
committed by GitHub
co-authored by Claude Opus 5 kgb
parent 6392ca1628
commit befaaf5eef
3 changed files with 55 additions and 6 deletions
+5 -5
View File
@@ -77,7 +77,7 @@
\begin{itemize}
% --- Most Recent Role ---
\item{\cventry{[YYYY--Present]}{[Job Title]}{[Company]}{[City, Country]}{}{\vspace{1pt}
\item{\cventry{[YYYY-Present]}{[Job Title]}{[Company]}{[City, Country]}{}{\vspace{1pt}
\begin{itemize}
\item [Achievement or responsibility 1 - be specific, use numbers where possible]
\item [Achievement or responsibility 2]
@@ -88,7 +88,7 @@
\vspace{3pt}
% --- Previous Role ---
\item{\cventry{[YYYY--YYYY]}{[Job Title]}{[Company]}{[City, Country]}{}{\vspace{1pt}
\item{\cventry{[YYYY-YYYY]}{[Job Title]}{[Company]}{[City, Country]}{}{\vspace{1pt}
\begin{itemize}
\item [Achievement or responsibility 1]
\item [Achievement or responsibility 2]
@@ -98,7 +98,7 @@
\vspace{3pt}
% --- Earlier Role ---
\item{\cventry{[YYYY--YYYY]}{[Job Title]}{[Company]}{[City, Country]}{}{\vspace{1pt}
\item{\cventry{[YYYY-YYYY]}{[Job Title]}{[Company]}{[City, Country]}{}{\vspace{1pt}
\begin{itemize}
\item [Achievement or responsibility 1]
\item [Achievement or responsibility 2]
@@ -114,13 +114,13 @@
\vspace{1pt}
\begin{itemize}
\item{\cventry{[YYYY--YYYY]}{[Degree] in [Field]}{[Institution]}{[City, Country]}{}{\vspace{1pt}
\item{\cventry{[YYYY-YYYY]}{[Degree] in [Field]}{[Institution]}{[City, Country]}{}{\vspace{1pt}
Thesis: ``[Thesis Title].'' [Brief description of research focus.]
}}
\vspace{3pt}
\item{\cventry{[YYYY--YYYY]}{[Degree] in [Field]}{[Institution]}{[City, Country]}{}{\vspace{1pt}
\item{\cventry{[YYYY-YYYY]}{[Degree] in [Field]}{[Institution]}{[City, Country]}{}{\vspace{1pt}
[Brief description or key topics.]
}}