Application
- Kongsberg Discovery / Seatex, Lead Engineer DevOps and Test Infrastructure
(Trondheim): resume, cover letter (+ paste text), verbatim JD, session and
critique. Submitted 2026-10-08 via EasyCruit as a deliberate cold application
on a user override of the embedded-SW hard gate (Evidence Fit 69, Document
Quality 84). Recorded in applications.json and decisions.json.
- Google Senior SWE Full Stack Commerce: session and verbatim JD from
2026-10-03 (no-go on the frontend gap, held, not submitted).
Knowledge base
- claims.json: ED-1 (embedded/robotics coursework, none since studies),
SW-9 (current unit testing, pytest), new skills (pytest, unit testing,
embedded systems (coursework), VHDL, robotics (coursework)), and Jenkins and
GitLab CI/CD registered from existing GN-1/FC-1/BS-6/SW-3 scopes.
- Earlier uncommitted KB work: 2026-09-18 Python frameworks / enterprise SaaS
clarification, 2026-10-03 data-product design / no-frontend clarification,
2026-10-06 working-model rule (3 homeoffice days baseline) in config.md and
application_strategy.md, plus related experience/bundle/taxonomy updates.
- CLAUDE.md corrections log: 2026-10-08 entry for the three canonical gaps.
Scout
- 2026-10-08 run triaged by JD read: NVIDIA DGX Cloud Senior Production
Engineer, Google SRE III Prod AI / Senior SRE / Staff Shopping Graph and
Amazon RIVR DevOps logged as maybe; GenAI FDE family, Kraken AI Platform,
PostFinance DevOps and five Kdo Cy reqs logged as skip with reasons.
Housekeeping
- .gitignore: ignore .cache/ and raw HTML page dumps under output/.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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