Files
jobtrackingapp/.gsd/PROJECT.md
T
cesnimda 8f0f9bae22 docs: Added docs/s07-uat.md to close S07 with imported acceptance-run e…
- "docs/s07-uat.md"
- ".gsd/milestones/M001/slices/S07/tasks/T01-SUMMARY.md"

GSD-Task: S07/T01
2026-03-27 09:36:39 +01:00

29 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Project
## What This Is
Job Tracker is a personal job-application workspace for an individual user. The user finds jobs elsewhere, imports them into the app, uses AI to improve CVs, cover letters, replies, and follow-ups, and keeps the real-world application process organized through tracking, correspondence, and manual updates.
## Core Value
The product must let one person run a real job search without losing the thread: import a role, prepare stronger application material, track what happened, keep Gmail correspondence tied to the right job, and know exactly what needs follow-up next.
## Current State
A substantial brownfield app already exists. The repo has a React frontend, an ASP.NET Core API, and a local FastAPI AI service. Current capabilities already include job tracking, companies, attachments, correspondence, reminders, job import preview, Gmail connection/import, profile CV upload/parsing/rewrite flows, AI-assisted tailored CV and cover-letter generation, candidate-fit/focus-plan/interview-prep/readiness endpoints, and dashboard/system surfaces. M001 is now complete across S01-S06: the Gmail workspace is job-aware, backend ranking happens server-side, Gmail imports persist thread/from/to metadata, duplicate-safe single-message and thread imports are explicit, already-linked Gmail threads refresh back into the same job automatically via a bounded `ExternalThreadId` pull, the Tailored CV workspace persists reusable package material, follow-up drafting reuses imported correspondence plus saved package context, and `/jobs`, `/dashboard`, and `/reminders` now share one workflow-signal contract that routes into the same job workspace semantics. S05 finished the trust-loop polish by centralizing workflow trust/action metadata, surfacing linked-thread continuity state directly in the workspace, and adding an integrated regression that proves overview entry → package reuse → Gmail continuity → grounded follow-up drafting without crossing the manual-send boundary. S06 then stabilized the live localhost environment with a repeatable preflight gate, idempotent acceptance-data seeding through the real API, and a rerunnable acceptance-run artifact that re-proves `/jobs` → workspace → reminders/dashboard plus the manual-send boundary in the actual stack. The remaining M001 work is S07: turn this stabilized live run into final daily-loop UAT closure, while acknowledging that Gmail-connected continuity still needs a genuinely configured Gmail session in the target environment to be proven live.
## Architecture / Key Patterns
The frontend lives in `job-tracker-ui/` and is a React + TypeScript app using MUI. The backend lives in `JobTrackerApi/` and is an ASP.NET Core API with EF Core, Identity, background hosted services, and controller-based endpoints. The local AI service lives in `tools/summarizer/` and provides summarization plus OCR/text extraction. Existing patterns already center around per-job workspaces, Gmail-backed correspondence import, profile-CV-as-source-of-truth, attachment-level AI inclusion controls, and server-side generation endpoints that return drafts for user review rather than autonomous sending. With the override, Gmail-backed correspondence is no longer just a one-time import pattern; it is a linked-thread continuity pattern that must keep the job timeline aligned with the users real Gmail thread history.
## Capability Contract
See `.gsd/REQUIREMENTS.md` for the explicit capability contract, requirement status, and coverage mapping.
## Milestone Sequence
- [x] M001: Gmail and draft quality loop — Make Gmail import and AI drafting strong enough to trust as a daily workflow, including whole-thread Gmail continuity after import.
- [ ] M002: Tracking control center — Strengthen the job table, follow-up surfaces, and tracking rhythm into a clearer control center.
- [ ] M003: Deeper inbox-aware assistance — Extend correspondence awareness and context-driven assistance beyond the first Gmail improvements.
- [ ] M004: Trust, launchability, and hardening — Polish validation, clarity, performance, and operational trust surfaces for sustained daily use.