mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-11-02 13:12:50 +00:00
fix(specs): settle every workflow spec on python3, one Windows note at first use (#678)
* fix(specs): settle every workflow spec on python3 with one Windows note at first use * fix(specs): finish python3 in the specs /apply reads; Windows note says run as python - 04-job-evaluation (salary lookup), 05-cv-templates (verify_pdf x2) and CLAUDE.md now spell python3 like apply.md; framework_version bumped on 04 (1.2.7) and 05 (1.4.8), each with its own Windows note at first use. - The note now covers Windows generally: python3 is either the exit-49 Store stub or a separate Store Python without pip's packages, so run as python. - tests/test_python_command_specs.py globs commands, skills and agents instead of naming four files. - CHANGELOG entry matches the final scope. * changelog: place the #678 entry under [Unreleased] Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Mads Lorentzen <madslorentzen_17@hotmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
11 files changed
+168
-17
No files matched your search
@@ -140,7 +140,7 @@ Both documents MUST be compiled and visually inspected via the Read tool on the
|
||||
- [ ] **Cover letter bullet font matches body font** - `\lettercontent{}` must not wrap `\begin{itemize}...\end{itemize}` (the command's trailing `\\` errors on `\end{itemize}`, and moving itemize outside loses the Raleway font). Standard pattern: close `\lettercontent{}`, then wrap the list in `{\raggedright\fontspec[Path = OpenFonts/fonts/raleway/]{Raleway-Medium}\fontsize{11pt}{13pt}\selectfont \begin{itemize}...\end{itemize}\par}`
|
||||
|
||||
### ATS & keyword verification (CV)
|
||||
ATS parsers read the PDF's embedded text layer, not the rendered page. Extract it with `python tools/verify_pdf.py cv/main_<company>_<role>.pdf --dump-text cv/main_<company>_<role>.txt` (pypdf, then `pdftotext -layout -enc UTF-8`) and verify what a parser sees. If both extractors are missing, skip the parseability items with a warning and check keyword coverage from the visual PDF read instead.
|
||||
ATS parsers read the PDF's embedded text layer, not the rendered page. Extract it with `python3 tools/verify_pdf.py cv/main_<company>_<role>.pdf --dump-text cv/main_<company>_<role>.txt` (pypdf, then `pdftotext -layout -enc UTF-8`) and verify what a parser sees. If both extractors are missing, skip the parseability items with a warning and check keyword coverage from the visual PDF read instead.
|
||||
- [ ] CV text layer extracts cleanly - no `(cid:*)` markers, `�` replacement characters, or text visible in the PDF but absent from the extraction
|
||||
- [ ] Email and phone appear as **literal text** in the extraction (icon-glyph noise like `MOBILE-ALT`/`Envelope` is harmless, but a contact detail carried only by an icon or hyperlink is invisible to ATS)
|
||||
- [ ] Reading order of the extracted text matches the visual order (single-column stock template is safe; multi-column custom templates are where this breaks)
|
||||
|
||||
Reference in new issue
Block a user