Files
jobtrackingapp/docs/redesign/phase-9/PRESERVATION.md
T

67 lines
22 KiB
Markdown

# Phase 9 preservation reconciliation
All57 groups retain **56 PARTIAL / C11 DEFERRED**. Zero groups are promoted to PASS. These statuses retain mandatory human/provider/output obligations and are not57 defect findings. Phase9 adds finite executed evidence and repairs in two existing UI owners; it does not erase previous acceptance records. [Phase7](../phase-7/PRESERVATION.md) supplies the later residual obligations, superseding stale Phase2 gap descriptions (notably repaired P2-D01 and CV revision safety).
Exact executed browser cases are in [ordinary-cases](p9-01/ordinary-cases.json); complete backend case results and frontend suite totals are linked from [validation](validation.json). The matches below use explicit IDs in test titles only; zero explicit matches means no direct title mapping, not absent unit/API coverage. A case may cover several groups; do not sum counts as independent tests.
| Group / owners | Entry → Phase9 | Direct native title matches | Current residual / closure |
|---|---|---|---|
| **PRES-E01** — Public product/plans; honest unavailable billing; owners: LandingPage, planCatalog; AccountPlans | PARTIAL → PARTIAL | 2 | Finite full regression retained; human/provider/output qualifications remain. P9-V01/P9-V02 proportional heading and CTA fixes; two native cases retain16-vector geometry proof. Public-page complete mobile/keyboard review and actual billing availability; no invented prices |
| **PRES-E02** — Local login/register/remember, challenge, reset and verification; owners: LoginPage, TurnstileWidget, VerifyEmailPage; AuthController | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Real mail/reset submit/Turnstile and token expiry/used-token cases; query loss is repaired for its tested scope |
| **PRES-E03** — Google/Microsoft login, link, legacy relink and popup results; owners: GoogleAuthCard, MicrosoftAuthCard, MicrosoftLegacyRelinkPage; token validators | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Actual consent/popups/revoked grants/relink; mailbox grants remain separate from sign-in |
| **PRES-E04** — 2FA challenge/recovery/setup/disable; trusted-device revocation; owners: TwoFactorSettingsCard, TwoFactorChallenge; TwoFactorController | PARTIAL → PARTIAL | 1 | Finite full regression retained; human/provider/output qualifications remain. Real authenticator/recovery and reader/trusted-device traversal; sensitive confirmations retained |
| **PRES-E05** — Session list/current device, revoke one/others, logout; owners: SessionsSettingsCard, AppShell, auth; SessionsController | PARTIAL → PARTIAL | 2 | Finite full regression retained; human/provider/output qualifications remain. Native session-card refresh after remote revocation and complete device/AT acceptance |
| **PRES-E06** — Avatar, account names/headline, email change and password; owners: ProfilePage; AuthController, AvatarStorage | PARTIAL → PARTIAL | 4 | Finite full regression retained; human/provider/output qualifications remain. Complete avatar/remove/password/email-change native flow; account identity remains distinct from career facts |
| **PRES-E07** — Desktop collapse/mobile drawer, active nav and command search/actions; owners: AppShell, QuickCommandDialog; job/company search APIs | PARTIAL → PARTIAL | 30 | Finite full regression retained; human/provider/output qualifications remain. Spoken names/live state, settled drawer AX-name triage and historical command/dialog timing; no route silently hidden |
| **PRES-E08** — Theme/system, EN/NB hydration, toast/confirm/prompt and errors; owners: themePrefs, I18nProvider, confirm, prompt; auth preference | PARTIAL → PARTIAL | 28 | Finite full regression retained; human/provider/output qualifications remain. P9-L01 installed vendor locale and2new Jest cases. Full OS/locale/state cross-product, contrast/incomplete axe, reader/reflow; save feedback is distinct from server500 root-cause repair |
| **PRES-E09** — Account-switch private-state disposal and stale request rejection; owners: App, api, sessionBoundary; SessionContextMiddleware | PARTIAL → PARTIAL | 6 | Finite full regression retained; human/provider/output qualifications remain. Broader BFCache/offline/old-bundle/deployed cases; presentation never becomes authorization |
| **PRES-J01** — NAV discovery/filter/sort/source/deadline/details; owners: JobDiscoveryPage; JobDiscoveryController | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Live NAV availability/freshness and long-result keyboard/narrow traversal |
| **PRES-J02** — Saved searches, run/delete/alerts, result changes/dismissal; owners: JobDiscoveryPage; saved-search/alert services | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Actual scheduler-to-owned-notification delivery, human/mobile delete acceptance and intended-provider qualification; deterministic runner is not live NAV |
| **PRES-J03** — Reviewed manual/URL/paste job create, company/tags/dates, duplicates; owners: AddJobModal; JobImportService, JobApplicationsController | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Duplicate/company/date/interrupted creation and distinct creation-intent idempotency debt; preview/open is no-write |
| **PRES-J04** — Extension/bookmarklet/share capture; post-create attachment/CV; owners: App, captureUrl, QuickCaptureCard; job/CV APIs | PARTIAL → PARTIAL | 1 | Finite full regression retained; human/provider/output qualifications remain. Installed extension/share/no-replay and attachment failure recovery; keep payload and safe-return contracts |
| **PRES-J05** — Job filters/sort/page/columns, saved views and row/mobile actions; owners: JobTable, SavedViewsMenu; JobApplicationsController | PARTIAL → PARTIAL | 7 | Finite full regression retained; human/provider/output qualifications remain. Full saved-view CRUD/dirty page-size/history combinations and supported capacity; server query semantics unchanged |
| **PRES-J06** — Bulk status/delete, soft delete/trash/restore and job edit; owners: JobTable, EditJobDialog; job lifecycle/controller | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. RD21 stale-write safety FAIL; see separate contract issue. Complete selected-scope/partial-failure/dirty/manual combinations; no hard-delete substitution |
| **PRES-J07** — Kanban grouped statuses, pointer/keyboard move and precise menu; owners: KanbanBoard, pipeline; status endpoint | PARTIAL → PARTIAL | 4 | Finite full regression retained; human/provider/output qualifications remain. Physical drag/touch/browser variants and O(N) full-array capacity; no capped hidden results or pipeline redefinition |
| **PRES-J08** — Company/contact edits, pipeline dates and linked-job history; owners: CompaniesTable; company relationship APIs | PARTIAL → PARTIAL | 12 | Finite full regression retained; human/provider/output qualifications remain. Scoped in-modal failure proof follows P6 manifest; complete contact/date/source-link and human acceptance remain |
| **PRES-J09** — Recorded offers/compensation/deadlines/notes and source links; owners: OfferComparisonPage; job API | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Many-offer mobile/currency/date acceptance; no invented salary normalization |
| **PRES-J10** — CSV/JSON export, JSON import and CSV-to-JSON conversion; owners: ImportExportJobs; CSV/job controller | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Complete native roundtrip and target spreadsheet compatibility; job import is not account restore |
| **PRES-W01** — Full workspace, sections, legacy links and optional reusable overlay; owners: ApplicationWorkspacePage, jobWorkspaceRoute; workspace API | PARTIAL → PARTIAL | 14 | Finite full regression retained; human/provider/output qualifications remain. `followMode` metadata retained; compose consumer deferred. P5-05 optional preview lacks production host; full page remains |
| **PRES-W02** — Detail/status/progression, recruiter/dates/description/timeline; owners: WorkspaceHeader, JobDetailsSection, ApplicationProgress/Timeline; workflow APIs | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. RD21 stale-write safety FAIL; see separate contract issue. Stored-event localisation/timezones/status-reload combinations and separate job revision debt |
| **PRES-W03** — Analysis, match/gaps, strategy and reviewed status/workflow suggestions; owners: ApplicationAnalysis/Match/StrategySnapshot/StatusSuggestion; intelligence/AI services | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Real-model truthfulness/freshness/cancel quality; route entry never auto-generates; unrelated AI survives C11 withholding |
| **PRES-W04** — Checklist create/edit/complete/delete/order and next action; owners: ApplicationChecklist; checklist service/controller | PARTIAL → PARTIAL | 4 | Finite full regression retained; human/provider/output qualifications remain. Mobile interruption/edit/delete/reader; item identity and keyboard alternatives retained; no invented due-date schema |
| **PRES-W05** — Attach/select/create/tailor CV and source context; owners: ApplicationCvSection/TailoringSection; ApplicationAssetsService | PARTIAL → PARTIAL | 1 | Finite full regression retained; human/provider/output qualifications remain. **P2-D01 remains ordinary passing**; broader attach-render/model/deployed combinations remain; owner/job association unchanged |
| **PRES-W06** — Cover-letter manual/AI review, versions/restore and dirty protection; owners: ApplicationCoverLetterSection, CoverLetterAiAssistant; assets/history | PARTIAL → PARTIAL | 5 | Finite full regression retained; human/provider/output qualifications remain. Complete native history/reject/reader/model combinations; no canonical mutation or auto-send |
| **PRES-W07** — Application drafts and immutable submitted package/archived binaries; owners: ApplicationPackageDraftsSection, SubmittedPackagesSection; package service/storage | PARTIAL → PARTIAL | 1 | Finite full regression retained; human/provider/output qualifications remain. Actual production restore/rollback/all-storage combinations; current edits/delete cannot mutate frozen bytes; capture is not delivery |
| **PRES-W08** — Attachments upload/category/name/AI consent/preview/download/delete; owners: Attachments; AttachmentsController, AttachmentStorage | PARTIAL → PARTIAL | 9 | Finite full regression retained; human/provider/output qualifications remain. Physical drop, full rename/download/reader and deployed storage; AI inclusion remains explicit |
| **PRES-W09** — Interview questions/answers/ready/manual removal/AI review; owners: InterviewPrep; interview persistence/AI endpoints | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Real-model and physical software-keyboard/reload/reader; preparation is not a scheduled interview |
| **PRES-W10** — Debrief/follow-up draft/date/readiness; owners: InterviewPrep; follow-up draft services | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Timezones/provider delivery; `followMode` reviewed compose UI remains deferred, no automatic send |
| **PRES-W11** — Reminder rules/actions/notifications, ICS and Google/Outlook events; owners: RemindersView, RulesSettingsCard, ApplicationCalendarActions; calendar/rules APIs | PARTIAL → PARTIAL | 1 | Finite full regression retained; human/provider/output qualifications remain. F21 DST/date-only/offsets, real provider events/scheduler delivery and historical unconfirmed Rules500 cause |
| **PRES-W12** — Async progress/failure/retry/cancel/notifications; owners: OperationsPage, CareerProfilePage; operation store/worker | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Disconnect/reconnect and F20 enabled-worker fault recovery; stable operation IDs/no duplicate starts |
| **PRES-C01** — Canonical structured career data and long-tail/custom sections; owners: CareerProfilePage, career views; CareerProfileService/controller | PARTIAL → PARTIAL | 27 | Finite full regression retained; human/provider/output qualifications remain. RD21 stale-write safety FAIL; see separate contract issue. Full long-tail mobile save and profile concurrency; singleton source distinct from identified variants |
| **PRES-C02** — Profile overview/completeness/import guidance/raw copy/history/restore; owners: CareerWorkspacePage, CareerProfilePage; version service | PARTIAL → PARTIAL | 5 | Finite full regression retained; human/provider/output qualifications remain. Complete native historical restore/clipboard/avatar/reader; live inherited CVs may reflect later source changes |
| **PRES-C03** — Upload/extract/rebuild/reprocess/diff/select/accept/discard/retry/cancel; owners: CareerProfilePage; profile-CV/processing/diff services | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Scanned/OCR corpus and complete low-confidence/discard/native-reader flow; extracted proposal is not canonical truth |
| **PRES-C04** — Evidence bank source/category/tags/add/list/delete; owners: CareerEvidenceBank; CareerEvidenceController | PARTIAL → PARTIAL | 2 | Finite full regression retained; human/provider/output qualifications remain. Many-item/delete/keyboard/human acceptance; SQLite compatibility repaired with owner SQL preserved, full frontend/production acceptance remains qualified |
| **PRES-C05** — CV library create/copy/delete/templates/share/publication/PDF; owners: CvBuilderPage, thumbnails; CvVariantService/PublicCvController | PARTIAL → PARTIAL | 23 | Finite full regression retained; human/provider/output qualifications remain. Library migration not complete; publish/unpublish/old-slug revocation and every template combination required |
| **PRES-C06** — Studio tabs, preview debounce/pages/fit/save state/mobile panes; owners: CvBuilderEditor, CvPreviewPane; preview API | PARTIAL → PARTIAL | 18 | Finite full regression retained; human/provider/output qualifications remain. Physical keyboard/touch/AT and broader short-height/wrapped/deployed cases; one editor/save/preview owner |
| **PRES-C07** — Visibility/order/custom sections and item/document overrides; owners: CvBuilderEditor, CV controls/useDragReorder; resolver/settings | PARTIAL → PARTIAL | 7 | Finite full regression retained; human/provider/output qualifications remain. Physical selection/drop/all-browser and exhaustive reset/inheritance combinations; sibling/canonical/frozen separation retained |
| **PRES-C08** — Capability-aware templates/typography/color/header/skills/sidebar/photo; owners: CvCustomizeTab, registry; ThemedCvRenderer | PARTIAL → PARTIAL | 6 | Finite full regression retained; human/provider/output qualifications remain. Production fonts/portraits/wrapped lines/custom color/reader; schematic gallery is not final-photo qualification |
| **PRES-C09** — A4/Letter/density/margins/dates/document locale/section presentation; owners: cvBuilder, CvCustomizeTab; settings normalization/render model | PARTIAL → PARTIAL | 7 | Finite full regression retained; human/provider/output qualifications remain. Advanced cross-product/manual print/deployed fonts; UI locale distinct from document locale; no print geometry styling change |
| **PRES-C10** — Undo/redo, save queue, dirty guard, history restore/preview lifecycle; owners: CvBuilderEditor; CvVariantService version history | PARTIAL → PARTIAL | 6 | Finite full regression retained; human/provider/output qualifications remain. Long offline/history and IF-CV-UNSAVED-01 trace; settings history is not immutable historical profile/PDF; profile/job saves remain separate |
| **PRES-C11** — Section and whole-document AI improve/translate/instruction/grammar review; owners: AiSectionAssistant, DocumentAiTab; CV AI assist | DEFERRED → DEFERRED | 2 | P5-13 remains withheld; real model/semantic qualification not executed. **0/366 configured-target calls;0 human semantic reviews;review UI absent.** Production503 `cv_ai_unavailable`/no provider/no write remains; safe withholding is not generation acceptance |
| **PRES-C12** — Private PDF and published anonymous CV/PDF, long searchable pages; owners: PublicCvPage, cvBuilder; HtmlPdfGenerator/shared admission | PARTIAL → PARTIAL | 6 | Finite full regression retained; human/provider/output qualifications remain. Deployed Linux/font/photo/browser/manual-print qualification and complete revoke/busy-recovery cases; white print pages retained |
| **PRES-M01** — Job-scoped manual correspondence/search/delete/paste import; owners: Correspondence; CorrespondenceController | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Full edit/delete/paste/reader native combinations; logging is not sending |
| **PRES-M02** — Gmail candidate/thread import/refresh/sync/unlink/relink/move; owners: Correspondence; GmailController/provider | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Actual provider threads/multi-account revoke/reconnect/sync failures; cross-job changes owner-bound |
| **PRES-M03** — Global inbox filters/page/provider/link/direction/detail/source links; owners: CorrespondenceInboxPage; EmailController | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Large mailbox/native attachments/complete reader acceptance; global inbox remains Phase7 migration |
| **PRES-M04** — Compose/reply/provider/recipient/job; draft conflicts; confirm send/uncertainty; owners: CorrespondenceInboxPage; EmailDrafts/Send/attempt store | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Sandbox delivery/reconnect/dirty interruption; no automatic uncertain resend; reviewed `followMode` UI deferred |
| **PRES-M05** — Review proposed jobs/link/reject/keep/notes/sync/create; owners: GmailReviewPage, CorrespondenceInboxPage; Gmail review | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Real provider and complete proposed-job create flow; route opening is no-write |
| **PRES-M06** — Gmail/Graph/IMAP connect/status/disconnect separate from sign-in; owners: EmailProviderConnections; Google/Graph/IMAP controllers | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Real grants/revoke/token expiry/reconnect/IMAP safety; keep sign-in identity separate |
| **PRES-S01** — Personal metrics/activity/funnel/company/skills/stage/salary/next actions; owners: DashboardView; analytics/controllers | PARTIAL → PARTIAL | 5 | Finite full regression retained; human/provider/output qualifications remain. Exact cohort/timezone/sample/unsupported metrics and whole reader acceptance; no fabricated statistics or Analytics rebuild |
| **PRES-S02** — Owner-local five visibility preferences/onboarding dismiss/notifications; owners: DashboardView, OnboardingChecklist, NotificationsPopover; notification APIs | PARTIAL → PARTIAL | 12 | Finite full regression retained; human/provider/output qualifications remain. Phase8 account-layout order/size/visibility/reset/conflict behaviour preserved. Historical500 causes unproved; full human/notification acceptance; order/resize/reset/cross-device design remains Phase8 |
| **PRES-S03** — Rules/reminder/table/theme/language preferences and account links; owners: SettingsView, RulesSettingsCard, theme/i18n; rules/notification/auth | PARTIAL → PARTIAL | 5 | Finite full regression retained; human/provider/output qualifications remain. Language failure visibility is separate from RD11 server cause; RD12 notification locking/RD13 Rules500 and human/provider acceptance retained |
| **PRES-S04** — AI privacy/usage/limits/Free-Pro/server entitlement/conditional billing; owners: AiPrivacySettingsCard, AiUsageCard, AccountPlanProvider; billing/entitlement | PARTIAL → PARTIAL | 1 | Finite full regression retained; human/provider/output qualifications remain. Checkout/webhook/portal and provider delivery; temporary C11 withholding cannot disable unrelated AI or imply successful review |
| **PRES-S05** — Account ZIP/encrypted backup/lifecycle/deletion confirmations; owners: BackupCard; export/backup/deletion services | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Current complete backup/restore/keys/tombstones/rollback and deletion/provider policy; downloading backup is not restore proof |
| **PRES-A01** — Admin user/create/roles/reset/delete/last-admin/self guards; owners: AdminUsersPage; UsersController | PARTIAL → PARTIAL | 1 | Finite full regression retained; human/provider/output qualifications remain. P9-L01 installed vendor locale and2new Jest cases. Mounted-role revoke/full persisted mutations/reset delivery; hiding navigation never authorizes API calls |
| **PRES-A02** — Audit list/detail/supported undo/job restore; owners: AdminAuditPage; AdminAuditController | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Native successful persisted undo/restore and unsupported-action denial; no generic undo semantics |
| **PRES-A03** — System/build/DB/AI/mail/SMTP/test/probe/benchmark/maintenance; owners: AdminSystemPage; AdminSystemController/maintenance/benchmark | PARTIAL → PARTIAL | 0 | Finite full regression retained; human/provider/output qualifications remain. Actual guarded diagnostic/SMTP/model/maintenance and sensitive-output qualification; no production jobs launched |