chore(M001/S02): auto-commit after complete-slice

This commit is contained in:
2026-03-24 12:32:21 +01:00
parent bc8bbbfddd
commit b2d9358d58
9 changed files with 242 additions and 51 deletions
@@ -4,14 +4,19 @@ status: done
files:
- JobTrackerApi/Controllers/JobApplicationsController.cs
- JobTrackerApi.Tests/JobApplicationsApplicationPackageTests.cs
observability_surfaces:
- POST /api/jobapplications/{id}/generate-application-package
- JobApplicationsApplicationPackageTests in JobTrackerApi.Tests/JobApplicationsApplicationPackageTests.cs
- persisted package fields and notes markers on JobApplication records after generation/save loops
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/apptests/AppPkgTests.csproj...'
- $HOME/.dotnet/dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --filter JobApplicationsApplicationPackageTests
---
Strengthened application-package generation so it now consumes imported correspondence and recruiter/job context instead of relying mostly on job description text plus the profile CV.
What changed:
## What changed
- `JobTrackerApi/Controllers/JobApplicationsController.cs`
- added `BuildCorrespondenceContextAsync(...)` to gather recent imported correspondence, participants, thread ids, and AI-derived package signals
- enriched `generate-application-package` context with:
@@ -24,9 +29,15 @@ What changed:
- `JobTrackerApi.Tests/JobApplicationsApplicationPackageTests.cs`
- added focused backend proof that package generation reacts to imported correspondence and recruiter context rather than falling back to generic output
Verification:
- Native backend build passed with `$HOME/.dotnet/dotnet build JobTrackerApi/JobTrackerApi.csproj`
- Focused application-package backend test passed in an isolated Docker harness (`1 passed`)
## Diagnostics
Important caveat:
- As with S01 backend verification, the repositorys broader `JobTrackerApi.Tests` project still has unrelated compile drift, so the focused package test was isolated instead of relying on the full test project.
- Call `POST /api/jobapplications/{id}/generate-application-package` on a job that already has imported correspondence; inspect whether the response package now includes recruiter-aware wording, correspondence-derived `keyPoints`, and non-generic draft content.
- Check `JobTrackerApi.Tests/JobApplicationsApplicationPackageTests.cs` first when the package feels generic; it is the narrowest automated proof that imported correspondence and recruiter context reach the generator.
- If runtime output looks weak, inspect the job record and linked `Correspondence` rows first; this generator now depends on persisted correspondence quality rather than only the raw job description.
## Verification Evidence
| Command | Exit code | Verdict | Duration |
|---|---:|---|---|
| `$HOME/.dotnet/dotnet build JobTrackerApi/JobTrackerApi.csproj` | 0 | PASS | 4.8s |
| `$HOME/.dotnet/dotnet test JobTrackerApi.Tests/JobTrackerApi.Tests.csproj --filter JobApplicationsApplicationPackageTests` | 0 | PASS | 8.4s |