Second-pass review of this session's work by another agent. It corrected several
real mistakes of mine and finished F06 gaps I had left open. Reviewed, verified
and committed as-is.
THE MISS THAT MATTERS
`job_scout/state/applications.json` — the authoritative application registry
introduced by F02 — was never actually tracked. `job_scout/state/*` in
.gitignore silently excluded it, so my checkpoint commit afdef7e claimed to add
it and did not. Only `application_cohort.json`, the GENERATED projection, was
version-controlled; the source of truth and the migration history backup were
not. .gitignore now carries explicit negations for both.
MY ERRORS, CORRECTED
- "kastellaun" was in CH_LOCATION_KEYWORDS. Kastellaun is in Rhineland-Palatinate.
I took it from a Bundeswehr reserve listing and filed it under Switzerland -
precisely the class of bug F12 existed to fix.
- The F12 fix only widened the keyword list; SmartRecruiters still discarded the
structured country, which was the concrete case the review named
(city=Baar, country=CH). The adapter now preserves it, and a COUNTRY_NAMES
mapping gives country precedence over a bare town name.
- F15 was applied to Taleo and Prospective only. Greenhouse still wrote
`updated_at` into `posted`; it now uses `published_at` and carries provenance.
- My negation guard `\b(no|not|...)\b[^.;]{0,60}$` was too loose - an unrelated
"not" within 60 characters could mask a real claim. Tightened to require the
negation to govern the term.
- F18's retirement of the macro-count rule missed "Four to six compact skills
lines" in the workflow; removed now.
F06 GAPS I LEFT OPEN, NOW CLOSED
Date-format validation on education/employment periods (the 2035-99 case named
in the review), evidence-structure validation, referential integrity on evidence
source files, and the missing-identity KeyError.
F10 TAKEN FURTHER, AND RIGHTLY
I demoted the US-GPA fields to *_orientation_only. They are now removed
entirely, with grade_output_rule saying what to do instead: use the German grade
and scale, and if a recipient requires a US GPA, use THEIR method and record it.
Keeping a number derived by a non-recognised method invites its use.
Also: the Capgemini omit-preference now sits in experience_capgemini.md itself,
alongside the instruction not to fill or explain the intentional gap.
BIS BASEL - REJECTED 2026-09-11
jr100429, applied 2026-07-10, no interview, no reason given. Recorded in the
registry with a dated event and in the decision log; the "prep interview brief
when screening lands" next action is cleared. This also settles the 2026-09-04
observation that the req had vanished from the BIS board - it was a real
rejection, not just a closed posting.
VERIFICATION I RAN MYSELF BEFORE COMMITTING
49/49 tests. Validator PASS with 0 advisory warnings. Package manifest and
registry views current. All 12 F12 location cases still correct, including
Kastellaun now rejecting. The F05 counter-proof still catches all 9 violations.
SBB, NVIDIA, RUAG and Kdo Cy resumes still scan clean. Diffs are net-additive
across every reference file - the deletions are replacements, not losses.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qej5SBvhcbGXHwLqNWiskM
71 lines
3.4 KiB
Markdown
71 lines
3.4 KiB
Markdown
# Cover Letter Reference
|
|
|
|
> The resume must stand alone. Decide on a letter using the employer and market context below.
|
|
|
|
## Decision Gate
|
|
|
|
Generate a cover letter when at least one is true:
|
|
|
|
- The posting or portal requests one.
|
|
- The employer is a traditional Swiss/DACH institution, public body, NGO or mission-led organization where motivation is material.
|
|
- A credible career/location/domain transition needs a short explanation.
|
|
- Work authorization, language, relocation or a genuine personal connection materially strengthens the application.
|
|
- The user explicitly requests a letter.
|
|
|
|
Normally skip it when:
|
|
|
|
- The portal provides no upload field.
|
|
- A standardized process already asks motivation questions.
|
|
- It would merely repeat the resume or paraphrase company news.
|
|
|
|
Record `Cover Letter Decision: YES/NO` and the reason in the session file before writing.
|
|
|
|
For Denmark and Norway, normally prepare a short, specific letter when the process permits it;
|
|
do not automatically skip it merely because the field is optional. Explain the actual connection
|
|
to the employer, relevant evidence and any confirmed country/location motivation. One page is
|
|
the normal limit. Employer instructions against letters or motivation questions in the portal
|
|
take precedence. If no specific additional value exists, record why the letter is omitted.
|
|
Sources reviewed 2026-09-11: [Workindenmark](https://www.workindenmark.dk/job-search-in-denmark/your-cover-letter),
|
|
[NAV](https://arbeidsplassen.nav.no/tips-til-jobbsoknaden).
|
|
|
|
## Evidence Rules
|
|
|
|
1. Read `resume_builder/canonical/claims.json` first.
|
|
2. Every work claim must be traceable to the resume and canonical registry.
|
|
3. Significance files supply optional context only; reverify external claims from current primary sources.
|
|
4. Company or industry scale never becomes Dennis's personal scale or impact.
|
|
5. Do not introduce a skill, metric, customer, ownership claim or result absent from the resume.
|
|
|
|
## International Tech / Industry Letter
|
|
|
|
- One page, normally 200--300 words.
|
|
- Two or three short paragraphs.
|
|
- Open with the candidate-role connection, not a company press-release summary.
|
|
- Use one or two proof points and explain why they matter for this role.
|
|
- Add motivation or context the resume cannot show.
|
|
- Close directly and professionally.
|
|
|
|
## Swiss/DACH Letter
|
|
|
|
- One A4 page.
|
|
- Match the language and formality of the posting.
|
|
- Explain motivation, relevant evidence and practical fit such as location/language.
|
|
- References and diplomas remain separate attachments when requested.
|
|
|
|
## Employer-Specific Formats
|
|
|
|
For NATO, government or academic applications, follow the employer's explicit format and portal fields. Do not force a generic three-paragraph industry structure when the application requests a motivation statement or competency answers.
|
|
|
|
## Hook Verification
|
|
|
|
Verify every named product, programme, paper, executive statement or current company initiative before use. Prefer first-party sources. Record the source in the session file. If a hook is not necessary, omit it rather than spending a paragraph proving company familiarity.
|
|
|
|
## Quality Checks
|
|
|
|
- The resume stands alone.
|
|
- The letter adds motivation, decision context or a meaningful connection.
|
|
- The voice is direct and natural.
|
|
- No generic opening, credential dump, defensive gap list or copied resume bullet.
|
|
- The canonical validator passes for the cover-letter `.tex`.
|
|
- The compiled document is one readable page unless the employer explicitly requests otherwise.
|