Improve tailoring and job fetch resilience

This commit is contained in:
2026-08-03 00:57:19 +03:30
parent 81d816ae54
commit 50cc879e1e
6 changed files with 311 additions and 19 deletions
+41
View File
@@ -123,6 +123,47 @@ def test_tailor_runs_draft_and_audit() -> None:
assert result == expected
def test_tailor_restores_canonical_contact_after_each_model_pass() -> None:
draft = package()
audited = package()
for result in (draft, audited):
result.resume.contact = ContactInfo(
full_name="Reformatted Name",
email="changed@example.com",
phone="000",
location="Changed location",
linkedin="https://example.com/changed",
website=None,
)
result = tailor_resume(FakeLLM([draft, audited]), profile(), "long job post")
assert result.resume.contact == CONTACT
def test_revision_restores_canonical_contact_after_each_model_pass() -> None:
revised = package()
audited = package()
for result in (revised, audited):
result.resume.contact = ContactInfo(
full_name="Reformatted Name",
email="changed@example.com",
phone=None,
location="London",
linkedin=None,
website=None,
)
result = revise_tailored_resume(
FakeLLM([revised, audited]),
profile(),
package(),
"Make the summary more direct.",
)
assert result.resume.contact == CONTACT
def test_tailoring_strength_controls_rewriting_without_relaxing_evidence() -> None:
expected = package()
llm = FakeLLM([expected, expected])