53 KiB
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.