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
2.1 KiB
Critique an Application Package
Startup
- Read
resume_builder/reference/shared_ops.md. - Read
resume_builder/canonical/claims.jsoncompletely. - Read
config.md, the session file, and the real verbatim JD. - Stop if the JD is reconstructed, incomplete or inferred.
- Read
resume_builder/reference/critique_framework.mdandresume_builder/support/ai_fingerprint_rules.md. - Read the resume and optional cover letter. Never use either as evidence; verify against canonical claims and experience files.
Preflight
Run:
python resume_builder/helpers/validate_resume_system.py --document <resume.tex>
Add --document <cover_letter.tex> when a letter exists. Any failure is Tier 1 and prevents approval.
Compile the documents and inspect the PDFs. Extract resume text with pdftotext and confirm that employer, formal title and dates appear in the expected order.
Critique
Follow critique_framework.md exactly:
- Hard-gate audit.
- Evidence Fit score, independent of writing.
- Document Quality score, independent of role fit.
- Channel Strength rating.
- Competitive and reader-sequence assessment.
- Canonical claim audit.
- Tiered fixes.
- Cover-letter decision/critique.
- Mechanical verification.
Do not issue a single overall score. Do not label a high-quality document submit-ready when Evidence Fit fails a hard gate.
Cover-Letter Handling
If the session records Cover Letter Decision: NO, do not penalize absence. If a letter exists, first assess whether it should exist under cl_reference.md.
Save and Report
Save output/<Folder>/critique_<name>.md. Update the session with:
- Evidence Fit score and Core/Adjacent/Stretch classification.
- Hard-gate result.
- Document Quality score.
- Channel Strength.
- Tier 1 fixes.
- Critique status and date.
Present the fit verdict first, then the two scores and actionable fixes. Wait for explicit user approval before finalization or editing.
When approved, run the finalization checks from shared_ops.md. A package with a hard-gate NO-GO may be archived, but must not be described as recommended for submission.