- generate() accepts previous_result + feedback; appends both to LLM prompt
- task_runner cover_letter handler parses params JSON, passes fields through
- Apply Workspace: "Refine with Feedback" expander with text area + Regenerate
button; only shown when a draft exists; clears feedback after submitting
- 8 new tests (TestGenerateRefinement + TestTaskRunnerCoverLetterParams)
- 3_Resume_Editor.py: replace "Meghan's" in docstring and caption
- user_profile.py: expose mission_preferences and candidate_accessibility_focus
- user.yaml.example: add mission_preferences section + candidate_accessibility_focus flag
- generate_cover_letter.py: build _MISSION_NOTES from user profile instead of
hardcoded personal passion notes; falls back to generic defaults when not set
- company_research.py: gate "Inclusion & Accessibility" section behind
candidate_accessibility_focus flag; section count adjusts (7 or 8) accordingly
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace hard-coded paths (/Library/Documents/JobSearch), names (Meghan McCann),
NDA sets (_NDA_COMPANIES), and the scraper path with UserProfile-driven lookups.
Update tests to be profile-agnostic (no user.yaml in peregrine config dir).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>