6.5 KiB
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.