Files
jobtrackingapp/docs/redesign/phase-3/JOB_WORKSPACE.md
T
2026-09-10 18:15:05 +02:00

6.5 KiB
Raw Blame History

Job workspace and guided journey

ARC-07; PRES-W01–PRES-W12, PRES-J03–PRES-J09, PRES-M01–PRES-M05, PRES-C01, PRES-C05–PRES-C12. Reuse ApplicationWorkspacePage, ApplicationAssets, Attachments, Correspondence, InterviewPrep and the typed applicationWorkspace client.

Persistent header

Show role, company, current status with precise edit action, location, deadline and next action. Secondary metadata: source link, saved/applied date and recorded match summary with source/freshness when available. Main CTA follows the supported next step; Edit job and overflow retain existing controls. Do not automatically start analysis/rendering when opening a page.

A “Tailored for this job” or “Current CV” label must link to the exact variant. No header claim that a package was submitted because a PDF was downloaded. Favourite awaits NEW-09. On mobile keep title/status/action compact; remaining metadata expands without disappearing.

Section ownership

Target section Existing capabilities consolidated Display and progressive disclosure
Overview JobDetailsSection, ApplicationProgress, nextStep, description/translation, dates and contacts Summary and one suggested action; expand full source description and contact details
Match ApplicationAnalysis, ApplicationMatch, strategy snapshot, reviewed workflow/status suggestions Source requirements, supported/unknown gaps, explanation; optional AI narrative with review. “Analysis” old key maps here
Application ApplicationCvSection/TailoringSection, CoverLetterSection, package drafts and SubmittedPackagesSection Steps within one section: CV → Letter → Answers → Submission; independent entry, explicit scope and save state
Documents Attachments plus references to current CV/letter and immutable packages Upload/category/AI-use/rename/preview/download/delete; do not copy content into a new store
Timeline ApplicationTimeline plus correspondence and follow-up context Activity / Correspondence subview; filters and compose/import thread actions. Sending remains its explicit review flow
Notes & tasks Existing Notes, ApplicationChecklist Manual/system/dismissed distinction, move controls and progress. Application answers remain in Application, not overwritten into Notes
Interview InterviewPrep manual/questions/AI review/readiness/debrief/follow-up Prep / Debrief disclosure; preserve generated question review, manual edits and source context

Keep all seven reachable even before an interview; “Not yet applicable” explains missing context without hiding existing edits. Old CV/cover-letter/checklist/document/timeline/communication links translate per Route plan. A logical Timeline merge does not imply all emails and job events already share a backend timeline endpoint.

Application has four subsection controls, not an enforced wizard or duplicated route tree. Keep per-domain save/dirty boundaries and guards across tab/query changes. Choosing a new CV may reassign a relationship; explain it before performing the existing attach operation. Do not invent many-to-many CV associations.

Guided journey without a forced wizard

Situation observed Suggested action Required guard / alternative
Discover/import listing Review captured fields; then Save job Preview never creates. URL import retains B01. Manual entry stays available
Saved job lacks usable description Add/review source description No invented facts or auto-submit
Source available, profile missing/incomplete Review Career Profile; optionally analyse job independently Missing information is unknown, not proof of unfitness
Match available Inspect supported strengths/gaps, choose/tailor CV No job requirement silently added to profile
CV chosen Prepare letter/answers User can use existing materials or skip tailoring
Material prepared Review and freeze current package; record application Explicit capture operation; not proof of external delivery
Applied with date Set/review follow-up and current reminders Existing date/rule meanings retained; no automatic real email
Interview stage Open preparation and optionally add supported calendar action Current calendar supports deadline/follow-up; scheduled interview needs NEW data
Interview completed Record debrief/outcome and optional follow-up Do not seed achievements or company facts
Offer / rejected / withdrawn / other Review offer/record outcome, retain artifacts/history Neutral tone; no mandatory goal or stage path

Use the existing server nextStep/checklist/workflowSignal as initial source. Do not build a competing client progression engine. A dismissed/manual checklist item stays user-controlled; rerenders and layout changes must not reseed or repeat operations.

Status change and package capture are separate existing operations. Preserve both; never claim an atomic “Applied + immutable package + external send” transaction exists. Show partial completion and explicit retry without creating duplicate sends/packages. Any new atomic submission behavior needs a separate backend design.

Full page versus preview and state

Full page owns writing, AI review, correspondence send, history restore, package capture and multi-step work. Preview is a summary/navigation aid. Dirty text survives ordinary viewport changes and cancelled navigation. Accepted AI suggestions change only the intended local draft/settings; saving uses its existing API contract. Account switch clears private state and invalidates stale requests even if a dialog was open.

Existing job IDs are application-read-model identifiers; internal Job linkage does not authorize a route/schema rewrite. Ownership, association and resource missing results stay server-enforced.

Migration blockers and proof

P2-D01 blocks successful native SQLite tailoring/package capture; fix under its separate ticket before restructuring those sections. Keep its expected-failure oracle visible. F01 lost-update semantics remain separate from B02 identity and creation idempotency; no new autosave/conflict system in this plan.

Require loaded tests covering all section aliases, draft Cancel/Discard, preserved Notes versus answer drafts, CV attach/detach, immutable historical HTML/letter/binary after live mutation, timeline/status updates, correspondence uncertain-send behavior and interview review. Test keyboard/mobile and both locales/themes; missing/foreign job stays safe. No removal of low-frequency interview/debrief/version/attachment actions for a cleaner overview.