Files
jobtrackingapp/docs/redesign/phase-7/p7-00/INVENTORY.md
T

18 KiB
Raw Blame History

P7-00 — Remaining migration inventory

This inventory uses the approved exact handoff, original plan, 57 preservation contracts and current32-route census. Entry is development receipt b5319981ad3d1bd635daff861453d23c0de5320b, with application source unchanged from bd47214bdcd74336788dca0f294b8ddb9403cac1. P7-00 is documentation/static evidence only; no page migration or new runtime result is claimed.

Already migrated versus remaining

Area Completed owners to retain Remaining approved migration / dependency
Shell/navigation P5-01/02 grouped parent/child, expanded rail/mobile, active route, focus, six commands/search/bell; P6 scoped semantics P7-11 only verified residual shared states/long-tail acceptance; no IA/sidebar rewrite
Jobs/Table/Board/Trash P5-03/04 query ownership, Table/cards/Board parity, mutations/Back/aliases P7-05 Discovery/Companies/Offers/Reminders and P7-11 verified legacy dialog controls; Board scaling is separate measured debt
Dashboard/Analytics P5-06/07 Dashboard and eight report families, exact period/cohort/values/source links; Analytics delegates to DashboardView P7-11 remaining legacy state/control only; no second Analytics page, fabricated metric or Phase8 layout work
Application/job details P5-08a/b seven-section frame; CV/Letter/Answers/Submission and Activity/Correspondence composition P7-06 inventory-confirmed embedded legacy forms and global mail; no reimplementation of completed sections
CV editor P5-09–12/14 source/override/content/preview/history/responsive/advanced-controls ownership and native pagination Retain editor and renderer; C11 remains separate withheld qualification, human/output gaps remain
CV library/public entry Gallery reused/touched by P5-12; current CRUD/publication/public slug owners retained P7-04 library/actions/public-entry states, source language from P7-03; no second gallery/editor/history owner
Account/authentication Current identity/provider/token/security owners; P5 auth-return repair and P6 scoped hierarchy retained P7-01 public auth/Profile/security presentation; actual provider/mail/authenticator evidence separately scoped
Onboarding/Career Five Dashboard visibility flags/checklist, canonical source and section routes; source navigation/upload fixes retained P7-02 guidance/overview/evidence, P7-03 structured/import/history; canonical singleton unchanged
Global correspondence Current inbox/Gmail review/draft revision/confirmed-send/provider owners P7-06 remaining presentation; optional P7-06F requires explicit mode→draft/review/fallback decision
Documents Job Documents/attachments, CV/library, letter/draft/package/export owners already exist P7-07 metadata-only bounded owner projection, then index presentation; no generic Document record/browser crawl
Notifications/Operations Existing bell/store/operation result links P7-08 read/dismiss/unread/retry/cancel presentation; full route only after actual content/need is proved
Settings/Connections/Admin P4 layout/density primitives, Settings tabs/panels and P6 feedback; distinct server-guarded admin routes P7-09 remaining Settings/data/Connections, P7-10 Users/Audit/System; retain save/sensitive-action scopes
Error/empty/loading/dialog states Existing route/error boundaries, shared view-state/notification/confirm/prompt infrastructure P7-11 only owned residual findings; shared changes require all affected consumer regressions

Legacy presentation explicitly scheduled in Phase7 is migration work, not automatically a defect. Reproducible accessibility/usability/data faults still receive bounded owner/reproducer/proof. The original handoff defines P7-00…12 plus optional06F and its commit boundaries; this inventory adds no alternative phases.

Current route coverage

Source inspection extracts exactly32 distinct concrete App routes, matching the32 retained contract patterns. Wildcard matching/private root redirect do not add a second capability. Every whole-route group remains PARTIAL until its full applicable acceptance is supplied.

Route pattern Existing source owner Phase7 disposition Contract / existing limitation
/ LandingPage.tsx Retain current product/plan presentation; P7-01 inventory and P7-11 verified residual states only Public product remains distinct from private dashboard; no invented billing prices.
/login LoginPage.tsx P7-01 authentication presentation Safe return, remember-me, Turnstile, 2FA and login errors retain existing owners.
/register LoginPage.tsx P7-01 authentication presentation Same component initialMode=register; preserve actual registration gates.
/forgot-password ForgotPasswordPage.tsx P7-01 authentication presentation No actual mail delivery acceptance from local mocks.
/reset-password ResetPasswordPage.tsx P7-01 authentication presentation Token/expired/used-token and password-validation behavior.
/verify-email VerifyEmailPage.tsx P7-01 authentication presentation Preserve verification token and safe auth return.
/confirm-email-change VerifyEmailPage.tsx P7-01 account-security presentation emailChange owner/validation; no new identity model.
/microsoft-legacy-relink MicrosoftLegacyRelinkPage.tsx P7-01 authentication presentation Existing origin/state/relink protocol; real provider evidence separate.
/cv/:slug PublicCvPage.tsx P7-04 public entry Public slug differs from numeric private CV ID; revoke/private PDF guards remain.
/dashboard DashboardView.tsx Already migrated; retain P5-06 Residual evidence/loaded states only; five flags retained, Phase8 layout customization separate.
/analytics AnalyticsPage.tsx Already migrated; P7-11 residual controls/states only Delegates to DashboardView mode=analytics; all eight report families retain values/cohorts/source links.
/discover JobDiscoveryPage.tsx P7-05 Discovery Real NAV states and saved-search semantics; no fixture presented as live results.
/jobs JobTable.tsx Already migrated; retain P5-03/04b Single query owner/view parity; preserve legacy open/capture/query helpers and no-write entry.
/jobs/:id ApplicationWorkspacePage.tsx Already migrated frame; P7-06 remaining child forms Seven sections and nested source/save/send owners; preserve section/sub precedence and stale/foreign guards.
/reminders RemindersView.tsx P7-05 Reminders Real reason/count/actions; calendar offset/DST contract separately gated.
/operations OperationsPage.tsx P7-08 Operations Stable operation/result/cancel/retry ownership; no duplicate start.
/kanban App.tsx Retain legacy redirect Replaces view with board while preserving other search, hash and location.state.
/companies CompaniesTable.tsx P7-05 Companies edit=id command entry; preserve P6 dialog-local failure/draft/retry and UI-locale dates.
/offers OfferComparisonPage.tsx P7-05 Offers Recorded compensation/deadline/notes/source only; no unsupported normalization.
/correspondence CorrespondenceInboxPage.tsx P7-06 inbox/review/compose presentation view=review embeds GmailReviewPage; compose/drafts remain existing in-page owners.
/correspondence/review App.tsx Retain legacy redirect; audit metadata before parity claims Fixed replace to /correspondence?view=review; current adapter does not forward other search/hash/state.
/profile ProfilePage.tsx P7-01 account-security presentation Account identity/avatar/password/email/2FA/sessions, distinct from canonical Career Profile.
/applications/:id App.tsx Retain legacy redirect Preserves query/location.state to /jobs/:id; current adapter does not preserve hash.
/career CareerWorkspacePage.tsx P7-02 overview/evidence; P7-03 structured/import/history Delegates to CareerProfilePage; section=profile/evidence/import, default overview; no /career/profile route.
/career/builder CvBuilderPage.tsx P7-04 library Create/copy/delete/templates/manage/publish/share/export; reuse gallery/current editor.
/career/builder/:id CvBuilderEditor.tsx Already migrated; retain P5-09–12/14 One revision/save/history/preview owner; C11 withheld; unchanged physical renderer.
/admin/audit AdminAuditPage.tsx P7-10 Audit Supported persisted undo/restore only; role/API authority remains.
/admin/users AdminUsersPage.tsx P7-10 Users Role/reset/delete/last-admin/self/recent-auth guards; no client-only authorization.
/admin/system AdminSystemPage.tsx P7-10 System Diagnostics/SMTP/model/maintenance do not acquire production execution authority.
/trash JobTable.tsx Already migrated; retain P5-03 mode=trash, soft-delete/restore/edit; no Board or hard-delete substitution.
/settings SettingsView.tsx P7-09 remaining presentation Existing tabs/mobile selector/panel semantics, Rules draft and independent subcard save scopes remain.
/settings/connected-accounts ConnectedAccountsPage.tsx P7-09 Connections EmailProviderConnections owns Gmail/Graph/IMAP; mailbox grants differ from sign-in identity.

No existing /documents, /notifications, aggregate /admin or /career/profile route is inferred. Proposed new destinations require meaningful content and explicit owner/data/route tests. Preserve route/search/hash/history/state contracts and record existing alias limitations instead of claiming universal parity.

Current code contracts and representative fixtures

Contract / owner boundary Existing executable fixture Required preservation when affected
Private account/session disposal and A/B resources Account isolation browser, session boundary, account-scoped state Guest/non-admin/foreign/missing resources, switched identity/stale responses; hiding UI never replaces server denial
Auth return/token/refresh Native auth repair, login, verify Existing safe internal from/query, expiry/logout/refresh, deliberate token error; real mail/provider remains separate
Shell/commands and Jobs query Shell, Board, route helper, Jobs integration Table/Board membership/filter/sort/search/page parity, Back/forward/capture; no query semantics or hidden-result caps
Job source/context/frozen package Ordinary preservation, section composition P2-D01 normal passing capture/readback/archive bytes; canonical/sibling/current/frozen separation
Canonical Career vs CV override Career workspace, Career evidence, CV section scope Complete/custom/low-confidence fields, explicit import accept/discard; CV override must not mutate canonical or sibling data
CV revision/save/history/preview CV readiness, responsive ownership, pagination Expected version/conflict/recoverable draft, one save/preview owner, original16/36+8/24 physical oracle when output touched
Existing AI grounding/proposal protection AI readiness, Phase6 backend evidence Purpose/source scope, progress/retry, explicit accept/reject, stale/invalid/foreign no-write guards; C11 remains withheld
Mail draft/review/confirmed send Inbox, Gmail review, draft persistence Draft revision, explicit confirmed delivery, idempotency and uncertain-attempt handling; no auto-resend
Company/language/shared API feedback Native feedback/geometry, named modal controls, i18n Durable in-modal alert/draft/retry, latest-choice language races, translated fallback while preserving structured server messages
Settings/density/export/data Settings layout, Rules draft, CSV, account export Named panels/control errors, independent dirty/save scopes, bytes/counts/import distinctions, no restore/deletion activation
Dashboard/Analytics provenance Dashboard, Analytics Exact periods/cohorts/denominators/source links, no fabricated statistics or Phase8 order/resize
Shared accessibility/responsive state Semantic foundations, real zoom, responsive audit Names/headings/panels/focus/dialog return, EN/NB/theme/density/breakpoints, root reflow and context-triaged axe; actual AT/device results remain separate
Admin roles and supported operations Users, Audit, System, API posture Crafted non-admin and mounted revocation, supported persisted undo, safe errors/no sensitive disclosure; no production task authority

Existing fixtures prove their actual executed scope only. They are starting anchors, not complete coverage of every pending migration. Add native owned-flow/negative/no-write/readback cases where a slice changes behavior; avoid tests that merely mirror style implementation.

Independent work and mandatory dependencies

The main conflict is resolved by owner instruction: development execution proceeds and main remains unchanged. P7-00 must push before page changes. P7-06F remains deferred without its product decision, while ordinary P7-06 presentation can proceed. P7-07 index implementation requires its backend metadata projection; honest owner links may remain meanwhile. New notification event producers require F20 recovery, and any full notification route requires meaningful existing-store content. Save/history-owner changes require explicitly bounded source concurrency; provider protocol, billing/deletion/restore/cutover and production operations remain separately gated.

Applicable human M01–M12, production font/photo/print, provider semantics and retained accessibility/incident contexts prevent blanket acceptance but do not halt unrelated safe presentation. M13 is deferred AI return/do-not-execute. See DEBT.md for current counts and exact gates. P7-12 retains separate migration/production/Phase8 readiness decisions.