Implement S03 follow-up draft context loop

This commit is contained in:
2026-03-24 11:05:41 +01:00
parent b5b430947b
commit 0cacb4e51b
10 changed files with 645 additions and 26 deletions
@@ -0,0 +1,28 @@
---
title: T01 summary
status: done
files:
- JobTrackerApi/Controllers/JobApplicationsController.cs
- JobTrackerApi.Tests/JobApplicationsFollowUpDraftTests.cs
verification:
- $HOME/.dotnet/dotnet build JobTrackerApi/JobTrackerApi.csproj
- docker run --rm -v "$PWD":/src -w /src mcr.microsoft.com/dotnet/sdk:9.0 bash -lc '...dotnet test /tmp/followuptests/FollowUpTests.csproj...'
---
Strengthened follow-up draft generation so it now consumes imported thread context and saved application package material instead of relying mostly on job summary text.
What changed:
- `JobTrackerApi/Controllers/JobApplicationsController.cs`
- expanded `FollowUpDraftDto` to expose context summary, context signals, thread subject, and last-correspondence metadata for the workspace
- added helpers to parse the saved application-answer draft from notes, derive reply-style subjects from the latest thread, and assemble follow-up context signals from recruiter/package/thread state
- enriched `GetFollowUpDraft(...)` so the AI prompt now includes imported correspondence context, recruiter details, saved tailored CV / cover letter / recruiter message / application-answer material, and thread-stage cues
- improved the fallback body so it still reflects saved/thread context when AI output is unavailable
- `JobTrackerApi.Tests/JobApplicationsFollowUpDraftTests.cs`
- added focused backend proof that follow-up draft generation reflects imported thread and saved package state
Verification:
- Backend host build passed with `$HOME/.dotnet/dotnet build JobTrackerApi/JobTrackerApi.csproj`
- Focused follow-up draft backend test passed in an isolated Docker harness (`1 passed`)
Important caveat:
- The broader `JobTrackerApi.Tests` project still has unrelated compile drift, so focused follow-up verification was isolated rather than run through the full test project.