docs(redesign): establish Phase 7 migration baseline

This commit is contained in:
cesnimda
2026-10-11 16:44:37 +02:00
parent b5319981ad
commit 27c54146ad
9 changed files with 917 additions and 1 deletions
+13
View File
@@ -0,0 +1,13 @@
# Phase 7 — Commit and evidence ledger
Every completed checkpoint or coherent repair is committed and pushed normally to `codex/ui-redesign-phase4`, with immediate direct remote=HEAD verification. Production main remains `27657f31131cd95d42f0e1290853ec9c9b3959a4`; no force push, main push or automatic deployment.
Entry is the completed Phase6 successor receipt `b5319981ad3d1bd635daff861453d23c0de5320b`. Its [historical ledger](../phase-6/COMMITS.md) retains P6-05 `4669fb42e604c4728e8c420846ba78f298a8d90c` and original runtime provenance. Application source is unchanged from P6-03 `bd47214bdcd74336788dca0f294b8ddb9403cac1`; measured export `2LDblja_XnSBWSuY6ys_V`.
| Logical unit | Commit | Validation / push receipt |
|---|---|---|
| P7-00 inventory, preservation/debt and unchanged-source baseline | PENDING — coordinator records actual hash after normal push | [P7-00](p7-00/README.md), [fresh finite baseline](p7-00/evidence/baseline.json); inherited runtime explicitly separated. P7-01 page changes wait for this push/remote verification |
Hashes and remote receipts are appended by a successor to avoid self-referential commit hashes. Each row records actual commands/results, source scope, remaining conditions, normal push and immediate direct remote identity; partial or blocked evidence is recorded without inventing success. Subsequent receipt metadata is a separately reviewable documentation unit, with its own hash reported after push rather than an endless receipt chain.
Execute the exact approved P7-00…P7-12 plus optional P7-06F from [the handoff](../phase-6/p6-05/PHASE7_HANDOFF.md). Commit boundaries follow owned workflow/consumer scope and preserve concurrent work. No Phase8 dashboard customization, P5-13 qualification/activation or gated production/lifecycle action is implied.
+76
View File
@@ -0,0 +1,76 @@
# Phase 7 — Retained debt and mandatory gates
This is the current entry disposition of every RD01–RD28 obligation in the [Phase5 debt register](../phase-5/p5-15/READINESS_DEBT.md), reconciled with [successor dispositions](../phase-5/p5-15/p5-15-04/DEBT_DISPOSITION.md), [Phase6 final report](../phase-6/p6-05/README.md) and [exact handoff](../phase-6/p6-05/PHASE7_HANDOFF.md). Historical records stay intact. This table updates scoped outcomes rather than copying obsolete source descriptions as current facts.
Production remains **NO-GO**, main unchanged. Independent bounded development can continue with explicit conditions; a demonstrated severe shared/security/data failure blocks its dependent propagation. Actual provider/production/destructive actions retain separate authority.
## Every retained debt
| ID | Current entry disposition | Dependency / permitted Phase7 boundary |
|---|---|---|
| RD01 | F04 actual production ingress/topology/trusted socket peer/TLS/IPv6/firewall/client identity remains OPEN | Release gate; local ingress tests do not supply actual deployed proof |
| RD02 | Current complete DB/files/CV/export/DataProtection/tombstone recovery set and isolated restore UNVERIFIED | Release/lifecycle gate; backup download is not restore evidence |
| RD03 | Effective provider/schema/configuration/secrets/startup and F19 fallback UNVERIFIED | Release gate; no DDL/cutover or provider assumption hidden in presentation |
| RD04 | Isolated Linux failure/rollback rehearsal and complete prior images/config UNVERIFIED | Release gate; production restore/restart not authorised |
| RD05 | Protected CI/runner/deployed SHA/authenticated smoke identity UNVERIFIED | Release gate; repository main identity is not deployed identity |
| RD06 | Human reader/state/name/contrast and contextual axe acceptance remain OPEN | Applicable M01–M12; current52+267 inventories below supersede old counts; no conformance claim |
| RD07 | Physical touch/software keyboard/mobile AT/forced-colors/text-spacing/alternate-browser acceptance NOT VERIFIED | Applicable actual operators/devices; finite emulation/zoom does not replace them |
| RD08 | P5-13 model semantics/review UI remains DEFERRED/UNQUALIFIED/withheld; frozen32 cases,0/366 configured-target calls,0human reviews | PRES-C11 and M13 do-not-execute; no automatic model qualification or UI activation |
| RD09 | Production CV proposal503/no-provider/no-write has local contract proof; actual deployed withholding unverified | Preserve guard and unrelated existing AI; no unqualified generation/Apply |
| RD10 | Actual production Linux/fonts/portrait/crop/print/other-browser output qualification UNVERIFIED | Local original16/36+8/24 oracle remains passing and finite |
| RD11 | Language preference500 server root remains OPEN; **P6 now shows local/account scope failure, explicit retry and latest-choice race protection** | P7-09 retains repaired feedback; do not claim concurrency/server cause fixed |
| RD12 | Notification-setting SQLite locking/server contention remains OPEN | P7-09 retains draft/in-page error; diagnose intended-provider writes before stronger reliability claim |
| RD13 | Historical Rules500 cause unconfirmed/OPEN; prior durable error/retry/discard/internal-draft repair retained | P7-09 keeps Rules save owner/draft lifetime; no generic retry hides root |
| RD14 | Command/dialog focus timing incident cause remains unproven | All changed modal/shell owners require actual trap/restore/transition proof; clean rerun is not diagnosis |
| RD15 | CV section expansion historical intermittent cause remains unproven | Retain failed observation and original assertions; investigate if reproduced |
| RD16 | **Scoped P6 company-error defect repaired:** durable dialog-local accessible alert, retained draft and retry readback; focused/integrated ordinary cases pass | P7-05 must preserve it; whole actual-reader/dialog/contact/date acceptance remains PARTIAL |
| RD17 | Complete Board result grouping/rendering remains O(N); measured200/1,000 observations prove capacity cost, not a budget | Preserve full membership/query parity; separately bounded measured capacity work, no hidden result cap |
| RD18 | Board/CV physical selection/drag/drop/cancel/browser variants NOT VERIFIED | Applicable M03/M06/M12 physical evidence and named keyboard alternatives; no invented cross-section feature |
| RD19 | `followMode` producers/query metadata retained; reviewed consumer remains DEFERRED | P7-06F requires explicit mode→draft/review action/fallback before implementation; no auto-send/resend |
| RD20 | P5-05 optional read-only quick preview remains DEFERRED; unsupported NEW/OD and Phase8 scope remain reserved | No second full editor or early Dashboard order/resize/reset/cross-device widget framework |
| RD21 | Canonical profile/job stale-save and creation-intent idempotency remain OPEN, separate from verified CV revision | Resolve or explicitly bound concurrency before save/history owner expansion; P7-03 retains current presentation-only behavior |
| RD22 | F20 enabled-worker outage recovery/durability remains OPEN | Inspect intended gates; recovery/no-loss/no-duplicate proof before new enabled producers; no worker activation |
| RD23 | F21 calendar offset/DST/date-only semantics remain OPEN | P7-05/06 retains existing links; dedicated contract/provider proof before semantic changes or scheduling claims |
| RD24 | Billing/deletion/retention/tombstone/provider-cleanup policy/configuration UNVERIFIED | P7-09 presentation only; no checkout/deletion/restore activation or guessed policy |
| RD25 | Real OAuth/Turnstile/mail/calendar/model/signup delivery/reconnect/privacy semantics remain finite/unqualified | Current provider protocols retained; actual authorised sandbox/human evidence for affected acceptance; never auto-resend uncertain delivery |
| RD26 | Legacy Job/Application expand-verify-contract cutover remains OPEN | No compatibility column/read/write removal; separately authorised production/restore reports and rollback |
| RD27 | Actual monitoring/alerts/recovery owner/runbook coverage UNVERIFIED | Release failure-detection/recovery gate; do not fabricate centralized sink/alerts |
| RD28 | Evidence scope/failure provenance and original closures must be preserved | P2-D01 ordinary pass; no assertion relaxation/skip; inherited old attachment-loss limits remain explicit |
The IF-CV-UNSAVED-01 recoverable-draft/Unsaved intermittent trace obligation also remains open under the CV revision/evidence boundary; successful native held-PUT/history runs do not diagnose every historical incident. Dashboard measured duplicate source reads/layout shifts remain bounded follow-up candidates, not proven backend defects or comparative performance improvements.
## Current accessibility inventory and triage
Actual final Phase6 report SHA256 is `a908c30a8435448b00849171e3cb9ce68b96570f60c3da086409e434d1bcd82a`; measured source/export are `bd47214bdcd74336788dca0f294b8ddb9403cac1` / `2LDblja_XnSBWSuY6ys_V`. The [aggregate](../phase-6/p6-05/evidence/validation.json) retains exact attachment hashes/counts and detailed or representative contexts; complete raw node vectors remain in its identified source report.
| Scope | Snapshots | Violation-node occurrences | Incomplete occurrences |
|---|---:|---:|---:|
| Detailed all-enabled |52|11|435|
| Retained WCAG-tagged/domain-scoped |267|0|2,038|
| Combined **mixed scope** |319|11|2,473|
Counts repeat across states and are not unique defects, all-enabled coverage for319, or a like-for-like Phase5 comparison. Pre-CSS49/11/342 evidence stays historical; the final repaired source52 adds two label and one settled-touch states. Restored modal workflows add16 retained-rule checkpoints versus the first failed full run's251.
| Category | Detailed52 | Retained267 | Combined319 | Required contextual treatment |
|---|---:|---:|---:|---|
| landmark-unique violations |5|0|5|CV parent main/paper-frame context; preserve white print document boundaries and actual reader landmark review |
| heading-order violations |2|0|2|AddJob step heading and workspace Strategy snapshot; bounded semantic owner repair if reproduced, not renderer changes |
| aria-command-name violations |4|0|4|First emulated-touch drawer sample retains four; settled named/focused drawer has0 with Escape restoration. Do not invent transition cause or spoken acceptance |
| color-contrast incomplete |394|1,766|2,160|Overlap/obscured/short-text contexts need M11 measurement; tagged checks include1,380 overlap/193 partly obscured/189 short-text/4 partly obscuring nodes |
| aria-prohibited-attr incomplete |28|209|237|Disabled CV labels/checklist wrappers; review contextual name/state under M09/M11 |
| aria-hidden-focus incomplete |10|41|51|Menu/root/popover/drawer/current-state focusability; tagged contexts #menu24/#root12/popover4/drawer1; evaluate trap/isolation/return |
| aria-valid-attr-value incomplete |2|18|20|Command-dialog missing-label-ID/lifetime context; inspect actual lifecycle and reader names |
| target-size incomplete |1|0|1|Actual physical target/context under M12; no blanket spacing waiver |
| th-has-data-cells incomplete |0|4|4|Four list-error light/dark EN/NB captures target table and report missing/empty data cells; M11 error/header/data context and M09 recovery, no established application defect from incomplete alone |
Settled touch still retains contrast4 and hidden-focus1 (#root) incomplete; it is not blanket accessibility clearance. Applicable manual **M01–M12 remain NOT VERIFIED**, especially M09 spoken names/errors/state, M11 contextual contrast/forced colors/motion and M12 physical touch/software keyboard/orientation/mobile AT. **M13 is deferred AI return/do-not-execute**, not the contrast packet.
Use the established [accessibility plan](../phase-3/ACCESSIBILITY_PLAN.md): WCAG2.2 AA project target, ordinary text4.5:1/large text3:1/control-focus3:1, visible focus/reflow/labels/errors/live state/reduced motion;44px physical-touch aim distinct from AA24px/spacing rules. No automated conformance certification.
## Evidence and production limits
The early Phase6 runner retained exact failure commands/reports/logs but reused result folders, so not all old screenshots/traces/error-context paths remain resolvable. Later runs archive the whole previous output; current successful attachments have exact provenance. Preserve that limit rather than claiming complete old failure-trace retention. Native Windows Chromium/local SQLite/synthetic fixtures and finite PDF oracles do not establish deployed Linux, human semantics, physical devices, real provider quality or production load.
API transferSize0 is unavailable cross-origin timing information, not zero network bytes. CDP document/node/heap snapshots can retain earlier navigation/CV iframe documents and do not prove leak/growth. The existing measured Board/Dashboard candidates require baseline/comparative evidence before a repair or capacity claim.
Production remains NO-GO until RD01–05/RD27 plus effective schema/configuration/secrets/provider/F19, complete off-host recovery and isolated Linux rollback/deployed smoke requirements have operator evidence and a separate release decision. The workflow deploys on main push; the owner explicitly keeps main unchanged during this mission. No destructive/provider/production action is authorised by this debt table.
+81
View File
@@ -0,0 +1,81 @@
# Phase 7 — Initial preservation matrix
All **57 original protected groups** remain in scope. This initial matrix derives the exact IDs/statuses and original evidence/limitations from [Phase6 preservation](../phase-6/p6-05/PRESERVATION.md), reconciled against its [aggregate](../phase-6/p6-05/evidence/validation.json), [original functionality ledger](../audit/FUNCTIONALITY_INVENTORY.md), [Phase2 anchors](../phase-2/PRESERVATION_MATRIX.md) and [Phase3 impacts](../phase-3/PRESERVATION_IMPACT_MATRIX.md). The short rows never replace protected sub-capabilities.
Entry source is development receipt `b5319981ad3d1bd635daff861453d23c0de5320b`, with application frozen at `bd47214bdcd74336788dca0f294b8ddb9403cac1`. [Fresh P7-00 identity/route/matrix evidence](p7-00/evidence/baseline.json) adds finite static proof; runtime results remain the inherited accepted Phase6 run, not a new P7-00 execution.
**Initial disposition: 0 PASS /56 PARTIAL /0 FAIL /1 DEFERRED =57.** PARTIAL means retained capabilities plus scoped execution and incomplete whole-workflow/human/provider/output obligations; it does not mean56 established defects. PRES-C11 remains withheld. P7-00 introduces no capability/route/auth/data/rendering change and upgrades no group to PASS.
## All 57 contracts
The migration-owner column assigns the approved slice while retaining completed owners. Every executed slice must link its new behavior/negative/no-write/readback evidence and exact remaining limits before any later status change. The source-linked Phase5 [complete acceptance matrix](../phase-5/p5-15/PRESERVATION_ACCEPTANCE.md#reconciled-matrix) supplies individual executable anchors.
| Contract / preserved boundary | Existing implementation and behavioral evidence | Initial full-group status | Mandatory limitation / remaining acceptance | Phase7 owner / retention boundary |
|---|---|---|---|---|
| **PRES-E01** Public product, Free/Pro comparison and honest unavailable billing | [Retained public route census](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), ledger/planCatalog tests in original matrix | PARTIAL | Public-page complete mobile/keyboard review and actual billing availability; no invented prices | P7-01; E01 retained product inventory |
| **PRES-E02** Local login/register/remember, Turnstile, resend/reset/verify | [AUTH-01 native repair](../phase-5/p5-15/p5-15-01/analytics-auth-repair/README.md); complete return URL/security proof | PARTIAL | Real mail/reset submit/Turnstile and token expiry/used-token cases; query loss is repaired for its tested scope | P7-01; E01 retained product inventory |
| **PRES-E03** Google/Microsoft sign-in/link/relink, popup state/origin | [Shared return-boundary proof](../phase-5/p5-15/p5-15-01/analytics-auth-repair/README.md), retained provider owners | PARTIAL | Actual consent/popups/revoked grants/relink; mailbox grants remain separate from sign-in | P7-01; E01 retained product inventory |
| **PRES-E04** 2FA/recovery/setup/disable/trusted-device revocation | [Retained identity census](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), TwoFactor/Sessions tests | PARTIAL | Real authenticator/recovery and reader/trusted-device traversal; sensitive confirmations retained | P7-01; E01 retained product inventory |
| **PRES-E05** Sessions/current-device/revoke/logout | [Shell/private lifecycle](../phase-5/p5-02/README.md), Sessions/account-scoped tests | PARTIAL | Native session-card refresh after remote revocation and complete device/AT acceptance | P7-01; E01 retained product inventory |
| **PRES-E06** Avatar/account identity/email/password | [Retained `/profile` and confirmation route](../phase-5/p5-15/ROUTE_ACCEPTANCE.md) | PARTIAL | Complete avatar/remove/password/email-change native flow; account identity remains distinct from career facts | P7-01; E01 retained product inventory |
| **PRES-E07** Expanded/rail/mobile navigation, active route, commands | [Grouped shell](../phase-5/p5-01/README.md), [utilities](../phase-5/p5-02/README.md), [drawer repair](../phase-5/p5-15/p5-15-04/mobile-drawer/README.md) | PARTIAL | Spoken names/live state, settled drawer AX-name triage and historical command/dialog timing; no route silently hidden | Retain shell; P7-11 verified residual / P7-12 |
| **PRES-E08** Themes, EN/NB hydration, shared toast/confirm/prompt/errors | [Semantic foundations](../phase-4/p4-06/README.md), [shared readiness](../phase-5/p5-00/README.md), [P6 corrections](../phase-6/p6-01/README.md) | PARTIAL | Full OS/locale/state cross-product, contrast/incomplete axe, reader/reflow; save feedback is distinct from server500 root-cause repair | Every affected slice / P7-12 |
| **PRES-E09** Account switch/stale read-write/BFCache/revalidation | [Native owned-resource protection](../phase-5/p5-13-readiness/README.md), [auth expiry/logout proof](../phase-5/p5-15/p5-15-01/analytics-auth-repair/README.md) | PARTIAL | Broader BFCache/offline/old-bundle/deployed cases; presentation never becomes authorization | Every affected slice / P7-12 |
| **PRES-J01** NAV search/filter/sort/source/freshness/details | [Retained Discover owner](../phase-5/p5-15/ROUTE_ACCEPTANCE.md) | PARTIAL | Live NAV availability/freshness and long-result keyboard/narrow traversal | P7-05 |
| **PRES-J02** Named saved searches/run/delete/alerts/results/dismiss | [Native saved-search repair](../phase-5/p5-15/p5-15-01/saved-search-repair/README.md) | PARTIAL | Actual scheduler-to-owned-notification delivery, human/mobile delete acceptance and intended-provider qualification; deterministic runner is not live NAV | P7-05 |
| **PRES-J03** Reviewed manual/URL/paste creation/company/tags/dates/duplicates | [Jobs/Add](../phase-5/p5-03/README.md), shared AddJobModal; transport boundary tests | PARTIAL | Duplicate/company/date/interrupted creation and distinct creation-intent idempotency debt; preview/open is no-write | Retain Jobs/capture; P7-11 verified residual / P7-12 |
| **PRES-J04** Extension/bookmarklet/share capture and optional post-create artifacts | [Capture retained](../phase-5/p5-03/README.md), captureUrl/extension contracts | PARTIAL | Installed extension/share/no-replay and attachment failure recovery; keep payload and safe-return contracts | Retain Jobs/capture; P7-11 verified residual / P7-12 |
| **PRES-J05** Search/filter/sort/pages/columns/saved views/row-card actions | [Jobs presentation](../phase-5/p5-03/README.md), [shared Table/Board query](../phase-5/p5-04b/README.md) | PARTIAL | Full saved-view CRUD/dirty page-size/history combinations and supported capacity; server query semantics unchanged | Retain Jobs/capture; P7-11 verified residual / P7-12 |
| **PRES-J06** Bulk status/delete/restore, soft-delete/Trash, edit | [Native Jobs/Trash](../phase-5/p5-03/README.md), [selection/view integration](../phase-5/p5-04b/README.md) | PARTIAL | Complete selected-scope/partial-failure/dirty/manual combinations; no hard-delete substitution | Retain Jobs/capture; P7-11 verified residual / P7-12 |
| **PRES-J07** Board groups/custom statuses/pointer-keyboard move/cancel/menu | [Board](../phase-5/p5-04a/README.md), [query parity](../phase-5/p5-04b-readiness/README.md), [200/1,000 exact membership](../phase-5/p5-15/p5-15-06/README.md) | PARTIAL | Physical drag/touch/browser variants and O(N) full-array capacity; no capped hidden results or pipeline redefinition | Retain Jobs/capture; P7-11 verified residual / P7-12 |
| **PRES-J08** Company/contact/source/pipeline-date/history editing | [Retained Companies owner](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), [P6 shared feedback checkpoint](../phase-6/p6-01/README.md) | PARTIAL | Scoped in-modal failure proof follows P6 manifest; complete contact/date/source-link and human acceptance remain | P7-05 |
| **PRES-J09** Recorded offer compensation/deadline/notes/source | [Offer/report source acceptance](../phase-5/p5-07/README.md), retained OfferComparisonPage | PARTIAL | Many-offer mobile/currency/date acceptance; no invented salary normalization | P7-05 |
| **PRES-J10** CSV/JSON export/import/conversion/counts | [Retained Settings Data](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), CSV/blob/formula-safety tests | PARTIAL | Complete native roundtrip and target spreadsheet compatibility; job import is not account restore | P7-09 |
| **PRES-W01** Full job workspace/legacy links/optional overlay | [Seven-section native workspace](../phase-5/p5-08b/README.md), [route/readiness proof](../phase-5/p5-08b-readiness/README.md) | PARTIAL | `followMode` metadata retained; compose consumer deferred. P5-05 optional preview lacks production host; full page remains | Retain frame; P7-06 / gated P7-06F |
| **PRES-W02** Details/status/next action/dates/contact/timeline | [Overview/header](../phase-5/p5-08a/README.md), [section composition](../phase-5/p5-08b/README.md) | PARTIAL | Stored-event localisation/timezones/status-reload combinations and separate job revision debt | Retain workspace owners; P7-06 residual / P7-12 |
| **PRES-W03** Analysis/match/gaps/strategy/reviewed status suggestions | [Contextual existing owners](../phase-5/p5-08b/README.md), workflow/AI tests | PARTIAL | Real-model truthfulness/freshness/cancel quality; route entry never auto-generates; unrelated AI survives C11 withholding | Retain workspace owners; P7-06 residual / P7-12 |
| **PRES-W04** Checklist CRUD/completion/order/next action | [Retained checklist composition](../phase-5/p5-08b/README.md), checklist tests | PARTIAL | Mobile interruption/edit/delete/reader; item identity and keyboard alternatives retained; no invented due-date schema | Retain workspace owners; P7-06 residual / P7-12 |
| **PRES-W05** Select/attach/create/tailor CV and source context | [Native attach/tailor/package readiness](../phase-5/p5-08b-readiness/README.md), [Application section](../phase-5/p5-08b/README.md) | PARTIAL | **P2-D01 remains ordinary passing**; broader attach-render/model/deployed combinations remain; owner/job association unchanged | Retain workspace owners; P7-06 residual / P7-12 |
| **PRES-W06** Manual/AI letter review/reject/apply/history/dirty guard | [Native Application/Letter](../phase-5/p5-08b/README.md), [readiness](../phase-5/p5-08b-readiness/README.md) | PARTIAL | Complete native history/reject/reader/model combinations; no canonical mutation or auto-send | Retain workspace owners; P7-06 residual / P7-12 |
| **PRES-W07** Drafts/frozen package versions/archived binaries | [Native SQLite/source-mutation/archive ZIP proof](../phase-5/p5-08b-readiness/README.md) | PARTIAL | Actual production restore/rollback/all-storage combinations; current edits/delete cannot mutate frozen bytes; capture is not delivery | Retain workspace owners; P7-06 residual / P7-12 |
| **PRES-W08** Upload/drop/category/name/consent/preview/download/delete | [Documents section](../phase-5/p5-08b/README.md), [native keyboard picker repair](../phase-5/p5-15/p5-15-04/file-picker/README.md) | PARTIAL | Physical drop, full rename/download/reader and deployed storage; AI inclusion remains explicit | Retain workspace owners; P7-06 residual / P7-12 |
| **PRES-W09** Interview categories/questions/answers/manual removal/AI review | [Interview section](../phase-5/p5-08b/README.md), interview persistence/context tests | PARTIAL | Real-model and physical software-keyboard/reload/reader; preparation is not a scheduled interview | Retain workspace owners; P7-06 residual / P7-12 |
| **PRES-W10** Debrief/follow-up content/date/readiness | [Retained interview/follow-up](../phase-5/p5-08b/README.md) | PARTIAL | Timezones/provider delivery; `followMode` reviewed compose UI remains deferred, no automatic send | Retain workspace owners; P7-06 residual / P7-12 |
| **PRES-W11** Reminders/rules/notifications/ICS/Google-Outlook events | [Rules draft/error/retry repair](../phase-5/p5-15/p5-15-01/rules-draft-repair/README.md), retained calendar contracts | PARTIAL | F21 DST/date-only/offsets, real provider events/scheduler delivery and historical unconfirmed Rules500 cause | P7-05/08; F21 gated |
| **PRES-W12** Async progress/failure/retry/cancel/notifications | [Operation and bell entries](../phase-5/p5-02/README.md), operation/worker tests | PARTIAL | Disconnect/reconnect and F20 enabled-worker fault recovery; stable operation IDs/no duplicate starts | P7-06/08 |
| **PRES-C01** All canonical structured/long-tail/custom career fields | [Source isolation](../phase-5/p5-10/README.md), canonical service/controller tests | PARTIAL | Full long-tail mobile save and profile concurrency; singleton source distinct from identified variants | P7-02/03 |
| **PRES-C02** Overview/completeness/import/raw copy/avatar/history restore | [Retained Career owner](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), overview/profile/history tests | PARTIAL | Complete native historical restore/clipboard/avatar/reader; live inherited CVs may reflect later source changes | P7-02/03 |
| **PRES-C03** Upload/extract/reprocess/diff/low-confidence select/accept/discard/retry | [Native picker repair](../phase-5/p5-15/p5-15-04/file-picker/README.md), extraction/diff tests | PARTIAL | Scanned/OCR corpus and complete low-confidence/discard/native-reader flow; extracted proposal is not canonical truth | P7-02/03 |
| **PRES-C04** Evidence sources/categories/tags/add/list/delete | [Retained evidence owner](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), evidence frontend/API tests | PARTIAL | Many-item/delete/keyboard acceptance; evidence stays sourced and owner-bound | P7-02/03 |
| **PRES-C05** Library CRUD/gallery/share/publication/PDF | [Gallery/control reuse](../phase-5/p5-12/README.md), library/publication tests | PARTIAL | Library migration not complete; publish/unpublish/old-slug revocation and every template combination required | P7-04/07 |
| **PRES-C06** Studio tabs/save states/debounce/pages/fit/mobile panes | [Frame](../phase-5/p5-09/README.md), [preview](../phase-5/p5-11/README.md), [hidden-initial repair](../phase-5/p5-15/p5-15-04/mobile-preview/README.md) | PARTIAL | Physical keyboard/touch/AT and broader short-height/wrapped/deployed cases; one editor/save/preview owner | Retain editor; P7-04/07 boundaries / P7-12 |
| **PRES-C07** Visibility/order/custom sections/item-document overrides/reset | [Source/override editing](../phase-5/p5-10/README.md), [nested ownership proof](../phase-5/p5-14/README.md) | PARTIAL | Physical selection/drop/all-browser and exhaustive reset/inheritance combinations; sibling/canonical/frozen separation retained | Retain editor; P7-04/07 boundaries / P7-12 |
| **PRES-C08** Capability-aware typography/color/header/skills/sidebar/photo | [Nine-template control matrix](../phase-5/p5-12/README.md) | PARTIAL | Production fonts/portraits/wrapped lines/custom color/reader; schematic gallery is not final-photo qualification | Retain editor; P7-04/07 boundaries / P7-12 |
| **PRES-C09** A4/Letter/density/margins/dates/document locale/section layout | [Advanced controls](../phase-5/p5-12/README.md), [native pagination repair](../phase-5/p5-09-pagination-readiness/README.md) | PARTIAL | Advanced cross-product/manual print/deployed fonts; UI locale distinct from document locale; no print geometry styling change | Retain editor; P7-04/07 boundaries / P7-12 |
| **PRES-C10** Undo/redo/save queue/dirty/history/conflict/preview lifecycle | [Expected-version/recoverable draft protocol](../phase-5/p5-09-readiness/README.md), [responsive held-PUT proof](../phase-5/p5-14/README.md) | PARTIAL | Long offline/history and IF-CV-UNSAVED-01 trace; settings history is not immutable historical profile/PDF; profile/job saves remain separate | Retain editor; P7-04/07 boundaries / P7-12 |
| **PRES-C11** Section/document AI improve/translate/instruction/grammar review | [Deterministic grounding/stale/owner guards](../phase-5/p5-13-readiness/README.md), [Production no-write HTTP proof](../phase-5/release-readiness/README.md) | **DEFERRED** | **0/366 configured-target calls;0 human semantic reviews;review UI absent.** Production503 `cv_ai_unavailable`/no provider/no write remains; safe withholding is not generation acceptance | DEFERRED P5-13; no activation |
| **PRES-C12** Private PDF/public slug preview-PDF/long searchable output | [Unchanged 16/36 and8/24 corpora](../phase-5/p5-15/p5-15-03/README.md), private/public/admission tests | PARTIAL | Deployed Linux/font/photo/browser/manual-print qualification and complete revoke/busy-recovery cases; white print pages retained | Retain editor; P7-04/07 boundaries / P7-12 |
| **PRES-M01** Job manual correspondence log/search/delete/paste | [Timeline/Correspondence composition](../phase-5/p5-08b/README.md), correspondence owner tests | PARTIAL | Full edit/delete/paste/reader native combinations; logging is not sending | P7-06 |
| **PRES-M02** Gmail candidates/thread import/sync/unlink/relink/move | [Retained job Gmail tools](../phase-5/p5-08b/README.md), ownership/import tests | PARTIAL | Actual provider threads/multi-account revoke/reconnect/sync failures; cross-job changes owner-bound | P7-06 |
| **PRES-M03** Global inbox filters/page/provider/link/direction/detail/attachments | [Retained inbox route](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), Email ownership tests | PARTIAL | Large mailbox/native attachments/complete reader acceptance; global inbox remains Phase7 migration | P7-06 |
| **PRES-M04** Compose/reply/draft revisions/confirmed send/uncertain attempt | [Retained draft/send owner](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), draft revision/send tests | PARTIAL | Sandbox delivery/reconnect/dirty interruption; no automatic uncertain resend; reviewed `followMode` UI deferred | P7-06; gated P7-06F / P7-07 |
| **PRES-M05** Gmail reviewed job/link/reject/keep/notes/sync/create | [Review alias/native route](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), review controller/page tests | PARTIAL | Real provider and complete proposed-job create flow; route opening is no-write | P7-06 |
| **PRES-M06** Gmail/Graph/IMAP connect/status/disconnect | [Retained Connections](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), connection/controller tests | PARTIAL | Real grants/revoke/token expiry/reconnect/IMAP safety; keep sign-in identity separate | P7-06/09 |
| **PRES-S01** Personal counts/activity/funnel/company/skills/stage/salary/next action | [Dashboard](../phase-5/p5-06/README.md), [implemented Analytics](../phase-5/p5-07/README.md), [target correction](../phase-5/p5-15/p5-15-04/report-targets/README.md) | PARTIAL | Exact cohort/timezone/sample/unsupported metrics and whole reader acceptance; no fabricated statistics or Analytics rebuild | Retain reports; P7-11 residual |
| **PRES-S02** Five owner-local flags/onboarding/bell read-dismiss | [Dashboard flags](../phase-5/p5-06/README.md), [bell](../phase-5/p5-02/README.md), [12 concurrent rounds](../phase-5/p5-15/p5-15-06/README.md) | PARTIAL | Historical500 causes unproved; full onboarding/notification acceptance; order/resize/reset/cross-device design remains Phase8 | P7-02/08; Phase8 separate |
| **PRES-S03** Rules/notification/table/theme/language/account preferences | [Settings primitives](../phase-4/p4-04/README.md), [Rules retention](../phase-5/p5-15/p5-15-01/rules-draft-repair/README.md), [P6 feedback](../phase-6/p6-01/README.md) | PARTIAL | Language failure visibility is separate from RD11 server cause; RD12 notification locking/RD13 Rules500 and human/provider acceptance retained | P7-09 |
| **PRES-S04** Privacy/AI usage/limits/server entitlement/billing availability | [AI protocol/privacy/metering](../phase-5/p5-13-readiness/README.md), plan/usage tests | PARTIAL | Checkout/webhook/portal and provider delivery; temporary C11 withholding cannot disable unrelated AI or imply successful review | P7-09 |
| **PRES-S05** Account ZIP/encrypted backup/lifecycle/deliberate delete | [Native package/ZIP relationships](../phase-5/p5-08b-readiness/README.md), [release recovery gate](../phase-5/p5-15/p5-15-05/README.md) | PARTIAL | Current complete backup/restore/keys/tombstones/rollback and deletion/provider policy; downloading backup is not restore proof | P7-09 |
| **PRES-A01** Admin users/create/roles/reset/delete/last-admin/self guard | [Retained admin census](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), Users/authorization tests | PARTIAL | Mounted-role revoke/full persisted mutations/reset delivery; hiding navigation never authorizes API calls | P7-10 |
| **PRES-A02** Audit detail/supported undo/job restore | [Retained audit census](../phase-5/p5-15/ROUTE_ACCEPTANCE.md), audit/authorization tests | PARTIAL | Native successful persisted undo/restore and unsupported-action denial; no generic undo semantics | P7-10 |
| **PRES-A03** System/build/DB/AI/mail/SMTP/probe/benchmark/maintenance | [Metadata disclosure](../phase-5/p5-00/README.md), [admin route census](../phase-5/p5-15/ROUTE_ACCEPTANCE.md) | PARTIAL | Actual guarded diagnostic/SMTP/model/maintenance and sensitive-output qualification; no production jobs launched | P7-10 |
## Route and acceptance invariants
[INVENTORY.md](p7-00/INVENTORY.md#current-route-coverage) reconciles exactly32 current App patterns against [route acceptance](../phase-5/p5-15/ROUTE_ACCEPTANCE.md); all whole-route groups remain PARTIAL. Preserve Board/Application/mail aliases and actual query/hash/state behavior, section/sub precedence, safe internal from, numeric navigation-helper output, capture consumption, focusJobId and provider/token destinations. No Documents/Notifications/aggregate Admin/new Career destination is inferred without contract/content evidence.
P2-D01 remains the ordinary passing [frozen-workspace test](../../../job-tracker-ui/e2e/redesign-preservation.spec.ts#L73), retaining native capture/readback/archive bytes/canonical/sibling proof. No skip, expected-failure marker or relaxed oracle may replace it. Preserve server roles/account/tenant/owned-resource denial; canonical Career versus CV overrides; revision/conflict/recoverable drafts; private/public PDF admission/revocation; unchanged physical pagination; immutable packages; existing grounding/proposal/stale guards and Production C11 withholding.
[DEBT.md](DEBT.md) carries actual M01–M12 reader/device/contextual requirements, M13 deferred AI-return restriction, retained319 mixed-scope axe snapshots and all reliability/provider/output/release dependencies. Scoped company/language feedback repairs do not close unknown server causes or whole manual acceptance.
Complete affected migration acceptance requires applicable evidence or an explicit conditional disposition. Production stays **NO-GO** until its independent operational gates and release decision pass; no main push, destructive operation or unsupported activation follows from this matrix.
+42
View File
@@ -0,0 +1,42 @@
# Phase 7 — Full migration
**Authorised development execution; production remains NO-GO.** The owner resolved the main/deployment conflict by directing Phase 7 to continue on development while keeping main unchanged. Follow the [original Phase 7 scope](../IMPLEMENTATION_PLAN.md#phase-7--full-migration) and the exact [Phase 6 handoff](../phase-6/p6-05/PHASE7_HANDOFF.md); this record does not replace the approved architecture or introduce another phase plan.
The entry commit is `b5319981ad3d1bd635daff861453d23c0de5320b` on `codex/ui-redesign-phase4`. Phase 6 application source is unchanged from `bd47214bdcd74336788dca0f294b8ddb9403cac1`, with measured export `2LDblja_XnSBWSuY6ys_V`. Main remains `27657f31131cd95d42f0e1290853ec9c9b3959a4`. The [Phase 6 acceptance](../phase-6/p6-05/README.md), [aggregate evidence](../phase-6/p6-05/evidence/validation.json) and [push ledger](../phase-6/COMMITS.md) establish implemented review CONDITIONAL GO, production NO-GO and Phase 7 readiness CONDITIONAL GO.
## Checkpoint sequence
| Checkpoint | Approved scope | Entry dependency / current status |
|---|---|---|
| [P7-00](p7-00/README.md) | Fresh scope inventory and fixture baseline | Complete finite identity/route/matrix/static checks; inherited runtime separated. Push receipt recorded by the successor before page changes |
| P7-01 | Authentication and account-security presentation | Existing public auth, account identity, 2FA/session owners; planned |
| P7-02 | Onboarding and Career overview/evidence | Existing checklist/canonical Career owners; planned |
| P7-03 | Career structured editing and import review | P7-02 fixtures; resolve or explicitly bound concurrency before changing save/history ownership; planned |
| P7-04 | CV library and public entry | Existing gallery/editor and P7-03 source language; planned |
| P7-05 | Discovery, Companies, Offers and Reminders | Existing domain owners and Jobs return context; planned |
| P7-06 | Remaining Application forms and global correspondence | Existing seven-section workspace, immutable packages and draft/send owners; planned |
| P7-06F | Deferred `followMode` reviewed composer | Optional separately reviewed mail slice; **DEFERRED** until mode→draft/review action and fallback are explicitly decided |
| P7-07 | Documents owner-scoped index | Authenticated metadata-only paginated backend projection first; source destinations from P7-04/06; planned |
| P7-08 | Existing notifications and operations | Existing store and real destinations; new enabled producers require F20 recovery evidence; planned |
| P7-09 | Remaining Settings, Connections and data lifecycle | Existing independent save scopes and sensitive-action guards; planned |
| P7-10 | Admin operational presentation | Existing distinct Users/Audit/System routes and server authorization; planned |
| P7-11 | Remaining Analytics/error/empty/dialog integration | Inventory-confirmed residual presentation only; existing reports remain; planned |
| P7-12 | Integrated full-migration acceptance | Every executed slice pushed with finite evidence; fresh applicable full regression and all debt dispositions; planned |
The detailed dependencies, preservation risks, test additions and reviewable commit boundaries remain authoritative in the handoff. P7-06F is an optional gated branch, not permission to block all independent migrations.
## Scope and evidence
[INVENTORY.md](p7-00/INVENTORY.md) reconciles already migrated owners, remaining work and all 32 routes. [PRESERVATION.md](PRESERVATION.md) starts with all 57 groups: **0 PASS /56 PARTIAL /0 FAIL /1 DEFERRED**, including withheld PRES-C11. A partial whole-group status does not imply an established defect or removed capability. [DEBT.md](DEBT.md) carries every RD01–RD28 obligation and current scoped Phase 6 dispositions.
P7-00 adopts the actual unchanged-source Phase 6 runtime results: backend1,033, frontend521/85, ordinary browser159, sidecar49, separate HTTP/security/diagnostic lanes and original16/36 plus8/24 rendering corpora. These are inherited execution evidence, not a new Phase 7 runtime run. P7-00 adds fresh identity, route, matrix and static verification only. New affected runtime tests begin with P7-01; P7-12 runs fresh applicable full regression.
Keep the 52 all-enabled and 267 inherited-rule axe inventories separate: combined319 mixed-scope snapshots,11 violation-node occurrences and2,473 incomplete occurrences. These are repeated contexts, not unique defects or conformance certification. Applicable manual M01–M12 remain NOT VERIFIED; M13/P5-13 is deferred do-not-execute.
## Working constraints
Use the current MUI/Emotion theme, PageLayout/section primitives, ViewStateNotice/useViewResource, Router, i18n, notification and save owners. Preserve query/history/aliases, account/tenant/role boundaries, canonical Career facts versus CV overrides, revision recovery, frozen packages and original PDF pagination/oracles. Do not infer new Documents/Notifications/aggregate Admin routes from illustrative navigation. No new hard-coded user-facing strings.
Verify EN/Bokmål, light/dark, appropriate density, 320/360–390/768/1024/1280/1440/wide layouts, relevant breakpoint boundaries, keyboard/focus/errors and legitimate document-canvas scrolling. Human reader/device/provider/output evidence stays explicit when unavailable. A newly demonstrated severe shared defect blocks its dependent propagation; unaffected development can continue.
[COMMITS.md](COMMITS.md) records each bounded checkpoint/repair, checks and normal development push with immediate remote=HEAD verification. No force push, main push or production deployment. P5-13 qualification/activation, optional P5-05 preview, unsupported feature/schema/lifecycle activation and Phase 8 dashboard customization remain separately gated. Destructive or production-targeted work requires its separate authority and evidence-backed release decision.
+90
View File
@@ -0,0 +1,90 @@
# P7-00 — Remaining migration inventory
This inventory uses the [approved exact handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md), [original plan](../../IMPLEMENTATION_PLAN.md#phase-7--full-migration), [57 preservation contracts](../PRESERVATION.md) and [current32-route census](../../phase-5/p5-15/ROUTE_ACCEPTANCE.md). 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](../../../../job-tracker-ui/src/App.tsx), 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](../../../../job-tracker-ui/src/views/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](../../../../job-tracker-ui/src/views/LoginPage.tsx) | P7-01 authentication presentation | Safe return, remember-me, Turnstile, 2FA and login errors retain existing owners. |
| `/register` | [LoginPage.tsx](../../../../job-tracker-ui/src/views/LoginPage.tsx) | P7-01 authentication presentation | Same component initialMode=register; preserve actual registration gates. |
| `/forgot-password` | [ForgotPasswordPage.tsx](../../../../job-tracker-ui/src/views/ForgotPasswordPage.tsx) | P7-01 authentication presentation | No actual mail delivery acceptance from local mocks. |
| `/reset-password` | [ResetPasswordPage.tsx](../../../../job-tracker-ui/src/views/ResetPasswordPage.tsx) | P7-01 authentication presentation | Token/expired/used-token and password-validation behavior. |
| `/verify-email` | [VerifyEmailPage.tsx](../../../../job-tracker-ui/src/views/VerifyEmailPage.tsx) | P7-01 authentication presentation | Preserve verification token and safe auth return. |
| `/confirm-email-change` | [VerifyEmailPage.tsx](../../../../job-tracker-ui/src/views/VerifyEmailPage.tsx) | P7-01 account-security presentation | emailChange owner/validation; no new identity model. |
| `/microsoft-legacy-relink` | [MicrosoftLegacyRelinkPage.tsx](../../../../job-tracker-ui/src/views/MicrosoftLegacyRelinkPage.tsx) | P7-01 authentication presentation | Existing origin/state/relink protocol; real provider evidence separate. |
| `/cv/:slug` | [PublicCvPage.tsx](../../../../job-tracker-ui/src/views/PublicCvPage.tsx) | P7-04 public entry | Public slug differs from numeric private CV ID; revoke/private PDF guards remain. |
| `/dashboard` | [DashboardView.tsx](../../../../job-tracker-ui/src/components/DashboardView.tsx) | Already migrated; retain P5-06 | Residual evidence/loaded states only; five flags retained, Phase8 layout customization separate. |
| `/analytics` | [AnalyticsPage.tsx](../../../../job-tracker-ui/src/views/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](../../../../job-tracker-ui/src/views/JobDiscoveryPage.tsx) | P7-05 Discovery | Real NAV states and saved-search semantics; no fixture presented as live results. |
| `/jobs` | [JobTable.tsx](../../../../job-tracker-ui/src/components/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](../../../../job-tracker-ui/src/views/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](../../../../job-tracker-ui/src/components/RemindersView.tsx) | P7-05 Reminders | Real reason/count/actions; calendar offset/DST contract separately gated. |
| `/operations` | [OperationsPage.tsx](../../../../job-tracker-ui/src/views/OperationsPage.tsx) | P7-08 Operations | Stable operation/result/cancel/retry ownership; no duplicate start. |
| `/kanban` | [App.tsx](../../../../job-tracker-ui/src/App.tsx) | Retain legacy redirect | Replaces view with board while preserving other search, hash and location.state. |
| `/companies` | [CompaniesTable.tsx](../../../../job-tracker-ui/src/components/CompaniesTable.tsx) | P7-05 Companies | edit=id command entry; preserve P6 dialog-local failure/draft/retry and UI-locale dates. |
| `/offers` | [OfferComparisonPage.tsx](../../../../job-tracker-ui/src/views/OfferComparisonPage.tsx) | P7-05 Offers | Recorded compensation/deadline/notes/source only; no unsupported normalization. |
| `/correspondence` | [CorrespondenceInboxPage.tsx](../../../../job-tracker-ui/src/views/CorrespondenceInboxPage.tsx) | P7-06 inbox/review/compose presentation | view=review embeds GmailReviewPage; compose/drafts remain existing in-page owners. |
| `/correspondence/review` | [App.tsx](../../../../job-tracker-ui/src/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](../../../../job-tracker-ui/src/views/ProfilePage.tsx) | P7-01 account-security presentation | Account identity/avatar/password/email/2FA/sessions, distinct from canonical Career Profile. |
| `/applications/:id` | [App.tsx](../../../../job-tracker-ui/src/App.tsx) | Retain legacy redirect | Preserves query/location.state to /jobs/:id; current adapter does not preserve hash. |
| `/career` | [CareerWorkspacePage.tsx](../../../../job-tracker-ui/src/views/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](../../../../job-tracker-ui/src/views/CvBuilderPage.tsx) | P7-04 library | Create/copy/delete/templates/manage/publish/share/export; reuse gallery/current editor. |
| `/career/builder/:id` | [CvBuilderEditor.tsx](../../../../job-tracker-ui/src/views/CvBuilderEditor.tsx) | Already migrated; retain P5-09–12/14 | One revision/save/history/preview owner; C11 withheld; unchanged physical renderer. |
| `/admin/audit` | [AdminAuditPage.tsx](../../../../job-tracker-ui/src/views/AdminAuditPage.tsx) | P7-10 Audit | Supported persisted undo/restore only; role/API authority remains. |
| `/admin/users` | [AdminUsersPage.tsx](../../../../job-tracker-ui/src/views/AdminUsersPage.tsx) | P7-10 Users | Role/reset/delete/last-admin/self/recent-auth guards; no client-only authorization. |
| `/admin/system` | [AdminSystemPage.tsx](../../../../job-tracker-ui/src/views/AdminSystemPage.tsx) | P7-10 System | Diagnostics/SMTP/model/maintenance do not acquire production execution authority. |
| `/trash` | [JobTable.tsx](../../../../job-tracker-ui/src/components/JobTable.tsx) | Already migrated; retain P5-03 | mode=trash, soft-delete/restore/edit; no Board or hard-delete substitution. |
| `/settings` | [SettingsView.tsx](../../../../job-tracker-ui/src/components/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](../../../../job-tracker-ui/src/views/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](../../../../job-tracker-ui/e2e/account-isolation.spec.ts), [session boundary](../../../../job-tracker-ui/src/session-boundary.test.ts), [account-scoped state](../../../../job-tracker-ui/src/account-scoped-state.test.tsx) | Guest/non-admin/foreign/missing resources, switched identity/stale responses; hiding UI never replaces server denial |
| Auth return/token/refresh | [Native auth repair](../../../../job-tracker-ui/e2e/analytics-auth-repair.spec.ts), [login](../../../../job-tracker-ui/src/login-page.test.tsx), [verify](../../../../job-tracker-ui/src/verify-email-page.test.tsx) | Existing safe internal from/query, expiry/logout/refresh, deliberate token error; real mail/provider remains separate |
| Shell/commands and Jobs query | [Shell](../../../../job-tracker-ui/e2e/shell-readiness.spec.ts), [Board](../../../../job-tracker-ui/e2e/board-presentation.spec.ts), [route helper](../../../../job-tracker-ui/src/jobWorkspaceRoute.ts), [Jobs integration](../../../../job-tracker-ui/src/jobs-view-integration.test.tsx) | 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](../../../../job-tracker-ui/e2e/redesign-preservation.spec.ts), [section composition](../../../../job-tracker-ui/e2e/job-sections-presentation.spec.ts) | P2-D01 normal passing capture/readback/archive bytes; canonical/sibling/current/frozen separation |
| Canonical Career vs CV override | [Career workspace](../../../../job-tracker-ui/src/career-workspace-page.test.tsx), [Career evidence](../../../../job-tracker-ui/src/career-evidence.test.tsx), [CV section scope](../../../../job-tracker-ui/e2e/cv-section-scope.spec.ts) | 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](../../../../job-tracker-ui/e2e/cv-readiness.spec.ts), [responsive ownership](../../../../job-tracker-ui/e2e/cv-responsive-workflow.spec.ts), [pagination](../../../../job-tracker-ui/e2e/cv-pagination.spec.ts) | 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](../../phase-5/p5-13-readiness/README.md), [Phase6 backend evidence](../../phase-6/p6-05/evidence/backend-validation.json) | Purpose/source scope, progress/retry, explicit accept/reject, stale/invalid/foreign no-write guards; C11 remains withheld |
| Mail draft/review/confirmed send | [Inbox](../../../../job-tracker-ui/src/correspondence-inbox-page.test.tsx), [Gmail review](../../../../job-tracker-ui/src/gmail-review-page.test.tsx), [draft persistence](../../../../JobTrackerApi.Tests/EmailDraftPersistenceTests.cs) | Draft revision, explicit confirmed delivery, idempotency and uncertain-attempt handling; no auto-resend |
| Company/language/shared API feedback | [Native feedback/geometry](../../../../job-tracker-ui/e2e/responsive-accessibility-audit.spec.ts), [named modal controls](../../../../job-tracker-ui/e2e/named-controls-modal-state.spec.ts), [i18n](../../../../job-tracker-ui/src/i18n-provider.test.tsx) | Durable in-modal alert/draft/retry, latest-choice language races, translated fallback while preserving structured server messages |
| Settings/density/export/data | [Settings layout](../../../../job-tracker-ui/e2e/settings-page-layout.spec.ts), [Rules draft](../../../../job-tracker-ui/e2e/rules-draft-repair.spec.ts), [CSV](../../../../job-tracker-ui/e2e/csv-export.spec.ts), [account export](../../../../job-tracker-ui/src/account-data-export.test.tsx) | Named panels/control errors, independent dirty/save scopes, bytes/counts/import distinctions, no restore/deletion activation |
| Dashboard/Analytics provenance | [Dashboard](../../../../job-tracker-ui/e2e/dashboard-presentation.spec.ts), [Analytics](../../../../job-tracker-ui/e2e/analytics-presentation.spec.ts) | Exact periods/cohorts/denominators/source links, no fabricated statistics or Phase8 order/resize |
| Shared accessibility/responsive state | [Semantic foundations](../../../../job-tracker-ui/e2e/semantic-foundations.spec.ts), [real zoom](../../../../job-tracker-ui/e2e/browser-zoom-audit.spec.ts), [responsive audit](../../../../job-tracker-ui/e2e/responsive-accessibility-audit.spec.ts) | 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](../../../../job-tracker-ui/src/admin-users-page.test.tsx), [Audit](../../../../job-tracker-ui/src/admin-audit-page.test.tsx), [System](../../../../job-tracker-ui/src/admin-system-page.test.tsx), [API posture](../../../../JobTrackerApi.Tests/ApiAuthorizationPostureTests.cs) | 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](../DEBT.md) for current counts and exact gates. P7-12 retains separate migration/production/Phase8 readiness decisions.
+51
View File
@@ -0,0 +1,51 @@
# P7-00 — Fresh scope inventory and fixture baseline
**Bounded scope:** establish the approved remaining-migration inventory, initial preservation/debt records and reproducible baseline without changing application behavior. This checkpoint must be validated, committed, pushed and remotely verified before P7-01 page edits.
## Recorded baseline and authority
| Item | Entry evidence |
|---|---|
| Development | `codex/ui-redesign-phase4`; local HEAD and origin both `b5319981ad3d1bd635daff861453d23c0de5320b` in the read-only entry check |
| Production | Local main/origin main both `27657f31131cd95d42f0e1290853ec9c9b3959a4`; main unchanged by instruction. Local tracking equality is not a new live-remote claim |
| Application/build | Phase 6 source `bd47214bdcd74336788dca0f294b8ddb9403cac1`; measured export `2LDblja_XnSBWSuY6ys_V` |
| Phase 6 acceptance | [Final report](../../phase-6/p6-05/README.md), [manifest](../../phase-6/p6-05/evidence/validation.json), [commit ledger](../../phase-6/COMMITS.md); review/readiness CONDITIONAL GO, production NO-GO |
| Architecture/scope | [Original plan](../../IMPLEMENTATION_PLAN.md#phase-7--full-migration), [Phase 3](../../phase-3/README.md), [approved exact handoff](../../phase-6/p6-05/PHASE7_HANDOFF.md) |
| Entry worktree | No modified/untracked files in the initial read-only status; concurrent subsequent work is preserved |
| Preservation/routes | [All57](../PRESERVATION.md):56 PARTIAL+1 DEFERRED(C11); [all32 route inventory](INVENTORY.md#current-route-coverage): exact existing App patterns, no invented destinations |
The coordinator's [fresh baseline](evidence/baseline.json) records source identity, unchanged-source applicability and finite route/matrix evidence, with static outcomes added only after execution. Its canonical UTF-8 LF SHA256 at initial collection is `1c1ac4df1cd53f360ab7e3a1f6b169d68e03b9d95d47e966975372b2b12217fb`; later evidence changes receive their own current identity. The documentation writer's local tracking check does not substitute for the coordinator's direct remote check.
## Inherited runtime baseline
| Lane | Actual accepted Phase 6 execution | Accounting limit |
|---|---|---|
| Backend full |1,033 passing|Focused AI108 and CV revision5 are subsets, not additive|
| Frontend |521 passing /85 suites;0 failed/pending/todo|Authoritative successor to Phase5's498/83; no new P7-00 cases|
| Ordinary native browser |159 passing;0 unexpected/skipped/flaky; every expected status passed once with retry0|Focused feedback4, modal4, semantics6/label2 and performance1 are subsets|
| Sidecar |49 passing|Independent lane|
| Real HTTP / rate limits / ingress / PDF admission / diagnostics |2 /9 /6 /1 /3 passing|Separate configured native lanes; local ingress is not deployed F04|
| Configuration / supply-chain / offline evaluation / extension |3 /3 /5 /3 passing|Finite configuration/contract evidence|
| Original rendering fidelity |16 cases;36 preview=36PDF pages|Original tolerances and corpus; local output qualification|
| Settings export fidelity |8 cases;24 preview=24PDF pages|Same finite oracle; no production-font/photo claim|
| Types/lint/build/security/docs/whitespace |Accepted Phase6 commands passing|New P7-00 static identity/matrix/route evidence is recorded separately|
Exact commands, environment, source/export identities, raw report hashes and failure history are in the [Phase6 aggregate](../../phase-6/p6-05/evidence/validation.json), [backend manifest](../../phase-6/p6-05/evidence/backend-validation.json), [ordinary portable report](../../phase-6/p6-05/evidence/main-results.json) and [fidelity verifier](../../phase-6/p6-05/evidence/fidelity-results.json). P7-00 inherits these actual results at unchanged application/test scope; **no fresh full runtime run is claimed**. New affected tests begin in P7-01; fresh applicable full regression belongs to P7-12.
P2-D01 remains the ordinary passing [frozen-workspace case](../../../../job-tracker-ui/e2e/redesign-preservation.spec.ts#L73), with the identifying source comment at102. Preserve native capture/readback, archived bytes, canonical/sibling isolation and original assertions; no skips or expected-failure replacement.
## Findings and checkpoint changes
- [Inventory](INVENTORY.md) identifies completed shell, Jobs/Table/Board/Trash, Application workspace, Dashboard/Analytics and CV editor foundations so they are retained.
- Remaining migrations use exact P7-00…P7-12 plus optional P7-06F from the approved handoff. No alternate information architecture or checkpoint numbering is introduced.
- [Preservation](../PRESERVATION.md) retains all original sub-capabilities and evidence limitations; [debt](../DEBT.md) records current Phase6 scoped feedback closures while keeping historical server/provider/manual/production obligations.
- Existing route limitations remain visible: Board preserves query/hash/state; Application alias preserves query/state but not hash; correspondence-review alias replaces with fixed review query and does not forward incoming metadata.
- No application, API, schema, provider, renderer, feature-gate, route or production change is part of P7-00.
## Validation and outcome
Source inspection confirms exactly32 distinct concrete App paths matching the retained32-route census, no missing or additional route. The copied preservation IDs/statuses match the57-group Phase6 aggregate exactly. The [fresh static record](evidence/static-checks.json) passes its four command checks, local-link/57-group/32-route reconciliation and finite secret/whitespace scope. Its initial collection reports7 Markdown files/258 local links/0errors and7 untracked files/0secret findings; the current record remains authoritative after final staging. This is static evidence, not a new runtime run or production acceptance.
Commit hash and direct remote push verification are recorded by the successor in [COMMITS.md](../COMMITS.md); this pre-commit document does not invent its own hash. Entry disposition is **CONDITIONAL GO for bounded development migration**, subject to completed P7-00 commit/push verification and the inherited gates. Production remains **NO-GO**.
Remaining work: execute P7-01 after this checkpoint is pushed; retain P7-06F/P5-13/optional preview and all applicable human/device/provider/output/production dependencies. A severe new shared defect blocks dependent propagation; independent unaffected work continues.
@@ -0,0 +1,428 @@
{
"schemaVersion": 1,
"checkedUtc": "2026-10-11T14:34:44.228719+00:00",
"status": "BASELINE_VERIFIED_FROM_COMMITTED_PHASE6_EVIDENCE",
"evidenceQualification": "Inherited measured Phase6 runtime baseline at b531998. This checkpoint performs read-only source/contract/static assertions; no fresh Phase7 runtime success is claimed.",
"authority": {
"checkpoint": "b5319981ad3d1bd635daff861453d23c0de5320b",
"branch": "codex/ui-redesign-phase4",
"measuredApplication": "bd47214bdcd74336788dca0f294b8ddb9403cac1",
"measuredExportBuildId": "2LDblja_XnSBWSuY6ys_V",
"productionMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
"inheritedManifest": "docs/redesign/phase-6/p6-05/evidence/validation.json",
"inheritedBackendManifest": "docs/redesign/phase-6/p6-05/evidence/backend-validation.json",
"phase6Ledger": "docs/redesign/phase-6/COMMITS.md"
},
"observation": {
"head": "b5319981ad3d1bd635daff861453d23c0de5320b",
"originDevelopment": "b5319981ad3d1bd635daff861453d23c0de5320b",
"localMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
"originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
"sourceChangesSinceBaseline": [],
"remoteQualification": "Local fetched refs only; parent owns fresh remote fetch/push observations and receipts."
},
"inheritedMeasuredResults": {
"backend": 1033,
"frontend": {
"tests": 521,
"suites": 85
},
"ordinaryBrowser": 159,
"sidecar": 49,
"backendSubsets": {
"ai": 108,
"revisions": 5
},
"separateNativeLanes": {
"realHttp": 2,
"rateLimits": 9,
"ingress": 6,
"pdfAdmission": 1,
"configuration": 3,
"diagnostics": 3
},
"separateHelpers": {
"supplyChain": 3,
"offlineEvaluation": 5,
"extension": 3
},
"fidelity": {
"standard": {
"cases": 16,
"previewPages": 36,
"pdfPages": 36
},
"settings": {
"cases": 8,
"previewPages": 24,
"pdfPages": 24
}
},
"P2D01": "Ordinary passing case in the committed Phase6 native manifest; no skip or expected-failure conversion."
},
"sourceFingerprints": {
"policy": "Portable evidence text hashes normalize CRLF to LF; source tree uses immutable Git object IDs. Measured Phase6 file fingerprint algorithms are retained as inherited measurements.",
"phase6ManifestSha256Lf": "39c85e7807e4f86bb2b6ff8959f0ee3c9d5cefe4e34cb20d74bd6bb3ef3967bb",
"backendManifestSha256Lf": "e899206edc1236b808f664b545217fa9c044c1fc378e203ae14e4bb3039dd5d5",
"committedSourceTree": {
"files": 694,
"sha256": "5c9bab44387dcdd30064568ca2964d2ee4dbcf31d4364e7d6194efbd334a3678",
"algorithm": "SHA256 of exact git ls-tree -r baseline output over recorded path roots",
"pathRoots": [
"JobTrackerApi",
"JobTrackerApi.Tests",
"tools/summarizer",
"job-tracker-ui/src",
"job-tracker-ui/app",
"job-tracker-ui/e2e",
"job-tracker-ui/ai-tests",
"job-tracker-ui/package.json",
"job-tracker-ui/package-lock.json",
"job-tracker-ui/playwright.config.ts",
"browser-extension",
"docker-compose.yml",
"docker-compose.dev.yml",
".gitea/workflows/ci-deploy.yml",
"deploy"
]
},
"inheritedFrontend": {
"files": 126,
"sha256": "1f1ed70a98ae83bc52e6d33f05db588c7a1c9fcd94cb6769bece2fed1b3983b4",
"algorithm": "SHA256 of sorted relative-path:SHA256-file newline records for current src files excluding test/spec names; repaired source frozen atbd47214 and production export2LDblja_XnSBWSuY6ys_V."
},
"inheritedBackend": {
"files": 440,
"sha256": "91800d847398484a8de4f379edac4d8f56995e49043643fd1e0a382cc937ccf8"
}
},
"preservation": {
"total": 57,
"statuses": {
"PASS": 0,
"PARTIAL": 56,
"FAIL": 0,
"DEFERRED": 1
},
"matrixIdsAndStatuses": "MATCH_COMMITTED_PHASE6_AND_ALL_ORIGINAL_GROUPS",
"groups": [
{
"id": "PRES-E01",
"status": "PARTIAL"
},
{
"id": "PRES-E02",
"status": "PARTIAL"
},
{
"id": "PRES-E03",
"status": "PARTIAL"
},
{
"id": "PRES-E04",
"status": "PARTIAL"
},
{
"id": "PRES-E05",
"status": "PARTIAL"
},
{
"id": "PRES-E06",
"status": "PARTIAL"
},
{
"id": "PRES-E07",
"status": "PARTIAL"
},
{
"id": "PRES-E08",
"status": "PARTIAL"
},
{
"id": "PRES-E09",
"status": "PARTIAL"
},
{
"id": "PRES-J01",
"status": "PARTIAL"
},
{
"id": "PRES-J02",
"status": "PARTIAL"
},
{
"id": "PRES-J03",
"status": "PARTIAL"
},
{
"id": "PRES-J04",
"status": "PARTIAL"
},
{
"id": "PRES-J05",
"status": "PARTIAL"
},
{
"id": "PRES-J06",
"status": "PARTIAL"
},
{
"id": "PRES-J07",
"status": "PARTIAL"
},
{
"id": "PRES-J08",
"status": "PARTIAL"
},
{
"id": "PRES-J09",
"status": "PARTIAL"
},
{
"id": "PRES-J10",
"status": "PARTIAL"
},
{
"id": "PRES-W01",
"status": "PARTIAL"
},
{
"id": "PRES-W02",
"status": "PARTIAL"
},
{
"id": "PRES-W03",
"status": "PARTIAL"
},
{
"id": "PRES-W04",
"status": "PARTIAL"
},
{
"id": "PRES-W05",
"status": "PARTIAL"
},
{
"id": "PRES-W06",
"status": "PARTIAL"
},
{
"id": "PRES-W07",
"status": "PARTIAL"
},
{
"id": "PRES-W08",
"status": "PARTIAL"
},
{
"id": "PRES-W09",
"status": "PARTIAL"
},
{
"id": "PRES-W10",
"status": "PARTIAL"
},
{
"id": "PRES-W11",
"status": "PARTIAL"
},
{
"id": "PRES-W12",
"status": "PARTIAL"
},
{
"id": "PRES-C01",
"status": "PARTIAL"
},
{
"id": "PRES-C02",
"status": "PARTIAL"
},
{
"id": "PRES-C03",
"status": "PARTIAL"
},
{
"id": "PRES-C04",
"status": "PARTIAL"
},
{
"id": "PRES-C05",
"status": "PARTIAL"
},
{
"id": "PRES-C06",
"status": "PARTIAL"
},
{
"id": "PRES-C07",
"status": "PARTIAL"
},
{
"id": "PRES-C08",
"status": "PARTIAL"
},
{
"id": "PRES-C09",
"status": "PARTIAL"
},
{
"id": "PRES-C10",
"status": "PARTIAL"
},
{
"id": "PRES-C11",
"status": "DEFERRED"
},
{
"id": "PRES-C12",
"status": "PARTIAL"
},
{
"id": "PRES-M01",
"status": "PARTIAL"
},
{
"id": "PRES-M02",
"status": "PARTIAL"
},
{
"id": "PRES-M03",
"status": "PARTIAL"
},
{
"id": "PRES-M04",
"status": "PARTIAL"
},
{
"id": "PRES-M05",
"status": "PARTIAL"
},
{
"id": "PRES-M06",
"status": "PARTIAL"
},
{
"id": "PRES-S01",
"status": "PARTIAL"
},
{
"id": "PRES-S02",
"status": "PARTIAL"
},
{
"id": "PRES-S03",
"status": "PARTIAL"
},
{
"id": "PRES-S04",
"status": "PARTIAL"
},
{
"id": "PRES-S05",
"status": "PARTIAL"
},
{
"id": "PRES-A01",
"status": "PARTIAL"
},
{
"id": "PRES-A02",
"status": "PARTIAL"
},
{
"id": "PRES-A03",
"status": "PARTIAL"
}
],
"matrix": "docs/redesign/phase-6/p6-05/PRESERVATION.md",
"original": "docs/redesign/phase-5/p5-15/PRESERVATION_ACCEPTANCE.md",
"qualification": "PARTIAL retains unaccepted human/device/provider/production sub-workflows; not 56 known defects."
},
"routes": {
"total": 32,
"patterns": [
"/",
"/login",
"/register",
"/forgot-password",
"/reset-password",
"/verify-email",
"/confirm-email-change",
"/microsoft-legacy-relink",
"/cv/:slug",
"/dashboard",
"/analytics",
"/discover",
"/jobs",
"/jobs/:id",
"/reminders",
"/operations",
"/kanban",
"/companies",
"/offers",
"/correspondence",
"/correspondence/review",
"/profile",
"/applications/:id",
"/career",
"/career/builder",
"/career/builder/:id",
"/admin/audit",
"/admin/users",
"/admin/system",
"/trash",
"/settings",
"/settings/connected-accounts"
],
"appSource": "job-tracker-ui/src/App.tsx",
"routeLedger": "docs/redesign/phase-5/p5-15/ROUTE_ACCEPTANCE.md",
"comparison": "EXACT_PATTERN_SET_MATCH",
"qualification": "Retained route patterns are inherited PARTIAL for whole-workflow acceptance; no new /documents or /notifications UI route is claimed."
},
"documentsProjection": {
"status": "ABSENT_AT_BASELINE",
"searchExpression": "api/documents|DocumentMetadata|DocumentsController|DocumentIndex|document-metadata|all-documents",
"existingOwners": [
"/api/cv/variants",
"/api/attachments/{jobId}",
"/api/jobapplications/{jobId}/cover-letter",
"/api/jobapplications/{jobId}/submitted-packages"
],
"constraint": "P7-07 needs a bounded authenticated metadata-only cross-job projection before a complete Documents index; reuse existing persistence and owner editors, do not crawl bodies/binaries in the browser.",
"testRequirements": [
"Authenticated A/B/anonymous and foreign-job isolation",
"Bounded stable pagination/search/type/sort, with actual SQLite and deployed-provider compatibility",
"No private bodies/settings overrides/HTML/storage paths/binary reads/render/AI/save side effects on listing",
"Truthful current/frozen/public/soft-deleted-parent labels and stale-result handling",
"Ordinary P2-D01 unchanged snapshot/archived bytes; variant association/detach/revision/public boundaries retained"
]
},
"production": {
"decision": "NO-GO",
"authoritativeGate": "docs/redesign/phase-5/p5-15/p5-15-05/README.md",
"withheldAiGuard": "UNCHANGED",
"remaining": [
"F04 deployed ingress/topology/identity",
"Current complete off-host backup and isolated restore",
"Actual effective provider/schema/configuration/secrets and F19 fallback risk",
"Tested isolated Linux rollback",
"Protected CI/deployed identity/smoke/monitoring",
"Mandatory human reader/device and production font/portrait qualification"
]
},
"boundaries": {
"runtimeRerun": false,
"applicationWrites": false,
"schemaOrNewContract": false,
"modelCalls": false,
"productionAccess": false,
"mainPush": false,
"commitOrPush": false
},
"limits": [
"Any Phase7 source/test changes require appropriate fresh affected evidence; inherited Phase6 green is not a fresh Phase7 test result.",
"Main and production are unchanged; development-migration authorization does not supply a release GO.",
"Static baseline does not replace human accessibility, physical touch/software keyboard, actual providers or deployed output acceptance."
]
}
@@ -0,0 +1,116 @@
{
"schemaVersion": 1,
"checkedUtc": "2026-10-11T14:44:27.447738+00:00",
"status": "PASS",
"runPath": ".artifacts/phase7/current/static/20261011T144424Z",
"commands": [
{
"name": "secret-scan",
"command": [
"rtk",
"proxy",
"C:\\Users\\Connor\\.cache\\codex-runtimes\\codex-primary-runtime\\dependencies\\python\\python.exe",
"-X",
"utf8",
"scripts/supply-chain.py",
"scan-secrets"
],
"startedUtc": "2026-10-11T14:44:24.597623+00:00",
"finishedUtc": "2026-10-11T14:44:26.744018+00:00",
"exitCode": 0,
"log": ".artifacts/phase7/current/static/20261011T144424Z/secret-scan.log",
"outputSha256": "50ad7ea8b2a74cb86a6bc46d9bf2f0b8549c3bec293e3ea65ef322db9f06b0bc"
},
{
"name": "working-whitespace",
"command": [
"rtk",
"proxy",
"git",
"diff",
"--check"
],
"startedUtc": "2026-10-11T14:44:26.745018+00:00",
"finishedUtc": "2026-10-11T14:44:26.833239+00:00",
"exitCode": 0,
"log": ".artifacts/phase7/current/static/20261011T144424Z/working-whitespace.log",
"outputSha256": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
},
{
"name": "staged-whitespace",
"command": [
"rtk",
"proxy",
"git",
"diff",
"--cached",
"--check"
],
"startedUtc": "2026-10-11T14:44:26.834231+00:00",
"finishedUtc": "2026-10-11T14:44:26.913604+00:00",
"exitCode": 0,
"log": ".artifacts/phase7/current/static/20261011T144424Z/staged-whitespace.log",
"outputSha256": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
},
{
"name": "phase7-whitespace",
"command": [
"rtk",
"proxy",
"git",
"diff",
"--check",
"b5319981ad3d1bd635daff861453d23c0de5320b"
],
"startedUtc": "2026-10-11T14:44:26.913604+00:00",
"finishedUtc": "2026-10-11T14:44:27.008577+00:00",
"exitCode": 0,
"log": ".artifacts/phase7/current/static/20261011T144424Z/phase7-whitespace.log",
"outputSha256": "d2993bc68ad9a63f711c8f5473155e2ba00fdcd461220cc3849185f2f9ad93e6"
}
],
"untrackedSecretScan": {
"files": 0,
"findings": 0
},
"baseline": {
"path": "docs/redesign/phase-7/p7-00/evidence/baseline.json",
"sha256Lf": "1c1ac4df1cd53f360ab7e3a1f6b169d68e03b9d95d47e966975372b2b12217fb",
"preservationGroups": 57,
"statuses": {
"PARTIAL": 56,
"DEFERRED": 1
},
"routes": 32,
"runtimeQualification": "INHERITED_MEASURED_PHASE6; NO_FRESH_PHASE7_RUNTIME"
},
"production": {
"main": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
"originMain": "27657f31131cd95d42f0e1290853ec9c9b3959a4",
"status": "NO-GO",
"backendConfigChanges": [],
"qualification": "Local fetched refs/source only; parent owns remote observations."
},
"documentation": {
"documents": 7,
"paths": [
"docs/redesign/phase-7/COMMITS.md",
"docs/redesign/phase-7/DEBT.md",
"docs/redesign/phase-7/p7-00/INVENTORY.md",
"docs/redesign/phase-7/p7-00/README.md",
"docs/redesign/phase-7/PRESERVATION.md",
"docs/redesign/phase-7/README.md",
"docs/roadmap/todo.md"
],
"relativeLinks": 259,
"errors": [],
"selfOutputBootstrap": false,
"strictPostWriteVerified": true
},
"hashPolicy": "SHA256 of canonical LF bytes for portable text evidence",
"limits": [
"Pattern-based secret scanner excludes binary and >2 MiB files; not historical Git or production secret validation.",
"Local target existence checks do not validate URL or heading anchors.",
"Static checks do not claim runtime, manual accessibility/device/provider or production acceptance."
]
}
+20 -1
View File
@@ -1,6 +1,6 @@
# TODO
Phase 6 status reconciled: 2026-10-11. Earlier checkpoint records below retain their original scope and qualifications.
Phase 7 execution started: 2026-10-11, from synchronized `b531998` on `codex/ui-redesign-phase4`. The owner explicitly chose to keep `main` unchanged; production remains NO-GO. Earlier checkpoint records below retain their original scope and qualifications.
## Current repository work
@@ -77,3 +77,22 @@ Completed phase items are intentionally omitted here; their evidence remains in
- [x] P6-03 bounded responsive/accessibility/localisation review and mobile Career label correction; native2/2 label and6/6 panel/label cases pass. Pushed `bd47214`, live remote=HEAD. Manual reader/device requirements remain open.
- [x] P6-04 performance/reuse baseline; standalone native1/1 and actual-provider fetch regression pass. Pushed `badfb19`, live remote=HEAD. O(N) Board capacity remains qualified.
- [x] P6-05 integrated acceptance/handoff: fresh backend1,033/frontend521/browser159/sidecar49 and separate native/fidelity lanes pass;57 groups and32 routes reconcile. Phase6 CONDITIONAL GO; production NO-GO; Phase7 CONDITIONAL GO. [Final report](../redesign/phase-6/p6-05/README.md) retains mandatory manual/provider/device/production conditions. Pushed `4669fb4`, live remote=HEAD verified2026-10-11 13:40:58 UTC; main unchanged. No Phase7 implementation or production deployment.
# Phase 7 execution — 2026-10-11
Follow the approved [Phase 7 handoff](../redesign/phase-6/p6-05/PHASE7_HANDOFF.md) and [current checkpoint ledger](../redesign/phase-7/README.md). Phase 8 implementation, P5-13 qualification/activation and production deployment remain outside this task.
- [x] P7-00 fresh scope inventory and unchanged-source fixture baseline; finite static checks pass. Commit and remote receipt in the Phase 7 ledger.
- [ ] P7-01 public authentication and separate account/security presentation.
- [ ] P7-02 onboarding guidance and Career overview/evidence.
- [ ] P7-03 Career structured editor and import/history presentation.
- [ ] P7-04 CV library and public entry.
- [ ] P7-05 Discovery, Companies, Offers and Reminders.
- [ ] P7-06 remaining Application forms and global correspondence.
- [ ] P7-06F optional reviewed followMode composer: retain deferral unless its required action/fallback decision is established.
- [ ] P7-07 owner-scoped metadata projection, then Documents interface.
- [ ] P7-08 existing notifications and operations.
- [ ] P7-09 remaining Settings, Connections and data lifecycle presentation.
- [ ] P7-10 Users, Audit and System administration presentation.
- [ ] P7-11 residual Analytics/error/empty/dialog integration.
- [ ] P7-12 integrated migration acceptance and Phase 8 handoff.