docs(redesign): define Phase 3 UX architecture
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Career Profile UX
|
||||
|
||||
ARC-08; PRES-C01–PRES-C04, PRES-C07, PRES-C10, PRES-C11, PRES-E06, PRES-E09. Sources: [CareerProfilePage](../../../job-tracker-ui/src/views/CareerProfilePage.tsx), [career sections](../../../job-tracker-ui/src/views/career/CareerProfileSections.tsx), [CvVariant](../../../JobTrackerApi/Models/CvVariant.cs), Phase 2 canonical/sibling isolation regression.
|
||||
|
||||
## One canonical source
|
||||
|
||||
Career Profile is the account-owned structured career singleton. Account /profile owns login identity/email/security; CVs own identified settings and item overrides. Label every edit destination before editing, including AI review:
|
||||
|
||||
| Scope label | What changes | What must not change |
|
||||
|---|---|---|
|
||||
| Career Profile — shared source | Canonical selected profile fields after explicit profile save/import acceptance | Account login/email/security; existing CV overrides; frozen submitted packages |
|
||||
| This CV only — [name] | Selected variant settings/item override | Canonical profile, sibling CVs, other owners |
|
||||
| This application — [role/company] | Job draft, letter, answers or existing job-specific artifact | Canonical data; unrelated application drafts |
|
||||
| Suggestion — not saved | Review proposal only | Any stored user-owned content until deliberate acceptance/save |
|
||||
|
||||
Live CVs can reflect later canonical edits where they inherit the source. Never promise that editing Career Profile leaves all rendered live CVs unchanged. Existing overridden fields remain overridden; frozen submissions remain historical. Show this consequence near profile Save and the variant's source label. An existing published live CV also needs clear explanation; it is not an immutable submitted snapshot.
|
||||
|
||||
## Page organization
|
||||
|
||||
Overview gives completeness and actionable missing information, recent import/history and CV links. Edit offers personal information, summary, work, education, skills, languages, interests and **all existing long-tail/custom sections**. Evidence has its existing sourced statement/title/category/tags list/add/delete. Import review/history stays a distinct activity with operation status.
|
||||
|
||||
Do not force onboarding before access. Profile completeness is guidance, not a public employability score or requirement to invent content. No “missing skill” autofill from job requirements. Desired role/location/remote/salary preferences are NEW-13 only where not currently represented; current job fields do not satisfy career intent preferences.
|
||||
|
||||
Preserve avatar editing, raw CV text copy, manual edit, history restore, extraction rebuild/improve/reprocess, retry/cancel and low-confidence selections. Do not reduce the canonical schema to the shorter illustrative section list.
|
||||
|
||||
## Import and AI review
|
||||
|
||||
Choose/upload source → processing with operation ID → compare extracted proposal with current profile → select supported changes (including low-confidence controls) → accept or discard. Display source document/field/confidence evidence when returned. Confidence alone does not verify truth.
|
||||
|
||||
Discard leaves canonical data intact. Failed extraction retains original and recovery actions; cancellation is not success. Low-confidence or conflicting personal claims require explicit user verification. User edits the proposal before acceptance where supported. No silent replacing of profile or automatic propagation from an AI assistant.
|
||||
|
||||
Privacy/entitlement/provider availability explains disabled actions and offers manual editing. Never send unselected attachment content or retain private extracted text in global shell state.
|
||||
|
||||
## Source and override interaction
|
||||
|
||||
Variant item references retain stable source keys. “Edit Career Profile” navigates to source; “Customize in this CV” creates/edits the existing override. “Use profile value” resets only that override, showing current source value first. Profile item removal can leave stale selections/overrides: surface an unresolved source link with repair choices, not silent reassignment to a similarly named item. Exact missing-source behavior needs a focused fixture before changing it.
|
||||
|
||||
Do not add one-click “promote all CV changes to profile.” If later requested, it needs an explicit field-level review and same-account server contract. No generic synchronization framework or schema move.
|
||||
|
||||
## Preservation and migration gate
|
||||
|
||||
Current save/history/projection behavior remains, but F01 record concurrency is unresolved. Plan source/override wording independently; coordinate any save/history/conflict owner edits with D01–D03 and recovery gates. B02 alone is not optimistic concurrency.
|
||||
|
||||
Before restructuring: native A→B stale-state denial; canonical/sibling unchanged after variant override; profile inherited-field propagation and override reset; extraction accept/discard/low-confidence/no-provider states; history restore; long sections and loaded keyboard names. Phase 2 already proves a headline override path, not every item/restore/import combination.
|
||||
Reference in New Issue
Block a user