refactor: shared agent workflows (F01) and one application registry (F02)

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
This commit is contained in:
dennisthiessenandClaude Opus 5 committed 2026-09-11 19:23:13 +02:00
1 parent 0d999ab21b
commit afdef7eb94
33 files changed
+1558 -1768

No files matched your search

+47
View File
@@ -0,0 +1,47 @@
# Review remediation — 2026-09-11
User authorized all recommendations in `output/Project_Review_2026-09-11/project_review.tex`.
Work sequentially; update this file after each verified fix and before stopping.
Do not rewrite submitted application archives or invent missing evidence.
## Resume point
F01 and F02 complete. Next: F03, route tracker mutations through the authoritative registry, remove quotas and validate events.
Read this file and inspect `git diff` before resuming; do not repeat completed work.
## Checklist
| Finding | Status | Scope / verification |
|---|---|---|
| F01 | DONE | Six shared workflows; both agent entrypoints route identically; parity/link regression test; 10 tests pass |
| F02 | DONE | 26 registry records, preserved original tables, common current view, interview events independent of outcome |
| F03 | TODO | Remove quota, validate and safely update application records |
| F04 | TODO | Rule hierarchy, deliverables and approval semantics |
| F05 | TODO | Structured document evidence and honest mechanical/semantic results |
| F06 | TODO | LaTeX normalization, schema errors and advisory style diagnostics |
| F07 | TODO | Propagate evidence corrections into active writing sources |
| F08 | TODO | Normalize source/context/ownership metadata without inventing evidence |
| F09 | TODO | Safe professional templates; clearly separate academic legacy |
| F10 | TODO | Preserve original grades; remove universal GPA conversion claim |
| F11 | TODO | Dedupe by requisition, not title |
| F12 | TODO | Structured country/remote eligibility |
| F13 | TODO | Shared decision identity resolver |
| F14 | TODO | Search relevance distinct from fit; German terminology |
| F15 | TODO | Typed dates and retained contact/compensation metadata |
| F16 | TODO | Run-scoped reports, transactional persistence and scan coverage |
| F17 | TODO | Reproducible new builds and safe historical archive classification |
| F18 | TODO | Evidence earlier on page one; rendered skills budget |
| F19 | TODO | Education layout, phrasing guidance, reproducible word counts |
## Verification log
- Review baseline: 9 existing tests passed; 43/45 LaTeX builds succeeded. See the report for limitations.
- F01: moved current workflows into `resume_builder/reference/workflows/`; preserved skill frontmatter and Claude invocation support. Corrected the top-level file map and added this resume pointer. `python -m unittest discover -s tests -v`: 10/10 pass. The workflow validator now checks the shared critique implementation.
- F01 limitation: external `quick_validate.py` could not start because PyYAML is absent; repository tests validate frontmatter and both routing links.
- F02: imported 26 applications from the newer CLAUDE table and seven structured cohort records. Original tables/cohort preserved in `job_scout/state/history/application_status_before_2026-09-11.json`. `application_records.py --check` detects stale projections. Aker BP's July 29/30 date discrepancy and original Adjacent override remain explicitly unresolved. No date or rubric explanation invented.
## Completion rules
DONE requires implementation plus relevant checks. Record partial work and exact next action.
Missing factual evidence must remain explicitly unresolved, never silently promoted to verified.
Historical packages are preserved; fixes apply to active sources and future generation unless specifically noted.