diff --git a/docs/redesign/phase-10/ACCEPTANCE_PROPOSAL.md b/docs/redesign/phase-10/ACCEPTANCE_PROPOSAL.md new file mode 100644 index 00000000..3ecfa698 --- /dev/null +++ b/docs/redesign/phase-10/ACCEPTANCE_PROPOSAL.md @@ -0,0 +1,49 @@ +# Phase 10 final milestone proposal + +11 November 2026. **READY FOR OWNER REVIEW. Final acceptance is pending.** This proposal covers the frozen cleanup baseline and approved CLEAN-20 removal. The later A3 integration has its own final Gate F. + +## Proposed decisions + +| Decision | Proposal | Boundary | +| --- | --- | --- | +| Phase 10 | CONDITIONAL GO | Approved cleanup and scoped development verification complete; inherited qualifications retained | +| Redesign development completion | CONDITIONAL GO for the frozen pre-A3 baseline | Later A3 implementation and its final review remain separate | +| PRODUCT-REVIEW-01 readiness | CONDITIONAL GO after milestone acceptance | Bind the review target explicitly; A3 successor acceptance remains applicable to a review of that successor | +| Production release | NO-GO | Existing security, recovery, infrastructure, native, provider and release gates remain open | + +Accepting this proposal would close the bounded Phase 10 cleanup milestone and permit its development handoff. Additional deletion still requires candidate-specific approval. It grants no provider/model activation, infrastructure execution, main merge or deployment authority. + +## Source and candidate identity + +- Authoritative Prompt 5 SHA-256 `f3d5d183a1cd653aac2207a8435ba95fbb74ef4bb8cc91d605edd959f9f4ec72`. Sections 4 and 12 retain PARTIAL/DEFERRED functionality and permit CONDITIONAL GO. Section 10 requires reconciliation of all 57 groups and the handoff. +- Original `docs/redesign/IMPLEMENTATION_PLAN.md`, Phase 10 section, requires obsolete-route/caller proof, passing tests and the satisfied functionality inventory. +- Accepted handoff `5cb903b989742b7a96cb22ddf4c0e24993b18980`; frozen application source `ba04d817fed26d659bfa2a56b089d6cac851dc34`; reviewed cleanup/documentation checkpoint `4e98b2d9e0eaa21de57463de6c4d1b52ee776ca2`. +- Sole product change is removal of the 38-line `job-tracker-ui/src/App.css`, blob `74b5e053450a48a6bdb4d71aad648e7af821975c`. Owner approved “CLEAN-20 only”. Implementation and publication are recorded in P10-01 at `78f7396adb2f1d3452c10e60bc0dbbd3a4a602e4`. + +## Requirement dispositions + +| Requirement | Evidence | Disposition | +| --- | --- | --- | +| Complete legacy inventory | P10-00 covers all 15 source categories and current route/import/configuration/delivery/compatibility consumers | SATISFIED for the cleanup inventory | +| Proven obsolete removal | Exact approved blob and independent unused entry/build/delivery proof | SATISFIED for CLEAN-20 | +| CV/document consolidation | P10-02 retains original/frozen renderers, import paths, revision-safe writers and null-as-inherit settings | SATISFIED retain disposition; no extra removal proven | +| Backend/dependencies/configuration | P10-03 retains active services, providers, migrations, locks, tooling and fonts | SATISFIED retain disposition; SQLite retirement remains separately gated | +| Candidate types/lint/build/browser | P10-01 fresh typecheck, lint, frontend/API build and five exact EN/NB/theme/responsive browser cases passed | PASSED within stated scope | +| Complete local regression | Native 1,448 backend and 1,031 frontend passes at `39aac4f4`, independently decoded and reconciled in P10-05 | PASSED; selected earlier runs overlap | +| Browser contracts/accessibility | Five candidate cases plus source-bound accepted browser/keyboard/axe evidence | REUSE applicable to the unserved stylesheet delta; no new complete-browser execution claimed | +| MariaDB/sidecar/PDF | Independent source/environment/fixture applicability review in P10-05 | REUSE original qualifications and approvals; no fresh model, provider or physical-print execution | +| Security | Removed stylesheet is unserved demonstration styling; executable sources, dependencies, ownership, endpoints, data flows and deployment inputs are preserved | Candidate-scoped review SATISFIED. Retain inherited conditional security/advisory limits; integrated SECURITY-AUDIT-01 remains open | +| 57 groups / 34 routes | Independent membership/source checks plus PRESERVATION_DISPOSITION.json | PRESERVED under CLEAN-20, retaining 56 PARTIAL and PRES-C11 DEFERRED | +| Final decision/handoff | This proposal and PRODUCT_REVIEW_HANDOFF.md | READY FOR REVIEW; milestone acceptance pending | + +All 263 indexed historical artifact hashes and 1,279 remaining source hashes were independently matched, with App.css the sole expected missing file. The current canonical preservation register is byte-identical to the accepted handoff, SHA-256 `a4c2a5a0244ea89381008218de32daee1f615a250eb3808b60e0ee103c674d4d`. The companion disposition preserves each group's source criterion, owner, status and remaining checks. Shared UI groups E01–E09 and the other groups receive no capability acceptance promotion. + +The removed file was unbundled. No measured runtime or delivered-build-size gain is claimed. No additional safe deletion was established. Rollback restores that exact blob from the removal's parent, then repeats the affected type/lint/build/browser checks before publication. + +## Retained qualifications + +Carry forward physical phone/tablet, assistive technology, manual contrast, proficient EN/Bokmål and printing checks; generative-model factual accuracy; hosted CI isolation; scoped Python advisory/native-image qualification; actual migration/write recovery, encrypted off-host retrieval and database/files/keys/tombstone restore; deployed TLS/provider identity and final release acceptance. `FINAL_DEVELOPMENT_ENTRY.md` and the Phase 9 conditional decision bind the historical evidence and existing scoped approvals. + +These qualifications remain visible in the handoff. They do not justify rerunning unchanged suites solely to restart the chat, and they do not establish release acceptance. Any relevant successor change refreshes its affected verification and integrated qualification. + +Next action is owner review of the four proposed milestone decisions. Independent authorised roadmap work can continue while that review is pending. diff --git a/docs/redesign/phase-10/HANDOFF.md b/docs/redesign/phase-10/HANDOFF.md index d506112b..7a710e02 100644 --- a/docs/redesign/phase-10/HANDOFF.md +++ b/docs/redesign/phase-10/HANDOFF.md @@ -1,5 +1,9 @@ # Direct-roadmap continuity +## 11 November final milestone review ready + +Start with [ACCEPTANCE_PROPOSAL.md](ACCEPTANCE_PROPOSAL.md), [the 57-group disposition](PRESERVATION_DISPOSITION.json) and [the Product Review handoff](PRODUCT_REVIEW_HANDOFF.md). Candidate cleanup verification and independent applicability review are complete. Final Phase 10 CONDITIONAL GO is proposed for owner review, with inherited human/environment/security/release gates retained. Later A3 development has its separate final Gate F. Earlier sections below remain historical continuity records. + ## Latest checkpoint — CLEAN-20 explicitly approved and verified **Published and independently verified:** `78f7396adb2f1d3452c10e60bc0dbbd3a4a602e4` on `origin/feature/phase10-cleanup`; normal push exit 0 and subsequent ls-remote exact match. Graphify AST update completed locally (18,532 nodes / 46,020 edges); generated graph remains untracked. P10-02 and P10-03 now record bounded compatibility/backend retain dispositions, with no further removal candidate proven. P10-04/05 and independent audit are still incomplete. diff --git a/docs/redesign/phase-10/P10-05.md b/docs/redesign/phase-10/P10-05.md index 9f205cc5..ab0e1ace 100644 --- a/docs/redesign/phase-10/P10-05.md +++ b/docs/redesign/phase-10/P10-05.md @@ -1,5 +1,11 @@ # P10-05 — Acceptance reconciliation (OPEN) +## 11 November final milestone review prepared + +The independent completion-criteria audit found the CLEAN-20 candidate requirements satisfied with source-bound reuse. Prompt 5 preserves PARTIAL/DEFERRED capabilities and permits CONDITIONAL GO; it does not require all inherited groups to become PASS. The proposed final decisions, explicit browser/security/provider/PDF dispositions and retained gates are in [ACCEPTANCE_PROPOSAL.md](ACCEPTANCE_PROPOSAL.md). [PRESERVATION_DISPOSITION.json](PRESERVATION_DISPOSITION.json) reconciles every group's original owner, criterion, status and remaining work. [PRODUCT_REVIEW_HANDOFF.md](PRODUCT_REVIEW_HANDOFF.md) is prepared. + +Final milestone acceptance is pending owner review of that concrete proposal. The broad OPEN descriptions below retain their historical dates; their unresolved inherited qualifications remain carried forward rather than requiring an unchanged complete-suite rerun solely for CLEAN-20. Independent authorised development continues on separate branches. + ## 9 November 2026 full local regression **PASSED 1,448 of 1,448 tests**, zero failed or skipped, native exit 0. Built and ran the full `JobTrackerApi.Tests` Release project from `39aac4f404cc19bead83b719fbf372de87f965ff` with the pinned local .NET SDK 9.0.317 and `--no-restore`. Comparison with accepted handoff `5cb903b989742b7a96cb22ddf4c0e24993b18980` found only the approved `App.css` deletion in the compared backend, frontend, test, sidecar and dependency inputs. [Native TRX](p10-04-evidence/full-backend-2026-11-09.trx.gz), SHA-256 of uncompressed bytes `8666e3ed7b98bf3ac37b1b2c4305189bc43f340476471d9efcf579ea59ed34e8`. diff --git a/docs/redesign/phase-10/PRESERVATION_DISPOSITION.json b/docs/redesign/phase-10/PRESERVATION_DISPOSITION.json new file mode 100644 index 00000000..0f0e41f3 --- /dev/null +++ b/docs/redesign/phase-10/PRESERVATION_DISPOSITION.json @@ -0,0 +1,823 @@ +{ + "schemaVersion": 1, + "assessmentCommit": "4e98b2d9e0eaa21de57463de6c4d1b52ee776ca2", + "acceptedHandoff": "5cb903b989742b7a96cb22ddf4c0e24993b18980", + "preservationRegister": { + "path": "docs/pre-phase10-ux/preservation.json", + "committedBytesSha256": "a4c2a5a0244ea89381008218de32daee1f615a250eb3808b60e0ee103c674d4d" + }, + "candidate": { + "id": "CLEAN-20", + "path": "job-tracker-ui/src/App.css", + "removedBlob": "74b5e053450a48a6bdb4d71aad648e7af821975c" + }, + "disposition": "PROPOSED FOR FINAL MILESTONE REVIEW; preservation under CLEAN-20, without capability acceptance promotion", + "counts": { + "groups": 57, + "partial": 56, + "deferred": 1, + "inheritedRoutes": 33, + "addedRoutes": 1, + "routes": 34 + }, + "groups": [ + { + "id": "PRES-E01", + "owner": "LandingPage, planCatalog; AccountPlans", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 0, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Public-page complete mobile/keyboard review and actual billing availability; no invented prices", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-E02", + "owner": "LoginPage, TurnstileWidget, VerifyEmailPage; AuthController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 1, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Real mail/reset submit/Turnstile and token expiry/used-token cases; query loss is repaired for its tested scope", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-E03", + "owner": "GoogleAuthCard, MicrosoftAuthCard, MicrosoftLegacyRelinkPage; token validators", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 2, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Actual consent/popups/revoked grants/relink; mailbox grants remain separate from sign-in", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-E04", + "owner": "TwoFactorSettingsCard, TwoFactorChallenge; TwoFactorController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 3, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Real authenticator/recovery and reader/trusted-device traversal; sensitive confirmations retained", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-E05", + "owner": "SessionsSettingsCard, AppShell, auth; SessionsController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 4, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Native session-card refresh after remote revocation and complete device/AT acceptance", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-E06", + "owner": "ProfilePage; AuthController, AvatarStorage", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 5, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Complete avatar/remove/password/email-change native flow; account identity remains distinct from career facts", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-E07", + "owner": "AppShell, QuickCommandDialog; job/company search APIs", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 6, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Spoken names/live state, settled drawer AX-name triage and historical command/dialog timing; no route silently hidden", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-E08", + "owner": "themePrefs, I18nProvider, confirm, prompt; auth preference", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 7, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Full OS/locale/state cross-product, contrast/incomplete axe, reader/reflow; save feedback is distinct from server500 root-cause repair", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-E09", + "owner": "App, api, sessionBoundary; SessionContextMiddleware", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 8, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Broader BFCache/offline/old-bundle/deployed cases; presentation never becomes authorization", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-J01", + "owner": "JobDiscoveryPage; JobDiscoveryController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 9, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Live NAV availability/freshness and long-result keyboard/narrow traversal", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-J02", + "owner": "JobDiscoveryPage; saved-search/alert services", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 10, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Actual scheduler-to-owned-notification delivery, human/mobile delete acceptance and intended-provider qualification; deterministic runner is not live NAV", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-J03", + "owner": "AddJobModal; JobImportService, JobApplicationsController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 11, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Duplicate/company/date/interrupted creation and distinct creation-intent idempotency debt; preview/open is no-write", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-J04", + "owner": "App, captureUrl, QuickCaptureCard; job/CV APIs", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 12, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Installed extension/share/no-replay and attachment failure recovery; keep payload and safe-return contracts", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-J05", + "owner": "JobTable, SavedViewsMenu; JobApplicationsController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 13, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Full saved-view CRUD/dirty page-size/history combinations and supported capacity; server query semantics unchanged", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-J06", + "owner": "JobTable, EditJobDialog; job lifecycle/controller", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 14, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Complete selected-scope/partial-failure/dirty/manual combinations; no hard-delete substitution", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-J07", + "owner": "KanbanBoard, pipeline; status endpoint", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 15, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Physical drag/touch/browser variants and O(N) full-array capacity; no capped hidden results or pipeline redefinition", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-J08", + "owner": "CompaniesTable; company relationship APIs", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 16, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Scoped in-modal failure proof follows P6 manifest; complete contact/date/source-link and human acceptance remain", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-J09", + "owner": "OfferComparisonPage; job API", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 17, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Many-offer mobile/currency/date acceptance; no invented salary normalization", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-J10", + "owner": "ImportExportJobs; CSV/job controller", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 18, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Complete native roundtrip and target spreadsheet compatibility; job import is not account restore", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W01", + "owner": "ApplicationWorkspacePage, jobWorkspaceRoute; workspace API", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 19, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "`followMode` metadata retained; compose consumer deferred. P5-05 optional preview lacks production host; full page remains", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W02", + "owner": "WorkspaceHeader, JobDetailsSection, ApplicationProgress/Timeline; workflow APIs", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 20, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Stored-event localisation/timezones/status-reload combinations ; job stale-replacement contract repaired within qualified MariaDB 12.2.2 scope", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W03", + "owner": "ApplicationAnalysis/Match/StrategySnapshot/StatusSuggestion; intelligence/AI services", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 21, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Real-model truthfulness/freshness/cancel quality; route entry never auto-generates; unrelated AI survives C11 withholding", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W04", + "owner": "ApplicationChecklist; checklist service/controller", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 22, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Mobile interruption/edit/delete/reader; item identity and keyboard alternatives retained; no invented due-date schema", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W05", + "owner": "ApplicationCvSection/TailoringSection; ApplicationAssetsService", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 23, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "**P2-D01 remains ordinary passing**; broader attach-render/model/deployed combinations remain; owner/job association unchanged", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W06", + "owner": "ApplicationCoverLetterSection, CoverLetterAiAssistant; assets/history", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 24, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Complete native history/reject/reader/model combinations; no canonical mutation or auto-send", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W07", + "owner": "ApplicationPackageDraftsSection, SubmittedPackagesSection; package service/storage", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 25, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Actual production restore/rollback/all-storage combinations; current edits/delete cannot mutate frozen bytes; capture is not delivery", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W08", + "owner": "Attachments; AttachmentsController, AttachmentStorage", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 26, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Physical drop, full rename/download/reader and deployed storage; AI inclusion remains explicit", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W09", + "owner": "InterviewPrep; interview persistence/AI endpoints", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 27, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Real-model and physical software-keyboard/reload/reader; preparation is not a scheduled interview", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W10", + "owner": "InterviewPrep; follow-up draft services", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 28, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Timezones/provider delivery; `followMode` reviewed compose UI remains deferred, no automatic send", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W11", + "owner": "RemindersView, RulesSettingsCard, ApplicationCalendarActions; calendar/rules APIs", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 29, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "F21 DST/date-only/offsets, real provider events/scheduler delivery and historical unconfirmed Rules500 cause", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-W12", + "owner": "OperationsPage, CareerProfilePage; operation store/worker", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 30, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Disconnect/reconnect and F20 enabled-worker fault recovery; stable operation IDs/no duplicate starts", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C01", + "owner": "CareerProfilePage, career views; CareerProfileService/controller", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 31, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Full long-tail mobile/human acceptance; canonical concurrency has bounded SQLite/MariaDB repair proof; singleton source distinct from identified variants", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C02", + "owner": "CareerWorkspacePage, CareerProfilePage; version service", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 32, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Complete native historical restore/clipboard/avatar/reader; live inherited CVs may reflect later source changes", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C03", + "owner": "CareerProfilePage; profile-CV/processing/diff services", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 33, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Scanned/OCR corpus and complete low-confidence/discard/native-reader flow; extracted proposal is not canonical truth", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C04", + "owner": "CareerEvidenceBank; CareerEvidenceController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 34, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Many-item/delete/keyboard/human acceptance; SQLite compatibility repaired with owner SQL preserved, full frontend/production acceptance remains qualified", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C05", + "owner": "CvBuilderPage, thumbnails; CvVariantService/PublicCvController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 35, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Library migration not complete; publish/unpublish/old-slug revocation and every template combination required", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C06", + "owner": "CvBuilderEditor, CvPreviewPane; preview API", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 36, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Physical keyboard/touch/AT and broader short-height/wrapped/deployed cases; one editor/save/preview owner", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C07", + "owner": "CvBuilderEditor, CV controls/useDragReorder; resolver/settings", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 37, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Physical selection/drop/all-browser and exhaustive reset/inheritance combinations; sibling/canonical/frozen separation retained", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C08", + "owner": "CvCustomizeTab, registry; ThemedCvRenderer", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 38, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Production fonts/portraits/wrapped lines/custom color/reader; schematic gallery is not final-photo qualification", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C09", + "owner": "cvBuilder, CvCustomizeTab; settings normalization/render model", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 39, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Advanced cross-product/manual print/deployed fonts; UI locale distinct from document locale; no print geometry styling change", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C10", + "owner": "CvBuilderEditor; CvVariantService version history", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 40, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Long offline/history and IF-CV-UNSAVED-01 trace; settings history is not immutable historical profile/PDF; profile/job saves remain separate", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C11", + "owner": "AiSectionAssistant, DocumentAiTab; CV AI assist", + "inheritedStatus": "DEFERRED", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 41, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "**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", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-C12", + "owner": "PublicCvPage, cvBuilder; HtmlPdfGenerator/shared admission", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 42, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Deployed Linux/font/photo/browser/manual-print qualification and complete revoke/busy-recovery cases; white print pages retained", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-M01", + "owner": "Correspondence; CorrespondenceController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 43, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Full edit/delete/paste/reader native combinations; logging is not sending", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-M02", + "owner": "Correspondence; GmailController/provider", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 44, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Actual provider threads/multi-account revoke/reconnect/sync failures; cross-job changes owner-bound", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-M03", + "owner": "CorrespondenceInboxPage; EmailController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 45, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Large mailbox/native attachments/complete reader acceptance; global inbox remains Phase7 migration", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-M04", + "owner": "CorrespondenceInboxPage; EmailDrafts/Send/attempt store", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 46, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Sandbox delivery/reconnect/dirty interruption; no automatic uncertain resend; reviewed `followMode` UI deferred", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-M05", + "owner": "GmailReviewPage, CorrespondenceInboxPage; Gmail review", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 47, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Real provider and complete proposed-job create flow; route opening is no-write", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-M06", + "owner": "EmailProviderConnections; Google/Graph/IMAP controllers", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 48, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Real grants/revoke/token expiry/reconnect/IMAP safety; keep sign-in identity separate", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-S01", + "owner": "DashboardView; analytics/controllers", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 49, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Exact cohort/timezone/sample/unsupported metrics and whole reader acceptance; no fabricated statistics or Analytics rebuild", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-S02", + "owner": "DashboardView, OnboardingChecklist, NotificationsPopover; notification APIs", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 50, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Historical500 causes unproved; full human/notification acceptance; order/resize/reset/cross-device design remains Phase8", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-S03", + "owner": "SettingsView, RulesSettingsCard, theme/i18n; rules/notification/auth", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 51, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Language failure visibility is separate from RD11 server cause; RD12 notification locking/RD13 Rules500 and human/provider acceptance retained", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-S04", + "owner": "AiPrivacySettingsCard, AiUsageCard, AccountPlanProvider; billing/entitlement", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 52, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Checkout/webhook/portal and provider delivery; temporary C11 withholding cannot disable unrelated AI or imply successful review", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-S05", + "owner": "BackupCard; export/backup/deletion services", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 53, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Current complete backup/restore/keys/tombstones/rollback and deletion/provider policy; downloading backup is not restore proof", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-A01", + "owner": "AdminUsersPage; UsersController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 54, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Mounted-role revoke/full persisted mutations/reset delivery; hiding navigation never authorizes API calls", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-A02", + "owner": "AdminAuditPage; AdminAuditController", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 55, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Native successful persisted undo/restore and unsupported-action denial; no generic undo semantics", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + }, + { + "id": "PRES-A03", + "owner": "AdminSystemPage; AdminSystemController/maintenance/benchmark", + "inheritedStatus": "PARTIAL", + "sourceCriterion": { + "path": "docs/redesign/phase-9/preservation.json", + "index": 56, + "originalCriteria": "docs/redesign/phase-2/PRESERVATION_MATRIX.md", + "laterResidual": "docs/redesign/phase-7/PRESERVATION.md" + }, + "remaining": "Actual guarded diagnostic/SMTP/model/maintenance and sensitive-output qualification; no production jobs launched", + "candidateEffect": "PRESERVED; unserved stylesheet removal changes no runtime capability", + "evidence": "P10-00.md; P10-01.md; P10-05.md; ACCEPTANCE_PROPOSAL.md" + } + ] +} diff --git a/docs/redesign/phase-10/PRODUCT_REVIEW_HANDOFF.md b/docs/redesign/phase-10/PRODUCT_REVIEW_HANDOFF.md new file mode 100644 index 00000000..fc0b710a --- /dev/null +++ b/docs/redesign/phase-10/PRODUCT_REVIEW_HANDOFF.md @@ -0,0 +1,26 @@ +# Phase 10 handoff for PRODUCT-REVIEW-01 + +11 November 2026. **Prepared; entry decision pending.** Read ACCEPTANCE_PROPOSAL.md and record the Phase 10 milestone decision before treating this as an accepted predecessor. + +## Baselines + +The frozen cleanup branch is `feature/phase10-cleanup` in the p10-assessment worktree. Accepted predecessor `5cb903b989742b7a96cb22ddf4c0e24993b18980` contains frozen source `ba04d817fed26d659bfa2a56b089d6cac851dc34`. CLEAN-20 removed only unused App.css. Current P10 source, evidence and group reconciliation are recorded in P10-00–05 and PRESERVATION_DISPOSITION.json. + +The separately developed A3 successor is `codex/a3-ui-10` in direct-roadmap-integration. Use `docs/direct-roadmap/LATEST_CHECKPOINT.md` for its exact published ref. Its scoped implementation receipts and final Gate F are separate. Select the latest accepted application integration as the review baseline, and record its source identity before findings. The frozen cleanup approval alone does not accept a later A3 successor. + +## Accepted evidence to carry with its original scope + +- CLEAN-20 candidate proof, rollback and five fresh browser cases are in P10-01. +- Canonical Career Profile, historical/imported CVs, letters, frozen packages, renderer compatibility, revision ownership and RD21 are retained in P10-02. +- Backend/configuration/dependency retention and separate SQLite retirement gates are in P10-03. +- Local full regression comprises 1,448 backend and 1,031 frontend cases. Native receipts, raw hashes, independent integrity checks and historical environment/fixture binding are in P10-05. Earlier selected totals overlap. +- The 57 preservation groups retain 56 PARTIAL and one DEFERRED, with all source criteria and 34 routes preserved. Product review must inspect their remaining user-value and qualification gaps without deleting partial functionality. +- Human/device, providers/models, advisory/security, hosted, recovery and production evidence keeps the limits in ACCEPTANCE_PROPOSAL.md. Production remains NO-GO. + +## Product review entry and delivery + +Read complete `Prompt 6 — PRODUCT-REVIEW-01.txt` and its required sources. Its observed SHA-256 is `544d11a2d1e9a913397766c7e475f63338f0b735d2bb26dcabdedb6fe9e25a58`. Create or reconcile `planning/product-review-01` from the selected accepted development baseline. Preserve existing planning work. + +Perform and record the independent actual-application/journey audit before evaluating predefined initiatives. Then produce the ranked Markdown/JSON/schema backlog, priorities, dependencies and delivery specifications required by Prompt 6. Reconcile them with the continuing direct-roadmap TODO and existing authoritative documents. Keep foundation/security/reliability work distinct from speculative commercial scoring. Product review's own deliverables are research/planning; implementation authority belongs to the applicable approved workstream. + +The deferred CV-import engine overhaul and personal portfolio remain outside the task. Additional deletion, Global Jobs entry/provider rights, additional-locale publication, homepage design, protected security/operational decisions and final release retain their gates. No main merge or production deployment is authorised.