Files
jobtrackingapp/docs/automation/handoffs/pre-phase10/CLEANUP_INVENTORY.md
T

6.5 KiB

Phase10 candidate inventory — assessment only

No removal is implemented or approved here. No genuinely unused product component has yet been proven across static, dynamic and historical readers. The concrete negative findings below prevent unsafe deletions; potential consolidation needs a separately approved candidate. All locations are repository-relative.

ID / location Replacement / current consumers Dynamic or compatibility risk; disposition Preservation / required test / removal risk
CLEAN-01 job-tracker-ui/src/views/CvBuilderEditor.tsx Current editor rendered by CvBuilderPage; undo/history hooks are active New implementation, not obsolete. Retain CV authoring; blank/history/save/browser/RD21; HIGH
CLEAN-02 job-tracker-ui/src/components/CvTemplateThumbnail.tsx CvTemplateGallery imports it. It now renders actual server sample HTML in a sandboxed iframe Name does not mean simplified obsolete thumbnail. Lazy/cached sample and error paths active; retain Templates; preview/unit/browser/native PDF; HIGH
CLEAN-03 job-tracker-ui/src/components/CvTemplateGallery.tsx Current template library/selection callers Retain gallery semantics, premium checks and explicit Apply. No duplicate proven CV gallery; template-selection/legacy/browser; HIGH
CLEAN-04 job-tracker-ui/src/views/career/CvImportReview.tsx and CvImportMappingEditor.tsx CareerProfilePage renders Docling review for pending/applied runs Current correction/assignment/duplicate workflow; retain Career Profile/import; real PDF/DOCX/review/provider rollback; CRITICAL
CLEAN-05 legacy branches in CareerProfilePage.tsx and JobTrackerApi/Controllers/ProfileCvController.cs Non-docling runs still use review/accept API and DTOs Old persisted runs are live consumers. Retain until migration/retention and no-reader evidence Profile/import/history; legacy and new-run contract/browser; CRITICAL
CLEAN-06 job-tracker-ui/src/components/DashboardLayoutEditor.tsx DashboardView imports it beside DashboardGrid, including navigation guard Grid adds geometry; editor still owns show/hide/save/reset/conflict controls. Not replaced Dashboard; geometry/preferences/keyboard/RD21; HIGH
CLEAN-07 job-tracker-ui/src/dashboardLayout.ts and hooks/useDashboardLayout.ts DashboardView/Grid/LayoutEditor/unit callers v1-to-v2 migration, future/hidden widget preservation and CAS remain active Dashboard/settings; v1/v2/provider/viewport/save conflict; HIGH
CLEAN-08 job-tracker-ui/src/views/AdminProcessingPage.tsx /admin/processing in App.tsx; new current view No superseded admin-processing view verified. Other admin audit/system views serve different functions Admin/auth/privacy; owner/tenant/rate/redaction/browser; CRITICAL
CLEAN-09 redirects in job-tracker-ui/src/App.tsx /kanban, /correspondence/review, /applications/:id Existing bookmarks/extensions/query/hash paths; retain aliases Routes/jobs/correspondence; route-contract/navigation/ownership; HIGH
CLEAN-10 JobTrackerApi/Models/CvTheme.cs and Services/ThemedCvRenderer.cs design-version branches Existing CV settings lack v2; only explicit Apply opts in v1 is historical-document compatibility, not dead rendering code. Retain CV/letters/frozen packages; unchanged Windows/Linux goldens; CRITICAL
CLEAN-11 JobTrackerApi/Services/CareerProfileMapper.cs, import mapping/interpreter owners Different canonical persistence and reviewed source mapping responsibilities No duplicate master profile/service proven. Trace side effects before any consolidation Canonical profile/variants; MariaDB rollback/replay/stale writes; CRITICAL
CLEAN-12 JobTrackerApi/Services/ApplicationAssetsService.cs and versioned writers CV/letter/job/application submission readers RD21 tokens, no-op/null semantics and frozen packages remain mandatory Applications/docs; all writers/provider/network recovery; CRITICAL
CLEAN-13 JobTrackerApi/Migrations/ and Data/JobTrackerContext.cs Development/provider startup and old database adoption paths Do not delete migrations or automatically retire SQLite/MariaDB compatibility. No major-version change Data/auth/history; migration up/down/provider/backup restore; CRITICAL
CLEAN-14 tools/summarizer/parser_child.py, legacy extraction and Docling environment Existing text/attachment routes plus separate bounded document converter New Docling CV path does not replace all extraction consumers. Retain both until actual census AI/import/attachments; parser security/legacy/Docling; HIGH
CLEAN-15 tools/summarizer/cv_import_ai.py, CV_IMPORT_AI_ENABLED Disabled/disconnected optional interpretation adapter and tests Withheld capability is not obsolete. Keep disabled; no activation through cleanup C11/P5-13/import; disabled transport/schema/grounding/negative model probes; HIGH
CLEAN-16 shared style utilities, typography and licensed fonts MUI/app styles and fixed physical document CSS have different owners No unused stylesheet/font proven. Dynamic class names, exports, iframe/export embedding need explicit proof UI/accessibility/PDF/fonts; lint/type/build/browser/native PDF; HIGH
CLEAN-17 package/lock dependencies including react-grid-layout and legacy parser packages RGL is imported by DashboardGrid; parsers serve retained routes No unreferenced dependency proven. Age/advisory is not unused proof. Qualify updates separately Dashboard/import/rendering/security; lock audit/build/provider/PDF; HIGH
CLEAN-18 old tests, golden fixtures, acceptance records Regression and historical evidence consumers Never remove because newer tests pass. Keep original failed attempts/oracles All57 groups; discovery identity and unchanged oracle hashes; HIGH
CLEAN-19 shell/Dashboard duplicate reminder reads (historical P9-PERF-01) Possible shared-owner optimisation; exact current count not newly measured Assessment candidate only: measure before/after with failure/account-disposal behavior. No removal eligibility Notifications/dashboard; loading/refresh/session disposal; MEDIUM

Every future candidate must name exact symbols and replacement, enumerate current static/dynamic/export/route/old-data consumers, establish an absence of live usage, bind affected preservation IDs, define rollback and run focused plus applicable full regression. An owner-approved scope is required before implementation. The table is bounded evidence, not an exhaustive proof that the repository contains no dead code.