Checkpoint for the 2026-09-11 project review remediation. Work by a previous
agent that ran out of context; committed unchanged as a rollback point before
the remaining findings land on top of it.
F01 — the two agent directories had drifted into different processes
- Six shared workflows under `resume_builder/reference/workflows/`; both
`.agents/skills/` and `.claude/skills/` are now thin entrypoints that route
to the same file instead of carrying full copies.
- The `.claude` copies were the stale side: fixed bullet line variants and
character budgets that the newer process had already dropped. Removing them
is the point of the change, not collateral.
- Parity/link regression test added; corrected the top-level file map, which
pointed at a directory that does not exist.
F02 — application status was stored in four places and disagreed
- New registry `job_scout/state/applications.json` (26 records) with
`application_records.py` (schema, validation, transactional write) and
`application_tracker.py` (add/update, no quota).
- AGENTS.md and CLAUDE.md no longer keep their own status tables; both point
at `current_applications.md`, generated from the registry.
- Interview-reached is now independent of outcome, so a withdrawal after an
interview can record both facts. The old tables are preserved verbatim in
`job_scout/state/history/application_status_before_2026-09-11.json`.
Verification: `python -m unittest discover -s tests -v` — 18/18 pass.
Spot-checked that the detailed SBB and Kdo Cy notes survived the migration
into the registry rather than being flattened.
Known unresolved, deliberately not invented (see FIX_PROGRESS.md):
Aker BP's application date and its Adjacent-despite-79 classification.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qej5SBvhcbGXHwLqNWiskM
Scout run 2026-09-04 (36 companies, 778 eligible) plus the NVIDIA package it
surfaced, and the tooling and policy fixes found along the way.
Application
- NVIDIA Senior DevOps Engineer, Zurich (JR2024256): submitted 2026-09-05.
Evidence Fit 64/100 Stretch, hard gate FAIL x2, channel Weak. Sent on an
explicit user override with the working model unresolved, so hybrid-vs-onsite
is a live screening topic. 2pp resume + 1pp cover letter, both validators
PASS, 0 boxes, 0 Tier 1 findings open.
Policy
- Drop the 7 Core / 2 Adjacent / 1 Stretch cohort caps. They had no derivation
and were overridden whenever they bound, and the cohort was confounded: it
tested fit class while holding channel constant at Weak across all six
applications. Keep the recording, drop the rationing.
- Channel replaces the slot budget as the rationed variable: no application
goes out cold when a named contact is published and reachable.
- Propagated through shared_ops, session_file_template, cohort_tracker
(counts, never counts-against-a-target) and application_cohort.json.
Tool fixes
- fetch_workday emitted 404 URLs for every Workday company (NVIDIA, Novartis,
Equinor): externalPath is site-relative and needs the locale + site prefix.
6/6 short-form 404, 3/3 long-form 200. 773 dead links repaired across 42
archived reports.
- find_decision_url silently de-linked decisions on two boards, which is why
ruled-out roles kept resurfacing as undecided. RUAG rotates its UUID on
repost; BIS migrated its vacancy URL scheme, orphaning 5 decisions including
a live application. Fixed as a two-tier match, not a slug key -- slugs
collide (two live RUAG reqs shared one).
Knowledge base
- claims.json: add Bash / shell scripting, the third canonical gap of this
shape after Ansible and Linux administration.
- bundle_data_platform: BS-4 was framed as a delivered observability stack over
what claims.json calls a proof of concept -- the defect the 2026-08-21 sweep
was told to look for.
- CLAUDE.md and AGENTS.md: correct the RUAG Data Lakehouse shortlist claim,
which the JD does not support and which both files still asserted.
- resume_template: comment-guard the missing babel/ngerman language block.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QFb8tTCig5r1KzkQiNXcYt
SBB Data Engineer (Job ID 103755): invited 2026-08-28 for Wednesday
9 September 2026, 08:30, 45 min on Teams.
Per the posting's own process this is stage 2 of 4 - "Virtuelles
Kennenlernen mit HR und Fuehrungskraft" - so HR together with Andri
Wienandts, not a pure HR screen. 45 minutes shared between two people,
which is the practical constraint the brief is built around.
Two facts worth recording:
- This is the FIRST conversion of the evidence-first cohort (6
applications, 2 rejections), and it came from a COLD submit. The
channel plan called for phoning Wienandts before applying; that never
happened, so the published warm contact went unused.
- The resume never contained Snowflake, dbt or Power BI - the three
literals an ATS keyword screen would have keyed on, and a risk the
session had explicitly recorded as "accepted, not solvable". It did
not filter him out, so a human read the dossier and the honest
substitution framing survived first contact. One data point; not
enough to revise strategy on, but it is evidence against assuming
honest omissions are fatal at the screen.
Brief covers the four questions that must not go unasked (Anforderungs-
niveau K band, design/architecture scope vs current Staff + Component
Owner level, RAMSI's Java/Spring Boot/Angular share, Kidz Care rate),
the substitution answers for each named-but-non-canonical tool, the
swissTAMP/RIS/MUD context, and the thesis boundary - methods prototype,
no operational data, no accuracy figures, PSO surveyed only.
It also asks him to decide three things before the call rather than on
camera: what he does if K lands at 130-150k, if architecture is set
elsewhere, or if RAMSI turns out to be heavily Angular. Any one can be
a no, and the level question is the same shape as the declined BKW.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JMcHCsTKWvVzqyLChF5ckk
RUAG C5I - AI Engineer C5I (Thun, app ID 18027): SUBMITTED 2026-08-27.
Evidence Fit 74/100, fit class Stretch, title-capability hard gate FAIL
(R1 build/operate the AI-LLM platform and R2 in-house LLM/retrieval are
Adjacent, not Direct) - all knowingly accepted under the user's explicit
Phase 0 override. Consumes the cohort's sole Stretch slot: cohort is now
6/10, Stretch 1/1.
Critique ran twice. Round 1 scored the documents 85/100 and raised three
Tier 1 items; Round 2, after the fixes, scores 93/100 with truth and
provenance 24/25 and zero Tier 1 findings. Evidence Fit did not move and
was not allowed to: PP-3 is a personal project and cannot convert an
Adjacent title-capability into a Direct one.
Documents (.tex is the deliverable; PDFs are gitignored):
- resume 2pp/13 bullets, letter 1pp/295 words, both validators PASS
- headline is now the canonical title "Staff Data, Analytics & AI
Engineer", which puts the req's own word above the fold
- PP-3 added as a Projekte section - the only current Linux/hardening
evidence, since BS-6 ended Dec 2022
- the letter names the AI-platform gap in one sentence, then connects
SW-5 to C5I's stated DevSecOps model
- "governte" -> "governance-konforme"; JD term coverage 18/22 -> 22/22
claimable, with all six gap terms still correctly absent
Two defects found and fixed that the first critique missed:
- the resume never loaded babel, so a German document was hyphenated
with English patterns (Hal-bleiterfertigung, Tran-skription). Fixed
with babel[ngerman] plus a Transkription exception; this also cleared
an overfull box. Check this on every future German package -
resume_template.tex likely has the same omission.
- IBM AI Engineering had no primary-source record. Certificate read
directly (IBM via Coursera, 4 Jun 2020, verify 3ZBZFVAL6A34), recorded
as entry #8; it also proves PyTorch, now evidence: certification.
Also included: the submitted Kdo Cy DevOps Engineer III package, the
Capgemini omit rule promoted into config.md, BW-1 canonicalized in
experience_bundeswehr.md, and a scout.py comment correcting the
telenorgroup slug from "near-empty" to a claimed board serving stale
phantom listings that DEMO_TITLES would not catch.
Compensation, PSP/project eligibility and role level were never resolved
before sending and are now live screening topics.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JMcHCsTKWvVzqyLChF5ckk
Aker BP ASA — Data Product Architect (FINN 469067315): archive the finalized
resume/CL sources, JD, session and critique. Submitted 2026-07-30 ahead of the
2026-08-02 deadline; logged as applied in the scout decision log and marked
SUBMITTED in Active Sessions.
KB: record Atlassian Compass as Swisscom's metadata/catalogue platform for data
products and lineage (user-confirmed 2026-07-29). Practitioner use only —
claims.json forbids claiming administration, rollout or ownership, and it is
explicitly not a substitute claim for Purview, Collibra or Alation.
Also: close out the Google Business Home session (no interview), extend the job
scout, and allow the job-board domains used during the Aker BP research.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add BIS Basel and NATO JWC Stavanger application output (resume/CV, cover letter,
session file, critique) plus the Bundeswehr experience file backing the NATO
package; update session status tables in AGENTS.md/CLAUDE.md; record two new
Bash allowlist entries for the job scout venv. tmp/ is scratch working files,
now gitignored.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>