chore(input): clarify jd normalization

This commit is contained in:
2025-10-15 16:56:47 -05:00
parent 599821d25a
commit 4f05e0fd5d
3 changed files with 5 additions and 4 deletions

View File

@@ -9,7 +9,7 @@ Automate the upstream resume customization workflow. Monitor the job-description
- `ForCustomizing/outbox/YYYY/MM/DD/HHMM/` timestamped folders containing Codex output Markdown (`<company>-<jobtitle>.md`) along with the exact prompt and the cleaned job description that fed Codex. - `ForCustomizing/outbox/YYYY/MM/DD/HHMM/` timestamped folders containing Codex output Markdown (`<company>-<jobtitle>.md`) along with the exact prompt and the cleaned job description that fed Codex.
- `ForCustomizing/processed/YYYY/MM/DD/HHMM/` archives of job descriptions that Codex processed successfully. - `ForCustomizing/processed/YYYY/MM/DD/HHMM/` archives of job descriptions that Codex processed successfully.
- `ForCustomizing/failed/` captures job descriptions when Codex errors or a recoverable issue occurs. Fatal configuration errors still exit the container. - `ForCustomizing/failed/` captures job descriptions when Codex errors or a recoverable issue occurs. Fatal configuration errors still exit the container.
- `templates/JobDescriptionNormalizerPrompt.md.example` default instructions that scrub recruiter chatter and extract metadata; copy to `JobDescriptionNormalizerPrompt.md` to override. - `templates/JobDescriptionNormalizerPrompt.md.example` default instructions that scrub recruiter chatter while preserving all job description content and extract metadata; copy to `JobDescriptionNormalizerPrompt.md` to override.
- `templates/ResumeCustomizerPrompt.md.example` default resume-customization instructions; copy to `ResumeCustomizerPrompt.md` to override. - `templates/ResumeCustomizerPrompt.md.example` default resume-customization instructions; copy to `ResumeCustomizerPrompt.md` to override.
## Running the Input Processor ## Running the Input Processor

View File

@@ -6,7 +6,7 @@ The input side of ResumeCustomizer prepares job-specific Markdown resumes by sti
1. Ensure `input/resume/` contains exactly one Markdown resume. 1. Ensure `input/resume/` contains exactly one Markdown resume.
2. Drop a single job-description file (plain text or Markdown) into `input/ForCustomizing/inbox/`. 2. Drop a single job-description file (plain text or Markdown) into `input/ForCustomizing/inbox/`.
3. Start the watcher stack (`input/Docker/run-input-processor.sh up -d`). 3. Start the watcher stack (`input/Docker/run-input-processor.sh up -d`).
4. The watcher normalizes the messy job description via Codex (using `templates/JobDescriptionNormalizerPrompt.md.example` by default), then combines the cleaned Markdown, the base resume, and the resolved customization prompt into a second Codex run that writes the generated resume to `ForCustomizing/outbox/YYYY/MM/DD/HHMM/<company>-<jobtitle>.md`. 4. The watcher normalizes the messy job description via Codex (using `templates/JobDescriptionNormalizerPrompt.md.example` by default), stripping recruiter chatter while preserving every job-related detail, then combines the cleaned Markdown, the base resume, and the resolved customization prompt into a second Codex run that writes the generated resume to `ForCustomizing/outbox/YYYY/MM/DD/HHMM/<company>-<jobtitle>.md`.
5. Successful runs archive the job description under `ForCustomizing/processed/`, copy both the prompt and the cleaned job description into the same outbox folder, and leave the Codex output for human review. Failures move the job description into `ForCustomizing/failed/`. 5. Successful runs archive the job description under `ForCustomizing/processed/`, copy both the prompt and the cleaned job description into the same outbox folder, and leave the Codex output for human review. Failures move the job description into `ForCustomizing/failed/`.
The human operator reviews the Codex output Markdown, makes any edits, and then manually hands it off to the output pipeline for document rendering. The human operator reviews the Codex output Markdown, makes any edits, and then manually hands it off to the output pipeline for document rendering.

View File

@@ -16,7 +16,8 @@ Job Title: <role title in sentence case>
``` ```
Guidelines: Guidelines:
- Strip all chatter that is not part of the actual role description. - Preserve every piece of content that belongs to the job description (responsibilities, requirements, benefits, etc.). Do **not** summarize, condense, or delete substantive details.
- Only remove extraneous recruiter chatter such as greetings, signatures, contact blocks, forwarding notes, or metadata unrelated to the role itself.
- If multiple companies or roles appear, pick the primary one the candidate should target. - If multiple companies or roles appear, pick the primary one the candidate should target.
- Normalize whitespace, headings, and bullet lists in the Markdown output. - Normalize whitespace, headings, and bullet lists in the Markdown output.
- Omit personal identifiers for recruiters or candidates unless they are essential job facts. - Omit personal identifiers for recruiters or candidates unless they are essential job facts.
@@ -24,4 +25,4 @@ Guidelines:
note that it is inferred (e.g., “<Company> (inferred)”). note that it is inferred (e.g., “<Company> (inferred)”).
- Never add commentary outside the format shown above. - Never add commentary outside the format shown above.
The raw content follows. The raw content follows verbatim. Retain all job-related text.