Files
jobtrackingapp/docs/redesign/phase-5/release-readiness/PRESERVATION_REVIEW.md
T

53 KiB
Raw Blame History

Release-candidate preservation review — 2026-10-08

Source checkpoint: 9c9157507937b3e084a7ca1e79a2ebd77d0b0928, branch codex/ui-redesign-phase4. This is a bounded review of the existing redesign plus the separately validated temporary Production CV-AI withholding correction. It is not a main release, fresh regression result, deployment confirmation, unconditional Phase 5 GO or full preservation acceptance. The root release record must supply the final candidate commit and actual fresh results after validation completes.

All 57 original PRES groups below retain the complete original requirements and sub-workflows from the Phase 1 inventory. Short labels do not narrow them. Phase 2, P4-06 acceptance and Phase 5 impact supply the original behavioral anchors and gaps; implementation successor records below supply scoped changes/evidence. Links are regression anchors, not an assertion that every sub-workflow was tested or passed at this checkpoint.

“Direct” means implemented presentation/composition or authoritative integrity work; “entry only” means navigation moved while its domain workflow remained with its existing owner; “unchanged” still receives shared shell/theme exposure. Every authenticated surface therefore retains account-disposal, auth/CSRF/ownership, theme/locale, dirty-state and safe error requirements. Selected tests are historical executable anchors; the complete applicable backend/frontend/browser/sidecar, auth/tenant/revision/PDF/settings/security/type/lint/build/secret gates are being run separately by the root.

Capability matrix — 57 original groups

Original PRES ID / capability Implemented touch / unchanged entry Existing regression anchors Remaining provider / manual / production gaps and exact limit
PRES-E01 — Public product/plans; honest unavailable billing Unchanged public product/plans; P5-01 route regression. F:landing-page; F:planCatalog; B:AccountPlans Actual checkout/billing provider availability and public mobile/keyboard acceptance remain unverified.
PRES-E02 — Local login/register/remember, challenge, reset and verification Entry retained by P5-01; existing local auth/challenge/reset/verification owners. F:login-page; F:verify-email-page; B:LocalAuthIdentity; B:AuthAndSystemController Real reset-mail delivery, Turnstile/browser configuration and complete token-reset submit journey remain qualified.
PRES-E03 — Google/Microsoft login, link, legacy relink and popup results Entry retained by P5-01; provider sign-in remains separate from Connections. F:login-page; F:microsoft-legacy-relink-page; B:GoogleTokenValidator; B:MicrosoftTokenValidator Real provider consent/popups, revoked grants and sandbox outcomes remain unverified; origin/state contracts remain required.
PRES-E04 — 2FA challenge/recovery/setup/disable; trusted-device revocation Entry relocation only in P5-01; Profile/login security forms unchanged. F:two-factor-settings; F:login-page; B:TwoFactorController; B:SessionsController Real mobile authenticator/recovery and trusted-device UI traversal remain open; no security-form acceptance inferred from navigation.
PRES-E05 — Session list/current device, revoke one/others, logout Direct shell logout/private utility changes in P5-00–P5-02; session-list owner unchanged. F:session-boundary; F:account-scoped-state; B:SessionsController; B:AuthSessionRevocation Session-card selection/refresh after remote revocation remains open; broad device/AT acceptance is not established.
PRES-E06 — Avatar, account names/headline, email change and password Account/security entry only in P5-01; avatar/account identity and confirm-email-change route retained. F:profile-page; F:verify-email-page; B:AvatarStorage; B:LocalAuthIdentity Avatar upload/remove and password-change browser journeys remain qualified; account identity stays distinct from Career Profile.
PRES-E07 — Desktop collapse/mobile drawer, active nav and command search/actions Direct shell/navigation/utilities, Jobs Table/Board, Analytics and workspace sections. F:sidebar-active-nav; F:app-shell-notifications; B:JobApplicationsAuthorization; B:CompanyRelationship Original route/command/drawer defects have scoped successor evidence; manual screen reader and inherited command/focus timing debt remain open. This census is not browser route acceptance.
PRES-E08 — Theme/system, EN/NB hydration, toast/confirm/prompt and errors Direct semantic theme/feedback controls in P5-00; EN/Bokmål and light/dark regressions carried through P5-12. F:theme-state; F:i18n-provider; B:LocalAuthIdentity Full theme/locale/state/OS cross-product, spoken names/announcements, incomplete axe, zoom/forced-colours/text-spacing and shared-dialog timing remain qualified.
PRES-E09 — Account-switch private-state disposal and stale request rejection Private-state/session boundary unchanged; new shell/utility/workspace/CV relationships regression-protected in readiness. F:session-boundary; F:account-scoped-state; B:SessionContextMiddleware; B:CurrentUserIdLiveEvaluation Real BFCache variations/long offline retries and deployed old-bundle/session behavior remain qualified; images and mocked components cannot prove tenant isolation.
PRES-J01 — NAV discovery/filter/sort/source/deadline/details Entry only: P5-01 groups Discover under Jobs; discovery page/service unchanged. F:job-discovery; B:JobDiscoveryController; B:JobOpportunitySync Live NAV freshness/availability and long result keyboard traversal remain open.
PRES-J02 — Saved searches, run/delete/alerts, result changes/dismissal Entry only in P5-01; saved discovery search/alert service and controls unchanged. F:job-discovery; B:SavedJobSearchAlert; B:JobDiscoveryController Scheduler-to-notification browser journey and mobile delete confirmation remain qualified; no new producer or delivery certification.
PRES-J03 — Reviewed manual/URL/paste job create, company/tags/dates, duplicates Existing reviewed Add modal shared by P5-03/P5-04b; no creation on route/view mount. F:quick-capture; B:JobImportService; B:JobImportHttpTransport Duplicate/company/date edge UI and creation-intent idempotency remain independent gaps; import network boundary evidence is separate from live site success.
PRES-J04 — Extension/bookmarklet/share capture; post-create attachment/CV Capture/add/addtext review entry retained in P5-01/P5-03; extension and post-create owners unchanged. F:captureUrl; F:quick-capture; B:JobImportService; B:CvBuilder Installed extension permissions/share flow and optional attachment failure recovery remain qualified.
PRES-J05 — Job filters/sort/page/columns, saved views and row/mobile actions Direct P5-03 Jobs/Trash presentation and P5-04b shared complete-query view integration. F:application-workspace-overlay; F:account-scoped-state; B:JobApplicationsController; B:JobApplicationsEndpointBehavior Finite saved-view/filter/Back/error/selection fixtures do not exhaust saved-view CRUD or dirty nested page-size combinations; full-array scaling remains limited.
PRES-J06 — Bulk status/delete, soft delete/trash/restore and job edit Direct P5-03 table/Trash and P5-04b selection/view integration; CRUD/soft-delete owner retained. F:application-workspace-overlay; F:confirm-flow; B:JobApplicationsController; B:JobApplicationsAuthorization Scoped native restore and bulk/mutation fixtures supersede earlier bare-confirm gaps; all bulk partial-failure/dirty-state combinations and deeper manual AT remain qualified.
PRES-J07 — Kanban grouped statuses, pointer/keyboard move and precise menu Direct P5-04a/P5-04b; complete shared query, precise status and /kanban alias retained. F:kanban-grouped-board; F:pipeline; B:JobPipeline Physical touch/native drag, broader responsive focus/cancel combinations and full-result scaling remain open; grouped statuses are not a new pipeline.
PRES-J08 — Company/contact edits, pipeline dates and linked-job history Company/contacts/history entry only in P5-01/P5-02; existing Companies form retained. F:companies-relationship; F:quick-command-preservation; B:CompanyRelationship All contact/date edits and source-URL safety browser journeys remain qualified; P4-02-D02 inaccessible modal-save error is open for its owner.
PRES-J09 — Recorded offers/compensation/deadlines/notes and source links Offers entry retained; report source links reviewed in P5-06/P5-07; recorded offer page unchanged. F:offer-comparison; B:AnalyticsSalary; B:JobApplicationsEndpointBehavior Mobile many-offer comparison and localized currency/date visual acceptance remain open; no new salary facts are claimed.
PRES-J10 — CSV/JSON export, JSON import and CSV-to-JSON conversion Settings Data import/export entry retained by P5-01/P5-03; serializers unchanged. F:csv-export; B:CsvExport; B:JobApplicationsController Full JSON import/count/roundtrip browser proof and spreadsheet-client compatibility remain separately bounded; byte/formula/Unicode fixtures are not exhaustive.
PRES-W01 — Full workspace, sections, legacy links and optional reusable overlay Direct dedicated workspace header/Overview P5-08a and URL sections P5-08b; Jobs/legacy aliases retained. F:application-workspace-overlay; F:applicationWorkspace; B:ApplicationWorkspace Reusable overlay has no active production host; followMode metadata retained but mode-specific UI explicitly deferred to mail. Full manual AT and historical transition-capture limits remain.
PRES-W02 — Detail/status/progression, recruiter/dates/description/timeline Direct P5-08a/P5-08b header/progress/detail/timeline composition with existing status/date handlers. F:application-intelligence; F:workflow-trust-signals; B:JobApplicationsWorkflowSignals; B:JobApplicationsAppliedDateHistory Localized backend event/content text, timezone/reload/status-to-timeline combinations and human AT remain qualified; job revision semantics were not repaired.
PRES-W03 — Analysis, match/gaps, strategy and reviewed status/workflow suggestions Existing contextual analysis/match/strategy/status owners recomposed by P5-08b; opening does not invoke AI. F:application-intelligence; F:application-workflow-assist; B:ApplicationIntelligence; B:StrategySnapshotOperation Live model truthfulness, freshness/cancelled generation and provider quality remain qualified; P5-13 production CV withholding must not disable these unrelated AI paths.
PRES-W04 — Checklist create/edit/complete/delete/order and next action Existing checklist owner/ordered controls recomposed by P5-08b; manual/system/dismissed distinctions retained. F:application-checklist; B:ApplicationChecklist Real mobile interruption/edit/delete combinations and human AT remain open; no task due-date schema or automatic notification added.
PRES-W05 — Attach/select/create/tailor CV and source context Existing job-CV attach/create/tailor source relationships recomposed by P5-08b; native readiness supersedes P2-D01. F:application-assets; F:cv-builder-deep-link; B:ApplicationAssets; B:CvBuilder P2-D01 is an ordinary passing native regression, not current expected failure. Broader attach-render combinations, provider tailoring quality and deployed restore remain qualified; CV review production exception stays distinct.
PRES-W06 — Cover-letter manual/AI review, versions/restore and dirty protection Existing manual/AI cover-letter/history/dirty owner recomposed in P5-08b; literal-context defect corrected in readiness. F:application-assets; F:application-workspace-overlay; B:ApplicationAssets Native/mocked review/history evidence does not establish live-model or provider quality; full screen-reader and every reject/history sequence remain qualified.
PRES-W07 — Application drafts and immutable submitted package/archived binaries Existing drafts/frozen submission/archive owners recomposed by P5-08b; native SQLite/archive/ZIP proof retained. F:application-assets; F:application-drafts; B:SubmittedApplicationPackage; B:JobApplicationsApplicationPackage Earlier P2-D01 capture expected failure is superseded by ordinary native passing evidence. Production restore/rollback and all storage/provider combinations remain unverified; capture is not external send.
PRES-W08 — Attachments upload/category/name/AI consent/preview/download/delete Existing attachments CRUD/consent/protected downloads retained; named narrow table/empty state in P5-08b, archive proof in readiness. F:attachments; B:AttachmentsController; B:AttachmentConsistency Archive gate is locally satisfied for recorded native fixtures; physical drag/drop, broad rename/download/manual AT and production storage behavior remain qualified.
PRES-W09 — Interview questions/answers/ready/manual removal/AI review Existing interview questions/answers/manual removal/AI review/readiness recomposed by P5-08b. F:interview-prep; B:InterviewPrepPersistence; B:InterviewAiContext Real-model quality, physical mobile keyboard/populated reload and manual AT remain open; prep does not establish scheduled interview data.
PRES-W10 — Debrief/follow-up draft/date/readiness Existing debrief/follow-up draft/date/readiness owner recomposed by P5-08b; no automatic send. F:interview-prep; B:JobApplicationsFollowUpDraft; B:InterviewPrep Timezone/reload chains and provider delivery remain unverified; followMode-specific compose UI is deferred rather than implemented.
PRES-W11 — Reminder rules/actions/notifications, ICS and Google/Outlook events Reminder/calendar links retained by P5-01/P5-02, Dashboard and P5-08b; calendar/rules APIs unchanged. F:daily-control-loop; F:application-calendar; B:ApplicationCalendarController; B:RulesEngineProspect F21 DST/date-only/provider timezone gap, actual Google/Outlook events, scheduler delivery and historical unconfirmed rules-save 500 remain open.
PRES-W12 — Async progress/failure/retry/cancel/notifications Operations remains reachable utility; progress/result/cancel/retry links retained by P5-02/P5-08b; store/worker unchanged. F:operations-page; F:profile-page; B:OperationsController; B:UserOperationStore Long disconnect/reconnect and F20 enabled worker fault containment remain operational gaps; no live job/worker recovery was certified.
PRES-C01 — Canonical structured career data and long-tail/custom sections Career entry retained; canonical/source scope reviewed in P5-10, P5-12 and AI readiness. F:profile-page; B:CareerProfileController; B:CareerProfileService Full long-tail Career/mobile save and canonical concurrent updates remain separate; scoped CV acceptance never implies canonical-profile revision safety.
PRES-C02 — Profile overview/completeness/import guidance/raw copy/history/restore Career overview/import/raw/history owner unchanged; source relation regression retained by P5-10/P5-12. F:career-workspace-page; F:profile-page; B:CareerProfileService Clipboard/avatar and complete native profile historical restore/manual AT remain qualified; real extraction quality is separate.
PRES-C03 — Upload/extract/rebuild/reprocess/diff/select/accept/discard/retry/cancel Entry only: existing Career upload/extraction/reprocess/diff/accept/discard/retry/cancel owners retained. F:profile-page; B:ProfileCvController; B:CvProfileDiffService Unusual/scanned/OCR document quality and full low-confidence deselection/discard browser acceptance remain unverified; no provider certification.
PRES-C04 — Evidence bank source/category/tags/add/list/delete Evidence-bank owner unchanged; job source relationships retained through P5-08b. F:career-evidence; B:CareerEvidenceController Full delete/many-item search/keyboard browser acceptance remains open; broader Career page work stays Phase 7.
PRES-C05 — CV library create/copy/delete/templates/share/publication/PDF Library/CRUD/public ownership retained; editor actions in P5-09 and shared template gallery in P5-12. F:cv-builder-page; F:cv-template-thumbnail; B:CvBuilder; B:PublicCvController Complete publish/unpublish/old-link revocation chain and every library/template combination remain qualified; library redesign is not claimed.
PRES-C06 — Studio tabs, preview debounce/pages/fit/save state/mobile panes Direct P5-09 frame/navigation, P5-11 live preview and P5-12 controls; one save/preview/mobile owner. F:cv-builder-deep-link; B:CvBuilder Known preview keyboard defect has scoped repair; additional P5-14 integrated responsive journey, manual touch/AT/zoom/sticky-boundary acceptance and production rendering remain open.
PRES-C07 — Visibility/order/custom sections and item/document overrides Direct P5-10 source/item/custom editing and P5-12 settings retention; explicit reset/inclusion/order retained. F:cv-builder-deep-link; F:cvBuilder; B:CvBuilder Physical touch/native drag and P5-10-O01 nested drag/drop ownership remain open; finite reset/sibling/source fixtures do not certify all saved overrides.
PRES-C08 — Capability-aware templates/typography/color/header/skills/sidebar/photo Direct P5-12 nine-template capability/control presentation and P5-11 preview; renderer/template IDs retained. F:cv-builder-deep-link; F:cvBuilder; B:CvBuilder All-template/font/photo/wrapped-line/browser/control combinations and broad custom-colour/manual AT remain qualified; finite capability matrix and Pro locks are not exhaustive.
PRES-C09 — A4/Letter/density/margins/dates/document locale/section presentation Direct P5-12 A4/Letter/density/margin/date/language/columns controls; pagination repair retained. F:cvBuilder; F:cv-builder-deep-link; B:CvBuilder Recorded unchanged-tolerance local fidelity supersedes prior six-fixture failures; all advanced combinations, deployment fonts/photo/wrapped text and manual print inspection remain open.
PRES-C10 — Undo/redo, save queue, dirty guard, history restore/preview lifecycle Existing save/undo/history owner retained in P5-09–P5-12; CV revision protocol and stale AI guard retained. F:cv-builder-deep-link; B:CvBuilder CV stale-write/history safety has scoped native evidence; long offline/history combinations and profile/job concurrent edits remain separate. No new save owner or history store.
PRES-C11 — Section and whole-document AI improve/translate/instruction/grammar review Authorized temporary production exception / deferred: candidate correction withholds CvAiSuggestionService-backed CV generation/apply only in Production with 503 unavailable; Development deterministic path retained. P5-13 debt. F:ai-section-assistant; F:cv-builder-deep-link; B:AiWorkspace; B:AiPrivacyPolicy Full PRES-C11 acceptance is unmet. Configured model identity unverified; 32 cases/366 calls planned, 0 completed, 0 human reviews, critical factuality unmeasured; AI review UI unimplemented. Production withholding requires fresh negative/no-write proof and must preserve unrelated AI; no responsiveness pass.
PRES-C12 — Private PDF and published anonymous CV/PDF, long searchable pages Private/public PDF ownership and shared admission retained through P5-11/P5-12; native preview/PDF corpus unchanged. F:public-cv-page; B:PublicCvController; B:PdfRenderAdmission 16-fixture/36-page and eight settings-export/24-page historical gates are finite local evidence; deployed Chromium/Linux/fonts/photo/all-print-engine behavior remains unverified.
PRES-M01 — Job-scoped manual correspondence/search/delete/paste import Existing job manual correspondence/search/import/delete owner recomposed by P5-08b; global entry retained. F:end-to-end-trust-loop; F:correspondence-search-context; B:CorrespondenceController Full manual edit/delete/paste-import browser combinations and manual AT remain qualified; logging correspondence is not sending mail.
PRES-M02 — Gmail candidate/thread import/refresh/sync/unlink/relink/move Existing job Gmail candidate/thread/import/sync/move/unlink owners recomposed by P5-08b; provider/API behavior unchanged. F:correspondence-gmail-import; B:GmailController; B:EmailOwnershipIntegration Live provider threads, multi-account reconnect/revoked grants and sync failures remain unverified.
PRES-M03 — Global inbox filters/page/provider/link/direction/detail/source links Entry only via P5-01; global inbox filters/page/provider/detail/source owners unchanged. F:correspondence-inbox-page; B:EmailController; B:EmailOwnershipIntegration Real large-mailbox/attachment-binary flows and complete native inbox/AT acceptance remain open; global inbox redesign stays Phase 7.
PRES-M04 — Compose/reply/provider/recipient/job; draft conflicts; confirm send/uncertainty Compose/reply/revision/send/uncertainty owner unchanged; P5-08b navigation regression only. F:correspondence-inbox-page; B:EmailDraftsController; B:EmailDraftPersistence Actual sandbox mail delivery/reconnect and every dirty/send interruption remain qualified; no automatic uncertain-send retry. followMode-specific UI remains deferred.
PRES-M05 — Review proposed jobs/link/reject/keep/notes/sync/create Review alias and inbox entry retained in P5-01/P5-08b; reviewed decisions/create owner unchanged. F:gmail-review-page; F:correspondence-inbox-page; B:GmailController Real provider review and complete suggested-job creation browser journey remain qualified; no automatic creation from navigation.
PRES-M06 — Gmail/Graph/IMAP connect/status/disconnect separate from sign-in Connections entry retained in P5-01/P5-02; existing Gmail/Graph/IMAP controls separate from sign-in. F:email-provider-connections; B:MicrosoftGraphController; B:ImapController Actual provider authorization/revocation/token expiry/reconnect remain unverified; no credentials or live provider operations in this review.
PRES-S01 — Personal metrics/activity/funnel/company/skills/stage/salary/next actions Direct accurate report labels/cohorts in P5-06 and meaningful P5-07 Analytics; existing server facts retained. F:daily-control-loop; F:workflow-trust-signals; B:StageAnalytics; B:AnalyticsSalary Scoped native chart/value/population transformations supersede earlier unmapped chart gaps; server timezone/date/population limits and unsupported NEW metrics remain explicit.
PRES-S02 — Owner-local five visibility preferences/onboarding dismiss/notifications Direct P5-02 notifications and P5-06 five owner-local Dashboard flags/onboarding; Analytics independent. F:onboarding-checklist; F:notifications-popover; B:JobLifecycleEvent Scoped owner/reload fixtures do not establish all preference concurrency; P5-06-O01 language-preference 500 remains unproven. Phase 8 order/resize/reset remains deferred.
PRES-S03 — Rules/reminder/table/theme/language preferences and account links P4 Settings controls retained; P5-00 feedback/shared tokens and P5-03/P5-04b table preferences integration. F:settings-view; F:theme-state; B:NotificationSettingsController; B:RulesEngineProspect P4-04-O02 concurrent SQLite notification saves, unconfirmed rules 500 and rule drafts lost on tab unmount remain open; router/preference lifecycle is only scoped-tested.
PRES-S04 — AI privacy/usage/limits/Free-Pro/server entitlement/conditional billing Existing privacy/usage/entitlements/billing readiness retained; deterministic AI metering in readiness; Production CV review exception only. F:settings-view; F:ai-usage-card; B:AiPrivacyPolicy; B:AiUsageMeter Actual checkout/webhooks/portal and provider consent/delivery remain qualified. Production CV unavailability is temporary authorized P5-13 debt, not fulfillment or disabling other AI.
PRES-S05 — Account ZIP/encrypted backup/lifecycle/deletion confirmations Account ZIP/backup/deletion controls and independent saves retained; P5-00 feedback clearance and native package/ZIP evidence. F:account-data-export; B:AccountDataExport; B:BackupController Actual database/account restore, verified recoverable backups, paid deletion/provider cancellation and rollback remain production release gates; no destructive rehearsal occurred.
PRES-A01 — Admin user/create/roles/reset/delete/last-admin/self guards Admin Users route/entry retained by P5-01; server authorization/last-admin/self guards unchanged. F:admin-users-page; B:UsersController; B:ApiAuthorizationPosture Mounted-view role revocation, full mutations and actual reset delivery remain unverified; hidden nav/synthetic shell never proves authorization.
PRES-A02 — Audit list/detail/supported undo/job restore Admin Audit route/entry retained by P5-01; supported server undo/restore owner unchanged. F:admin-audit-page; B:AuthAndSystemController; B:ApiAuthorizationPosture Complete successful native undo/job restore browser acceptance remains open; role posture is not undo behavior proof.
PRES-A03 — System/build/DB/AI/mail/SMTP/test/probe/benchmark/maintenance Admin System route/entry/build metadata retained in P5-00/P5-01; diagnostics/maintenance owner unchanged. F:admin-system-page; B:AuthAndSystemController; B:MaintenanceJobDispatcher Actual production SMTP/model/probes/benchmark/maintenance and sensitive-output qualification remain unverified; no live jobs launched.

The matrix maps 9 entry/account + 10 Jobs + 12 workspace + 12 Career/CV + 6 mail + 5 Settings/insights + 3 Admin = 57 groups. Mapping completeness is not coverage percentage or acceptance. The source matrices' original unlisted sub-capability gaps remain authoritative unless a linked successor explicitly supplies their proof. In particular the former P2-D01 SQLite package/tailoring expected failure has an ordinary native passing successor; it must not be reclassified as current open debt. Conversely P5-02 human screen-reader acceptance, F04 and the other open blocker register items are not closed by the local successors.

P5-13 / PRES-C11 temporary production exception

P5-13 — AI Model Semantic Qualification / AI Review UI remains DEFERRED — BLOCKED / NOT QUALIFIED. The local configuration candidate is Ollama qwen2.5:7b; actual deployed provider/model/digest/settings are unverified. The frozen corpus contains 32 synthetic cases and requires 366 calls; completed calls and human reviews are both zero, and critical factuality failures are unmeasured. The AI review UI is unimplemented. Deterministic grounded-proposal, source freshness, owner/CV binding, revision/history, no-write reject/error and metering/privacy protections have independent recorded regression evidence, which does not qualify model accuracy.

The user-authorized release candidate correction is bounded to CvAiSuggestionService-backed CV generation and Apply in Production, using the existing optional-service unavailable/503 seam. It must prevent new generation or acceptance of an old protected proposal, and preserve existing entitlement/auth behavior, unrelated AI functions, ordinary CV manual editing, PDF/export and the Development deterministic evaluation path. Its fresh negative/no-write tests and final candidate source must be recorded by the root before any release decision. This review does not claim the candidate correction has deployed.

This temporary withholding is an explicit exception/deferred product capability, not fulfilled full PRES-C11 acceptance. Availability of a route, a passing synthetic-provider fixture or safe production unavailability cannot be counted as successful CV rewriting/review. Retain the frozen qualification/recovery package, readiness evidence and exact return conditions. P5-14-specific AI responsiveness remains unaccepted; P5-15 must carry the exception and cannot issue unconditional full Phase 5 GO while mandatory retained requirements remain unmet without a separately documented scope revision.

Route census and compatibility

The original audited route map contains 31 concrete patterns: 29 page patterns and two aliases. The current App.tsx has 35 route declarations, counted from both outer router objects and inner Route path elements. Excluding outer /*, inner * and the inner / redirect gives 32 unique concrete patterns: all 31 originals plus /analytics. The inner root redirect is not another public page; the outer LandingPage owns that pattern.

Current disposition is 29 page patterns and three compatibility aliases: Analytics adds a page and the original Kanban page becomes the third alias. A static declaration census proves path presence, not runtime entry, redirect fidelity, permission behavior, Back/Forward, dirty cancellation or deployed health. Those remain release regression requirements.

Concrete pattern Candidate disposition / original compatibility Regression anchors and evidence limit
/ Original public LandingPage; existing authenticated redirect landing/auth redirect, landing; provider/mobile limits in E01
/login Original LoginPage/local/provider/2FA entry login, smoke; live auth/provider limits E02–E04
/register Original configured LoginPage registration mode login, local auth; configured/provider limits E02
/forgot-password Original request-reset page local auth; complete browser/mail journey remains E02 gap
/reset-password Original token-reset page local auth; complete token submit/mail journey remains E02 gap
/verify-email Original verification page verification, local auth; actual mail E02
/confirm-email-change Original verification page with email-change mode verification, local auth; account mutation gaps E06
/microsoft-legacy-relink Original provider account-recovery page relink, token validator; real consent E03
/cv/:slug Original published-only anonymous CV/PDF page public CV, PublicCvController, smoke; deployed fonts/publication lifecycle C05/C12
/dashboard Original Home reports/onboarding/preferences; P5-06 presentation P5-06 evidence, daily loop; metric/preference limits S01/S02
/analytics Added P5-07 meaningful personal reports page P5-07 evidence; no new server facts/populations or deployed acceptance S01
/discover Original discovery page, Jobs secondary entry discovery, smoke; live NAV J01/J02
/jobs Original tracked jobs; Table default, Board query integration P5-03, P5-04b, native Board/query integration, integration component; finite-query/scaling limits J03–J07
/jobs/:id Original full job workspace; seven canonical sections P5-08b, route contracts, preservation browser; deferred followMode/manual/provider limits W01–W12
/reminders Original follow-up/reminder page daily loop, calendar; F21/provider W11
/operations Original processing activity/progress page, utility entry operations, OperationsController; worker/disconnect W12
/kanban Original pattern; now compatibility alias to /jobs?view=board; replace history, retain other query/hash/state P5-04b, native Board/query integration, App redirect; physical touch/scaling J07
/companies Original directory/contact page; ?edit=id retained companies, command; modal-save accessibility J08
/offers Original recorded offers comparison page offers, P5-07 links; full mobile/currency review J09
/correspondence Original global inbox/drafts/compose/review page inbox, draft persistence; live mail/reconnect M01–M06
/correspondence/review Original replace alias to /correspondence?view=review inbox, review; actual provider/create chain M05
/profile Original account identity/security page; account/settings entry profile, 2FA; complete account/device journeys E04–E06
/applications/:id Original replace alias to /jobs/:id, retaining search and router state P5-08b, workspace, App redirect; legacy sections/followMode W01
/career Original canonical Career Profile/import/evidence page with section queries Career workspace, profile; long-tail/import/provider C01–C04
/career/builder Original CV library page; shared P5-12 gallery touch builder library, P5-12; full library/publication chain C05
/career/builder/:id Original numeric CV editor; P5-09–12 presentation; CV-AI Production exception editor, P5-12, AI readiness; P5-13/P5-14/manual/rendering limits C06–C12
/admin/audit Original Admin Audit page; server role checks retained audit, authorization; native undo A02
/admin/users Original Admin Users page; server role/last-admin/self checks retained users, UsersController; revoke/reset A01
/admin/system Original Admin System page; no aggregate Admin page invented system, maintenance; deployed probes A03
/trash Original deleted-only JobTable/restore page P5-03, table density; finite restore/bulk/manual J06
/settings Original Settings tabs/data/privacy/backup/links page Settings, native layout; concurrent saves/billing/restore S03–S05
/settings/connected-accounts Original provider connections page connections, native Settings; actual OAuth/mail/expiry M06

Queries and non-route entries remain governed by navigation migration and Phase 3 route/query contracts: add/addtext, Jobs filters/sort/page/view, return from/focusJobId, workspace section/followMode, company edit, correspondence view, token URLs, command actions, bell/operations links and dirty/session boundaries. Unknown/legacy keys must not cause implicit writes. Provider callbacks/postMessage flows are separate from the React page census and retain origin/state requirements. Admin path presence does not grant API access; public slug identity remains separate from numeric private CV identity.

The actual census does not include /career/profile, /documents, /notifications or an aggregate /admin. Some older slice prose mentions /career/profile; the original preserved route and current App entry are /career with section queries. No extra route is inferred from that prose, and no route is removed to reconcile it.

Release and next-checkpoint limits

The configured production branch is main, with automatic deployment after its CI test job under the deployment workflow. This preservation review does not satisfy F04 deployed peer/ingress/firewall proof, current recoverable backup/restore/migration/user-data/rollback proof, remote CI/deployment protections or deployed health/login/navigation/Jobs/Dashboard/CV/PDF verification. Merge/push is NO-GO pending production safety proof even if local regressions pass. No migration, production access, Docker recovery, model call or destructive operation was performed for this review.

After a successfully verified release, P5-14 may address the user-authorized currently implemented CV scope; its deferred P5-13-specific coverage must remain explicit. P5-15 must distinguish completed/verified scope, deferred capability exceptions, release blockers and known limitations; unconditional full Phase 5 acceptance is unavailable while retained mandatory scope is unmet. Existing unrelated AI paths and all deterministic AI protections remain regression requirements.