Files
jobtrackingapp/docs/redesign/phase-4/p4-06/PRESERVATION_ACCEPTANCE.md
T

55 KiB
Raw Blame History

Phase 4 preservation acceptance matrix

Scope: c99f4fb7 application, validated at P4-06. All 57/57 original groups are reconciled; this is mapping completeness, not exhaustive behavioral coverage or a 100% acceptance score. Each row keeps every sub-capability, route and owner in its Phase 2 source contract and Phase 3 impact.

Touch classification: Direct = a consumer/presentation owner changed; Shared = existing modal/notice/editor caller receives the change; Theme only = no domain owner change, but shared MUI styling reaches the surface. E09 is an unchanged security regression dependency. Documentation-comment changes caused by the earlier docs restructure are not feature changes. Original assertions marked NEW below refer to their Phase 2 addition, not new P4-06 tests; P4-06 adds no test cases.

Scoped acceptance accepts the bounded Phase 4 change, not untested sub-workflows. Regression retained means mapped tests still pass and the domain owner was not restructured. Conditional identifies an affected migration gate; passing component/service tests cannot replace missing native/provider/manual evidence. V1–V5/M1 are defined in the acceptance report. All inherited gaps below remain unless the extra evidence explicitly narrows one (for example Trash restore and preview keyboard access). F04 remains open for every row's production use.

PRES ID / capability Phase 4 touch P4 slices Automated evidence (original behavior assertions plus additions) Visual/UX evidence Known limitations and migration gate Acceptance
PRES-E01 — Public product/plans; honest unavailable billing Theme only 01 F:landing-page, F:planCatalog, F:LandingPage.authRedirect; B:AccountPlans. Free/Pro copy, unavailable checkout and authenticated redirect Inherited public accessibility/smoke; no new marketing review. Actual checkout/provider availability; public mobile/keyboard review Regression retained
PRES-E02 — Local login/register/remember, challenge, reset and verification Theme only 01 F:login-page, F:verify-email-page, F:turnstile-widget; B:LocalAuthIdentity, B:AuthAndSystemController. Configuration gates, two-factor branch, safe redirect, verification outcomes; smoke login Inherited native login smoke; provider/reset paths not visually certified. Real reset-email delivery, Turnstile widget/browser configuration, complete reset submit journey Regression retained
PRES-E03 — Google/Microsoft login, link, legacy relink and popup results Theme only 01 F:login-page, F:microsoft-legacy-relink-page; B:GoogleTokenValidator, B:MicrosoftTokenValidator, B:LocalAuthIdentity. Provider failure/relink presentation and token validation No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Real consent/popups, revoked grants, provider sandbox; callbacks must retain origin/state Regression retained
PRES-E04 — 2FA challenge/recovery/setup/disable; trusted-device revocation Theme only 01 F:two-factor-settings, F:login-page; B:TwoFactorController, B:SessionsController. Setup/recovery presentation, disable failure/retry; server trusted-device/session checks No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Real mobile authenticator/recovery and trusted-device UI traversal Regression retained
PRES-E05 — Session list/current device, revoke one/others, logout Theme only 01 F:session-boundary, F:account-scoped-state; B:SessionsController, B:AuthSessionRevocation. Own active sessions only, revoke ownership and next-request invalidation; B02 browser logout No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Session-list card UI selection/refresh after remote revoke Regression retained
PRES-E06 — Avatar, account names/headline, email change and password Theme only 01 F:profile-page, F:verify-email-page; B:AvatarStorage, B:LocalAuthIdentity. Email change password/confirmation contract; safe avatar storage and identity endpoints No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Avatar upload/remove and password-change browser journeys Regression retained
PRES-E07 — Desktop collapse/mobile drawer, active nav and command search/actions Direct 01, 02, 04 (shell/command presentation only) F:sidebar-active-nav, F:app-shell-notifications, F:quick-command-preservation; B:JobApplicationsAuthorization, B:CompanyRelationship. Active matching and notification entry; NEW job/company destinations, reviewed add and search reset; NEW browser keyboard navigation Additional: semantic-foundations, named-controls-modal-state, settings-page-layout. V1–V5 plus M1; collapsed/mobile defect recorded. Drawer focus return and collapse persistence in EN/NB; all command destinations before shell migration Gate: P4-02-D01, P4-06-O01/O02 before shell/command migration. Conditional
PRES-E08 — Theme/system, EN/NB hydration, toast/confirm/prompt and errors Direct 01, 02, 04, 05 F:theme-state, F:i18n-provider, F:confirm, F:prompt, F:dialog-flow; B:LocalAuthIdentity. Hydrated theme/language, confirmation/cancellation and dialog behavior Additional: semantic-foundations, named-controls-modal-state, settings-page-layout, table-density. V1–V5 plus M1; every theme/locale pair represented, not every route/state. Not-found/error-boundary retry route; full locale/theme/state cross-product and OS theme changes Gate: P4-03-D01 tooltip and P4-04-O01 feedback placement before affected shared-state acceptance. Conditional
PRES-E09 — Account-switch private-state disposal and stale request rejection Unchanged identity boundary 01–05 regression dependency F:session-boundary, F:account-scoped-state; B:SessionContextMiddleware, B:CurrentUserIdLiveEvaluation, B:OwnershipGuard. B02 stale mutation/read abort, account-scoped state; four real-API/two-tab account-isolation browser cases Four native account-isolation cases; screenshots do not prove privacy. Real BFCache variations and long offline retry; preserve server precondition even with old bundles Regression retained
PRES-J01 — NAV discovery/filter/sort/source/deadline/details Theme only 01 F:job-discovery; B:JobDiscoveryController, B:JobOpportunitySync. Search/sort/source details, empty versus failure/retry; responsive discovery browser No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Live NAV freshness/API availability; long result keyboard traversal Regression retained
PRES-J02 — Saved searches, run/delete/alerts, result changes/dismissal Shared 02 (confirm) F:job-discovery; B:SavedJobSearchAlert, B:JobDiscoveryController. Saved search run, pause and dismiss controls; owner-scoped alert results Additional: named-controls-modal-state. No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Scheduler-to-notification browser journey, delete confirmation on mobile Regression retained
PRES-J03 — Reviewed manual/URL/paste job create, company/tags/dates, duplicates Theme only 01 F:quick-capture; B:JobImportService, B:JobImportHttpTransport, B:JobApplicationsController. Preview before write, URL prefills, manual browser create; B01 real connection boundary No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Duplicate warning and company/date edge UI; creation-intent idempotency remains separate unresolved contract Regression retained
PRES-J04 — Extension/bookmarklet/share capture; post-create attachment/CV Direct 04 (Settings capture section) F:captureUrl, F:quick-capture, F:quick-command-preservation; B:JobImportService, B:CvBuilder. Capture URL encoding/review/no auto-create, post-create CV; extension node tests; NEW keyboard add opens review only Additional: settings-page-layout. V4 Settings capture section; installed extension not exercised. Installed extension permissions/browser-share flow and optional attachment failure recovery Scoped acceptance
PRES-J05 — Job filters/sort/page/columns, saved views and row/mobile actions Direct 04, 05 F:application-workspace-overlay, F:account-scoped-state, F:daily-control-loop; B:JobApplicationsController, B:JobApplicationsEndpointBehavior. URL hydration, selection does not open row, list return/focus; browser dirty/full workspace Additional: settings-page-layout, table-density. V5 both densities, 1440/1024/768 table, 390/320 cards; native row opening. Saved-view CRUD browser journey, page-size changes with dirty nested state P4-05 narrows selection/sort/page/columns/reflow gaps; saved-view CRUD and dirty nested page-size remain. Scoped acceptance
PRES-J06 — Bulk status/delete, soft delete/trash/restore and job edit Direct 02 (confirm), 05 F:application-workspace-overlay, F:confirm-flow; B:JobApplicationsController, B:JobApplicationsAuthorization, B:JobLifecycleEvent. Selection and destructive confirmation primitive; server CRUD/ownership/lifecycle behavior Additional: named-controls-modal-state, table-density. V5 select/delete/Trash restore; no bulk partial-failure certification. Bulk partial failure and trash→restore UI journey; shared confirm tests alone do not prove bulk flow P4-05 now proves native Trash restore; bulk partial failure remains. Scoped acceptance
PRES-J07 — Kanban grouped statuses, pointer/keyboard move and precise menu Shared 02 (notice) F:kanban-grouped-board, F:pipeline; B:JobPipeline. Keyboard pickup/drop, failed move keeps card, custom group and precise stages; dark browser test Additional: named-controls-modal-state. V1 status semantics and inherited dark Kanban case; no touch device. Touch drag, keyboard cancel/focus after responsive view switching Regression retained
PRES-J08 — Company/contact edits, pipeline dates and linked-job history Shared 02 (notice/confirm) F:companies-relationship, F:quick-command-preservation; B:CompanyRelationship. Job history/context and NEW command company destination Additional: named-controls-modal-state. V1 loading/error/empty/populated; V2 dialog, error and focus return. All contact/date edits persisted through browser; source URL safety Gate: P4-02-D02 durable accessible modal save error before company-form migration. Conditional
PRES-J09 — Recorded offers/compensation/deadlines/notes and source links Theme only 01 F:offer-comparison; B:AnalyticsSalary, B:JobApplicationsEndpointBehavior. Recorded values/empty states and salary normalization No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Mobile many-offer comparison; localized currency/date visual review Regression retained
PRES-J10 — CSV/JSON export, JSON import and CSV-to-JSON conversion Direct 04 F:csv-export; B:CsvExport, B:JobApplicationsController. B05 formula/quotes/UTF-8/typed dates and numeric behavior; CSV browser byte download Additional: settings-page-layout. Inherited native CSV byte download; V4 export placement; no desktop spreadsheet app. Full browser JSON import/count/roundtrip; Excel/LibreOffice compatibility remains separately bounded Scoped acceptance
PRES-W01 — Full workspace, sections, legacy links and optional reusable overlay Shared 02 (confirm) F:application-workspace-overlay, F:applicationWorkspace, F:application-route-contracts; B:ApplicationWorkspace. Deep links, dirty cancel/discard, missing job and back/filter/focus; NEW actual App command/legacy entry Additional: named-controls-modal-state. V5 keyboard entry/back and P2 dirty-route/legacy-link browser. No active production caller of override/onClose overlay props found; full overlay parity needs a host fixture before adoption Gate: P4-02-D03 before mobile workspace migration; P2-D01 before package restructuring. Conditional
PRES-W02 — Detail/status/progression, recruiter/dates/description/timeline Theme only 01 F:application-intelligence, F:workflow-trust-signals, F:daily-control-loop; B:JobApplicationsWorkflowSignals, B:JobApplicationsAppliedDateHistory. Timeline source labels, next-action routing and applied-date history V2 populated workspace and V5 status/row entry; mobile progress defect retained. Edit/status→timeline real-browser sequence across locale/timezone Gate: P4-02-D03 before mobile progress/workspace migration. Conditional
PRES-W03 — Analysis, match/gaps, strategy and reviewed status/workflow suggestions Theme only 01 F:application-intelligence, F:application-workflow-assist; B:ApplicationIntelligence, B:StrategySnapshotOperation, B:JobApplicationsEndpointBehavior. Loading/error/empty states, match and explicit suggested action behavior No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Actual model truthfulness/evaluation; source freshness and cancelled generation browser states Regression retained
PRES-W04 — Checklist create/edit/complete/delete/order and next action Theme only 01 F:application-checklist; B:ApplicationChecklist. Persisted item actions and keyboard reorder; localized readiness No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Real-API mobile edit/delete and interruption recovery Regression retained
PRES-W05 — Attach/select/create/tailor CV and source context Theme only 01 F:application-assets, F:cv-builder-deep-link; B:ApplicationAssets, B:CvBuilder. Attach re-points only, detach keeps variant, foreign owner denied, tailoring never writes source; B02 API browser P2 linked-CV setup/API assertions; successful SQLite tailoring unavailable. P2-D01 SQLite tailoring ordering blocks successful real-browser guidance; actual attach→render relationship beyond existing service coverage Gate: P2-D01 native tailoring/capture success before relationship restructuring. Conditional
PRES-W06 — Cover-letter manual/AI review, versions/restore and dirty protection Direct 02 (AI option labels) F:application-assets, F:application-workspace-overlay; B:ApplicationAssets. Manual save/discard/restore, linked-CV AI explicit apply then save, version history owner scope Additional: named-controls-modal-state. V2 cover-letter options/modal; AI accept/reject are component tests, not real model output. Whole-browser AI reject/provider success and cover-letter history persistence; no actual model called here Gate: P4-02-D04 context interpolation before affected AI UI migration. Conditional
PRES-W07 — Application drafts and immutable submitted package/archived binaries Theme only 01 F:application-assets, F:application-drafts; B:SubmittedApplicationPackage, B:JobApplicationsApplicationPackage, B:JobApplicationsEndpointBehavior. Drafts keep ordinary notes; service frozen document/hash/copy-failure/tenant assertions; NEW native browser capture oracle P2-D01 fails at native capture; archive assertions remain unreached. P2-D01 expected failure: SQLite capture 500. NEW post-capture mutation/archive assertions are NOT reached. Require real storage/provider success before package restructuring Gate: P2-D01 native capture/archive success required; this workflow is NOT accepted end to end. Conditional
PRES-W08 — Attachments upload/category/name/AI consent/preview/download/delete Direct 02 (attachment names) F:attachments; B:AttachmentsController, B:AttachmentConsistency, B:AttachmentFlagsRecompute. Empty/flag controls, storage consistency and owned download; NEW browser fixture uploads real UTF-8 binary Additional: named-controls-modal-state. V2 real upload/purpose/name/delete dialog; frozen archive path blocked by P2-D01. Archived bytes after live delete blocked by W07; drag/drop, rename and download browser journey Gate: P2-D01 archived-byte/delete proof required before package/document relationship migration. Conditional
PRES-W09 — Interview questions/answers/ready/manual removal/AI review Shared 02 (confirm) F:interview-prep; B:InterviewPrepPersistence, B:InterviewAiContext, B:InterviewPrep. Explicit AI add, manual/answer readiness, relevant prompt context without invented defaults Additional: named-controls-modal-state. No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Populated mobile keyboard editing and real reload; actual model quality separate Regression retained
PRES-W10 — Debrief/follow-up draft/date/readiness Theme only 01 F:interview-prep; B:JobApplicationsFollowUpDraft, B:InterviewPrep. Neutral debrief template and follow-up content handling No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Timezone/reload browser chain; calendar defects remain outside Phase 2 Regression retained
PRES-W11 — Reminder rules/actions/notifications, ICS and Google/Outlook events Shared 02 (notice), 04 (Settings rules) F:daily-control-loop, F:application-calendar, F:settings-view; B:ApplicationCalendarController, B:RulesEngineProspect, B:NotificationSettingsController. Provider write confirmation, ICS and permission; NEW per-scenario rule payload and real saved preference checks Additional: named-controls-modal-state, settings-page-layout. V4 rule/notification persistence and failure; real calendar providers untested. DST/date-only correctness and real provider timezone must be resolved separately; initial rules 500 not reproduced Regression retained
PRES-W12 — Async progress/failure/retry/cancel/notifications Theme only 01 F:operations-page, F:profile-page; B:OperationsController, B:UserOperationStore, B:CvProcessingOperation. Failure retry/cancel, durable operation IDs; extraction polling keeps dirty fields No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Long-lived disconnect/reconnect and worker fault/recovery operational gaps Regression retained
PRES-C01 — Canonical structured career data and long-tail/custom sections Theme only 01 F:profile-page; B:CareerProfileController, B:CareerProfileService. Structured field changes propagate to saved singleton, stable child IDs and relational roundtrip; NEW CV edit leaves master unchanged P2 and V3 canonical/sibling unchanged after variant edits; not all profile sections. Every long-tail section/mobile keyboard save; concurrent canonical saves outside scope Regression retained
PRES-C02 — Profile overview/completeness/import guidance/raw copy/history/restore Theme only 01 F:career-workspace-page, F:profile-page; B:CareerProfileService. First/returning state, completeness/errors and non-destructive history restore No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Clipboard/avatar and full browser historical restore; real extraction quality separate Regression retained
PRES-C03 — Upload/extract/rebuild/reprocess/diff/select/accept/discard/retry/cancel Theme only 01 F:profile-page; B:ProfileCvController, B:CvProfileDiffService, B:CvProcessingOperation, B:CvExtractionCoverage. Queue/upload, operation retry, pending explicit apply and polling retains edits; extraction/diff service checks No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Manual low-confidence deselection/discard UI; OCR/scanned/unusual real-document quality Regression retained
PRES-C04 — Evidence bank source/category/tags/add/list/delete Shared 02 (confirm) F:career-evidence; B:CareerEvidenceController. Sourced evidence creation, tags and owner boundaries Additional: named-controls-modal-state. No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Delete and many-item search/keyboard browser flow Regression retained
PRES-C05 — CV library create/copy/delete/templates/share/publication/PDF Shared 02 (confirm) F:cv-builder-page, F:cv-template-thumbnail; B:CvBuilder, B:PublicCvController. General/job-specific creation, delete cancel, duplication fresh slug, public revoke/republish; existing public browser PDF Additional: named-controls-modal-state. Inherited library/public CV/PDF smoke; complete publication chain not exercised. Complete library→publish/unpublish/revoke old link browser chain Regression retained
PRES-C06 — Studio tabs, preview debounce/pages/fit/save state/mobile panes Direct 01, 03 F:cv-builder-deep-link; B:CvBuilder. Five tabs, deep-link/error/save state and preview retry; NEW real mobile Edit/Preview, reload and desktop split Additional: semantic-foundations, builder-preview-keyboard. V1/V2/V3 loaded panes, keyboard scroll, retry, edit/preview breakpoints. Keyboard preview scroll/focus (known F15), all theme/page interactions Gate: Tooltip P4-03-D01, revision F01/D01 and dedicated rendering fidelity gates before broader editor work. P4-03 closes the preview keyboard-access portion; template/print fidelity is not closed. Conditional
PRES-C07 — Visibility/order/custom sections and item/document overrides Direct 01 (omitted-section contrast), 02 (confirm), 03 F:cv-builder-deep-link, F:cvBuilder; B:CvBuilder. Add/edit/delete/order/hide, override renders without master change; NEW persisted headline and sibling isolation Additional: semantic-foundations, named-controls-modal-state, builder-preview-keyboard. V1 omitted labels; V3 override/undo/redo; canonical/sibling API readback. Native drag/touch and override reset-to-source browser flow; item-level real saved overrides beyond headline Scoped acceptance
PRES-C08 — Capability-aware templates/typography/color/header/skills/sidebar/photo Direct 02 F:cv-builder-deep-link, F:cvBuilder, F:cv-template-thumbnail; B:CvBuilder. Template change clears incompatible defaults; normalized overrides reach shared renderer, safe color/markdown Additional: named-controls-modal-state. V1/V2 named template/customize controls; complete template fidelity is unverified. Complete template×advanced control visual/render parity; inaccessible color controls baseline Gate: Complete template/control visual fidelity before template migration. P4-02 closes the specifically unnamed option controls; not every custom color-widget interaction. Conditional
PRES-C09 — A4/Letter/density/margins/dates/document locale/section presentation Direct 02 F:cvBuilder, F:cv-builder-deep-link; B:CvBuilder. Page sizes, NB controls/default labels/dates, section grid/columns; existing long searchable PDF browser Additional: named-controls-modal-state. V2 page-size controls; V3 preview viewport, not print margin correctness. All advanced combinations, print margins and long localized text manual review Gate: Dedicated margins/pagination/render-output acceptance before CV presentation migration. Conditional
PRES-C10 — Undo/redo, save queue, dirty guard, history restore/preview lifecycle Shared 02 (confirm), 03 (same editor) F:cv-builder-deep-link; B:CvBuilder. Undo/redo, failed save retry, guard cancel, restore-as-new-version; NEW saved override reload Additional: named-controls-modal-state, builder-preview-keyboard. V3 autosave/undo/redo/viewport/preview retry; stale browser writes remain separate. Multi-browser stale-CV revision remains separate defect; history-tab browser restore and offline navigation Gate: F01/D01 revision contract before save/history restructuring; serialize editor work. Conditional
PRES-C11 — Section and whole-document AI improve/translate/instruction/grammar review Theme only 01 F:ai-section-assistant, F:cv-builder-deep-link; B:AiWorkspace, B:AiPrivacyPolicy, B:ProEntitlementAuthorization. NEW reject/close, edited acceptance, failure retry, whole-document apply/reject and malformed/missing/duplicate IDs rejected; no implicit PUT V1/P2 Free locks; component accept/reject/regenerate evidence only; no provider invocation. Real model factual validation and section→whole review interactions; Free-disabled controls proven in new browser Regression retained
PRES-C12 — Private PDF and published anonymous CV/PDF, long searchable pages Theme only 01 F:public-cv-page; B:PublicCvController, B:PdfRenderAdmission, B:CvBuilder. Anonymous public rendering versus private refusal; B03 shared capacity/failure; real multipage/public PDF browser Inherited actual multipage/public PDF smoke; V3 scroll, not print-engine certification. All templates/print engines; deployed Chromium/font behavior and PDF manual inspection Gate: Dedicated real preview/PDF fidelity before rendering migration. Conditional
PRES-M01 — Job-scoped manual correspondence/search/delete/paste import Shared 02 (confirm) F:end-to-end-trust-loop, F:correspondence-search-context; B:CorrespondenceController. Canonical communication entry does not send mail, job context and CRUD ownership Additional: named-controls-modal-state. No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Manual note edit/delete/paste-import real browser; preserve send/log distinction Regression retained
PRES-M02 — Gmail candidate/thread import/refresh/sync/unlink/relink/move Theme only 01 F:correspondence-gmail-import; B:GmailController, B:EmailOwnershipIntegration. Candidates, selected thread import/move/refresh and diagnostics; owner-bound relationships No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Real provider/sandbox threads, multi-account reconnect and sync failure Regression retained
PRES-M03 — Global inbox filters/page/provider/link/direction/detail/source links Theme only 01 F:correspondence-inbox-page; B:EmailController, B:EmailOwnershipIntegration. Filter/pagination/detail/provider read failure distinct from empty No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Real large mailbox and attachment binary browser flows Regression retained
PRES-M04 — Compose/reply/provider/recipient/job; draft conflicts; confirm send/uncertainty Shared 02 (confirm) F:correspondence-inbox-page; B:EmailDraftsController, B:EmailDraftPersistence, B:EmailSendController, B:EmailSendAttemptStore, B:EmailProviderDelivery. Revision conflicts, explicit send confirm, uncertain state has no automatic retry, deliberate new attempt Additional: named-controls-modal-state. No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Actual sandbox mail delivery and browser reconnect; do not loosen idempotency/conflict guards Regression retained
PRES-M05 — Review proposed jobs/link/reject/keep/notes/sync/create Theme only 01 F:gmail-review-page, F:correspondence-inbox-page; B:GmailController. Review decisions/localization and inbox review entry No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Real App legacy alias and suggested-job create browser workflow Regression retained
PRES-M06 — Gmail/Graph/IMAP connect/status/disconnect separate from sign-in Direct 04 (entry action only) F:email-provider-connections; B:MicrosoftGraphController, B:ImapController, B:ImapServiceSsrfGuard, B:GmailController. Connection state/NB/IMAP form and provider ownership; outbound IMAP safety Additional: settings-page-layout. V4 Connected Accounts entry; no external authorization or delivery. Actual provider authorization/revocation/token expiry; no credentials contacted in new tests Scoped acceptance
PRES-S01 — Personal metrics/activity/funnel/company/skills/stage/salary/next actions Shared 02 (notice) F:daily-control-loop, F:workflow-trust-signals; B:StageAnalytics, B:AnalyticsSalary. Empty dashboard prioritizes onboarding, attention deep links; server analytics facts Additional: named-controls-modal-state. No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Chart transformation fidelity and full populated/timezone browser dashboard Regression retained
PRES-S02 — Owner-local five visibility preferences/onboarding dismiss/notifications Theme only 01 F:onboarding-checklist, F:notifications-popover, F:app-shell-notifications, F:account-scoped-state; B:JobLifecycleEvent. Onboarding actions; unread/read/dismiss UI and owner-scoped storage primitive No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Five dashboard toggles/reload per account not fully tested at mounted dashboard; ordering/resizing is new work Regression retained
PRES-S03 — Rules/reminder/table/theme/language preferences and account links Direct 04, 05 F:settings-view, F:theme-state, F:i18n-provider; B:NotificationSettingsController, B:RulesEngineProspect. NEW failed notification retry, rule scenario preservation; NEW mobile→desktop edit + native notification/rule persistence Additional: settings-page-layout, table-density. V4 native rule/notification saves and responsive drafts; V5 independent columns/page/density. Initial single rules 500 unconfirmed; unsaved rule drafts are not persisted across tab unmount; table preference/router identity change gap Gate: P4-04-O02 concurrent notification writes remain unproven; preserve awaited-save tests. Conditional
PRES-S04 — AI privacy/usage/limits/Free-Pro/server entitlement/conditional billing Direct 04 F:settings-view, F:ai-usage-card, F:pro-feature-notice, F:planCatalog; B:AiPrivacyPolicy, B:AiUsageMeter, B:ProEntitlementAuthorization, B:BillingController. Local-only AI setting, limits/locks, billing readiness; NEW real Free CV AI denied UI and API Additional: settings-page-layout. V1/V4 locked Free/zero-usage states; M1 synthetic admin Pro state only. Real checkout/webhooks/portal; billing/account deletion issues retain independent queue Scoped acceptance
PRES-S05 — Account ZIP/encrypted backup/lifecycle/deletion confirmations Direct 02 (confirm), 04 F:account-data-export; B:AccountDataExport, B:BackupController, B:AccountDeletion, B:DatabaseBackupRunner. ZIP protected download, recent auth, server enable flag and exact deletion phrase; service deletion/backup Additional: named-controls-modal-state, settings-page-layout. V4 no-job ZIP/disabled deletion and wrapped actions; no real restore/deletion rehearsal. Real restored account/database and paid deletion/provider cancellation operational proof; not safe to run against production Scoped acceptance
PRES-A01 — Admin user/create/roles/reset/delete/last-admin/self guards Shared 02 (confirm) F:admin-users-page; B:UsersController, B:ApiAuthorizationPosture. Demotion/delete confirm, last-admin server checks; NEW non-admin crafted create/read denied Additional: named-controls-modal-state. P2 non-admin API denial; M1 synthetic admin shell only, not a user-management audit. Role revocation during mounted admin view and actual reset delivery; route can render empty shell without granting privilege Regression retained
PRES-A02 — Audit list/detail/supported undo/job restore Shared 02 (notice) F:admin-audit-page; B:AuthAndSystemController, B:ApiAuthorizationPosture. Unavailable-versus-empty retry and NB stored event text; server admin-only posture Additional: named-controls-modal-state. No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Successful undo and job-restore UI against persisted API; role posture test is not undo behavior proof Regression retained
PRES-A03 — System/build/DB/AI/mail/SMTP/test/probe/benchmark/maintenance Theme only 01 F:admin-system-page; B:AuthAndSystemController, B:MaintenanceJobDispatcher, B:CvCorpusHarness. Health/error/NB, SMTP submit and benchmark controls; dispatcher authorization and modes No new dedicated loaded visual proof; shared-theme exposure only. See original gaps. Production SMTP/model/corpus/maintenance and sensitive-data presentation; no live jobs launched Regression retained

Classification totals: 15 conditional, 34 regression retained, 8 scoped acceptance. These counts describe the review disposition, not the percentage of user behavior tested.