13 KiB
CODE CLEANUP PLAN - BEYOND DIAGNOSTIC PROTOTYPE
Date Created: 2025-12-02 Status: In Progress Total Issues Identified: 22+ items Estimated Cleanup Time: 2-3 hours Risk Level: LOW (removing dead code only, no functionality changes)
EXECUTIVE SUMMARY
The Beyond Diagnostic codebase has accumulated significant technical debt through multiple iterations:
- 6 backup files (dead code)
- 8 completely unused components
- 4 duplicate data request variants
- 2 unused imports
- Debug logging statements scattered throughout
This cleanup removes all dead code while maintaining 100% functionality.
DETAILED CLEANUP PLAN
PHASE 1: DELETE BACKUP FILES (6 files) 🗑️
Priority: CRITICAL Risk: NONE (these are backups, not used anywhere) Impact: -285 KB disk space, cleaner filesystem
Files to Delete:
1. components/BenchmarkReportPro.tsx.backup
└─ Size: ~113 KB
└─ Status: NOT imported anywhere
└─ Keep: BenchmarkReportPro.tsx (active)
2. components/EconomicModelPro.tsx.backup
└─ Size: ~50 KB
└─ Status: NOT imported anywhere
└─ Keep: EconomicModelPro.tsx (active)
3. components/OpportunityMatrixPro.tsx.backup
└─ Size: ~40 KB
└─ Status: NOT imported anywhere
└─ Keep: OpportunityMatrixPro.tsx (active)
4. components/RoadmapPro.tsx.backup
└─ Size: ~35 KB
└─ Status: NOT imported anywhere
└─ Keep: RoadmapPro.tsx (active)
5. components/VariabilityHeatmap.tsx.backup
└─ Size: ~25 KB
└─ Status: NOT imported anywhere
└─ Keep: VariabilityHeatmap.tsx (active)
6. utils/realDataAnalysis.backup.ts
└─ Size: ~535 lines
└─ Status: NOT imported anywhere
└─ Keep: utils/realDataAnalysis.ts (active)
Command to Execute:
rm components/BenchmarkReportPro.tsx.backup
rm components/EconomicModelPro.tsx.backup
rm components/OpportunityMatrixPro.tsx.backup
rm components/RoadmapPro.tsx.backup
rm components/VariabilityHeatmap.tsx.backup
rm utils/realDataAnalysis.backup.ts
PHASE 2: DELETE COMPLETELY UNUSED COMPONENTS (8 files) 🗑️
Priority: HIGH Risk: NONE (verified not imported in any active component) Impact: -500 KB, improved maintainability
Components to Delete:
Dashboard Variants (superseded)
1. components/Dashboard.tsx
└─ Reason: Completely unused, superseded by DashboardEnhanced
└─ Imports: None (verified)
└─ Keep: DashboardEnhanced.tsx, DashboardReorganized.tsx
2. components/DashboardSimple.tsx
└─ Reason: Debug-only component, contains console.log statements
└─ Imports: Only in SinglePageDataRequestV2 (also unused)
└─ Keep: DashboardReorganized.tsx (production version)
Heatmap Variants (superseded)
3. components/Heatmap.tsx
└─ Reason: Basic version, completely superseded by HeatmapEnhanced/HeatmapPro
└─ Imports: None (verified)
└─ Keep: HeatmapPro.tsx (active in DashboardReorganized)
Economic/Health/Opportunity/Roadmap Basic Versions
4. components/EconomicModel.tsx
└─ Reason: Basic version, superseded by EconomicModelPro
└─ Imports: None (verified)
└─ Keep: EconomicModelPro.tsx (active)
5. components/HealthScoreGauge.tsx
└─ Reason: Basic version, superseded by HealthScoreGaugeEnhanced
└─ Imports: None (verified)
└─ Keep: HealthScoreGaugeEnhanced.tsx (active)
6. components/OpportunityMatrix.tsx
└─ Reason: Basic version, superseded by OpportunityMatrixPro
└─ Imports: None (verified)
└─ Keep: OpportunityMatrixPro.tsx (active)
7. components/DashboardNav.tsx
└─ Reason: Accordion navigation, completely superseded
└─ Imports: None (verified)
└─ Keep: DashboardNavigation.tsx (active)
UI Component (incomplete/unused)
8. components/StrategicVisualsView.tsx
└─ Reason: Incomplete component, not integrated
└─ Imports: None (verified)
└─ Analysis: Stub file, never completed
Command to Execute:
rm components/Dashboard.tsx
rm components/DashboardSimple.tsx
rm components/Heatmap.tsx
rm components/EconomicModel.tsx
rm components/HealthScoreGauge.tsx
rm components/OpportunityMatrix.tsx
rm components/DashboardNav.tsx
rm components/StrategicVisualsView.tsx
PHASE 3: DELETE UNUSED DATA REQUEST VARIANTS (4 files) 🗑️
Priority: HIGH Risk: NONE (verified only SinglePageDataRequestIntegrated is used in App.tsx) Impact: -200 KB, cleaner data flow
Files to Delete:
1. components/DataRequestTool.tsx
└─ Reason: Superseded by SinglePageDataRequestIntegrated
└─ Imports: None in active code (verified)
└─ Keep: SinglePageDataRequestIntegrated.tsx (active in App.tsx)
2. components/DataRequestToolEnhanced.tsx
└─ Reason: Duplicate variant of DataRequestTool
└─ Imports: None in active code (verified)
└─ Keep: SinglePageDataRequestIntegrated.tsx (active)
3. components/SinglePageDataRequest.tsx
└─ Reason: Older version, superseded by SinglePageDataRequestIntegrated
└─ Imports: None in active code (verified)
└─ Keep: SinglePageDataRequestIntegrated.tsx (active)
4. components/SinglePageDataRequestV2.tsx
└─ Reason: V2 variant with debug code
└─ Imports: None in active code (verified)
└─ Keep: SinglePageDataRequestIntegrated.tsx (active)
Command to Execute:
rm components/DataRequestTool.tsx
rm components/DataRequestToolEnhanced.tsx
rm components/SinglePageDataRequest.tsx
rm components/SinglePageDataRequestV2.tsx
PHASE 4: REMOVE UNUSED IMPORTS (2 files) ✏️
Priority: MEDIUM Risk: NONE (only removing unused imports, no logic changes) Impact: Cleaner imports, reduced confusion
File 1: components/EconomicModel.tsx
Current (Line 3):
import { TrendingDown, TrendingUp, PiggyBank, Briefcase, Zap, Calendar } from 'lucide-react';
Issue: TrendingDown is imported but NEVER used in the component
- Line 38: Only
TrendingUpis rendered TrendingDownnever appears in JSX
Fixed (Line 3):
import { TrendingUp, PiggyBank, Briefcase, Zap, Calendar } from 'lucide-react';
File 2: components/OpportunityMatrix.tsx
Current (Line 3):
import { HelpCircle, TrendingUp, Zap, DollarSign } from 'lucide-react';
Issue: TrendingUp is imported but NEVER used in the component
- Only
HelpCircle,Zap,DollarSignappear in JSX TrendingUpnot found in render logic
Fixed (Line 3):
import { HelpCircle, Zap, DollarSign } from 'lucide-react';
PHASE 5: CLEAN UP DEBUG LOGGING (3 files) ✏️
Priority: MEDIUM Risk: NONE (removing debug statements only) Impact: Cleaner console output, production-ready code
File 1: components/DashboardReorganized.tsx
Issues Found:
- Lines 66-74: Multiple console.log statements for debugging
- Lines with:
console.log('🎨 DashboardReorganized...', data);
Action: Remove all console.log statements while keeping logic intact
File 2: components/DashboardEnhanced.tsx
Issues Found:
- Debug logging scattered throughout
- Console logs for data inspection
Action: Remove all console.log statements
File 3: utils/analysisGenerator.ts
Issues Found:
- Potential debug logging in data transformation
Action: Remove any console.log statements
IMPLEMENTATION DETAILS
Step-by-Step Execution Plan
STEP 1: Backup Current State (SAFE)
# Create a backup before making changes
git add -A
git commit -m "Pre-cleanup backup"
STEP 2: Execute Phase 1 (Backup Files)
# Delete all .backup files
rm components/*.backup components/*.backup.tsx utils/*.backup.ts
STEP 3: Execute Phase 2 (Unused Components)
- Delete Dashboard variants
- Delete Heatmap.tsx
- Delete basic versions of Economic/Health/Opportunity/Roadmap
- Delete StrategicVisualsView.tsx
STEP 4: Execute Phase 3 (Data Request Variants)
- Delete DataRequestTool variants
- Delete SinglePageDataRequest variants
STEP 5: Execute Phase 4 (Remove Unused Imports)
- Edit EconomicModel.tsx: Remove
TrendingDown - Edit OpportunityMatrix.tsx: Remove
TrendingUp
STEP 6: Execute Phase 5 (Clean Debug Logs)
- Edit DashboardReorganized.tsx: Remove console.log
- Edit DashboardEnhanced.tsx: Remove console.log
- Edit analysisGenerator.ts: Remove console.log
STEP 7: Verify & Build
npm run build
FILES TO KEEP (ACTIVE COMPONENTS)
After cleanup, active components will be:
components/
├── AgenticReadinessBreakdown.tsx [KEEP] - Screen 2
├── BadgePill.tsx [KEEP] - Status indicator
├── BenchmarkReportPro.tsx [KEEP] - Benchmarking
├── BenchmarkReport.tsx [KEEP] - Basic benchmark
├── DashboardEnhanced.tsx [KEEP] - Alternative dashboard
├── DashboardNavigation.tsx [KEEP] - Navigation (active)
├── DashboardReorganized.tsx [KEEP] - Main dashboard (active)
├── DataInputRedesigned.tsx [KEEP] - Data input UI
├── DataUploader.tsx [KEEP] - File uploader
├── DataUploaderEnhanced.tsx [KEEP] - Enhanced uploader
├── DimensionCard.tsx [KEEP] - Screen 2
├── DimensionDetailView.tsx [KEEP] - Detail view
├── EconomicModelPro.tsx [KEEP] - Advanced economics
├── EconomicModelEnhanced.tsx [KEEP] - Enhanced version
├── ErrorBoundary.tsx [KEEP] - Error handling
├── HealthScoreGaugeEnhanced.tsx [KEEP] - Score display
├── HeatmapEnhanced.tsx [KEEP] - Enhanced heatmap
├── HeatmapPro.tsx [KEEP] - Advanced heatmap (active)
├── HourlyDistributionChart.tsx [KEEP] - Charts
├── MethodologyFooter.tsx [KEEP] - Footer
├── OpportunityMatrixEnhanced.tsx [KEEP] - Enhanced matrix
├── OpportunityMatrixPro.tsx [KEEP] - Advanced matrix (active)
├── ProgressStepper.tsx [KEEP] - Stepper UI
├── RoadmapPro.tsx [KEEP] - Advanced roadmap (active)
├── SinglePageDataRequestIntegrated.tsx [KEEP] - Main data input (active)
├── TierSelectorEnhanced.tsx [KEEP] - Tier selection
├── TopOpportunitiesCard.tsx [KEEP] - Screen 3 component
└── VariabilityHeatmap.tsx [KEEP] - Screen 4 (active)
Result: 41 files → ~25 files (39% reduction)
VERIFICATION CHECKLIST
Before finalizing cleanup:
- All .backup files deleted
- All unused components deleted
- All unused imports removed
- All console.log statements removed
- App.tsx still imports correct active components
- types.ts unchanged
- utils/*.ts unchanged (except removed console.log)
- config/*.ts unchanged
- styles/*.ts unchanged
npm run buildsucceeds- No TypeScript errors
- Bundle size not increased
- No import errors
ROLLBACK PLAN
If anything breaks:
# Restore to previous state
git checkout HEAD~1
# Or restore specific files
git restore components/Dashboard.tsx
git restore utils/realDataAnalysis.ts
EXPECTED OUTCOMES
Before Cleanup
- Components: 41 files
- Backup files: 6
- Unused components: 8
- Total: ~3.5 MB
After Cleanup
- Components: 25 files
- Backup files: 0
- Unused components: 0
- Total: ~2.8 MB (20% reduction)
Benefits
- ✅ Improved code maintainability
- ✅ Cleaner component structure
- ✅ Faster IDE performance
- ✅ Easier onboarding for new developers
- ✅ Reduced confusion about which components to use
- ✅ Production-ready (no debug code)
NOTES
Why Keep These "Enhanced" Versions?
- Some projects use multiple variants for A/B testing or gradual rollout
- However, in this case, only the "Pro" or latest versions are active
- The "Enhanced" versions exist for backwards compatibility
- They can be removed in future cleanup if not used
What About DashboardEnhanced?
- Currently not used in App.tsx
- Could be deleted in Phase 2 cleanup
- Kept for now as it might be referenced externally
- Recommend deleting in next cycle if truly unused
Console.log Removal
- Being conservative: only removing obvious debug statements
- Keeping any logs that serve a purpose
- Moving development-only logs to a logging utility in future
STATUS
Current Phase: Planning Complete Next Step: Execute cleanup (Phases 1-5) Estimated Time: 2-3 hours Risk Assessment: LOW (dead code removal only)
Plan Created: 2025-12-02 Last Updated: 2025-12-02 Status: Ready for Execution