Files
jobtrackingapp/.gsd/milestones/M001/slices/S03/tasks/T02-PLAN.md
T

2.6 KiB

estimated_steps, estimated_files, skills_used
estimated_steps estimated_files skills_used
4 3
react-best-practices
test

T02: Make the follow-up workspace show thread-grounded draft state without autonomous sending

Slice: S03 — Reply and follow-up drafting from real thread context Milestone: M001

Description

Turn the Follow-up tab into a clearer workspace that shows why the draft was generated now, what thread/package context informed it, and what will happen when the user manually sends/logs it.

Steps

  1. Align frontend types with any stronger follow-up draft contract exposed by T01.
  2. Refine the Follow-up tab in JobDetailsDialog.tsx so it surfaces thread/package grounding, editable draft state, and the manual-send boundary clearly.
  3. Add a focused React test that proves generation, editability, and manual send/log behavior for the follow-up loop.
  4. Verify the focused follow-up workspace test and make sure it covers the saved-context/thread-aware behavior instead of generic form rendering.

Must-Haves

  • The Follow-up tab shows why the follow-up is due and what job/thread/package context informed the draft.
  • The draft remains editable before sending and the send action stays explicitly manual.
  • The focused React test proves generate/edit/send-log behavior for the follow-up loop.

Verification

  • CI=true npm --prefix job-tracker-ui test -- --watch=false --runTestsByPath src/job-details-followup-drafts.test.tsx
  • Confirm the test proves thread-aware draft context plus manual send/log behavior in job-tracker-ui/src/components/JobDetailsDialog.tsx.

Observability Impact

  • Signals added/changed: clearer Follow-up tab state around draft reason, informing context, and sent/logged outcome.
  • How a future agent inspects this: open the Follow-up tab in job-tracker-ui/src/components/JobDetailsDialog.tsx and read job-tracker-ui/src/job-details-followup-drafts.test.tsx.
  • Failure state exposed: the UI should distinguish draft-generation failure, editable draft state, and sent/logged follow-up state.

Inputs

  • job-tracker-ui/src/components/JobDetailsDialog.tsx — current follow-up UI.
  • job-tracker-ui/src/types.ts — current frontend contracts.
  • JobTrackerApi/Controllers/JobApplicationsController.cs — stronger follow-up draft contract from T01.

Expected Output

  • job-tracker-ui/src/components/JobDetailsDialog.tsx — follow-up workspace grounded in saved/job/thread context.
  • job-tracker-ui/src/types.ts — aligned follow-up DTO shape if T01 adds context fields.
  • job-tracker-ui/src/job-details-followup-drafts.test.tsx — focused frontend proof for the follow-up loop.