47 KiB
Phase 5 preservation impact
All 57/57 original capability groups are mapped, not exhaustively tested or approved for migration. IDs and complete original requirements come from Phase 1. Full automated assertions/gaps remain in the Phase 2 matrix; P4-06 acceptance adds the scoped foundation evidence and conditional gates. Selected existing test references below are anchors, not a coverage percentage or fresh execution claim.
Rows distinguish direct work, entry-only relocation and unchanged regression dependencies. Every authenticated page receives the new shell, but that does not authorize its form/workflow redesign. Slice numbers refer to PHASE5_PLAN; 00–14 means applicable implemented slices, not permission to execute blocked ones. P5-05 is not active. Gate definitions and VS evidence sets apply cumulatively; missing evidence must be added before changing the affected behavior. P5-15 reconciles every row again.
Each implementation trace must use PRES-ID[.subworkflow] → original requirement → change/commit → named test + actual outcome → VS artifact + human review. No row below is implementation evidence. Retain all sub-capabilities even where the short proposed-change description highlights only one. New functions retain NEW IDs; defects retain their original IDs.
| PRES ID / original capability | Phase 5 touch / owner slice | Existing entry and component/service owners | Behavior retained → planned UX change | Selected existing automated evidence | Missing evidence / gate → future visual proof |
|---|---|---|---|---|---|
| PRES-E01 — Public product/plans; honest unavailable billing | Unchanged / 01 route regression | /; LandingPage, planCatalog; AccountPlans |
Keep public plans and honest unavailable billing; no marketing redesign. | F:landing-page; F:planCatalog; B:AccountPlans | Public/checkout provider gaps remain; VS-SHELL public redirect smoke. |
| PRES-E02 — Local login/register/remember, challenge, reset and verification | Entry / 01 | /login; /register; /forgot-password; /reset-password; /verify-email; LoginPage, TurnstileWidget, VerifyEmailPage; AuthController |
Keep auth/reset/verification/challenge callbacks and token URLs; no auth form changes. | F:login-page; F:verify-email-page; B:LocalAuthIdentity; B:AuthAndSystemController | G-SHELL provider lifetime; VS-SHELL login/private entry plus existing auth suite; actual mail/Turnstile remains separate. |
| PRES-E03 — Google/Microsoft login, link, legacy relink and popup results | Entry / 01 | /login; /microsoft-legacy-relink; provider callbacks; GoogleAuthCard, MicrosoftAuthCard, MicrosoftLegacyRelinkPage; token validators |
Keep login/provider/relink and Settings Connections distinction; group links only. | F:login-page; F:microsoft-legacy-relink-page; B:GoogleTokenValidator; B:MicrosoftTokenValidator | G-SHELL origin/state and callback regressions; VS-SHELL links; real provider consent remains a gap. |
| PRES-E04 — 2FA challenge/recovery/setup/disable; trusted-device revocation | Entry / 01 | /profile; /login; TwoFactorSettingsCard, TwoFactorChallenge; TwoFactorController |
Move Account/security entry under Settings/account menu; setup/recovery/trusted-device functions unchanged. | F:two-factor-settings; F:login-page; B:TwoFactorController; B:SessionsController | No security panel relocation; VS-SHELL account links; full device/AT journey remains separate. |
| PRES-E05 — Session list/current device, revoke one/others, logout | Direct shell / 00, 01, 02 | /profile; shell user menu; SessionsSettingsCard, AppShell, auth; SessionsController |
Same logout and session invalidation; open utilities cannot retain private callbacks; session list stays on Profile. | F:session-boundary; F:account-scoped-state; B:SessionsController; B:AuthSessionRevocation | G-SHELL/B02 real A→B open drawer/command/bell; VS-SHELL/UTILITY. Session card full UI gap retained. |
| PRES-E06 — Avatar, account names/headline, email change and password | Entry / 01 | /profile; /confirm-email-change; ProfilePage; AuthController, AvatarStorage |
Account identity/avatar stays distinct from Career Profile; preserve email confirmation route. | F:profile-page; F:verify-email-page; B:AvatarStorage; B:LocalAuthIdentity | VS-SHELL account name/avatar/long labels; identity mutations not migrated. |
| PRES-E07 — Desktop collapse/mobile drawer, active nav and command search/actions | Direct / 00, 01, 02, 04b, 07, 08b | Shell; Ctrl/Cmd+K; AppShell, QuickCommandDialog; job/company search APIs |
Grouped nav, utilities, staged aliases/new Analytics; all 31 routes retained before additions. | F:sidebar-active-nav; F:app-shell-notifications; B:JobApplicationsAuthorization; B:CompanyRelationship | G-SHELL, G-JOBS parity and G-WORKSPACE query gates; VS-SHELL/UTILITY/JOBS/BOARD/ANALYTICS/WORKSPACE. |
| PRES-E08 — Theme/system, EN/NB hydration, toast/confirm/prompt and errors | Direct shared / 00–14 | Shell; preferences; fallback routes; themePrefs, I18nProvider, confirm, prompt; auth preference |
Keep semantic tokens, system/light/dark, EN/NB, modal/loaded state and scopes; no second styling/feedback system. | F:theme-state; F:i18n-provider; B:LocalAuthIdentity | G-SHELL tooltip/toast; every VS set plus reduced motion/zoom/AT; incomplete axe nodes not passes. |
| PRES-E09 — Account-switch private-state disposal and stale request rejection | Regression boundary / 00–15 | All private routes; tabs/BFCache/focus; App, api, sessionBoundary; SessionContextMiddleware |
Private tree unmount, trusted identity and abort/stale-write guard remain; no private storage introduced. | F:session-boundary; F:account-scoped-state; B:SessionContextMiddleware; B:CurrentUserIdLiveEvaluation | B02 real/API negative cases for each new utility/route; VS-SHELL/UTILITY cannot prove authorization by image. |
| PRES-J01 — NAV discovery/filter/sort/source/deadline/details | Entry / 01, 03 | /discover; JobDiscoveryPage; JobDiscoveryController |
Discover becomes Jobs secondary; source search/capture page unchanged. | F:job-discovery; B:JobDiscoveryController; B:JobOpportunitySync | VS-SHELL Jobs children; job-discovery browser retained, NAV live provider gap not closed. |
| PRES-J02 — Saved searches, run/delete/alerts, result changes/dismissal | Entry / 01, 03 | /discover; JobDiscoveryPage; saved-search/alert services |
Saved NAV searches/alerts remain within Discover, no new notification producer. | F:job-discovery; B:SavedJobSearchAlert; B:JobDiscoveryController | VS-SHELL link; saved search/API evidence retained; no scheduled alert delivery claim. |
| PRES-J03 — Reviewed manual/URL/paste job create, company/tags/dates, duplicates | Entry/presentation / 01, 02, 03 | Shell AddJobModal; AddJobModal; JobImportService, JobApplicationsController |
Add/import review stays existing modal/callback, no creation on route/view mount. | F:quick-capture; B:JobImportService; B:JobImportHttpTransport | G-JOBS capture/modal no-POST tests; VS-UTILITY/JOBS reviewed manual/URL/paste flows; B01 remains. |
| PRES-J04 — Extension/bookmarklet/share capture; post-create attachment/CV | Entry / 01, 03 | ?add= / ?addtext=; QuickCaptureCard; browser-extension; App, captureUrl, QuickCaptureCard; job/CV APIs |
Keep add/addtext capture, consumed-once review and optional post-create CV attachment. | F:captureUrl; F:quick-capture; B:JobImportService; B:CvBuilder | G-JOBS deep-link and extension fixtures; VS-JOBS modal; installed extension/manual browser gap remains. |
| PRES-J05 — Job filters/sort/page/columns, saved views and row/mobile actions | Direct / 03, 04a entry, 04b | /jobs; JobTable, SavedViewsMenu; JobApplicationsController |
Restyle table/cards/filters, same columns/sort/page/saved views; gated shared board query. | F:application-workspace-overlay; F:account-scoped-state; B:JobApplicationsController; B:JobApplicationsEndpointBehavior | G-JOBS native saved views/Back/error/selection/completeness; VS-JOBS/BOARD both densities and long NB data. |
| PRES-J06 — Bulk status/delete, soft delete/trash/restore and job edit | Direct / 03, 04b integration | /jobs; /trash; EditJobDialog; JobTable, EditJobDialog; job lifecycle/controller |
Preserve bulk precise status/delete, deleted-only Trash/edit/restore and partial failures. | F:application-workspace-overlay; F:confirm-flow; B:JobApplicationsController; B:JobApplicationsAuthorization | G-JOBS partial failure/selection scope/restore; VS-JOBS confirm/Trash/density; no permanent deletion added. |
| PRES-J07 — Kanban grouped statuses, pointer/keyboard move and precise menu | Direct / 04a, 04b | /kanban; KanbanBoard, pipeline; status endpoint |
Same three groups/Other, pointer/keyboard/precise status semantics; alias only after parity. | F:kanban-grouped-board; F:pipeline; B:JobPipeline | G-JOBS full-board population; VS-BOARD every move/cancel/error and source query; no first-page-only proof. |
| PRES-J08 — Company/contact edits, pipeline dates and linked-job history | Entry / 01, 02, 03 | /companies; ?edit=id; CompaniesTable; company relationship APIs |
Companies under Jobs; command ?edit=id and contacts/history unchanged. | F:companies-relationship; F:quick-command-preservation; B:CompanyRelationship | VS-SHELL/UTILITY company links; P4-02-D02 modal feedback stays Phase 7 gate, not closed by toast placement. |
| PRES-J09 — Recorded offers/compensation/deadlines/notes and source links | Entry / 01, 03, 06, 07 | /offers; OfferComparisonPage; job API |
Offers under Jobs; existing comparison/source/report links and currencies retained. | F:offer-comparison; B:AnalyticsSalary; B:JobApplicationsEndpointBehavior | VS-SHELL/DASHBOARD/ANALYTICS links; offer page redesign and full comparison UI proof later. |
| PRES-J10 — CSV/JSON export, JSON import and CSV-to-JSON conversion | Entry / 01, 03 | /settings; ImportExportJobs; ImportExportJobs; CSV/job controller |
JSON/CSV import/export stays Settings Data; contextual link without serializer changes. | F:csv-export; B:CsvExport; B:JobApplicationsController | VS-JOBS/SETTINGS link; B05 real CSV/formula/Unicode browser and backend tests retained. |
| PRES-W01 — Full workspace, sections, legacy links and optional reusable overlay | Direct / 03, 04a/b entry, 08a, 08b | /jobs/:id; /applications/:id; section/followMode; ApplicationWorkspacePage, jobWorkspaceRoute; workspace API |
Dedicated page, aliases/return context and optional overlay props preserved; no new preview host. | F:application-workspace-overlay; F:applicationWorkspace; B:ApplicationWorkspace | G-WORKSPACE + package for 08b; VS-WORKSPACE full alias/dirty/missing/foreign/Back; NEW-10 deferred. |
| PRES-W02 — Detail/status/progression, recruiter/dates/description/timeline | Direct / 03, 04a/b, 08a, 08b | /jobs/:id overview; WorkspaceHeader, JobDetailsSection, ApplicationProgress/Timeline; workflow APIs |
Status/next-step/timeline use same handlers; header/sections clearer, no progression engine. | F:application-intelligence; F:workflow-trust-signals; B:JobApplicationsWorkflowSignals; B:JobApplicationsAppliedDateHistory | VS-JOBS/BOARD/WORKSPACE; G-WORKSPACE and native package before affected composition; job revision behavior not redesigned. |
| PRES-W03 — Analysis, match/gaps, strategy and reviewed status/workflow suggestions | Entry then composition / 08a, 08b | /jobs/:id?section=analysis; ApplicationAnalysis/Match/StrategySnapshot/StatusSuggestion; intelligence/AI services |
Match/analysis/strategy and review suggestions remain contextual; no implicit AI on open. | F:application-intelligence; F:application-workflow-assist; B:ApplicationIntelligence; B:StrategySnapshotOperation | VS-WORKSPACE source/unknown/locked/accept/reject; G-PACKAGE if tailored composition; real factual quality remains separate. |
| PRES-W04 — Checklist create/edit/complete/delete/order and next action | Composition / 08b | Job overview/checklist entry; ApplicationChecklist; checklist service/controller |
Existing manual/system/dismissed checklist, order/progress retained under Notes & tasks. | F:application-checklist; B:ApplicationChecklist | G-WORKSPACE native reorder/dismiss/restore; VS-WORKSPACE keyboard controls; no due-date schema. |
| PRES-W05 — Attach/select/create/tailor CV and source context | Composition / 08b; CV 09–14 relationship regression | Job CV section; builder deep link; ApplicationCvSection/TailoringSection; ApplicationAssetsService |
Preserve choose/create/attach/tailor/detach and single-job association; source/CV/job scopes explicit. | F:application-assets; F:cv-builder-deep-link; B:ApplicationAssets; B:CvBuilder | G-PACKAGE + relevant G-CV gates; native attach/foreign-denied/detach-keeps-CV; VS-WORKSPACE/CV. |
| PRES-W06 — Cover-letter manual/AI review, versions/restore and dirty protection | Composition / 08b | Job cover-letter section; ApplicationCoverLetterSection, CoverLetterAiAssistant; assets/history |
Same letter manual/AI review/history/dirty owner; explicit Current/proposed, no sender rewrite. | F:application-assets; F:application-workspace-overlay; B:ApplicationAssets | G-WORKSPACE literal context/query repair plus G-PACKAGE; VS-WORKSPACE Reject/no-write, edited acceptance, versions and Cancel. |
| PRES-W07 — Application drafts and immutable submitted package/archived binaries | Composition / 08b; 14 relationship regression | Job cover-letter drafts; CV section package history; ApplicationPackageDraftsSection, SubmittedPackagesSection; package service/storage |
Draft answers/current artifacts remain distinct from immutable frozen submission and external send. | F:application-assets; F:application-drafts; B:SubmittedApplicationPackage; B:JobApplicationsApplicationPackage | G-PACKAGE mandatory; VS-WORKSPACE/CV with native capture/archived bytes after source mutation, not mocked success. |
| PRES-W08 — Attachments upload/category/name/AI consent/preview/download/delete | Composition / 08b | Job overview Documents accordion; package archive; Attachments; AttachmentsController, AttachmentStorage |
Attachments retain purpose, explicit AI-use consent, CRUD and protected downloads; no storage move. | F:attachments; B:AttachmentsController; B:AttachmentConsistency | G-PACKAGE native archive/reference/foreign tests; VS-WORKSPACE upload/rename/consent/delete/available error. |
| PRES-W09 — Interview questions/answers/ready/manual removal/AI review | Composition / 08b | Job interview section; InterviewPrep; interview persistence/AI endpoints |
Prep/questions/manual answers/AI review/readiness remain available, not inferred appointment data. | F:interview-prep; B:InterviewPrepPersistence; B:InterviewAiContext | VS-WORKSPACE review/locked/empty/long answer; G-WORKSPACE, no live model/scheduled interview claim. |
| PRES-W10 — Debrief/follow-up draft/date/readiness | Composition / 08b | Job interview section; follow-up entry; InterviewPrep; follow-up draft services |
Debrief/outcome and follow-up drafts/date controls retained; no automatic send. | F:interview-prep; B:JobApplicationsFollowUpDraft; B:InterviewPrep | VS-WORKSPACE draft/error/return; timezone/provider gates if semantics change, otherwise retained evidence. |
| PRES-W11 — Reminder rules/actions/notifications, ICS and Google/Outlook events | Entry / 01, 02, 06; composition / 08a/b | /reminders; job calendar actions; /settings; RemindersView, RulesSettingsCard, ApplicationCalendarActions; calendar/rules APIs |
Keep reminders/rules/bell and Google/Outlook follow-up/deadline/ICS distinctions. | F:daily-control-loop; F:application-calendar; B:ApplicationCalendarController; B:RulesEngineProspect | VS-SHELL/UTILITY/DASHBOARD/WORKSPACE; F21/provider gaps remain, no new task/interview notification producer. |
| PRES-W12 — Async progress/failure/retry/cancel/notifications | Entry / 01, 02, 06, 08a/b | /operations; profile processing; OperationsPage, CareerProfilePage; operation store/worker |
Operations utility, result links, progress/retry/cancel preserved; no new queue/worker behavior. | F:operations-page; F:profile-page; B:OperationsController; B:UserOperationStore | VS-UTILITY/WORKSPACE delay/failure/cancel links; F20 runtime containment remains separate. |
| PRES-C01 — Canonical structured career data and long-tail/custom sections | Entry / 01; relationships / 08b, 10 | /career?section=profile; CareerProfilePage, career views; CareerProfileService/controller |
Career Profile canonical owner unchanged, CV-specific edits/reset never mutate source implicitly. | F:profile-page; B:CareerProfileController; B:CareerProfileService | G-CV-BEHAVIOR canonical/sibling readback; VS-CV scope labels; full Career page remains Phase 7. |
| PRES-C02 — Profile overview/completeness/import guidance/raw copy/history/restore | Entry / 01; source regression / 10 | /career; CareerWorkspacePage, CareerProfilePage; version service |
Existing overview/import/raw/history/restore/completeness retained, not rebuilt as new features. | F:career-workspace-page; F:profile-page; B:CareerProfileService | VS-SHELL source links, VS-CV source relation; native profile restore/full AT gaps retained. |
| PRES-C03 — Upload/extract/rebuild/reprocess/diff/select/accept/discard/retry/cancel | Entry / 01; regression only otherwise | Career import/review; CareerProfilePage; profile-CV/processing/diff services |
Import/extraction/diff/accept/discard/reprocess remains on Career, no extraction UI migration. | F:profile-page; B:ProfileCvController; B:CvProfileDiffService | VS-SHELL import entry; existing AI no-write tests; real unusual documents/low-confidence full browser gap remains. |
| PRES-C04 — Evidence bank source/category/tags/add/list/delete | Entry / 01; relationship regression / 08b | Career overview/evidence; CareerEvidenceBank; CareerEvidenceController |
Evidence bank stays canonical; job tailoring references existing evidence only. | F:career-evidence; B:CareerEvidenceController | G-PACKAGE for evidence-backed tailoring; VS-WORKSPACE source context; full Evidence page later. |
| PRES-C05 — CV library create/copy/delete/templates/share/publication/PDF | Entry / 01; editor actions / 09, 14 | /career/builder; CvBuilderPage, thumbnails; CvVariantService/PublicCvController |
Library/templates/CRUD untouched; editor duplicate/share/export and public slug ownership retained. | F:cv-builder-page; F:cv-template-thumbnail; B:CvBuilder; B:PublicCvController | G-CV gates; native publish/unpublish/old-link revocation, library-to-editor control; VS-CV, library redesign Phase 7. |
| PRES-C06 — Studio tabs, preview debounce/pages/fit/save state/mobile panes | Direct / 09–14; tooltip/control / 00 | /career/builder/:id; CvBuilderEditor inline previewDocumentHtml/panes; preview API |
Preserve five tabs/live preview/fit/save/mobile panes; editor composition and navigation improve. | F:cv-builder-deep-link; B:CvBuilder | G-CV-REV/RENDER/BEHAVIOR; VS-CV all tabs, saved/failed/resize/keyboard, retain P4 preview proof. |
| PRES-C07 — Visibility/order/custom sections and item/document overrides | Direct / 10, 12, 13; 09/11/14 regression | Builder Content; CvBuilderEditor, CV controls/useDragReorder; resolver/settings |
All section/item/custom/inclusion/override settings retained, scoped edit/reset/review. | F:cv-builder-deep-link; F:cvBuilder; B:CvBuilder | G-CV gates plus item/source reset/ordering/hidden persistence proof; VS-CV, omitted state via labels not whole opacity. |
| PRES-C08 — Capability-aware templates/typography/color/header/skills/sidebar/photo | Direct / 11, 12; 09/14 regression | Builder Template/Customize; CvCustomizeTab, registry; ThemedCvRenderer |
Every supported template/typography/color/photo/header/sidebar capability preserved under Advanced. | F:cv-builder-deep-link; F:cvBuilder; B:CvBuilder | G-CV-RENDER supported-control matrix; VS-CV Template/Customize + real output corpus, no template removal. |
| PRES-C09 — A4/Letter/density/margins/dates/document locale/section presentation | Direct / 11, 12; 09/14 regression | Builder Customize/Content; cvBuilder, CvCustomizeTab; settings normalization/render model |
Keep A4/Letter/document density/margins/dates/language/columns, distinct from app density. | F:cvBuilder; F:cv-builder-deep-link; B:CvBuilder | G-CV-RENDER geometry measurements/full template defaults/risk-based combos; VS-CV PDF and UI, no all-combinations claim. |
| PRES-C10 — Undo/redo, save queue, dirty guard, history restore/preview lifecycle | Regression boundary / 09–14 | Builder editor/history; CvBuilderEditor; CvVariantService version history |
Same single save owner, undo/redo/dirty/history restore-as-new-version; preserve separately accepted revision protocol. | F:cv-builder-deep-link; B:CvBuilder | G-CV-REV native two-client conflict and history/failed save tests; VS-CV history/undo/resize; never conflate B02. |
| PRES-C11 — Section and whole-document AI improve/translate/instruction/grammar review | Direct / 13; entry/composition / 10 | Builder AI Tools/content assistant; AiSectionAssistant, DocumentAiTab; CV AI assist |
Retain section/whole AI validators/review/edit/accept/reject and source/target language. | F:ai-section-assistant; F:cv-builder-deep-link; B:AiWorkspace; B:AiPrivacyPolicy | G-CV-BEHAVIOR reject/malformed-ID/late/source-changed cases; VS-CV AI; factual/provider truth remains qualified. |
| PRES-C12 — Private PDF and published anonymous CV/PDF, long searchable pages | Presentation / 11; 09–14 regression | Builder export; /cv/:slug; PublicCvPage, cvBuilder; HtmlPdfGenerator/shared admission |
Same protected/private vs published PDF; preview/print relationship and B03 admission unchanged. | F:public-cv-page; B:PublicCvController; B:PdfRenderAdmission | G-CV-RENDER + native public/private/long searchable PDF/busy tests; VS-CV page evidence; deployed fonts unverified. |
| PRES-M01 — Job-scoped manual correspondence/search/delete/paste import | Entry / 01; composition / 08b | Workspace communication accordion; Correspondence; CorrespondenceController |
Correspondence remains primary and job-contextual manual records/search/import/delete distinct from send. | F:end-to-end-trust-loop; F:correspondence-search-context; B:CorrespondenceController | G-WORKSPACE; VS-WORKSPACE notes/mail distinctions; global inbox page not redesigned. |
| PRES-M02 — Gmail candidate/thread import/refresh/sync/unlink/relink/move | Entry / 01; composition / 08b | Job communication Gmail tools; Correspondence; GmailController/provider |
Gmail job thread import/sync/link/unlink/move stays in existing owner. | F:correspondence-gmail-import; B:GmailController; B:EmailOwnershipIntegration | G-PACKAGE only for changed package relationships; VS-WORKSPACE provider-unavailable/links; actual provider sandbox gap retained. |
| PRES-M03 — Global inbox filters/page/provider/link/direction/detail/source links | Entry / 01 | /correspondence; CorrespondenceInboxPage; EmailController |
Global inbox remains independently reachable with filters/page/provider/detail, not a Document file list. | F:correspondence-inbox-page; B:EmailController; B:EmailOwnershipIntegration | VS-SHELL primary entry; real large mailbox/attachment binary and inbox redesign remain Phase 7. |
| PRES-M04 — Compose/reply/provider/recipient/job; draft conflicts; confirm send/uncertainty | Entry / 01; 08b navigation regression | /correspondence drafts/compose; CorrespondenceInboxPage; EmailDrafts/Send/attempt store |
Preserve draft revision/send confirm/uncertain attempt; no reparenting or generic form conversion. | F:correspondence-inbox-page; B:EmailDraftsController; B:EmailDraftPersistence | Existing draft/send service tests + native dirty navigation; VS-SHELL/WORKSPACE context; actual provider delivery remains separate. |
| PRES-M05 — Review proposed jobs/link/reject/keep/notes/sync/create | Entry / 01; 08b links | /correspondence?view=review; /correspondence/review; GmailReviewPage, CorrespondenceInboxPage; Gmail review |
Review alias/decisions/create proposal retained; no auto-create from navigation. | F:gmail-review-page; F:correspondence-inbox-page; B:GmailController | VS-SHELL alias and VS-WORKSPACE links; existing review tests, real provider review gap unchanged. |
| PRES-M06 — Gmail/Graph/IMAP connect/status/disconnect separate from sign-in | Entry / 01, 02 links | /settings/connected-accounts; EmailProviderConnections; Google/Graph/IMAP controllers |
Connections accessible from Settings/account; sign-in and mail/calendar authorization stay separate. | F:email-provider-connections; B:MicrosoftGraphController; B:ImapController | VS-SHELL/UTILITY connection links; API ownership/provider tests; real reconnect/expired tokens unverified. |
| PRES-S01 — Personal metrics/activity/funnel/company/skills/stage/salary/next actions | Direct / 06, 07 | /dashboard; DashboardView; analytics/controllers |
Existing reports/next actions redesigned with accurate labels and detailed Analytics destination. | F:daily-control-loop; F:workflow-trust-signals; B:StageAnalytics; B:AnalyticsSalary | G-METRICS exact populations/periods/chart transforms; VS-DASHBOARD/ANALYTICS; unsupported NEW metrics deferred. |
| PRES-S02 — Owner-local five visibility preferences/onboarding dismiss/notifications | Direct / 01, 02, 06, 07 | /dashboard; notification bell; DashboardView, OnboardingChecklist, NotificationsPopover; notification APIs |
Same notification store/onboarding and five owner-local visibility flags; no layout persistence rewrite. | F:onboarding-checklist; F:notifications-popover; B:JobLifecycleEvent | G-SHELL/G-METRICS real A/B toggles/reload/read/dismiss proof; VS-UTILITY/DASHBOARD; Phase 8 order/resize/reset deferred. |
| PRES-S03 — Rules/reminder/table/theme/language preferences and account links | Entry/control / 00, 01, 02; table prefs / 03, 04b | /settings tabs/mobile selector; SettingsView, RulesSettingsCard, theme/i18n; rules/notification/auth |
Settings P4 primitives and independent saves retained; UI density local; table prefs/current theme handlers same. | F:settings-view; F:theme-state; B:NotificationSettingsController; B:RulesEngineProspect | VS-SETTINGS/JOBS; native saves/error, router preference lifetime tests; SQLite concurrent write issue remains separate. |
| PRES-S04 — AI privacy/usage/limits/Free-Pro/server entitlement/conditional billing | Entry / 01; AI locks / 08b, 13, 14 | /settings; locked AI controls; plans; AiPrivacySettingsCard, AiUsageCard, AccountPlanProvider; billing/entitlement |
Privacy/usage/entitlements/current billing availability retained; no invented prices/trials. | F:settings-view; F:ai-usage-card; B:AiPrivacyPolicy; B:AiUsageMeter | Existing server Free/Pro/AI policy tests, VS-CV/WORKSPACE locked/unavailable; live billing/provider gaps retained. |
| PRES-S05 — Account ZIP/encrypted backup/lifecycle/deletion confirmations | Entry/control / 00, 01 | Settings Backup tab; BackupCard; export/backup/deletion services |
Settings ZIP/backup/deletion guards unchanged; export toast safely coexists with page actions. | F:account-data-export; B:AccountDataExport; B:BackupController | VS-SETTINGS open toast/download; restore/paid-deletion/provider cleanup still separate release prerequisites. |
| PRES-A01 — Admin user/create/roles/reset/delete/last-admin/self guards | Entry / 01 | /admin/users; AdminUsersPage; UsersController |
Authorized Admin Users remains; hidden menu never substitutes for server role/last-admin guards. | F:admin-users-page; B:UsersController; B:ApiAuthorizationPosture | VS-SHELL admin/non-admin/denied deep link; role revocation/full admin mutations remain separate. |
| PRES-A02 — Audit list/detail/supported undo/job restore | Entry / 01 | /admin/audit; AdminAuditPage; AdminAuditController |
Authorized Admin Audit/list/undo/restore retained; no analytics substitute. | F:admin-audit-page; B:AuthAndSystemController; B:ApiAuthorizationPosture | VS-SHELL audit entry; existing backend/frontend evidence; native undo UI gap remains Phase 7. |
| PRES-A03 — System/build/DB/AI/mail/SMTP/test/probe/benchmark/maintenance | Entry/metadata / 00, 01 | /admin/system; AdminSystemPage; AdminSystemController/maintenance/benchmark |
Authorized Admin System and version metadata retained; no invented aggregate dashboard. | F:admin-system-page; B:AuthAndSystemController; B:MaintenanceJobDispatcher | G-SHELL long metadata at 320; VS-SHELL admin/non-admin; runtime probes/delivery/maintenance not executed. |
Inherited gaps and test additions required
Additional current foundation anchors: semantic loaded/focus, named controls/dialogs, preview keyboard, Settings layout, Jobs/Trash density, density behavior, native preservation/package expected failure, account isolation and command preservation. These supplement each applicable row; they are not new tests in this checkpoint.
The selected references do not replace the full original gap column. Provider-dependent auth/mail/calendar/AI/Stripe, restored production backup and rollback, real touch/AT/zoom, full advanced rendering combinations and F04 remain qualified in OPEN_BLOCKERS. P4-06's target naming/preview fixes are retained; its incomplete axe checks are not passes. No new tests are written in this planning checkpoint.
Before each slice, copy its exact sub-workflows and existing test names into the implementation trace, add missing native/negative/dirty/error fixtures from the plan, then modify the owner. Shared shell changes must run real account-switch/permission regressions; service mocks cannot prove browser state disposal. Board population parity needs >25 native records. Packages need successful capture and post-mutation archived bytes. CV needs source/sibling/item/reset/history/two-client and real PDF evidence. Analytics needs actual value/period transformations and owner preference readback, not assertions that cards render.
Route completeness is separately checked in NAVIGATION_MIGRATION: 31 original patterns including both aliases; new Analytics only when meaningful. Retained entry-only surfaces stay available without UI migration. This is preservation planning, not a statement that all 57 groups are ready for full redesign.